@fhevm/sdk 0.13.2 → 0.14.0-12

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 (322) hide show
  1. package/_cjs/core/_version.js +1 -1
  2. package/_cjs/core/_version.js.map +1 -1
  3. package/_cjs/core/actions/base/canUseUnifiedDecryptionPermit.js +11 -0
  4. package/_cjs/core/actions/base/canUseUnifiedDecryptionPermit.js.map +1 -0
  5. package/_cjs/core/actions/base/createUnsignedUnifiedDecryptionPermitEip712.js +0 -4
  6. package/_cjs/core/actions/base/createUnsignedUnifiedDecryptionPermitEip712.js.map +1 -1
  7. package/_cjs/core/actions/base/index.js +7 -1
  8. package/_cjs/core/actions/base/index.js.map +1 -1
  9. package/_cjs/core/actions/base/signUnifiedDecryptionPermit.js +10 -0
  10. package/_cjs/core/actions/base/signUnifiedDecryptionPermit.js.map +1 -0
  11. package/_cjs/core/actions/host/resolveChainId.js +3 -1
  12. package/_cjs/core/actions/host/resolveChainId.js.map +1 -1
  13. package/_cjs/core/clients/decorators/base.js +2 -0
  14. package/_cjs/core/clients/decorators/base.js.map +1 -1
  15. package/_cjs/core/errors/Erc1271Error.js +48 -0
  16. package/_cjs/core/errors/Erc1271Error.js.map +1 -0
  17. package/_cjs/core/frozenContext/fhevmClientFrozenContext-p.js.map +1 -1
  18. package/_cjs/core/frozenContext/resolveFhevmClientFrozenContext-p.js +11 -1
  19. package/_cjs/core/frozenContext/resolveFhevmClientFrozenContext-p.js.map +1 -1
  20. package/_cjs/core/host-contracts/readKmsSignersContext-p.js +0 -7
  21. package/_cjs/core/host-contracts/readKmsSignersContext-p.js.map +1 -1
  22. package/_cjs/core/key/FheEncryptionKeyCache-p.js +3 -0
  23. package/_cjs/core/key/FheEncryptionKeyCache-p.js.map +1 -1
  24. package/_cjs/core/key/fetchFheEncryptionKey.js +13 -1
  25. package/_cjs/core/key/fetchFheEncryptionKey.js.map +1 -1
  26. package/_cjs/core/kms/SignedDecryptionPermit-p.js +1 -27
  27. package/_cjs/core/kms/SignedDecryptionPermit-p.js.map +1 -1
  28. package/_cjs/core/kms/SignedDecryptionPermitV2-p.js +22 -14
  29. package/_cjs/core/kms/SignedDecryptionPermitV2-p.js.map +1 -1
  30. package/_cjs/core/kms/decryptValuesFromPairs.js +5 -14
  31. package/_cjs/core/kms/decryptValuesFromPairs.js.map +1 -1
  32. package/_cjs/core/kms/fetchKmsSigncryptedSharesV2-p.js +8 -0
  33. package/_cjs/core/kms/fetchKmsSigncryptedSharesV2-p.js.map +1 -1
  34. package/_cjs/core/modules/decrypt/module/api-p.js +1 -1
  35. package/_cjs/core/modules/decrypt/module/api-p.js.map +1 -1
  36. package/_cjs/core/modules/decrypt/module/init-p.js +7 -1
  37. package/_cjs/core/modules/decrypt/module/init-p.js.map +1 -1
  38. package/_cjs/core/modules/encrypt/module/init-p.js +14 -2
  39. package/_cjs/core/modules/encrypt/module/init-p.js.map +1 -1
  40. package/_cjs/core/modules/relayer/cleartext/mock.js +5 -0
  41. package/_cjs/core/modules/relayer/cleartext/mock.js.map +1 -1
  42. package/_cjs/core/modules/relayer/module/RelayerAsyncRequest.js +20 -0
  43. package/_cjs/core/modules/relayer/module/RelayerAsyncRequest.js.map +1 -1
  44. package/_cjs/core/modules/relayer/module/fetchCoprocessorSignatures.js +1 -0
  45. package/_cjs/core/modules/relayer/module/fetchCoprocessorSignatures.js.map +1 -1
  46. package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecryptV1.js +1 -0
  47. package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecryptV1.js.map +1 -1
  48. package/_cjs/core/modules/relayer/module/fetchFeatures.js +35 -0
  49. package/_cjs/core/modules/relayer/module/fetchFeatures.js.map +1 -0
  50. package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js +1 -0
  51. package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js.map +1 -1
  52. package/_cjs/core/modules/relayer/module/fetchUserDecryptV1.js +1 -0
  53. package/_cjs/core/modules/relayer/module/fetchUserDecryptV1.js.map +1 -1
  54. package/_cjs/core/modules/relayer/module/fetchUserDecryptV2.js +1 -0
  55. package/_cjs/core/modules/relayer/module/fetchUserDecryptV2.js.map +1 -1
  56. package/_cjs/core/modules/relayer/module/index.js +2 -0
  57. package/_cjs/core/modules/relayer/module/index.js.map +1 -1
  58. package/_cjs/core/relayerFeatures/ensureRelayerFeatures-p.js +25 -0
  59. package/_cjs/core/relayerFeatures/ensureRelayerFeatures-p.js.map +1 -0
  60. package/_cjs/core/relayerFeatures/resolveRelayerFeatures-p.js +7 -0
  61. package/_cjs/core/relayerFeatures/resolveRelayerFeatures-p.js.map +1 -0
  62. package/_cjs/core/runtime/CoreFhevm-p.js +58 -2
  63. package/_cjs/core/runtime/CoreFhevm-p.js.map +1 -1
  64. package/_cjs/core/runtime/HyperWasmSolver-p.js +44 -4
  65. package/_cjs/core/runtime/HyperWasmSolver-p.js.map +1 -1
  66. package/_cjs/core/runtime/ProtocolVersionResolver-p.js +10 -4
  67. package/_cjs/core/runtime/ProtocolVersionResolver-p.js.map +1 -1
  68. package/_cjs/core/runtime/initFhevmDecryptRuntime-p.js +1 -1
  69. package/_cjs/core/runtime/initFhevmDecryptRuntime-p.js.map +1 -1
  70. package/_cjs/core/runtime/initFhevmRuntime-p.js +1 -1
  71. package/_cjs/core/runtime/initFhevmRuntime-p.js.map +1 -1
  72. package/_cjs/core/runtime/sdkProtocolApiVersion.js +1 -1
  73. package/_cjs/core/runtime/sdkProtocolApiVersion.js.map +1 -1
  74. package/_cjs/core/utils-p/decrypt/verifyErc1271UserDecrypt-p.js +73 -0
  75. package/_cjs/core/utils-p/decrypt/verifyErc1271UserDecrypt-p.js.map +1 -0
  76. package/_cjs/ethers/internal/ethereum-ct.js +2 -11
  77. package/_cjs/ethers/internal/ethereum-ct.js.map +1 -1
  78. package/_cjs/ethers/internal/ethereum.js +33 -0
  79. package/_cjs/ethers/internal/ethereum.js.map +1 -1
  80. package/_cjs/ethers/internal/utils.js +17 -0
  81. package/_cjs/ethers/internal/utils.js.map +1 -1
  82. package/_cjs/viem/internal/ethereum-ct.js +2 -8
  83. package/_cjs/viem/internal/ethereum-ct.js.map +1 -1
  84. package/_cjs/viem/internal/ethereum.js +34 -4
  85. package/_cjs/viem/internal/ethereum.js.map +1 -1
  86. package/_cjs/wasm/tfhe/loadTfheLib.js.map +1 -1
  87. package/_cjs/wasm/tkms/KmsLibApi.d.ts +1 -1
  88. package/_cjs/wasm/tkms/loadKmsLib.js +13 -4
  89. package/_cjs/wasm/tkms/loadKmsLib.js.map +3 -3
  90. package/_cjs/wasm/tkms/v0.14.0-1/kms_lib.d.ts +598 -0
  91. package/_cjs/wasm/tkms/v0.14.0-1/kms_lib.js +1887 -0
  92. package/_cjs/wasm/tkms/v0.14.0-1/kms_lib.js.map +7 -0
  93. package/_cjs/wasm/tkms/v0.14.0-1/kms_lib_bg.wasm +0 -0
  94. package/_cjs/wasm/tkms/v0.14.0-1/kms_lib_bg.wasm.base64.d.ts +3 -0
  95. package/_cjs/wasm/tkms/v0.14.0-1/kms_lib_bg.wasm.base64.js +35 -0
  96. package/_cjs/wasm/tkms/v0.14.0-1/kms_lib_bg.wasm.base64.js.map +7 -0
  97. package/_esm/core/_version.js +1 -1
  98. package/_esm/core/_version.js.map +1 -1
  99. package/_esm/core/actions/base/canUseUnifiedDecryptionPermit.js +21 -0
  100. package/_esm/core/actions/base/canUseUnifiedDecryptionPermit.js.map +1 -0
  101. package/_esm/core/actions/base/createUnsignedUnifiedDecryptionPermitEip712.js +0 -4
  102. package/_esm/core/actions/base/createUnsignedUnifiedDecryptionPermitEip712.js.map +1 -1
  103. package/_esm/core/actions/base/index.js +9 -2
  104. package/_esm/core/actions/base/index.js.map +1 -1
  105. package/_esm/core/actions/base/signUnifiedDecryptionPermit.js +7 -0
  106. package/_esm/core/actions/base/signUnifiedDecryptionPermit.js.map +1 -0
  107. package/_esm/core/actions/host/resolveChainId.js +3 -1
  108. package/_esm/core/actions/host/resolveChainId.js.map +1 -1
  109. package/_esm/core/clients/decorators/base.js +2 -0
  110. package/_esm/core/clients/decorators/base.js.map +1 -1
  111. package/_esm/core/errors/Erc1271Error.js +45 -0
  112. package/_esm/core/errors/Erc1271Error.js.map +1 -0
  113. package/_esm/core/frozenContext/fhevmClientFrozenContext-p.js.map +1 -1
  114. package/_esm/core/frozenContext/resolveFhevmClientFrozenContext-p.js +12 -1
  115. package/_esm/core/frozenContext/resolveFhevmClientFrozenContext-p.js.map +1 -1
  116. package/_esm/core/host-contracts/readKmsSignersContext-p.js +9 -40
  117. package/_esm/core/host-contracts/readKmsSignersContext-p.js.map +1 -1
  118. package/_esm/core/key/FheEncryptionKeyCache-p.js +3 -0
  119. package/_esm/core/key/FheEncryptionKeyCache-p.js.map +1 -1
  120. package/_esm/core/key/fetchFheEncryptionKey.js +13 -1
  121. package/_esm/core/key/fetchFheEncryptionKey.js.map +1 -1
  122. package/_esm/core/kms/SignedDecryptionPermit-p.js +6 -47
  123. package/_esm/core/kms/SignedDecryptionPermit-p.js.map +1 -1
  124. package/_esm/core/kms/SignedDecryptionPermitV2-p.js +35 -21
  125. package/_esm/core/kms/SignedDecryptionPermitV2-p.js.map +1 -1
  126. package/_esm/core/kms/decryptValuesFromPairs.js +14 -32
  127. package/_esm/core/kms/decryptValuesFromPairs.js.map +1 -1
  128. package/_esm/core/kms/fetchKmsSigncryptedSharesV2-p.js +11 -0
  129. package/_esm/core/kms/fetchKmsSigncryptedSharesV2-p.js.map +1 -1
  130. package/_esm/core/modules/decrypt/module/api-p.js +5 -3
  131. package/_esm/core/modules/decrypt/module/api-p.js.map +1 -1
  132. package/_esm/core/modules/decrypt/module/init-p.js +7 -1
  133. package/_esm/core/modules/decrypt/module/init-p.js.map +1 -1
  134. package/_esm/core/modules/encrypt/module/init-p.js +14 -2
  135. package/_esm/core/modules/encrypt/module/init-p.js.map +1 -1
  136. package/_esm/core/modules/relayer/cleartext/mock.js +5 -0
  137. package/_esm/core/modules/relayer/cleartext/mock.js.map +1 -1
  138. package/_esm/core/modules/relayer/module/RelayerAsyncRequest.js +20 -0
  139. package/_esm/core/modules/relayer/module/RelayerAsyncRequest.js.map +1 -1
  140. package/_esm/core/modules/relayer/module/fetchCoprocessorSignatures.js +1 -0
  141. package/_esm/core/modules/relayer/module/fetchCoprocessorSignatures.js.map +1 -1
  142. package/_esm/core/modules/relayer/module/fetchDelegatedUserDecryptV1.js +1 -0
  143. package/_esm/core/modules/relayer/module/fetchDelegatedUserDecryptV1.js.map +1 -1
  144. package/_esm/core/modules/relayer/module/fetchFeatures.js +68 -0
  145. package/_esm/core/modules/relayer/module/fetchFeatures.js.map +1 -0
  146. package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js +1 -0
  147. package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js.map +1 -1
  148. package/_esm/core/modules/relayer/module/fetchUserDecryptV1.js +1 -0
  149. package/_esm/core/modules/relayer/module/fetchUserDecryptV1.js.map +1 -1
  150. package/_esm/core/modules/relayer/module/fetchUserDecryptV2.js +1 -0
  151. package/_esm/core/modules/relayer/module/fetchUserDecryptV2.js.map +1 -1
  152. package/_esm/core/modules/relayer/module/index.js +2 -0
  153. package/_esm/core/modules/relayer/module/index.js.map +1 -1
  154. package/_esm/core/relayerFeatures/ensureRelayerFeatures-p.js +61 -0
  155. package/_esm/core/relayerFeatures/ensureRelayerFeatures-p.js.map +1 -0
  156. package/_esm/core/relayerFeatures/resolveRelayerFeatures-p.js +15 -0
  157. package/_esm/core/relayerFeatures/resolveRelayerFeatures-p.js.map +1 -0
  158. package/_esm/core/runtime/CoreFhevm-p.js +61 -2
  159. package/_esm/core/runtime/CoreFhevm-p.js.map +1 -1
  160. package/_esm/core/runtime/HyperWasmSolver-p.js +51 -6
  161. package/_esm/core/runtime/HyperWasmSolver-p.js.map +1 -1
  162. package/_esm/core/runtime/ProtocolVersionResolver-p.js +10 -4
  163. package/_esm/core/runtime/ProtocolVersionResolver-p.js.map +1 -1
  164. package/_esm/core/runtime/initFhevmDecryptRuntime-p.js +1 -1
  165. package/_esm/core/runtime/initFhevmDecryptRuntime-p.js.map +1 -1
  166. package/_esm/core/runtime/initFhevmRuntime-p.js +1 -1
  167. package/_esm/core/runtime/initFhevmRuntime-p.js.map +1 -1
  168. package/_esm/core/runtime/sdkProtocolApiVersion.js +8 -9
  169. package/_esm/core/runtime/sdkProtocolApiVersion.js.map +1 -1
  170. package/_esm/core/utils-p/decrypt/verifyErc1271UserDecrypt-p.js +118 -0
  171. package/_esm/core/utils-p/decrypt/verifyErc1271UserDecrypt-p.js.map +1 -0
  172. package/_esm/ethers/internal/ethereum-ct.js +4 -13
  173. package/_esm/ethers/internal/ethereum-ct.js.map +1 -1
  174. package/_esm/ethers/internal/ethereum.js +45 -2
  175. package/_esm/ethers/internal/ethereum.js.map +1 -1
  176. package/_esm/ethers/internal/utils.js +20 -0
  177. package/_esm/ethers/internal/utils.js.map +1 -1
  178. package/_esm/viem/internal/ethereum-ct.js +5 -11
  179. package/_esm/viem/internal/ethereum-ct.js.map +1 -1
  180. package/_esm/viem/internal/ethereum.js +37 -0
  181. package/_esm/viem/internal/ethereum.js.map +1 -1
  182. package/_esm/wasm/tkms/KmsLibApi.d.ts +1 -1
  183. package/_esm/wasm/tkms/loadKmsLib.js +11 -2
  184. package/_esm/wasm/tkms/v0.14.0-1/kms_lib.d.ts +598 -0
  185. package/_esm/wasm/tkms/v0.14.0-1/kms_lib.js +2055 -0
  186. package/_esm/wasm/tkms/v0.14.0-1/kms_lib_bg.wasm +0 -0
  187. package/_esm/wasm/tkms/v0.14.0-1/kms_lib_bg.wasm.base64.d.ts +3 -0
  188. package/_esm/wasm/tkms/v0.14.0-1/kms_lib_bg.wasm.base64.js +7 -0
  189. package/_types/core/_version.d.ts.map +1 -1
  190. package/_types/core/actions/base/canUseUnifiedDecryptionPermit.d.ts +23 -0
  191. package/_types/core/actions/base/canUseUnifiedDecryptionPermit.d.ts.map +1 -0
  192. package/_types/core/actions/base/createUnsignedUnifiedDecryptionPermitEip712.d.ts.map +1 -1
  193. package/_types/core/actions/base/index.d.ts +3 -0
  194. package/_types/core/actions/base/index.d.ts.map +1 -1
  195. package/_types/core/actions/base/signUnifiedDecryptionPermit.d.ts +17 -0
  196. package/_types/core/actions/base/signUnifiedDecryptionPermit.d.ts.map +1 -0
  197. package/_types/core/actions/host/resolveChainId.d.ts.map +1 -1
  198. package/_types/core/clients/decorators/base.d.ts +14 -0
  199. package/_types/core/clients/decorators/base.d.ts.map +1 -1
  200. package/_types/core/errors/Erc1271Error.d.ts +46 -0
  201. package/_types/core/errors/Erc1271Error.d.ts.map +1 -0
  202. package/_types/core/frozenContext/fhevmClientFrozenContext-p.d.ts.map +1 -1
  203. package/_types/core/frozenContext/resolveFhevmClientFrozenContext-p.d.ts.map +1 -1
  204. package/_types/core/host-contracts/readKmsSignersContext-p.d.ts +9 -14
  205. package/_types/core/host-contracts/readKmsSignersContext-p.d.ts.map +1 -1
  206. package/_types/core/key/FheEncryptionKeyCache-p.d.ts.map +1 -1
  207. package/_types/core/key/fetchFheEncryptionKey.d.ts.map +1 -1
  208. package/_types/core/kms/SignedDecryptionPermit-p.d.ts.map +1 -1
  209. package/_types/core/kms/SignedDecryptionPermitV2-p.d.ts.map +1 -1
  210. package/_types/core/kms/decryptValuesFromPairs.d.ts.map +1 -1
  211. package/_types/core/kms/fetchKmsSigncryptedSharesV2-p.d.ts.map +1 -1
  212. package/_types/core/modules/decrypt/module/api-p.d.ts.map +1 -1
  213. package/_types/core/modules/decrypt/module/init-p.d.ts.map +1 -1
  214. package/_types/core/modules/encrypt/module/init-p.d.ts.map +1 -1
  215. package/_types/core/modules/ethereum/types.d.ts +47 -2
  216. package/_types/core/modules/ethereum/types.d.ts.map +1 -1
  217. package/_types/core/modules/relayer/cleartext/mock.d.ts.map +1 -1
  218. package/_types/core/modules/relayer/module/RelayerAsyncRequest.d.ts +3 -0
  219. package/_types/core/modules/relayer/module/RelayerAsyncRequest.d.ts.map +1 -1
  220. package/_types/core/modules/relayer/module/fetchCoprocessorSignatures.d.ts.map +1 -1
  221. package/_types/core/modules/relayer/module/fetchDelegatedUserDecryptV1.d.ts.map +1 -1
  222. package/_types/core/modules/relayer/module/fetchFeatures.d.ts +26 -0
  223. package/_types/core/modules/relayer/module/fetchFeatures.d.ts.map +1 -0
  224. package/_types/core/modules/relayer/module/fetchPublicDecrypt.d.ts.map +1 -1
  225. package/_types/core/modules/relayer/module/fetchUserDecryptV1.d.ts.map +1 -1
  226. package/_types/core/modules/relayer/module/fetchUserDecryptV2.d.ts.map +1 -1
  227. package/_types/core/modules/relayer/module/index.d.ts.map +1 -1
  228. package/_types/core/modules/relayer/types.d.ts +14 -2
  229. package/_types/core/modules/relayer/types.d.ts.map +1 -1
  230. package/_types/core/relayerFeatures/ensureRelayerFeatures-p.d.ts +55 -0
  231. package/_types/core/relayerFeatures/ensureRelayerFeatures-p.d.ts.map +1 -0
  232. package/_types/core/relayerFeatures/resolveRelayerFeatures-p.d.ts +39 -0
  233. package/_types/core/relayerFeatures/resolveRelayerFeatures-p.d.ts.map +1 -0
  234. package/_types/core/runtime/CoreFhevm-p.d.ts +5 -0
  235. package/_types/core/runtime/CoreFhevm-p.d.ts.map +1 -1
  236. package/_types/core/runtime/HyperWasmSolver-p.d.ts +1 -0
  237. package/_types/core/runtime/HyperWasmSolver-p.d.ts.map +1 -1
  238. package/_types/core/runtime/ProtocolVersionResolver-p.d.ts.map +1 -1
  239. package/_types/core/runtime/sdkProtocolApiVersion.d.ts +7 -8
  240. package/_types/core/runtime/sdkProtocolApiVersion.d.ts.map +1 -1
  241. package/_types/core/types/kms-p.d.ts +2 -2
  242. package/_types/core/types/kms-p.d.ts.map +1 -1
  243. package/_types/core/types/relayer-p.d.ts +1 -1
  244. package/_types/core/types/relayer-p.d.ts.map +1 -1
  245. package/_types/core/types/signedDecryptionPermit.d.ts +10 -3
  246. package/_types/core/types/signedDecryptionPermit.d.ts.map +1 -1
  247. package/_types/core/utils-p/decrypt/verifyErc1271UserDecrypt-p.d.ts +49 -0
  248. package/_types/core/utils-p/decrypt/verifyErc1271UserDecrypt-p.d.ts.map +1 -0
  249. package/_types/ethers/internal/ethereum-ct.d.ts.map +1 -1
  250. package/_types/ethers/internal/ethereum.d.ts +3 -1
  251. package/_types/ethers/internal/ethereum.d.ts.map +1 -1
  252. package/_types/ethers/internal/utils.d.ts +5 -0
  253. package/_types/ethers/internal/utils.d.ts.map +1 -1
  254. package/_types/viem/internal/ethereum-ct.d.ts.map +1 -1
  255. package/_types/viem/internal/ethereum.d.ts +3 -1
  256. package/_types/viem/internal/ethereum.d.ts.map +1 -1
  257. package/_types/wasm/tkms/KmsLibApi.d.ts +1 -1
  258. package/_types/wasm/tkms/v0.14.0-1/kms_lib.d.ts +598 -0
  259. package/_types/wasm/tkms/v0.14.0-1/kms_lib_bg.wasm.base64.d.ts +3 -0
  260. package/core/_version.ts +1 -1
  261. package/core/actions/base/canUseUnifiedDecryptionPermit.ts +38 -0
  262. package/core/actions/base/createUnsignedUnifiedDecryptionPermitEip712.ts +0 -6
  263. package/core/actions/base/index.ts +24 -2
  264. package/core/actions/base/signUnifiedDecryptionPermit.ts +27 -0
  265. package/core/actions/host/resolveChainId.ts +3 -1
  266. package/core/clients/decorators/base.ts +21 -0
  267. package/core/errors/Erc1271Error.ts +85 -0
  268. package/core/frozenContext/fhevmClientFrozenContext-p.ts +1 -0
  269. package/core/frozenContext/resolveFhevmClientFrozenContext-p.ts +21 -8
  270. package/core/host-contracts/readKmsSignersContext-p.ts +9 -45
  271. package/core/key/FheEncryptionKeyCache-p.ts +6 -0
  272. package/core/key/fetchFheEncryptionKey.ts +17 -1
  273. package/core/kms/SignedDecryptionPermit-p.ts +6 -60
  274. package/core/kms/SignedDecryptionPermitV2-p.ts +54 -41
  275. package/core/kms/decryptValuesFromPairs.ts +14 -33
  276. package/core/kms/fetchKmsSigncryptedSharesV2-p.ts +15 -0
  277. package/core/modules/decrypt/module/api-p.ts +5 -3
  278. package/core/modules/decrypt/module/init-p.ts +6 -1
  279. package/core/modules/encrypt/module/init-p.ts +15 -2
  280. package/core/modules/ethereum/types.ts +55 -1
  281. package/core/modules/relayer/cleartext/mock.ts +11 -0
  282. package/core/modules/relayer/module/RelayerAsyncRequest.ts +55 -0
  283. package/core/modules/relayer/module/fetchCoprocessorSignatures.ts +1 -0
  284. package/core/modules/relayer/module/fetchDelegatedUserDecryptV1.ts +1 -0
  285. package/core/modules/relayer/module/fetchFeatures.ts +75 -0
  286. package/core/modules/relayer/module/fetchPublicDecrypt.ts +1 -0
  287. package/core/modules/relayer/module/fetchUserDecryptV1.ts +1 -0
  288. package/core/modules/relayer/module/fetchUserDecryptV2.ts +1 -0
  289. package/core/modules/relayer/module/index.ts +2 -0
  290. package/core/modules/relayer/types.ts +26 -2
  291. package/core/relayerFeatures/ensureRelayerFeatures-p.ts +84 -0
  292. package/core/relayerFeatures/resolveRelayerFeatures-p.ts +47 -0
  293. package/core/runtime/CoreFhevm-p.ts +71 -0
  294. package/core/runtime/HyperWasmSolver-p.ts +57 -8
  295. package/core/runtime/ProtocolVersionResolver-p.ts +12 -4
  296. package/core/runtime/initFhevmDecryptRuntime-p.ts +1 -1
  297. package/core/runtime/initFhevmRuntime-p.ts +1 -1
  298. package/core/runtime/sdkProtocolApiVersion.ts +8 -9
  299. package/core/types/kms-p.ts +2 -2
  300. package/core/types/relayer-p.ts +4 -2
  301. package/core/types/signedDecryptionPermit.ts +10 -3
  302. package/core/utils-p/decrypt/verifyErc1271UserDecrypt-p.ts +164 -0
  303. package/ethers/internal/ethereum-ct.ts +5 -15
  304. package/ethers/internal/ethereum.ts +58 -3
  305. package/ethers/internal/utils.ts +27 -0
  306. package/package.json +2 -2
  307. package/viem/internal/ethereum-ct.ts +6 -14
  308. package/viem/internal/ethereum.ts +48 -1
  309. package/wasm/tkms/KmsLibApi.d.ts +1 -1
  310. package/wasm/tkms/loadKmsLib.js +11 -2
  311. package/wasm/tkms/v0.14.0-1/kms_lib.d.ts +598 -0
  312. package/wasm/tkms/v0.14.0-1/kms_lib.js +2055 -0
  313. package/wasm/tkms/v0.14.0-1/kms_lib_bg.wasm +0 -0
  314. package/wasm/tkms/v0.14.0-1/kms_lib_bg.wasm.base64.d.ts +3 -0
  315. package/wasm/tkms/v0.14.0-1/kms_lib_bg.wasm.base64.js +7 -0
  316. package/_cjs/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.js +0 -30
  317. package/_cjs/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.js.map +0 -1
  318. package/_esm/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.js +0 -27
  319. package/_esm/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.js.map +0 -1
  320. package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.d.ts +0 -14
  321. package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.d.ts.map +0 -1
  322. package/core/utils-p/decrypt/verifyKmsUserDecryptEip712V2.ts +0 -43
@@ -1,7 +1,6 @@
1
- import { decode, encode, encodePacked, getChainId, readContract, recoverTypedDataAddress, signTypedData, } from './ethereum.js';
2
- import { SigningKey, HDNodeWallet, Wallet, TypedDataEncoder } from 'ethers';
1
+ import { call, decode, encode, encodePacked, getChainId, hashTypedData, readContract, recoverTypedDataAddress, signTypedData, } from './ethereum.js';
2
+ import { SigningKey, HDNodeWallet, Wallet } from 'ethers';
3
3
  import { sign, recoverAddress } from '../../core/base/sign.js';
4
- import { asBytes32Hex } from '../../core/base/bytes.js';
5
4
  ////////////////////////////////////////////////////////////////////////////////
6
5
  export const cleartextEthereumModule = () => {
7
6
  return Object.freeze({
@@ -10,9 +9,11 @@ export const cleartextEthereumModule = () => {
10
9
  encode,
11
10
  encodePacked,
12
11
  recoverTypedDataAddress,
12
+ hashTypedData,
13
13
  signTypedData,
14
14
  getChainId,
15
15
  readContract,
16
+ call,
16
17
  mnemonicToAccount: (parameters) => {
17
18
  const signer = HDNodeWallet.fromPhrase(parameters.mnemonic, undefined, parameters.path);
18
19
  return {
@@ -34,16 +35,6 @@ export const cleartextEthereumModule = () => {
34
35
  const recoveredAddress = recoverAddress(parameters);
35
36
  return Promise.resolve(recoveredAddress);
36
37
  },
37
- hashTypedData: (parameters) => {
38
- const primaryTypeFields = parameters.types[parameters.primaryType];
39
- if (primaryTypeFields === undefined) {
40
- throw new Error(`Primary type "${parameters.primaryType}" not found in types`);
41
- }
42
- const typesToHash = {
43
- [parameters.primaryType]: [...primaryTypeFields],
44
- };
45
- return asBytes32Hex(TypedDataEncoder.hash(parameters.domain, typesToHash, parameters.message));
46
- },
47
38
  }),
48
39
  });
49
40
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ethereum-ct.js","sourceRoot":"","sources":["../../../ethers/internal/ethereum-ct.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,MAAM,EACN,MAAM,EACN,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,uBAAuB,EACvB,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC5E,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,gFAAgF;AAEhF,MAAM,CAAC,MAAM,uBAAuB,GAAmC,GAAG,EAAE;IAC1E,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;YACtB,MAAM;YACN,MAAM;YACN,YAAY;YACZ,uBAAuB;YACvB,aAAa;YACb,UAAU;YACV,YAAY;YACZ,iBAAiB,EAAE,CAAC,UAAuC,EAA+B,EAAE;gBAC1F,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;gBACxF,OAAO;oBACL,UAAU,EAAE,MAAM,CAAC,UAAsB;oBACzC,OAAO,EAAE,MAAM,CAAC,OAA6B;iBAC9C,CAAC;YACJ,CAAC;YACD,IAAI,EAAE,CAAC,UAA0B,EAA2B,EAAE;gBAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;gBACnC,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC;YACD,kBAAkB,EAAE,GAAiC,EAAE;gBACrD,OAAO,MAAM,CAAC,YAAY,EAAE,CAAC,UAAsB,CAAC;YACtD,CAAC;YACD,YAAY,EAAE,CAAC,UAAkC,EAA0B,EAAE;gBAC3E,OAAO,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAa,CAAC;YAC/E,CAAC;YACD,cAAc,EAAE,CAAC,UAAoC,EAAqC,EAAE;gBAC1F,MAAM,gBAAgB,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;gBACpD,OAAO,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC3C,CAAC;YACD,aAAa,EAAE,CAAC,UAAmC,EAA2B,EAAE;gBAC9E,MAAM,iBAAiB,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;gBACnE,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;oBACpC,MAAM,IAAI,KAAK,CAAC,iBAAiB,UAAU,CAAC,WAAW,sBAAsB,CAAC,CAAC;gBACjF,CAAC;gBACD,MAAM,WAAW,GAAqC;oBACpD,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC;iBACjD,CAAC;gBACF,OAAO,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;YACjG,CAAC;SACF,CAAC;KACH,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"ethereum-ct.js","sourceRoot":"","sources":["../../../ethers/internal/ethereum-ct.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,IAAI,EACJ,MAAM,EACN,MAAM,EACN,YAAY,EACZ,UAAU,EACV,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE/D,gFAAgF;AAEhF,MAAM,CAAC,MAAM,uBAAuB,GAAmC,GAAG,EAAE;IAC1E,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;YACtB,MAAM;YACN,MAAM;YACN,YAAY;YACZ,uBAAuB;YACvB,aAAa;YACb,aAAa;YACb,UAAU;YACV,YAAY;YACZ,IAAI;YACJ,iBAAiB,EAAE,CAAC,UAAuC,EAA+B,EAAE;gBAC1F,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;gBACxF,OAAO;oBACL,UAAU,EAAE,MAAM,CAAC,UAAsB;oBACzC,OAAO,EAAE,MAAM,CAAC,OAA6B;iBAC9C,CAAC;YACJ,CAAC;YACD,IAAI,EAAE,CAAC,UAA0B,EAA2B,EAAE;gBAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;gBACnC,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC;YACD,kBAAkB,EAAE,GAAiC,EAAE;gBACrD,OAAO,MAAM,CAAC,YAAY,EAAE,CAAC,UAAsB,CAAC;YACtD,CAAC;YACD,YAAY,EAAE,CAAC,UAAkC,EAA0B,EAAE;gBAC3E,OAAO,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAa,CAAC;YAC/E,CAAC;YACD,cAAc,EAAE,CAAC,UAAoC,EAAqC,EAAE;gBAC1F,MAAM,gBAAgB,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;gBACpD,OAAO,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC3C,CAAC;SACF,CAAC;KACH,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { asChecksummedAddress } from '../../core/base/address.js';
2
- import { AbiCoder, solidityPacked, verifyTypedData } from 'ethers';
3
- import { getEthersContract, getNetwork } from './utils.js';
2
+ import { AbiCoder, TypedDataEncoder, solidityPacked, verifyTypedData } from 'ethers';
3
+ import { getEthersContract, getEthersProvider, getNetwork } from './utils.js';
4
4
  ////////////////////////////////////////////////////////////////////////////////
5
5
  // encodePacked
6
6
  ////////////////////////////////////////////////////////////////////////////////
@@ -45,6 +45,22 @@ export function decode(parameters) {
45
45
  return abiCoder.decode(parameters.types, parameters.encodedData);
46
46
  }
47
47
  ////////////////////////////////////////////////////////////////////////////////
48
+ // hashTypedData
49
+ ////////////////////////////////////////////////////////////////////////////////
50
+ export function hashTypedData(parameters) {
51
+ const { primaryType, types, domain, message } = parameters;
52
+ // ethers rejects EIP712Domain in the types map and expects a single primary
53
+ // struct; mirror recoverTypedDataAddress/signTypedData by filtering to it.
54
+ const primaryTypeFields = types[primaryType];
55
+ if (primaryTypeFields === undefined) {
56
+ throw new Error(`Primary type "${primaryType}" not found in types`);
57
+ }
58
+ const typesToHash = {
59
+ [primaryType]: primaryTypeFields,
60
+ };
61
+ return TypedDataEncoder.hash(domain, typesToHash, message);
62
+ }
63
+ ////////////////////////////////////////////////////////////////////////////////
48
64
  // readContract
49
65
  ////////////////////////////////////////////////////////////////////////////////
50
66
  export async function readContract(hostPublicClient, parameters) {
@@ -53,6 +69,31 @@ export async function readContract(hostPublicClient, parameters) {
53
69
  return result;
54
70
  }
55
71
  ////////////////////////////////////////////////////////////////////////////////
72
+ // call (raw eth_call / STATICCALL)
73
+ ////////////////////////////////////////////////////////////////////////////////
74
+ export async function call(hostPublicClient, parameters) {
75
+ const provider = getEthersProvider(hostPublicClient);
76
+ try {
77
+ const data = await provider.call({
78
+ to: parameters.to,
79
+ data: parameters.data,
80
+ ...(parameters.gas !== undefined ? { gasLimit: parameters.gas } : {}),
81
+ });
82
+ // ethers' `Provider.call` always resolves to a hex string ('0x' for empty).
83
+ return { success: true, data: data };
84
+ }
85
+ catch (err) {
86
+ // ethers tags a clean EVM revert as CALL_EXCEPTION — a definitive rejection.
87
+ // Anything else is transport-level and rethrown so the precautionary caller
88
+ // can degrade gracefully.
89
+ if (typeof err === 'object' && err !== null && err.code === 'CALL_EXCEPTION') {
90
+ const reason = err instanceof Error ? err.message : 'isValidSignature call reverted';
91
+ return { success: false, reason };
92
+ }
93
+ throw err;
94
+ }
95
+ }
96
+ ////////////////////////////////////////////////////////////////////////////////
56
97
  // getChainId
57
98
  ////////////////////////////////////////////////////////////////////////////////
58
99
  export async function getChainId(hostPublicClient) {
@@ -103,9 +144,11 @@ export const ethereumModule = () => {
103
144
  encode,
104
145
  encodePacked,
105
146
  recoverTypedDataAddress,
147
+ hashTypedData,
106
148
  signTypedData,
107
149
  getChainId,
108
150
  readContract,
151
+ call,
109
152
  }),
110
153
  });
111
154
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ethereum.js","sourceRoot":"","sources":["../../../ethers/internal/ethereum.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ethereum.js","sourceRoot":"","sources":["../../../ethers/internal/ethereum.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE9E,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF,4DAA4D;AAC5D,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,UAA6C;IAE7C,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC;IAEtE,6EAA6E;IAC7E,gEAAgE;IAChE,IAAI,WAA6C,CAAC;IAElD,IAAK,WAAuB,KAAK,SAAS,EAAE,CAAC;QAC3C,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,iBAAiB,WAAW,sBAAsB,CAAC,CAAC;QACtE,CAAC;QACD,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACrD,CAAC;SAAM,CAAC;QACN,WAAW,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,MAAM,gBAAgB,GAAG,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAElF,OAAO,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;AAChD,CAAC;AAED,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF,MAAM,UAAU,YAAY,CAAC,UAAkC;IAC7D,cAAc;IACd,OAAO,cAAc,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAa,CAAC;AACzE,CAAC;AAED,gFAAgF;AAChF,SAAS;AACT,gFAAgF;AAEhF,MAAM,UAAU,MAAM,CAAC,UAA4B;IACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC;IAC5C,OAAO,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAa,CAAC;AAC1E,CAAC;AAED,gFAAgF;AAChF,SAAS;AACT,gFAAgF;AAEhF,MAAM,UAAU,MAAM,CAAC,UAA4B;IACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC;IAC5C,OAAO,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;AACnE,CAAC;AAED,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF,MAAM,UAAU,aAAa,CAAC,UAAmC;IAC/D,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;IAE3D,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;IAC7C,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,iBAAiB,WAAW,sBAAsB,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,WAAW,GAAqC;QACpD,CAAC,WAAW,CAAC,EAAE,iBAAiB;KACjC,CAAC;IAEF,OAAO,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAe,CAAC;AAC3E,CAAC;AAED,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,gBAAuD,EACvD,UAAkC;IAElC,MAAM,QAAQ,GAAG,iBAAiB,CAAmB,gBAAgB,EAAE,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;IAC3G,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAY,CAAC;IAC/G,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gFAAgF;AAChF,mCAAmC;AACnC,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,gBAAuD,EACvD,UAA6B;IAE7B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACrD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC;YAC/B,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,GAAG,CAAC,UAAU,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtE,CAAC,CAAC;QACH,4EAA4E;QAC5E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAgB,EAAE,CAAC;IACnD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,6EAA6E;QAC7E,4EAA4E;QAC5E,0BAA0B;QAC1B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAK,GAA0B,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACrG,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,gCAAgC,CAAC;YACrF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACpC,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,gBAAuD;IAEvD,MAAM,CAAC,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC7C,6EAA6E;IAC7E,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAoB,EACpB,UAAmC;IAEnC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;IAE3D,MAAM,YAAY,GAAG,MAAwB,CAAC;IAC9C,IAAI,OAAO,YAAY,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,sEAAsE;IACtE,oCAAoC;IACpC,sBAAsB;IACtB;;;;;;;;;MASE;IAEF,gEAAgE;IAChE,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;IAC7C,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,iBAAiB,WAAW,sBAAsB,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,WAAW,GAAqC;QACpD,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC;KACtC,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAEjF,OAAO,SAAoC,CAAC;AAC9C,CAAC;AAED,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,MAAM,CAAC,MAAM,cAAc,GAA0B,GAAG,EAAE;IACxD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;YACtB,MAAM;YACN,MAAM;YACN,YAAY;YACZ,uBAAuB;YACvB,aAAa;YACb,aAAa;YACb,UAAU;YACV,YAAY;YACZ,IAAI;SACL,CAAC;KACH,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -19,6 +19,26 @@ export async function getNetwork(hostPublicClient) {
19
19
  }
20
20
  throw new Error('Cannot get network: client is neither a Provider nor a ContractRunner with a provider.');
21
21
  }
22
+ /**
23
+ * Get an ethers `Provider` from an unknown client.
24
+ * Supports a `Provider` directly, or a `ContractRunner` that carries one.
25
+ */
26
+ export function getEthersProvider(hostPublicClient) {
27
+ const runner = trustedClientToEthersContractRunner(hostPublicClient);
28
+ if (runner === undefined || runner === null) {
29
+ throw new Error('Cannot get provider: client is null or undefined.');
30
+ }
31
+ const runnerRecord = runner;
32
+ if (typeof runner === 'object' &&
33
+ typeof runnerRecord.call === 'function' &&
34
+ typeof runnerRecord.getNetwork === 'function') {
35
+ return runner;
36
+ }
37
+ if (runner.provider != null) {
38
+ return runner.provider;
39
+ }
40
+ throw new Error('Cannot get provider: client is neither a Provider nor a ContractRunner with a provider.');
41
+ }
22
42
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-parameters
23
43
  export function getEthersContract(hostPublicClient, contractAddress, abi) {
24
44
  const runner = trustedClientToEthersContractRunner(hostPublicClient);
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../ethers/internal/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,mCAAmC,EAAE,MAAM,eAAe,CAAC;AAEpE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,gBAAuD;IACtF,MAAM,MAAM,GAAG,mCAAmC,CAAC,gBAAgB,CAAC,CAAC;IAErE,IAAK,MAAkB,KAAK,SAAS,IAAK,MAAkB,KAAK,IAAI,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,IACE,OAAO,MAAM,KAAK,QAAQ;QAC1B,YAAY,IAAI,MAAM;QACtB,OAAQ,MAAkC,CAAC,UAAU,KAAK,UAAU,EACpE,CAAC;QACD,OAAO,MAAO,MAAsC,CAAC,UAAU,EAAE,CAAC;IACpE,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC5B,OAAO,MAAM,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;AAC5G,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,iBAAiB,CAC/B,gBAAuD,EACvD,eAAmC,EACnC,GAA2C;IAE3C,MAAM,MAAM,GAAG,mCAAmC,CAAC,gBAAgB,CAAC,CAAC;IACrE,OAAO,IAAI,QAAQ,CAAC,eAAe,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,CAAiB,CAAC;AACnF,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../ethers/internal/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,mCAAmC,EAAE,MAAM,eAAe,CAAC;AAEpE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,gBAAuD;IACtF,MAAM,MAAM,GAAG,mCAAmC,CAAC,gBAAgB,CAAC,CAAC;IAErE,IAAK,MAAkB,KAAK,SAAS,IAAK,MAAkB,KAAK,IAAI,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,IACE,OAAO,MAAM,KAAK,QAAQ;QAC1B,YAAY,IAAI,MAAM;QACtB,OAAQ,MAAkC,CAAC,UAAU,KAAK,UAAU,EACpE,CAAC;QACD,OAAO,MAAO,MAAsC,CAAC,UAAU,EAAE,CAAC;IACpE,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC5B,OAAO,MAAM,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;AAC5G,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,gBAAuD;IACvF,MAAM,MAAM,GAAG,mCAAmC,CAAC,gBAAgB,CAAC,CAAC;IAErE,IAAK,MAAkB,KAAK,SAAS,IAAK,MAAkB,KAAK,IAAI,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,YAAY,GAAG,MAA4C,CAAC;IAClE,IACE,OAAO,MAAM,KAAK,QAAQ;QAC1B,OAAO,YAAY,CAAC,IAAI,KAAK,UAAU;QACvC,OAAO,YAAY,CAAC,UAAU,KAAK,UAAU,EAC7C,CAAC;QACD,OAAO,MAAqC,CAAC;IAC/C,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;AAC7G,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,iBAAiB,CAC/B,gBAAuD,EACvD,eAAmC,EACnC,GAA2C;IAE3C,MAAM,MAAM,GAAG,mCAAmC,CAAC,gBAAgB,CAAC,CAAC;IACrE,OAAO,IAAI,QAAQ,CAAC,eAAe,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,CAAiB,CAAC;AACnF,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { generatePrivateKey, mnemonicToAccount, privateKeyToAccount, sign } from 'viem/accounts';
2
- import { decode, encode, encodePacked, getChainId, readContract, recoverTypedDataAddress, signTypedData, } from './ethereum.js';
3
- import { asBytes32Hex, bytesToHex } from '../../core/base/bytes.js';
4
- import { hashTypedData, recoverAddress } from 'viem';
2
+ import { call, decode, encode, encodePacked, getChainId, hashTypedData, readContract, recoverTypedDataAddress, signTypedData, } from './ethereum.js';
3
+ import { bytesToHex } from '../../core/base/bytes.js';
4
+ import { recoverAddress } from 'viem';
5
5
  ////////////////////////////////////////////////////////////////////////////////
6
6
  export const cleartextEthereumModule = () => {
7
7
  return Object.freeze({
@@ -10,9 +10,11 @@ export const cleartextEthereumModule = () => {
10
10
  encode,
11
11
  encodePacked,
12
12
  recoverTypedDataAddress,
13
+ hashTypedData,
13
14
  signTypedData,
14
15
  getChainId,
15
16
  readContract,
17
+ call,
16
18
  mnemonicToAccount: (parameters) => {
17
19
  const signer = mnemonicToAccount(parameters.mnemonic, { path: parameters.path });
18
20
  const pk = signer.getHdKey().privateKey;
@@ -33,14 +35,6 @@ export const cleartextEthereumModule = () => {
33
35
  recoverAddress: (parameters) => {
34
36
  return recoverAddress(parameters);
35
37
  },
36
- hashTypedData: (parameters) => {
37
- return asBytes32Hex(hashTypedData({
38
- domain: parameters.domain,
39
- types: parameters.types,
40
- primaryType: parameters.primaryType,
41
- message: parameters.message,
42
- }));
43
- },
44
38
  }),
45
39
  });
46
40
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ethereum-ct.js","sourceRoot":"","sources":["../../../viem/internal/ethereum-ct.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACjG,OAAO,EACL,MAAM,EACN,MAAM,EACN,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,uBAAuB,EACvB,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAErD,gFAAgF;AAEhF,MAAM,CAAC,MAAM,uBAAuB,GAAmC,GAAG,EAAE;IAC1E,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;YACtB,MAAM;YACN,MAAM;YACN,YAAY;YACZ,uBAAuB;YACvB,aAAa;YACb,UAAU;YACV,YAAY;YACZ,iBAAiB,EAAE,CAAC,UAAuC,EAA+B,EAAE;gBAC1F,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjF,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC;gBACxC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,yDAAyD,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;gBAC9F,CAAC;gBACD,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAA6B,EAAE,CAAC;YACvF,CAAC;YACD,IAAI,EAAE,CAAC,UAA0B,EAA2B,EAAE;gBAC5D,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,CAAwB,CAAC;YAC9G,CAAC;YACD,kBAAkB,EAAE,GAAiC,EAAE;gBACrD,OAAO,kBAAkB,EAAc,CAAC;YAC1C,CAAC;YACD,YAAY,EAAE,CAAC,UAAkC,EAA0B,EAAE;gBAC3E,OAAO,mBAAmB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,SAAqB,CAAC;YAC1E,CAAC;YACD,cAAc,EAAE,CAAC,UAAoC,EAAqC,EAAE;gBAC1F,OAAO,cAAc,CAAC,UAAU,CAAgC,CAAC;YACnE,CAAC;YACD,aAAa,EAAE,CAAC,UAAmC,EAA2B,EAAE;gBAC9E,OAAO,YAAY,CACjB,aAAa,CAAC;oBACZ,MAAM,EAAE,UAAU,CAAC,MAAM;oBACzB,KAAK,EAAE,UAAU,CAAC,KAA8D;oBAChF,WAAW,EAAE,UAAU,CAAC,WAAW;oBACnC,OAAO,EAAE,UAAU,CAAC,OAAO;iBAC5B,CAAC,CACH,CAAC;YACJ,CAAC;SACF,CAAC;KACH,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"ethereum-ct.js","sourceRoot":"","sources":["../../../viem/internal/ethereum-ct.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACjG,OAAO,EACL,IAAI,EACJ,MAAM,EACN,MAAM,EACN,YAAY,EACZ,UAAU,EACV,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAEtC,gFAAgF;AAEhF,MAAM,CAAC,MAAM,uBAAuB,GAAmC,GAAG,EAAE;IAC1E,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;YACtB,MAAM;YACN,MAAM;YACN,YAAY;YACZ,uBAAuB;YACvB,aAAa;YACb,aAAa;YACb,UAAU;YACV,YAAY;YACZ,IAAI;YACJ,iBAAiB,EAAE,CAAC,UAAuC,EAA+B,EAAE;gBAC1F,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjF,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC;gBACxC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,yDAAyD,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;gBAC9F,CAAC;gBACD,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAA6B,EAAE,CAAC;YACvF,CAAC;YACD,IAAI,EAAE,CAAC,UAA0B,EAA2B,EAAE;gBAC5D,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,CAAwB,CAAC;YAC9G,CAAC;YACD,kBAAkB,EAAE,GAAiC,EAAE;gBACrD,OAAO,kBAAkB,EAAc,CAAC;YAC1C,CAAC;YACD,YAAY,EAAE,CAAC,UAAkC,EAA0B,EAAE;gBAC3E,OAAO,mBAAmB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,SAAqB,CAAC;YAC1E,CAAC;YACD,cAAc,EAAE,CAAC,UAAoC,EAAqC,EAAE;gBAC1F,OAAO,cAAc,CAAC,UAAU,CAAgC,CAAC;YACnE,CAAC;SACF,CAAC;KACH,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { BaseError, ExecutionRevertedError, hashTypedData as viemHashTypedData } from 'viem';
1
2
  import { recoverTypedDataAddress as viemRecoverTypedDataAddress } from 'viem';
2
3
  import { encodePacked as viemEncodePacked, encodeAbiParameters, decodeAbiParameters } from 'viem';
3
4
  import { asChecksummedAddress } from '../../core/base/address.js';
@@ -30,6 +31,17 @@ export function decode(parameters) {
30
31
  return [...decodeAbiParameters(abiParameters, parameters.encodedData)];
31
32
  }
32
33
  ////////////////////////////////////////////////////////////////////////////////
34
+ // hashTypedData
35
+ ////////////////////////////////////////////////////////////////////////////////
36
+ export function hashTypedData(parameters) {
37
+ return viemHashTypedData({
38
+ domain: parameters.domain,
39
+ types: parameters.types,
40
+ primaryType: parameters.primaryType,
41
+ message: parameters.message,
42
+ });
43
+ }
44
+ ////////////////////////////////////////////////////////////////////////////////
33
45
  // readContract
34
46
  ////////////////////////////////////////////////////////////////////////////////
35
47
  export async function readContract(hostPublicClient, parameters) {
@@ -37,6 +49,29 @@ export async function readContract(hostPublicClient, parameters) {
37
49
  return publicClient.readContract(parameters);
38
50
  }
39
51
  ////////////////////////////////////////////////////////////////////////////////
52
+ // call (raw eth_call / STATICCALL)
53
+ ////////////////////////////////////////////////////////////////////////////////
54
+ export async function call(hostPublicClient, parameters) {
55
+ const publicClient = trustedClientToViemPublicClient(hostPublicClient);
56
+ try {
57
+ const { data } = await publicClient.call({
58
+ to: parameters.to,
59
+ data: parameters.data,
60
+ ...(parameters.gas !== undefined ? { gas: parameters.gas } : {}),
61
+ });
62
+ return { success: true, data: (data ?? '0x') };
63
+ }
64
+ catch (err) {
65
+ // A clean EVM revert is a definitive on-chain rejection; anything else
66
+ // (network, timeout, rate limit, …) is transport-level and rethrown so the
67
+ // precautionary caller can degrade gracefully.
68
+ if (err instanceof BaseError && err.walk((e) => e instanceof ExecutionRevertedError) !== null) {
69
+ return { success: false, reason: err.shortMessage };
70
+ }
71
+ throw err;
72
+ }
73
+ }
74
+ ////////////////////////////////////////////////////////////////////////////////
40
75
  // getChainId
41
76
  ////////////////////////////////////////////////////////////////////////////////
42
77
  export async function getChainId(hostPublicClient) {
@@ -90,9 +125,11 @@ export const ethereumModule = () => {
90
125
  encode,
91
126
  encodePacked,
92
127
  recoverTypedDataAddress,
128
+ hashTypedData,
93
129
  signTypedData,
94
130
  getChainId,
95
131
  readContract,
132
+ call,
96
133
  }),
97
134
  });
98
135
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ethereum.js","sourceRoot":"","sources":["../../../viem/internal/ethereum.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ethereum.js","sourceRoot":"","sources":["../../../viem/internal/ethereum.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ export interface KmsLibApi {
31
31
  }
32
32
 
33
33
  // Default version
34
- export type TkmsVersion = '0.13.10' | '0.13.20-0';
34
+ export type TkmsVersion = '0.13.10' | '0.13.20-0' | '0.14.0-1';
35
35
 
36
36
  export type TkmsWasmBase64 = {
37
37
  readonly tkmsWasmBase64: string;
@@ -8,12 +8,13 @@
8
8
 
9
9
  ////////////////////////////////////////////////////////////////////////////////
10
10
 
11
- export const KMS_VERSIONS = Object.freeze(['0.13.10', '0.13.20-0']);
12
- export const DEFAULT_TKMS_VERSION = '0.13.20-0';
11
+ export const KMS_VERSIONS = Object.freeze(['0.13.10', '0.13.20-0', '0.14.0-1']);
12
+ export const DEFAULT_TKMS_VERSION = '0.14.0-1';
13
13
 
14
14
  const _loaders = {
15
15
  '0.13.10': () => import('./v0.13.10/kms_lib.js'),
16
16
  '0.13.20-0': () => import('./v0.13.20-0/kms_lib.js'),
17
+ '0.14.0-1': () => import('./v0.14.0-1/kms_lib.js'),
17
18
  };
18
19
 
19
20
  ////////////////////////////////////////////////////////////////////////////////
@@ -21,6 +22,7 @@ const _loaders = {
21
22
  const _wasmBase64Loaders = {
22
23
  '0.13.10': () => import('./v0.13.10/kms_lib_bg.wasm.base64.js'),
23
24
  '0.13.20-0': () => import('./v0.13.20-0/kms_lib_bg.wasm.base64.js'),
25
+ '0.14.0-1': () => import('./v0.14.0-1/kms_lib_bg.wasm.base64.js'),
24
26
  };
25
27
 
26
28
  ////////////////////////////////////////////////////////////////////////////////
@@ -40,6 +42,13 @@ const _assets = Object.freeze({
40
42
  sha256: 'be54c8f11daf048b897b41cf6e6735895490cdca77f2a01c01be0d6fbf369c81',
41
43
  }),
42
44
  }),
45
+ '0.14.0-1': Object.freeze({
46
+ wasm: Object.freeze({
47
+ filename: 'kms_lib_bg.v0.14.0-1.wasm',
48
+ localRelativePath: './v0.14.0-1/kms_lib_bg.wasm',
49
+ sha256: 'd4c2a1ed2567e7a3b2dfefb4c24e8a521110dd7c7648b533316647c06f6a9252',
50
+ }),
51
+ }),
43
52
  });
44
53
 
45
54
  ////////////////////////////////////////////////////////////////////////////////