@paimaexample/wallets 0.3.117

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 (700) hide show
  1. package/README.md +1 -0
  2. package/esm/chain-types/src/hash.d.ts +28 -0
  3. package/esm/chain-types/src/hash.d.ts.map +1 -0
  4. package/esm/chain-types/src/hash.js +29 -0
  5. package/esm/chain-types/src/mod.d.ts +3 -0
  6. package/esm/chain-types/src/mod.d.ts.map +1 -0
  7. package/esm/chain-types/src/mod.js +2 -0
  8. package/esm/chain-types/src/types.d.ts +70 -0
  9. package/esm/chain-types/src/types.d.ts.map +1 -0
  10. package/esm/chain-types/src/types.js +1 -0
  11. package/esm/concise/src/batcher.d.ts +40 -0
  12. package/esm/concise/src/batcher.d.ts.map +1 -0
  13. package/esm/concise/src/batcher.js +117 -0
  14. package/esm/concise/src/delegate.d.ts +18 -0
  15. package/esm/concise/src/delegate.d.ts.map +1 -0
  16. package/esm/concise/src/delegate.js +118 -0
  17. package/esm/concise/src/mod.d.ts +5 -0
  18. package/esm/concise/src/mod.d.ts.map +1 -0
  19. package/esm/concise/src/mod.js +3 -0
  20. package/esm/concise/src/v2/builtins/batcher.d.ts +27 -0
  21. package/esm/concise/src/v2/builtins/batcher.d.ts.map +1 -0
  22. package/esm/concise/src/v2/builtins/batcher.js +51 -0
  23. package/esm/concise/src/v2/builtins/grammar.d.ts +25 -0
  24. package/esm/concise/src/v2/builtins/grammar.d.ts.map +1 -0
  25. package/esm/concise/src/v2/builtins/grammar.js +40 -0
  26. package/esm/concise/src/v2/builtins/index.d.ts +3 -0
  27. package/esm/concise/src/v2/builtins/index.d.ts.map +1 -0
  28. package/esm/concise/src/v2/builtins/index.js +3 -0
  29. package/esm/concise/src/v2/grammar.d.ts +8 -0
  30. package/esm/concise/src/v2/grammar.d.ts.map +1 -0
  31. package/esm/concise/src/v2/grammar.js +19 -0
  32. package/esm/concise/src/v2/inputs.d.ts +7 -0
  33. package/esm/concise/src/v2/inputs.d.ts.map +1 -0
  34. package/esm/concise/src/v2/inputs.js +37 -0
  35. package/esm/concise/src/v2/mod.d.ts +5 -0
  36. package/esm/concise/src/v2/mod.d.ts.map +1 -0
  37. package/esm/concise/src/v2/mod.js +4 -0
  38. package/esm/concise/src/v2/types.d.ts +23 -0
  39. package/esm/concise/src/v2/types.d.ts.map +1 -0
  40. package/esm/concise/src/v2/types.js +1 -0
  41. package/esm/config/src/config/builder.d.ts +33 -0
  42. package/esm/config/src/config/builder.d.ts.map +1 -0
  43. package/esm/config/src/config/builder.js +82 -0
  44. package/esm/config/src/config/configCheck.d.ts +32 -0
  45. package/esm/config/src/config/configCheck.d.ts.map +1 -0
  46. package/esm/config/src/config/configCheck.js +67 -0
  47. package/esm/config/src/config/context.d.ts +23 -0
  48. package/esm/config/src/config/context.d.ts.map +1 -0
  49. package/esm/config/src/config/context.js +25 -0
  50. package/esm/config/src/config/mod.d.ts +7 -0
  51. package/esm/config/src/config/mod.d.ts.map +1 -0
  52. package/esm/config/src/config/mod.js +4 -0
  53. package/esm/config/src/config/parts/deployedAddresses.d.ts +17 -0
  54. package/esm/config/src/config/parts/deployedAddresses.d.ts.map +1 -0
  55. package/esm/config/src/config/parts/deployedAddresses.js +24 -0
  56. package/esm/config/src/config/parts/network.d.ts +19 -0
  57. package/esm/config/src/config/parts/network.d.ts.map +1 -0
  58. package/esm/config/src/config/parts/network.js +29 -0
  59. package/esm/config/src/config/parts/primitive.d.ts +31 -0
  60. package/esm/config/src/config/parts/primitive.d.ts.map +1 -0
  61. package/esm/config/src/config/parts/primitive.js +28 -0
  62. package/esm/config/src/config/parts/securityNamespace.d.ts +14 -0
  63. package/esm/config/src/config/parts/securityNamespace.d.ts.map +1 -0
  64. package/esm/config/src/config/parts/securityNamespace.js +26 -0
  65. package/esm/config/src/config/parts/syncProtocols.d.ts +43 -0
  66. package/esm/config/src/config/parts/syncProtocols.d.ts.map +1 -0
  67. package/esm/config/src/config/parts/syncProtocols.js +66 -0
  68. package/esm/config/src/config/utils.d.ts +40 -0
  69. package/esm/config/src/config/utils.d.ts.map +1 -0
  70. package/esm/config/src/config/utils.js +55 -0
  71. package/esm/config/src/mod.d.ts +3 -0
  72. package/esm/config/src/mod.d.ts.map +1 -0
  73. package/esm/config/src/mod.js +2 -0
  74. package/esm/config/src/schema/common.d.ts +26 -0
  75. package/esm/config/src/schema/common.d.ts.map +1 -0
  76. package/esm/config/src/schema/common.js +51 -0
  77. package/esm/config/src/schema/mod.d.ts +7 -0
  78. package/esm/config/src/schema/mod.d.ts.map +1 -0
  79. package/esm/config/src/schema/mod.js +6 -0
  80. package/esm/config/src/schema/namespace.d.ts +39 -0
  81. package/esm/config/src/schema/namespace.d.ts.map +1 -0
  82. package/esm/config/src/schema/namespace.js +34 -0
  83. package/esm/config/src/schema/network/algorand.d.ts +12 -0
  84. package/esm/config/src/schema/network/algorand.d.ts.map +1 -0
  85. package/esm/config/src/schema/network/algorand.js +23 -0
  86. package/esm/config/src/schema/network/all.d.ts +175 -0
  87. package/esm/config/src/schema/network/all.d.ts.map +1 -0
  88. package/esm/config/src/schema/network/all.js +24 -0
  89. package/esm/config/src/schema/network/bitcoin.d.ts +19 -0
  90. package/esm/config/src/schema/network/bitcoin.d.ts.map +1 -0
  91. package/esm/config/src/schema/network/bitcoin.js +21 -0
  92. package/esm/config/src/schema/network/cardano.d.ts +12 -0
  93. package/esm/config/src/schema/network/cardano.d.ts.map +1 -0
  94. package/esm/config/src/schema/network/cardano.js +27 -0
  95. package/esm/config/src/schema/network/evm.d.ts +68 -0
  96. package/esm/config/src/schema/network/evm.d.ts.map +1 -0
  97. package/esm/config/src/schema/network/evm.js +70 -0
  98. package/esm/config/src/schema/network/mina.d.ts +14 -0
  99. package/esm/config/src/schema/network/mina.d.ts.map +1 -0
  100. package/esm/config/src/schema/network/mina.js +25 -0
  101. package/esm/config/src/schema/network/mod.d.ts +9 -0
  102. package/esm/config/src/schema/network/mod.d.ts.map +1 -0
  103. package/esm/config/src/schema/network/mod.js +8 -0
  104. package/esm/config/src/schema/network/ntp.d.ts +32 -0
  105. package/esm/config/src/schema/network/ntp.d.ts.map +1 -0
  106. package/esm/config/src/schema/network/ntp.js +39 -0
  107. package/esm/config/src/schema/network/substrate/avail.d.ts +14 -0
  108. package/esm/config/src/schema/network/substrate/avail.d.ts.map +1 -0
  109. package/esm/config/src/schema/network/substrate/avail.js +26 -0
  110. package/esm/config/src/schema/network/substrate/common.d.ts +18 -0
  111. package/esm/config/src/schema/network/substrate/common.d.ts.map +1 -0
  112. package/esm/config/src/schema/network/substrate/common.js +32 -0
  113. package/esm/config/src/schema/network/substrate/midnight.d.ts +20 -0
  114. package/esm/config/src/schema/network/substrate/midnight.d.ts.map +1 -0
  115. package/esm/config/src/schema/network/substrate/midnight.js +32 -0
  116. package/esm/config/src/schema/network/substrate/mod.d.ts +4 -0
  117. package/esm/config/src/schema/network/substrate/mod.d.ts.map +1 -0
  118. package/esm/config/src/schema/network/substrate/mod.js +3 -0
  119. package/esm/config/src/schema/network/types.d.ts +13 -0
  120. package/esm/config/src/schema/network/types.d.ts.map +1 -0
  121. package/esm/config/src/schema/network/types.js +13 -0
  122. package/esm/config/src/schema/network/utils.d.ts +5 -0
  123. package/esm/config/src/schema/network/utils.d.ts.map +1 -0
  124. package/esm/config/src/schema/network/utils.js +73 -0
  125. package/esm/config/src/schema/primitive/mod.d.ts +2 -0
  126. package/esm/config/src/schema/primitive/mod.d.ts.map +1 -0
  127. package/esm/config/src/schema/primitive/mod.js +1 -0
  128. package/esm/config/src/schema/primitive/types.d.ts +58 -0
  129. package/esm/config/src/schema/primitive/types.d.ts.map +1 -0
  130. package/esm/config/src/schema/primitive/types.js +1 -0
  131. package/esm/config/src/schema/sync-protocols/all.d.ts +583 -0
  132. package/esm/config/src/schema/sync-protocols/all.d.ts.map +1 -0
  133. package/esm/config/src/schema/sync-protocols/all.js +55 -0
  134. package/esm/config/src/schema/sync-protocols/avail/rpc.d.ts +76 -0
  135. package/esm/config/src/schema/sync-protocols/avail/rpc.d.ts.map +1 -0
  136. package/esm/config/src/schema/sync-protocols/avail/rpc.js +56 -0
  137. package/esm/config/src/schema/sync-protocols/bitcoin/rpc.d.ts +76 -0
  138. package/esm/config/src/schema/sync-protocols/bitcoin/rpc.d.ts.map +1 -0
  139. package/esm/config/src/schema/sync-protocols/bitcoin/rpc.js +47 -0
  140. package/esm/config/src/schema/sync-protocols/cardano/carp.d.ts +80 -0
  141. package/esm/config/src/schema/sync-protocols/cardano/carp.d.ts.map +1 -0
  142. package/esm/config/src/schema/sync-protocols/cardano/carp.js +62 -0
  143. package/esm/config/src/schema/sync-protocols/cardano/mod.d.ts +2 -0
  144. package/esm/config/src/schema/sync-protocols/cardano/mod.d.ts.map +1 -0
  145. package/esm/config/src/schema/sync-protocols/cardano/mod.js +1 -0
  146. package/esm/config/src/schema/sync-protocols/cardano/utxorpc.d.ts +56 -0
  147. package/esm/config/src/schema/sync-protocols/cardano/utxorpc.d.ts.map +1 -0
  148. package/esm/config/src/schema/sync-protocols/cardano/utxorpc.js +56 -0
  149. package/esm/config/src/schema/sync-protocols/common.d.ts +60 -0
  150. package/esm/config/src/schema/sync-protocols/common.d.ts.map +1 -0
  151. package/esm/config/src/schema/sync-protocols/common.js +54 -0
  152. package/esm/config/src/schema/sync-protocols/decorators/all.d.ts +17 -0
  153. package/esm/config/src/schema/sync-protocols/decorators/all.d.ts.map +1 -0
  154. package/esm/config/src/schema/sync-protocols/decorators/all.js +8 -0
  155. package/esm/config/src/schema/sync-protocols/decorators/emulated.d.ts +8 -0
  156. package/esm/config/src/schema/sync-protocols/decorators/emulated.d.ts.map +1 -0
  157. package/esm/config/src/schema/sync-protocols/decorators/emulated.js +12 -0
  158. package/esm/config/src/schema/sync-protocols/decorators/mod.d.ts +4 -0
  159. package/esm/config/src/schema/sync-protocols/decorators/mod.d.ts.map +1 -0
  160. package/esm/config/src/schema/sync-protocols/decorators/mod.js +3 -0
  161. package/esm/config/src/schema/sync-protocols/decorators/types.d.ts +4 -0
  162. package/esm/config/src/schema/sync-protocols/decorators/types.d.ts.map +1 -0
  163. package/esm/config/src/schema/sync-protocols/decorators/types.js +4 -0
  164. package/esm/config/src/schema/sync-protocols/evm/rpc.d.ts +68 -0
  165. package/esm/config/src/schema/sync-protocols/evm/rpc.d.ts.map +1 -0
  166. package/esm/config/src/schema/sync-protocols/evm/rpc.js +44 -0
  167. package/esm/config/src/schema/sync-protocols/midnight/graphql.d.ts +66 -0
  168. package/esm/config/src/schema/sync-protocols/midnight/graphql.d.ts.map +1 -0
  169. package/esm/config/src/schema/sync-protocols/midnight/graphql.js +50 -0
  170. package/esm/config/src/schema/sync-protocols/mina/graphql.d.ts +73 -0
  171. package/esm/config/src/schema/sync-protocols/mina/graphql.d.ts.map +1 -0
  172. package/esm/config/src/schema/sync-protocols/mina/graphql.js +59 -0
  173. package/esm/config/src/schema/sync-protocols/mod.d.ts +10 -0
  174. package/esm/config/src/schema/sync-protocols/mod.d.ts.map +1 -0
  175. package/esm/config/src/schema/sync-protocols/mod.js +9 -0
  176. package/esm/config/src/schema/sync-protocols/ntp/rpc.d.ts +45 -0
  177. package/esm/config/src/schema/sync-protocols/ntp/rpc.d.ts.map +1 -0
  178. package/esm/config/src/schema/sync-protocols/ntp/rpc.js +33 -0
  179. package/esm/config/src/schema/sync-protocols/types.d.ts +125 -0
  180. package/esm/config/src/schema/sync-protocols/types.d.ts.map +1 -0
  181. package/esm/config/src/schema/sync-protocols/types.js +22 -0
  182. package/esm/config/src/schema/utils.d.ts +53 -0
  183. package/esm/config/src/schema/utils.d.ts.map +1 -0
  184. package/esm/config/src/schema/utils.js +58 -0
  185. package/esm/events/src/app-events.d.ts +65 -0
  186. package/esm/events/src/app-events.d.ts.map +1 -0
  187. package/esm/events/src/app-events.js +51 -0
  188. package/esm/events/src/asyncapi.d.ts +1173 -0
  189. package/esm/events/src/asyncapi.d.ts.map +1 -0
  190. package/esm/events/src/asyncapi.js +7 -0
  191. package/esm/events/src/builtin-event-utils.d.ts +5 -0
  192. package/esm/events/src/builtin-event-utils.d.ts.map +1 -0
  193. package/esm/events/src/builtin-event-utils.js +58 -0
  194. package/esm/events/src/builtin-events.d.ts +106 -0
  195. package/esm/events/src/builtin-events.d.ts.map +1 -0
  196. package/esm/events/src/builtin-events.js +198 -0
  197. package/esm/events/src/event-connect.d.ts +15 -0
  198. package/esm/events/src/event-connect.d.ts.map +1 -0
  199. package/esm/events/src/event-connect.js +75 -0
  200. package/esm/events/src/event-manager.d.ts +54 -0
  201. package/esm/events/src/event-manager.d.ts.map +1 -0
  202. package/esm/events/src/event-manager.js +129 -0
  203. package/esm/events/src/evm.d.ts +6 -0
  204. package/esm/events/src/evm.d.ts.map +1 -0
  205. package/esm/events/src/evm.js +55 -0
  206. package/esm/events/src/mod.d.ts +10 -0
  207. package/esm/events/src/mod.d.ts.map +1 -0
  208. package/esm/events/src/mod.js +9 -0
  209. package/esm/events/src/types.d.ts +255 -0
  210. package/esm/events/src/types.d.ts.map +1 -0
  211. package/esm/events/src/types.js +103 -0
  212. package/esm/events/src/utils.d.ts +16 -0
  213. package/esm/events/src/utils.d.ts.map +1 -0
  214. package/esm/events/src/utils.js +93 -0
  215. package/esm/package.json +3 -0
  216. package/esm/utils/src/binary-search.d.ts +7 -0
  217. package/esm/utils/src/binary-search.d.ts.map +1 -0
  218. package/esm/utils/src/binary-search.js +38 -0
  219. package/esm/utils/src/captcha.d.ts +9 -0
  220. package/esm/utils/src/captcha.d.ts.map +1 -0
  221. package/esm/utils/src/captcha.js +19 -0
  222. package/esm/utils/src/concurrency/condVar.d.ts +25 -0
  223. package/esm/utils/src/concurrency/condVar.d.ts.map +1 -0
  224. package/esm/utils/src/concurrency/condVar.js +39 -0
  225. package/esm/utils/src/concurrency/latch.d.ts +25 -0
  226. package/esm/utils/src/concurrency/latch.d.ts.map +1 -0
  227. package/esm/utils/src/concurrency/latch.js +51 -0
  228. package/esm/utils/src/concurrency/mod.d.ts +5 -0
  229. package/esm/utils/src/concurrency/mod.d.ts.map +1 -0
  230. package/esm/utils/src/concurrency/mod.js +4 -0
  231. package/esm/utils/src/concurrency/retry.d.ts +14 -0
  232. package/esm/utils/src/concurrency/retry.d.ts.map +1 -0
  233. package/esm/utils/src/concurrency/retry.js +26 -0
  234. package/esm/utils/src/concurrency/utils.d.ts +27 -0
  235. package/esm/utils/src/concurrency/utils.d.ts.map +1 -0
  236. package/esm/utils/src/concurrency/utils.js +27 -0
  237. package/esm/utils/src/constants.d.ts +4 -0
  238. package/esm/utils/src/constants.d.ts.map +1 -0
  239. package/esm/utils/src/constants.js +7 -0
  240. package/esm/utils/src/decorators/bound.d.ts +10 -0
  241. package/esm/utils/src/decorators/bound.d.ts.map +1 -0
  242. package/esm/utils/src/decorators/bound.js +17 -0
  243. package/esm/utils/src/decorators/mod.d.ts +2 -0
  244. package/esm/utils/src/decorators/mod.d.ts.map +1 -0
  245. package/esm/utils/src/decorators/mod.js +1 -0
  246. package/esm/utils/src/mod.d.ts +8 -0
  247. package/esm/utils/src/mod.d.ts.map +1 -0
  248. package/esm/utils/src/mod.js +7 -0
  249. package/esm/utils/src/types/json-query.d.ts +30 -0
  250. package/esm/utils/src/types/json-query.d.ts.map +1 -0
  251. package/esm/utils/src/types/json-query.js +1 -0
  252. package/esm/utils/src/types/misc.d.ts +109 -0
  253. package/esm/utils/src/types/misc.d.ts.map +1 -0
  254. package/esm/utils/src/types/misc.js +2 -0
  255. package/esm/utils/src/types/mod.d.ts +7 -0
  256. package/esm/utils/src/types/mod.d.ts.map +1 -0
  257. package/esm/utils/src/types/mod.js +3 -0
  258. package/esm/utils/src/types/nominal.d.ts +87 -0
  259. package/esm/utils/src/types/nominal.d.ts.map +1 -0
  260. package/esm/utils/src/types/nominal.js +1 -0
  261. package/esm/utils/src/types/typebox-helpers.d.ts +183 -0
  262. package/esm/utils/src/types/typebox-helpers.d.ts.map +1 -0
  263. package/esm/utils/src/types/typebox-helpers.js +235 -0
  264. package/esm/utils/src/types/utils.d.ts +37 -0
  265. package/esm/utils/src/types/utils.d.ts.map +1 -0
  266. package/esm/utils/src/types/utils.js +46 -0
  267. package/esm/utils/src/types/validators/algorand.d.ts +31 -0
  268. package/esm/utils/src/types/validators/algorand.d.ts.map +1 -0
  269. package/esm/utils/src/types/validators/algorand.js +90 -0
  270. package/esm/utils/src/types/validators/cardano.d.ts +26 -0
  271. package/esm/utils/src/types/validators/cardano.d.ts.map +1 -0
  272. package/esm/utils/src/types/validators/cardano.js +113 -0
  273. package/esm/utils/src/types/validators/mina.d.ts +15 -0
  274. package/esm/utils/src/types/validators/mina.d.ts.map +1 -0
  275. package/esm/utils/src/types/validators/mina.js +43 -0
  276. package/esm/utils/src/types/validators/minicbor.d.ts +98 -0
  277. package/esm/utils/src/types/validators/minicbor.d.ts.map +1 -0
  278. package/esm/utils/src/types/validators/minicbor.js +332 -0
  279. package/esm/utils/src/types/validators/mod.d.ts +3 -0
  280. package/esm/utils/src/types/validators/mod.d.ts.map +1 -0
  281. package/esm/utils/src/types/validators/mod.js +2 -0
  282. package/esm/utils/src/types/validators/utils.d.ts +6 -0
  283. package/esm/utils/src/types/validators/utils.d.ts.map +1 -0
  284. package/esm/utils/src/types/validators/utils.js +24 -0
  285. package/esm/utils/src/viem.d.ts +6 -0
  286. package/esm/utils/src/viem.d.ts.map +1 -0
  287. package/esm/utils/src/viem.js +15 -0
  288. package/esm/wallets/src/IProvider.d.ts +48 -0
  289. package/esm/wallets/src/IProvider.d.ts.map +1 -0
  290. package/esm/wallets/src/IProvider.js +7 -0
  291. package/esm/wallets/src/avail/avail.d.ts +28 -0
  292. package/esm/wallets/src/avail/avail.d.ts.map +1 -0
  293. package/esm/wallets/src/avail/avail.js +65 -0
  294. package/esm/wallets/src/avail/wrapper.d.ts +6 -0
  295. package/esm/wallets/src/avail/wrapper.d.ts.map +1 -0
  296. package/esm/wallets/src/avail/wrapper.js +31 -0
  297. package/esm/wallets/src/cardano/cardano.d.ts +30 -0
  298. package/esm/wallets/src/cardano/cardano.d.ts.map +1 -0
  299. package/esm/wallets/src/cardano/cardano.js +158 -0
  300. package/esm/wallets/src/cardano/wrapper.d.ts +7 -0
  301. package/esm/wallets/src/cardano/wrapper.d.ts.map +1 -0
  302. package/esm/wallets/src/cardano/wrapper.js +22 -0
  303. package/esm/wallets/src/evm/ethers.d.ts +28 -0
  304. package/esm/wallets/src/evm/ethers.d.ts.map +1 -0
  305. package/esm/wallets/src/evm/ethers.js +79 -0
  306. package/esm/wallets/src/evm/injected.d.ts +74 -0
  307. package/esm/wallets/src/evm/injected.d.ts.map +1 -0
  308. package/esm/wallets/src/evm/injected.js +322 -0
  309. package/esm/wallets/src/evm/types.d.ts +3 -0
  310. package/esm/wallets/src/evm/types.d.ts.map +1 -0
  311. package/esm/wallets/src/evm/types.js +1 -0
  312. package/esm/wallets/src/evm/wrapper-ethers.d.ts +6 -0
  313. package/esm/wallets/src/evm/wrapper-ethers.d.ts.map +1 -0
  314. package/esm/wallets/src/evm/wrapper-ethers.js +38 -0
  315. package/esm/wallets/src/evm/wrapper-injected.d.ts +7 -0
  316. package/esm/wallets/src/evm/wrapper-injected.d.ts.map +1 -0
  317. package/esm/wallets/src/evm/wrapper-injected.js +80 -0
  318. package/esm/wallets/src/midnight/midnight.d.ts +26 -0
  319. package/esm/wallets/src/midnight/midnight.d.ts.map +1 -0
  320. package/esm/wallets/src/midnight/midnight.js +112 -0
  321. package/esm/wallets/src/midnight/wrapper.d.ts +7 -0
  322. package/esm/wallets/src/midnight/wrapper.d.ts.map +1 -0
  323. package/esm/wallets/src/midnight/wrapper.js +22 -0
  324. package/esm/wallets/src/mina/mina.d.ts +28 -0
  325. package/esm/wallets/src/mina/mina.d.ts.map +1 -0
  326. package/esm/wallets/src/mina/mina.js +133 -0
  327. package/esm/wallets/src/mina/wrapper.d.ts +6 -0
  328. package/esm/wallets/src/mina/wrapper.d.ts.map +1 -0
  329. package/esm/wallets/src/mina/wrapper.js +12 -0
  330. package/esm/wallets/src/mod.d.ts +8 -0
  331. package/esm/wallets/src/mod.d.ts.map +1 -0
  332. package/esm/wallets/src/mod.js +5 -0
  333. package/esm/wallets/src/paima.d.ts +104 -0
  334. package/esm/wallets/src/paima.d.ts.map +1 -0
  335. package/esm/wallets/src/paima.js +244 -0
  336. package/esm/wallets/src/types.d.ts +49 -0
  337. package/esm/wallets/src/types.d.ts.map +1 -0
  338. package/esm/wallets/src/types.js +1 -0
  339. package/esm/wallets/src/utils.d.ts +41 -0
  340. package/esm/wallets/src/utils.d.ts.map +1 -0
  341. package/esm/wallets/src/utils.js +75 -0
  342. package/esm/wallets/src/wallet-modes.d.ts +49 -0
  343. package/esm/wallets/src/wallet-modes.d.ts.map +1 -0
  344. package/esm/wallets/src/wallet-modes.js +26 -0
  345. package/esm/wallets/src/wallets.d.ts +5 -0
  346. package/esm/wallets/src/wallets.d.ts.map +1 -0
  347. package/esm/wallets/src/wallets.js +55 -0
  348. package/esm/wallets/src/windows.d.ts +5 -0
  349. package/esm/wallets/src/windows.d.ts.map +1 -0
  350. package/esm/wallets/src/windows.js +9 -0
  351. package/package.json +51 -0
  352. package/script/chain-types/src/hash.d.ts +28 -0
  353. package/script/chain-types/src/hash.d.ts.map +1 -0
  354. package/script/chain-types/src/hash.js +36 -0
  355. package/script/chain-types/src/mod.d.ts +3 -0
  356. package/script/chain-types/src/mod.d.ts.map +1 -0
  357. package/script/chain-types/src/mod.js +18 -0
  358. package/script/chain-types/src/types.d.ts +70 -0
  359. package/script/chain-types/src/types.d.ts.map +1 -0
  360. package/script/chain-types/src/types.js +2 -0
  361. package/script/concise/src/batcher.d.ts +40 -0
  362. package/script/concise/src/batcher.d.ts.map +1 -0
  363. package/script/concise/src/batcher.js +122 -0
  364. package/script/concise/src/delegate.d.ts +18 -0
  365. package/script/concise/src/delegate.d.ts.map +1 -0
  366. package/script/concise/src/delegate.js +123 -0
  367. package/script/concise/src/mod.d.ts +5 -0
  368. package/script/concise/src/mod.d.ts.map +1 -0
  369. package/script/concise/src/mod.js +19 -0
  370. package/script/concise/src/v2/builtins/batcher.d.ts +27 -0
  371. package/script/concise/src/v2/builtins/batcher.d.ts.map +1 -0
  372. package/script/concise/src/v2/builtins/batcher.js +54 -0
  373. package/script/concise/src/v2/builtins/grammar.d.ts +25 -0
  374. package/script/concise/src/v2/builtins/grammar.d.ts.map +1 -0
  375. package/script/concise/src/v2/builtins/grammar.js +43 -0
  376. package/script/concise/src/v2/builtins/index.d.ts +3 -0
  377. package/script/concise/src/v2/builtins/index.d.ts.map +1 -0
  378. package/script/concise/src/v2/builtins/index.js +19 -0
  379. package/script/concise/src/v2/grammar.d.ts +8 -0
  380. package/script/concise/src/v2/grammar.d.ts.map +1 -0
  381. package/script/concise/src/v2/grammar.js +24 -0
  382. package/script/concise/src/v2/inputs.d.ts +7 -0
  383. package/script/concise/src/v2/inputs.d.ts.map +1 -0
  384. package/script/concise/src/v2/inputs.js +43 -0
  385. package/script/concise/src/v2/mod.d.ts +5 -0
  386. package/script/concise/src/v2/mod.d.ts.map +1 -0
  387. package/script/concise/src/v2/mod.js +20 -0
  388. package/script/concise/src/v2/types.d.ts +23 -0
  389. package/script/concise/src/v2/types.d.ts.map +1 -0
  390. package/script/concise/src/v2/types.js +2 -0
  391. package/script/config/src/config/builder.d.ts +33 -0
  392. package/script/config/src/config/builder.d.ts.map +1 -0
  393. package/script/config/src/config/builder.js +86 -0
  394. package/script/config/src/config/configCheck.d.ts +32 -0
  395. package/script/config/src/config/configCheck.d.ts.map +1 -0
  396. package/script/config/src/config/configCheck.js +70 -0
  397. package/script/config/src/config/context.d.ts +23 -0
  398. package/script/config/src/config/context.d.ts.map +1 -0
  399. package/script/config/src/config/context.js +31 -0
  400. package/script/config/src/config/mod.d.ts +7 -0
  401. package/script/config/src/config/mod.d.ts.map +1 -0
  402. package/script/config/src/config/mod.js +22 -0
  403. package/script/config/src/config/parts/deployedAddresses.d.ts +17 -0
  404. package/script/config/src/config/parts/deployedAddresses.d.ts.map +1 -0
  405. package/script/config/src/config/parts/deployedAddresses.js +28 -0
  406. package/script/config/src/config/parts/network.d.ts +19 -0
  407. package/script/config/src/config/parts/network.d.ts.map +1 -0
  408. package/script/config/src/config/parts/network.js +33 -0
  409. package/script/config/src/config/parts/primitive.d.ts +31 -0
  410. package/script/config/src/config/parts/primitive.d.ts.map +1 -0
  411. package/script/config/src/config/parts/primitive.js +32 -0
  412. package/script/config/src/config/parts/securityNamespace.d.ts +14 -0
  413. package/script/config/src/config/parts/securityNamespace.d.ts.map +1 -0
  414. package/script/config/src/config/parts/securityNamespace.js +30 -0
  415. package/script/config/src/config/parts/syncProtocols.d.ts +43 -0
  416. package/script/config/src/config/parts/syncProtocols.d.ts.map +1 -0
  417. package/script/config/src/config/parts/syncProtocols.js +70 -0
  418. package/script/config/src/config/utils.d.ts +40 -0
  419. package/script/config/src/config/utils.d.ts.map +1 -0
  420. package/script/config/src/config/utils.js +62 -0
  421. package/script/config/src/mod.d.ts +3 -0
  422. package/script/config/src/mod.d.ts.map +1 -0
  423. package/script/config/src/mod.js +18 -0
  424. package/script/config/src/schema/common.d.ts +26 -0
  425. package/script/config/src/schema/common.d.ts.map +1 -0
  426. package/script/config/src/schema/common.js +54 -0
  427. package/script/config/src/schema/mod.d.ts +7 -0
  428. package/script/config/src/schema/mod.d.ts.map +1 -0
  429. package/script/config/src/schema/mod.js +22 -0
  430. package/script/config/src/schema/namespace.d.ts +39 -0
  431. package/script/config/src/schema/namespace.d.ts.map +1 -0
  432. package/script/config/src/schema/namespace.js +38 -0
  433. package/script/config/src/schema/network/algorand.d.ts +12 -0
  434. package/script/config/src/schema/network/algorand.d.ts.map +1 -0
  435. package/script/config/src/schema/network/algorand.js +26 -0
  436. package/script/config/src/schema/network/all.d.ts +175 -0
  437. package/script/config/src/schema/network/all.d.ts.map +1 -0
  438. package/script/config/src/schema/network/all.js +28 -0
  439. package/script/config/src/schema/network/bitcoin.d.ts +19 -0
  440. package/script/config/src/schema/network/bitcoin.d.ts.map +1 -0
  441. package/script/config/src/schema/network/bitcoin.js +24 -0
  442. package/script/config/src/schema/network/cardano.d.ts +12 -0
  443. package/script/config/src/schema/network/cardano.d.ts.map +1 -0
  444. package/script/config/src/schema/network/cardano.js +30 -0
  445. package/script/config/src/schema/network/evm.d.ts +68 -0
  446. package/script/config/src/schema/network/evm.d.ts.map +1 -0
  447. package/script/config/src/schema/network/evm.js +75 -0
  448. package/script/config/src/schema/network/mina.d.ts +14 -0
  449. package/script/config/src/schema/network/mina.d.ts.map +1 -0
  450. package/script/config/src/schema/network/mina.js +28 -0
  451. package/script/config/src/schema/network/mod.d.ts +9 -0
  452. package/script/config/src/schema/network/mod.d.ts.map +1 -0
  453. package/script/config/src/schema/network/mod.js +24 -0
  454. package/script/config/src/schema/network/ntp.d.ts +32 -0
  455. package/script/config/src/schema/network/ntp.d.ts.map +1 -0
  456. package/script/config/src/schema/network/ntp.js +42 -0
  457. package/script/config/src/schema/network/substrate/avail.d.ts +14 -0
  458. package/script/config/src/schema/network/substrate/avail.d.ts.map +1 -0
  459. package/script/config/src/schema/network/substrate/avail.js +29 -0
  460. package/script/config/src/schema/network/substrate/common.d.ts +18 -0
  461. package/script/config/src/schema/network/substrate/common.d.ts.map +1 -0
  462. package/script/config/src/schema/network/substrate/common.js +35 -0
  463. package/script/config/src/schema/network/substrate/midnight.d.ts +20 -0
  464. package/script/config/src/schema/network/substrate/midnight.d.ts.map +1 -0
  465. package/script/config/src/schema/network/substrate/midnight.js +35 -0
  466. package/script/config/src/schema/network/substrate/mod.d.ts +4 -0
  467. package/script/config/src/schema/network/substrate/mod.d.ts.map +1 -0
  468. package/script/config/src/schema/network/substrate/mod.js +19 -0
  469. package/script/config/src/schema/network/types.d.ts +13 -0
  470. package/script/config/src/schema/network/types.d.ts.map +1 -0
  471. package/script/config/src/schema/network/types.js +16 -0
  472. package/script/config/src/schema/network/utils.d.ts +5 -0
  473. package/script/config/src/schema/network/utils.d.ts.map +1 -0
  474. package/script/config/src/schema/network/utils.js +76 -0
  475. package/script/config/src/schema/primitive/mod.d.ts +2 -0
  476. package/script/config/src/schema/primitive/mod.d.ts.map +1 -0
  477. package/script/config/src/schema/primitive/mod.js +17 -0
  478. package/script/config/src/schema/primitive/types.d.ts +58 -0
  479. package/script/config/src/schema/primitive/types.d.ts.map +1 -0
  480. package/script/config/src/schema/primitive/types.js +2 -0
  481. package/script/config/src/schema/sync-protocols/all.d.ts +583 -0
  482. package/script/config/src/schema/sync-protocols/all.d.ts.map +1 -0
  483. package/script/config/src/schema/sync-protocols/all.js +62 -0
  484. package/script/config/src/schema/sync-protocols/avail/rpc.d.ts +76 -0
  485. package/script/config/src/schema/sync-protocols/avail/rpc.d.ts.map +1 -0
  486. package/script/config/src/schema/sync-protocols/avail/rpc.js +59 -0
  487. package/script/config/src/schema/sync-protocols/bitcoin/rpc.d.ts +76 -0
  488. package/script/config/src/schema/sync-protocols/bitcoin/rpc.d.ts.map +1 -0
  489. package/script/config/src/schema/sync-protocols/bitcoin/rpc.js +50 -0
  490. package/script/config/src/schema/sync-protocols/cardano/carp.d.ts +80 -0
  491. package/script/config/src/schema/sync-protocols/cardano/carp.d.ts.map +1 -0
  492. package/script/config/src/schema/sync-protocols/cardano/carp.js +65 -0
  493. package/script/config/src/schema/sync-protocols/cardano/mod.d.ts +2 -0
  494. package/script/config/src/schema/sync-protocols/cardano/mod.d.ts.map +1 -0
  495. package/script/config/src/schema/sync-protocols/cardano/mod.js +17 -0
  496. package/script/config/src/schema/sync-protocols/cardano/utxorpc.d.ts +56 -0
  497. package/script/config/src/schema/sync-protocols/cardano/utxorpc.d.ts.map +1 -0
  498. package/script/config/src/schema/sync-protocols/cardano/utxorpc.js +59 -0
  499. package/script/config/src/schema/sync-protocols/common.d.ts +60 -0
  500. package/script/config/src/schema/sync-protocols/common.d.ts.map +1 -0
  501. package/script/config/src/schema/sync-protocols/common.js +61 -0
  502. package/script/config/src/schema/sync-protocols/decorators/all.d.ts +17 -0
  503. package/script/config/src/schema/sync-protocols/decorators/all.d.ts.map +1 -0
  504. package/script/config/src/schema/sync-protocols/decorators/all.js +12 -0
  505. package/script/config/src/schema/sync-protocols/decorators/emulated.d.ts +8 -0
  506. package/script/config/src/schema/sync-protocols/decorators/emulated.d.ts.map +1 -0
  507. package/script/config/src/schema/sync-protocols/decorators/emulated.js +15 -0
  508. package/script/config/src/schema/sync-protocols/decorators/mod.d.ts +4 -0
  509. package/script/config/src/schema/sync-protocols/decorators/mod.d.ts.map +1 -0
  510. package/script/config/src/schema/sync-protocols/decorators/mod.js +19 -0
  511. package/script/config/src/schema/sync-protocols/decorators/types.d.ts +4 -0
  512. package/script/config/src/schema/sync-protocols/decorators/types.d.ts.map +1 -0
  513. package/script/config/src/schema/sync-protocols/decorators/types.js +7 -0
  514. package/script/config/src/schema/sync-protocols/evm/rpc.d.ts +68 -0
  515. package/script/config/src/schema/sync-protocols/evm/rpc.d.ts.map +1 -0
  516. package/script/config/src/schema/sync-protocols/evm/rpc.js +47 -0
  517. package/script/config/src/schema/sync-protocols/midnight/graphql.d.ts +66 -0
  518. package/script/config/src/schema/sync-protocols/midnight/graphql.d.ts.map +1 -0
  519. package/script/config/src/schema/sync-protocols/midnight/graphql.js +53 -0
  520. package/script/config/src/schema/sync-protocols/mina/graphql.d.ts +73 -0
  521. package/script/config/src/schema/sync-protocols/mina/graphql.d.ts.map +1 -0
  522. package/script/config/src/schema/sync-protocols/mina/graphql.js +62 -0
  523. package/script/config/src/schema/sync-protocols/mod.d.ts +10 -0
  524. package/script/config/src/schema/sync-protocols/mod.d.ts.map +1 -0
  525. package/script/config/src/schema/sync-protocols/mod.js +25 -0
  526. package/script/config/src/schema/sync-protocols/ntp/rpc.d.ts +45 -0
  527. package/script/config/src/schema/sync-protocols/ntp/rpc.d.ts.map +1 -0
  528. package/script/config/src/schema/sync-protocols/ntp/rpc.js +36 -0
  529. package/script/config/src/schema/sync-protocols/types.d.ts +125 -0
  530. package/script/config/src/schema/sync-protocols/types.d.ts.map +1 -0
  531. package/script/config/src/schema/sync-protocols/types.js +25 -0
  532. package/script/config/src/schema/utils.d.ts +53 -0
  533. package/script/config/src/schema/utils.d.ts.map +1 -0
  534. package/script/config/src/schema/utils.js +62 -0
  535. package/script/events/src/app-events.d.ts +65 -0
  536. package/script/events/src/app-events.d.ts.map +1 -0
  537. package/script/events/src/app-events.js +62 -0
  538. package/script/events/src/asyncapi.d.ts +1173 -0
  539. package/script/events/src/asyncapi.d.ts.map +1 -0
  540. package/script/events/src/asyncapi.js +8 -0
  541. package/script/events/src/builtin-event-utils.d.ts +5 -0
  542. package/script/events/src/builtin-event-utils.d.ts.map +1 -0
  543. package/script/events/src/builtin-event-utils.js +63 -0
  544. package/script/events/src/builtin-events.d.ts +106 -0
  545. package/script/events/src/builtin-events.d.ts.map +1 -0
  546. package/script/events/src/builtin-events.js +204 -0
  547. package/script/events/src/event-connect.d.ts +15 -0
  548. package/script/events/src/event-connect.d.ts.map +1 -0
  549. package/script/events/src/event-connect.js +82 -0
  550. package/script/events/src/event-manager.d.ts +54 -0
  551. package/script/events/src/event-manager.d.ts.map +1 -0
  552. package/script/events/src/event-manager.js +133 -0
  553. package/script/events/src/evm.d.ts +6 -0
  554. package/script/events/src/evm.d.ts.map +1 -0
  555. package/script/events/src/evm.js +59 -0
  556. package/script/events/src/mod.d.ts +10 -0
  557. package/script/events/src/mod.d.ts.map +1 -0
  558. package/script/events/src/mod.js +25 -0
  559. package/script/events/src/types.d.ts +255 -0
  560. package/script/events/src/types.d.ts.map +1 -0
  561. package/script/events/src/types.js +111 -0
  562. package/script/events/src/utils.d.ts +16 -0
  563. package/script/events/src/utils.d.ts.map +1 -0
  564. package/script/events/src/utils.js +98 -0
  565. package/script/package.json +3 -0
  566. package/script/utils/src/binary-search.d.ts +7 -0
  567. package/script/utils/src/binary-search.d.ts.map +1 -0
  568. package/script/utils/src/binary-search.js +41 -0
  569. package/script/utils/src/captcha.d.ts +9 -0
  570. package/script/utils/src/captcha.d.ts.map +1 -0
  571. package/script/utils/src/captcha.js +22 -0
  572. package/script/utils/src/concurrency/condVar.d.ts +25 -0
  573. package/script/utils/src/concurrency/condVar.d.ts.map +1 -0
  574. package/script/utils/src/concurrency/condVar.js +42 -0
  575. package/script/utils/src/concurrency/latch.d.ts +25 -0
  576. package/script/utils/src/concurrency/latch.d.ts.map +1 -0
  577. package/script/utils/src/concurrency/latch.js +54 -0
  578. package/script/utils/src/concurrency/mod.d.ts +5 -0
  579. package/script/utils/src/concurrency/mod.d.ts.map +1 -0
  580. package/script/utils/src/concurrency/mod.js +20 -0
  581. package/script/utils/src/concurrency/retry.d.ts +14 -0
  582. package/script/utils/src/concurrency/retry.d.ts.map +1 -0
  583. package/script/utils/src/concurrency/retry.js +30 -0
  584. package/script/utils/src/concurrency/utils.d.ts +27 -0
  585. package/script/utils/src/concurrency/utils.d.ts.map +1 -0
  586. package/script/utils/src/concurrency/utils.js +30 -0
  587. package/script/utils/src/constants.d.ts +4 -0
  588. package/script/utils/src/constants.d.ts.map +1 -0
  589. package/script/utils/src/constants.js +12 -0
  590. package/script/utils/src/decorators/bound.d.ts +10 -0
  591. package/script/utils/src/decorators/bound.d.ts.map +1 -0
  592. package/script/utils/src/decorators/bound.js +20 -0
  593. package/script/utils/src/decorators/mod.d.ts +2 -0
  594. package/script/utils/src/decorators/mod.d.ts.map +1 -0
  595. package/script/utils/src/decorators/mod.js +17 -0
  596. package/script/utils/src/mod.d.ts +8 -0
  597. package/script/utils/src/mod.d.ts.map +1 -0
  598. package/script/utils/src/mod.js +23 -0
  599. package/script/utils/src/types/json-query.d.ts +30 -0
  600. package/script/utils/src/types/json-query.d.ts.map +1 -0
  601. package/script/utils/src/types/json-query.js +2 -0
  602. package/script/utils/src/types/misc.d.ts +109 -0
  603. package/script/utils/src/types/misc.d.ts.map +1 -0
  604. package/script/utils/src/types/misc.js +3 -0
  605. package/script/utils/src/types/mod.d.ts +7 -0
  606. package/script/utils/src/types/mod.d.ts.map +1 -0
  607. package/script/utils/src/types/mod.js +19 -0
  608. package/script/utils/src/types/nominal.d.ts +87 -0
  609. package/script/utils/src/types/nominal.d.ts.map +1 -0
  610. package/script/utils/src/types/nominal.js +2 -0
  611. package/script/utils/src/types/typebox-helpers.d.ts +183 -0
  612. package/script/utils/src/types/typebox-helpers.d.ts.map +1 -0
  613. package/script/utils/src/types/typebox-helpers.js +277 -0
  614. package/script/utils/src/types/utils.d.ts +37 -0
  615. package/script/utils/src/types/utils.d.ts.map +1 -0
  616. package/script/utils/src/types/utils.js +52 -0
  617. package/script/utils/src/types/validators/algorand.d.ts +31 -0
  618. package/script/utils/src/types/validators/algorand.d.ts.map +1 -0
  619. package/script/utils/src/types/validators/algorand.js +98 -0
  620. package/script/utils/src/types/validators/cardano.d.ts +26 -0
  621. package/script/utils/src/types/validators/cardano.d.ts.map +1 -0
  622. package/script/utils/src/types/validators/cardano.js +121 -0
  623. package/script/utils/src/types/validators/mina.d.ts +15 -0
  624. package/script/utils/src/types/validators/mina.d.ts.map +1 -0
  625. package/script/utils/src/types/validators/mina.js +51 -0
  626. package/script/utils/src/types/validators/minicbor.d.ts +98 -0
  627. package/script/utils/src/types/validators/minicbor.d.ts.map +1 -0
  628. package/script/utils/src/types/validators/minicbor.js +337 -0
  629. package/script/utils/src/types/validators/mod.d.ts +3 -0
  630. package/script/utils/src/types/validators/mod.d.ts.map +1 -0
  631. package/script/utils/src/types/validators/mod.js +18 -0
  632. package/script/utils/src/types/validators/utils.d.ts +6 -0
  633. package/script/utils/src/types/validators/utils.d.ts.map +1 -0
  634. package/script/utils/src/types/validators/utils.js +31 -0
  635. package/script/utils/src/viem.d.ts +6 -0
  636. package/script/utils/src/viem.d.ts.map +1 -0
  637. package/script/utils/src/viem.js +19 -0
  638. package/script/wallets/src/IProvider.d.ts +48 -0
  639. package/script/wallets/src/IProvider.d.ts.map +1 -0
  640. package/script/wallets/src/IProvider.js +10 -0
  641. package/script/wallets/src/avail/avail.d.ts +28 -0
  642. package/script/wallets/src/avail/avail.d.ts.map +1 -0
  643. package/script/wallets/src/avail/avail.js +70 -0
  644. package/script/wallets/src/avail/wrapper.d.ts +6 -0
  645. package/script/wallets/src/avail/wrapper.d.ts.map +1 -0
  646. package/script/wallets/src/avail/wrapper.js +34 -0
  647. package/script/wallets/src/cardano/cardano.d.ts +30 -0
  648. package/script/wallets/src/cardano/cardano.d.ts.map +1 -0
  649. package/script/wallets/src/cardano/cardano.js +163 -0
  650. package/script/wallets/src/cardano/wrapper.d.ts +7 -0
  651. package/script/wallets/src/cardano/wrapper.d.ts.map +1 -0
  652. package/script/wallets/src/cardano/wrapper.js +26 -0
  653. package/script/wallets/src/evm/ethers.d.ts +28 -0
  654. package/script/wallets/src/evm/ethers.d.ts.map +1 -0
  655. package/script/wallets/src/evm/ethers.js +84 -0
  656. package/script/wallets/src/evm/injected.d.ts +74 -0
  657. package/script/wallets/src/evm/injected.d.ts.map +1 -0
  658. package/script/wallets/src/evm/injected.js +360 -0
  659. package/script/wallets/src/evm/types.d.ts +3 -0
  660. package/script/wallets/src/evm/types.d.ts.map +1 -0
  661. package/script/wallets/src/evm/types.js +4 -0
  662. package/script/wallets/src/evm/wrapper-ethers.d.ts +6 -0
  663. package/script/wallets/src/evm/wrapper-ethers.d.ts.map +1 -0
  664. package/script/wallets/src/evm/wrapper-ethers.js +41 -0
  665. package/script/wallets/src/evm/wrapper-injected.d.ts +7 -0
  666. package/script/wallets/src/evm/wrapper-injected.d.ts.map +1 -0
  667. package/script/wallets/src/evm/wrapper-injected.js +84 -0
  668. package/script/wallets/src/midnight/midnight.d.ts +26 -0
  669. package/script/wallets/src/midnight/midnight.d.ts.map +1 -0
  670. package/script/wallets/src/midnight/midnight.js +117 -0
  671. package/script/wallets/src/midnight/wrapper.d.ts +7 -0
  672. package/script/wallets/src/midnight/wrapper.d.ts.map +1 -0
  673. package/script/wallets/src/midnight/wrapper.js +26 -0
  674. package/script/wallets/src/mina/mina.d.ts +28 -0
  675. package/script/wallets/src/mina/mina.d.ts.map +1 -0
  676. package/script/wallets/src/mina/mina.js +138 -0
  677. package/script/wallets/src/mina/wrapper.d.ts +6 -0
  678. package/script/wallets/src/mina/wrapper.d.ts.map +1 -0
  679. package/script/wallets/src/mina/wrapper.js +15 -0
  680. package/script/wallets/src/mod.d.ts +8 -0
  681. package/script/wallets/src/mod.d.ts.map +1 -0
  682. package/script/wallets/src/mod.js +26 -0
  683. package/script/wallets/src/paima.d.ts +104 -0
  684. package/script/wallets/src/paima.d.ts.map +1 -0
  685. package/script/wallets/src/paima.js +253 -0
  686. package/script/wallets/src/types.d.ts +49 -0
  687. package/script/wallets/src/types.d.ts.map +1 -0
  688. package/script/wallets/src/types.js +2 -0
  689. package/script/wallets/src/utils.d.ts +41 -0
  690. package/script/wallets/src/utils.d.ts.map +1 -0
  691. package/script/wallets/src/utils.js +81 -0
  692. package/script/wallets/src/wallet-modes.d.ts +49 -0
  693. package/script/wallets/src/wallet-modes.d.ts.map +1 -0
  694. package/script/wallets/src/wallet-modes.js +29 -0
  695. package/script/wallets/src/wallets.d.ts +5 -0
  696. package/script/wallets/src/wallets.d.ts.map +1 -0
  697. package/script/wallets/src/wallets.js +58 -0
  698. package/script/wallets/src/windows.d.ts +5 -0
  699. package/script/wallets/src/windows.d.ts.map +1 -0
  700. package/script/wallets/src/windows.js +12 -0
@@ -0,0 +1,235 @@
1
+ import { FormatRegistry, Type } from "@sinclair/typebox";
2
+ import { Value, ValueErrorType } from "@sinclair/typebox/value";
3
+ import * as ss58 from "@subsquid/ss58-codec";
4
+ import bs58check from "bs58check";
5
+ import { bech32 } from "bech32";
6
+ import { verifyAlgorandAddress, verifyAlgorandBlockHash, verifyAlgorandTransactionHash, } from "./validators/algorand.js";
7
+ import { verifyMinaAddress, verifyMinaBlockHash, verifyMinaTransactionHash, } from "./validators/mina.js";
8
+ import { verifyCardanoByronAddress, verifyCardanoShelleyAddress, } from "./validators/cardano.js";
9
+ // IMPORTANT
10
+ // These types are used in the on-chain messages.
11
+ // Do not change or reuse the numeric values.
12
+ export var AddressType;
13
+ (function (AddressType) {
14
+ AddressType[AddressType["NONE"] = -1] = "NONE";
15
+ AddressType[AddressType["EVM"] = 0] = "EVM";
16
+ AddressType[AddressType["CARDANO"] = 1] = "CARDANO";
17
+ AddressType[AddressType["SUBSTRATE"] = 2] = "SUBSTRATE";
18
+ AddressType[AddressType["ALGORAND"] = 3] = "ALGORAND";
19
+ AddressType[AddressType["MINA"] = 4] = "MINA";
20
+ AddressType[AddressType["MIDNIGHT"] = 5] = "MIDNIGHT";
21
+ AddressType[AddressType["AVAIL"] = 6] = "AVAIL";
22
+ AddressType[AddressType["POLKADOT"] = 7] = "POLKADOT";
23
+ })(AddressType || (AddressType = {}));
24
+ function tryDecode(val, validator, checkResult = () => true) {
25
+ try {
26
+ return checkResult(validator(val));
27
+ }
28
+ catch (e) {
29
+ return false;
30
+ }
31
+ }
32
+ FormatRegistry.Set("algorand-address", (val) => tryDecode(val, verifyAlgorandAddress));
33
+ FormatRegistry.Set("algorand-blockhash", (val) => tryDecode(val, verifyAlgorandBlockHash));
34
+ FormatRegistry.Set("algorand-txid", (val) => tryDecode(val, verifyAlgorandTransactionHash));
35
+ FormatRegistry.Set("mina-address", (val) => tryDecode(val, verifyMinaAddress));
36
+ FormatRegistry.Set("mina-blockhash", (val) => tryDecode(val, verifyMinaBlockHash));
37
+ FormatRegistry.Set("mina-txid", (val) => tryDecode(val, verifyMinaTransactionHash));
38
+ FormatRegistry.Set("cardano-address", (val) => tryDecode(val, verifyCardanoByronAddress) ||
39
+ tryDecode(val, verifyCardanoShelleyAddress));
40
+ FormatRegistry.Set("ss58", (val) => tryDecode(val, ss58.decode));
41
+ FormatRegistry.Set("bs58check", (val) => tryDecode(val, bs58check.decode));
42
+ FormatRegistry.Set("bech32", (val) =>
43
+ // note: increase max bech32 limit since some cryptocurrencies need it
44
+ tryDecode(val, (val) => bech32.decode(val, Number.MAX_SAFE_INTEGER / 2)));
45
+ function forceLowercase(schema) {
46
+ return Type.Transform(schema)
47
+ .Decode((value) => value.toLowerCase())
48
+ .Encode((value) => value.toLowerCase());
49
+ }
50
+ function forceUppercase(schema) {
51
+ return Type.Transform(schema)
52
+ .Decode((value) => value.toUpperCase())
53
+ .Encode((value) => value.toUpperCase());
54
+ }
55
+ export const TypeboxHelpers = {
56
+ Uint256: Type.Transform(Type.BigInt({
57
+ maximum: 115792089237316195423570985008687907853269984665640564039457584007913129639935n,
58
+ minimum: 0n,
59
+ }))
60
+ .Decode((value) => value.toString())
61
+ .Encode((value) => BigInt(value)),
62
+ BlockNumber: (options) => Type.Unsafe(Type.Number(options)),
63
+ AbsoluteSlotNumber: (options) => Type.Unsafe(Type.Number(options)),
64
+ EpochNumber: (options) => Type.Unsafe(Type.Number(options)),
65
+ Algorand: {
66
+ BlockHash: Type.Unsafe(Type.String({ format: "algorand-blockhash" })),
67
+ TxHash: Type.Unsafe(forceUppercase(Type.String({ format: "algorand-txid" }))),
68
+ Address: Type.Unsafe(forceUppercase(Type.String({ format: "algorand-address" }))),
69
+ },
70
+ Substrate: {
71
+ Address: Type.Unsafe(Type.String({ format: "ss58" })),
72
+ },
73
+ Avail: {
74
+ BlockHash: Type.Unsafe(forceLowercase(Type.RegExp(/^0x[a-fA-F0-9]{64}$/))),
75
+ Address: Type.Unsafe(Type.String({ format: "ss58" })),
76
+ // recall: no good concept of tx hash on Substrate chains
77
+ },
78
+ Cardano: {
79
+ BlockHash: Type.Unsafe(forceLowercase(Type.RegExp(/^[a-fA-F0-9]{64}$/))),
80
+ TxHash: Type.Unsafe(forceLowercase(Type.RegExp(/^[a-fA-F0-9]{64}$/))),
81
+ // TODO: this fails on Byron-era addresses
82
+ Address: Type.Unsafe(Type.String({ format: "cardano-address" })),
83
+ Credential: Type.Unsafe(forceLowercase(Type.RegExp(/^[a-fA-F0-9]{64}$/))),
84
+ // TODO: there are two common poolIDs. regex, and poolID bech32
85
+ PoolId: Type.Unsafe(forceLowercase(Type.String())),
86
+ PolicyId: Type.Unsafe(forceLowercase(Type.RegExp(/^[a-fA-F0-9]{56}$/))),
87
+ AssetName: Type.Unsafe(forceLowercase(Type.RegExp(/^[a-fA-F0-9]{64}$/))),
88
+ // TODO: bech32
89
+ Cip14Fingerprint: Type.Unsafe(Type.String()),
90
+ AmountLovelace: Type.Unsafe(Type.RegExp(/^\d+$/)),
91
+ },
92
+ Evm: {
93
+ BlockHash: Type.Unsafe(forceLowercase(Type.RegExp(/^0x[a-fA-F0-9]{64}$/))),
94
+ TxHash: Type.Unsafe(forceLowercase(Type.RegExp(/^0x[a-fA-F0-9]{64}$/))),
95
+ Address: Type.Unsafe(forceLowercase(Type.RegExp(/^0x[a-fA-F0-9]{40}$/))),
96
+ Selector: Type.Unsafe(forceLowercase(Type.RegExp(/^0x[a-fA-F0-9]{8}$/))),
97
+ FullSelector: Type.Unsafe(forceLowercase(Type.RegExp(/^0x[a-fA-F0-9]{64}$/))),
98
+ Signature: Type.Unsafe(Type.RegExp(/^0x[a-fA-F0-9]{130}$/)),
99
+ PrivateKey: Type.Unsafe(Type.RegExp(/^0x[a-fA-F0-9]{64}$/)),
100
+ },
101
+ Midnight: {
102
+ BlockHash: Type.Unsafe(forceLowercase(Type.RegExp(/^0x[a-fA-F0-9]{64}$/))),
103
+ TxHash: Type.Unsafe(forceLowercase(Type.RegExp(/^0x[a-fA-F0-9]{64}$/))),
104
+ Address: Type.Unsafe(forceLowercase(Type.RegExp(/^[a-fA-F0-9]{181}$/))),
105
+ },
106
+ Mina: {
107
+ BlockHash: Type.Unsafe(Type.String({ format: "mina-blockhash" })),
108
+ TxHash: Type.Unsafe(Type.String({ format: "mina-txid" })),
109
+ Address: Type.Unsafe(Type.String({ format: "mina-address" })),
110
+ },
111
+ // TODO THIS IS WRONG TYPE - ONLY A PLACEHOLDER
112
+ Polkadot: {
113
+ BlockHash: Type.Unsafe(Type.String({ format: "mina-blockhash" })),
114
+ TxHash: Type.Unsafe(Type.String({ format: "mina-txid" })),
115
+ Address: Type.Unsafe(Type.String({ format: "mina-address" })),
116
+ },
117
+ Caip2: Type.Unsafe(Type.String()),
118
+ WalletAddress: () => Type.Union(AddressTypebox),
119
+ IntervalMs: (options) => Type.Unsafe(Type.Number(options)),
120
+ IntervalSec: (options) => Type.Unsafe(Type.Number(options)),
121
+ TimestampMs: (options) => Type.Unsafe(Type.Number(options)),
122
+ TimestampMsStr: Type.Unsafe(Type.RegExp(/^\d+$/)),
123
+ HexString0x: (options) => Type.Unsafe(Type.RegExp(/^0x[a-fA-F0-9]+$/, options)),
124
+ HexStringNo0x: (options) => Type.Unsafe(Type.RegExp(/^[a-fA-F0-9]+$/, options)),
125
+ UnknownFormat: Type.Unsafe(Type.String()),
126
+ Lowercase: forceLowercase(Type.String()),
127
+ TrueOrFalse: Type.Transform(Type.Union([Type.Literal("T"), Type.Literal("F")]))
128
+ .Decode((value) => value === "T")
129
+ .Encode((value) => (value ? "T" : "F")),
130
+ Nullable: (schema, options) => Type.Union([schema, Type.Null()], options),
131
+ SerializeObjAsJson: () => Type.Transform(Type.Unsafe(Type.Any()))
132
+ .Decode((x) => JSON.stringify(x))
133
+ .Encode((x) => JSON.parse(x)),
134
+ SerializeJsonAsObj: (schema) => Type.Transform(schema)
135
+ .Decode((x) => JSON.parse(x))
136
+ .Encode((x) => JSON.stringify(x)),
137
+ // TODO: maybe improve with a typebox-specific EVM ABI wrapper
138
+ // abitype library comes with a ZOD verifier, and that can be ported to typebox
139
+ EvmAbiEvent: Type.Unsafe(Type.Any()),
140
+ };
141
+ export const AddressValidator = {
142
+ [AddressType.NONE]: Type.Literal("0x0"),
143
+ [AddressType.EVM]: TypeboxHelpers.Evm.Address,
144
+ [AddressType.CARDANO]: TypeboxHelpers.Cardano.Address,
145
+ [AddressType.SUBSTRATE]: TypeboxHelpers.Substrate.Address,
146
+ [AddressType.AVAIL]: TypeboxHelpers.Avail.Address,
147
+ [AddressType.ALGORAND]: TypeboxHelpers.Algorand.Address,
148
+ [AddressType.MINA]: TypeboxHelpers.Mina.Address,
149
+ [AddressType.MIDNIGHT]: TypeboxHelpers.Midnight.Address,
150
+ [AddressType.POLKADOT]: TypeboxHelpers.Polkadot.Address,
151
+ };
152
+ export const AddressTypebox = [
153
+ Type.Object({
154
+ type: Type.Literal(AddressType.NONE),
155
+ address: Type.Literal("0x0"),
156
+ }),
157
+ Type.Object({
158
+ type: Type.Literal(AddressType.EVM),
159
+ address: TypeboxHelpers.Evm.Address,
160
+ }),
161
+ Type.Object({
162
+ type: Type.Literal(AddressType.CARDANO),
163
+ address: TypeboxHelpers.Cardano.Address,
164
+ }),
165
+ Type.Object({
166
+ type: Type.Literal(AddressType.SUBSTRATE),
167
+ address: TypeboxHelpers.Substrate.Address,
168
+ }),
169
+ Type.Object({
170
+ type: Type.Literal(AddressType.AVAIL),
171
+ address: TypeboxHelpers.Avail.Address,
172
+ }),
173
+ Type.Object({
174
+ type: Type.Literal(AddressType.ALGORAND),
175
+ address: TypeboxHelpers.Algorand.Address,
176
+ }),
177
+ Type.Object({
178
+ type: Type.Literal(AddressType.MINA),
179
+ address: TypeboxHelpers.Mina.Address,
180
+ }),
181
+ Type.Object({
182
+ type: Type.Literal(AddressType.MIDNIGHT),
183
+ address: TypeboxHelpers.Midnight.Address,
184
+ }),
185
+ Type.Object({
186
+ type: Type.Literal(AddressType.POLKADOT),
187
+ address: TypeboxHelpers.Polkadot.Address,
188
+ }),
189
+ ];
190
+ true;
191
+ export function checkOrError(name, structure, config) {
192
+ // 1) Check if there are any errors since Value.Decode doesn't give error messages
193
+ {
194
+ const errors = Array.from(Value.Errors(structure, config)).filter(
195
+ // there are many useless errors in this library
196
+ // ex: 1st error: "foo" should be "bar" in struct Foo
197
+ // 2nd error: struct Foo is invalid inside struct Config
198
+ // in this case, the 2nd error is useless as we only care about the 1st error
199
+ // However, we always want to show the error if for some reason it's the only error
200
+ (error) => error.type !== ValueErrorType.Intersect &&
201
+ error.type !== ValueErrorType.Union);
202
+ for (const error of errors) {
203
+ console.error({
204
+ name: name ?? "Schema root",
205
+ path: error.path,
206
+ valueProvided: error.value,
207
+ message: error.message,
208
+ });
209
+ }
210
+ if (errors.length > 1) {
211
+ throw new Error(`Schema field missing or invalid. See above for error.`);
212
+ }
213
+ }
214
+ const decoded = Value.Decode(structure, config);
215
+ return decoded;
216
+ }
217
+ export function pick(keys) {
218
+ return {
219
+ from: (obj) => {
220
+ const result = [];
221
+ for (const key of keys) {
222
+ result.push([key, obj.properties[key]]);
223
+ }
224
+ return result;
225
+ },
226
+ };
227
+ }
228
+ /**
229
+ * Same as `pick`, but requires that you include ALL properties and not just a subset of them
230
+ */
231
+ export function pickAll(keys) {
232
+ return {
233
+ from: (obj) => pick(keys).from(obj),
234
+ };
235
+ }
@@ -0,0 +1,37 @@
1
+ import type { HexString0x, HexStringNo0x } from "./nominal.js";
2
+ export type Json = null | boolean | number | string | Json[] | {
3
+ [key: string]: Json;
4
+ };
5
+ /**
6
+ * This is a patch for a limitation in Typescript
7
+ * When writing functions with return types that are conditional (ex: (): T extends ... ? Foo : Bar
8
+ * It can't easily know type narrowing in function body leads to satisfying return type constraints
9
+ *
10
+ * Typically, this is solved by using an `as` when using `return`:
11
+ * ```
12
+ * function foo<T>(foo: T): Result<T> {
13
+ * if (foo === ...) {
14
+ * return { ... } as Result<T>; // we have to cast (`as`) to make it work
15
+ * }
16
+ * }
17
+ * ```
18
+ * but this loses some type safety (in hides any error in the `{ ... }`
19
+ *
20
+ * To solve this, this function checks that
21
+ * the input is valid for *some* instance of the generic
22
+ * and then casts it to a more general instance
23
+ *
24
+ * TODO: we can probably delete this once Typescript 5.8 is released
25
+ * https://github.com/microsoft/TypeScript/pull/56941
26
+ */
27
+ export declare function narrowResult<const General, const Input extends General, const Output extends General>(result: Input): Output;
28
+ export declare function strip0x(str: string): HexStringNo0x;
29
+ export declare function add0x(str: string): HexString0x;
30
+ /**
31
+ * Typed version of Object.keys()
32
+ *
33
+ * careful: this is dangerous.
34
+ * Only use when you're sure there are no other key types added dynamically
35
+ */
36
+ export declare function keysOf<Key extends number | string>(obj: Record<Key, unknown>): Key[];
37
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/utils/src/types/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE/D,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,GAAG;IAC7D,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAC1B,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,KAAK,SAAS,OAAO,EAC3B,KAAK,CAAC,MAAM,SAAS,OAAO,EAC5B,MAAM,EAAE,KAAK,GAAG,MAAM,CAEvB;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAKlD;AACD,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAK9C;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,EAChD,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GACxB,GAAG,EAAE,CAEP"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * This is a patch for a limitation in Typescript
3
+ * When writing functions with return types that are conditional (ex: (): T extends ... ? Foo : Bar
4
+ * It can't easily know type narrowing in function body leads to satisfying return type constraints
5
+ *
6
+ * Typically, this is solved by using an `as` when using `return`:
7
+ * ```
8
+ * function foo<T>(foo: T): Result<T> {
9
+ * if (foo === ...) {
10
+ * return { ... } as Result<T>; // we have to cast (`as`) to make it work
11
+ * }
12
+ * }
13
+ * ```
14
+ * but this loses some type safety (in hides any error in the `{ ... }`
15
+ *
16
+ * To solve this, this function checks that
17
+ * the input is valid for *some* instance of the generic
18
+ * and then casts it to a more general instance
19
+ *
20
+ * TODO: we can probably delete this once Typescript 5.8 is released
21
+ * https://github.com/microsoft/TypeScript/pull/56941
22
+ */
23
+ export function narrowResult(result) {
24
+ return result;
25
+ }
26
+ export function strip0x(str) {
27
+ if (str.startsWith("0x")) {
28
+ return str.substring(2);
29
+ }
30
+ return str;
31
+ }
32
+ export function add0x(str) {
33
+ if (str.startsWith("0x")) {
34
+ return str;
35
+ }
36
+ return `0x${str}`;
37
+ }
38
+ /**
39
+ * Typed version of Object.keys()
40
+ *
41
+ * careful: this is dangerous.
42
+ * Only use when you're sure there are no other key types added dynamically
43
+ */
44
+ export function keysOf(obj) {
45
+ return Object.keys(obj);
46
+ }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Taken from https://github.com/algorand/js-algorand-sdk/blob/6973ff583b243ddb0632e91f4c0383021430a789/src/encoding/address.ts#L88
3
+ *
4
+ * For regular addresses,
5
+ * base32 encoding of a 32-byte ed25519 public key and a 4-byte checksum (the last 4 bytes of the SHA-512/256 hash of the public key)
6
+ * For multisig addresses,
7
+ * instead of a 32-byte public key, it’s the hash of some fields that specify the details of the multisig account.
8
+ * more specifically, it’s the SHA-512/256 hash of (a version byte, a threshold, and the public keys of all possible signers).
9
+ * The checksum is computed the same way as for regular addresses.
10
+ *
11
+ * Example address: JY2FRXQP7Q6SYH7QE2HF2XWNE644V6KUH3PYC4SYWPUSEATTDJSNUHMHR4
12
+ */
13
+ export declare function verifyAlgorandAddress(address: string): boolean;
14
+ /**
15
+ * Note: strangely, there are 3 common ways to encode Algorand block hashes
16
+ * 1. (rpc) base64
17
+ * 2. (algokit json) blk-${base32} (stripping padding)
18
+ * 3. (msgpck) base32 (unsure about padding)
19
+ *
20
+ * Example block hash: 3KYSrPgi16Cl3iLu3r+GaeZkBBrgNFbMB60jsrJtTdI=
21
+ */
22
+ export declare function verifyAlgorandBlockHash(hash: string): boolean;
23
+ /**
24
+ * Taken from https://github.com/algorand/js-algorand-sdk/blob/6973ff583b243ddb0632e91f4c0383021430a789/src/transaction.ts#L1102
25
+ *
26
+ * base32 string encoding (stripping padding) of a "rawTxId" (SHA512/256 digest)
27
+ *
28
+ * Example tx hash: IJFAHCDFJ25GBPPNXXZ67KR2IQMZ5XGMAFWCKXIETKY6WV4OR6YQ
29
+ */
30
+ export declare function verifyAlgorandTransactionHash(hash: string): boolean;
31
+ //# sourceMappingURL=algorand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"algorand.d.ts","sourceRoot":"","sources":["../../../../../src/utils/src/types/validators/algorand.ts"],"names":[],"mappings":"AA2BA;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAiC9D;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAY7D;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CASnE"}
@@ -0,0 +1,90 @@
1
+ import base32 from "hi-base32";
2
+ import sha512 from "js-sha512";
3
+ import { Base64 } from "js-base64";
4
+ import { CHECKSUM_ERROR_MSG, MALFORMED_ERROR_MSG } from "./utils.js";
5
+ const BLOCK_HASH_BYTE_LENGTH = 32;
6
+ const TX_ID_BYTE_LENGTH = 32;
7
+ const ADDRESS_BYTE_LENGTH = 36;
8
+ const CHECKSUM_BYTE_LENGTH = 4;
9
+ const ADDRESS_LENGTH = 58;
10
+ const HASH_BYTES_LENGTH = 32;
11
+ const PUBLIC_KEY_LENGTH = 32;
12
+ const MALFORMED_BLOCK_HASH_ERROR_MSG = MALFORMED_ERROR_MSG("block hash");
13
+ const MALFORMED_TX_ID_ERROR_MSG = MALFORMED_ERROR_MSG("tx id");
14
+ const MALFORMED_ADDRESS_ERROR_MSG = MALFORMED_ERROR_MSG("address");
15
+ const CHECKSUM_ADDRESS_ERROR_MSG = CHECKSUM_ERROR_MSG("address");
16
+ function checksumFromPublicKey(pk) {
17
+ return Uint8Array.from(sha512.sha512_256.array(pk).slice(HASH_BYTES_LENGTH - CHECKSUM_BYTE_LENGTH, HASH_BYTES_LENGTH));
18
+ }
19
+ /**
20
+ * Taken from https://github.com/algorand/js-algorand-sdk/blob/6973ff583b243ddb0632e91f4c0383021430a789/src/encoding/address.ts#L88
21
+ *
22
+ * For regular addresses,
23
+ * base32 encoding of a 32-byte ed25519 public key and a 4-byte checksum (the last 4 bytes of the SHA-512/256 hash of the public key)
24
+ * For multisig addresses,
25
+ * instead of a 32-byte public key, it’s the hash of some fields that specify the details of the multisig account.
26
+ * more specifically, it’s the SHA-512/256 hash of (a version byte, a threshold, and the public keys of all possible signers).
27
+ * The checksum is computed the same way as for regular addresses.
28
+ *
29
+ * Example address: JY2FRXQP7Q6SYH7QE2HF2XWNE644V6KUH3PYC4SYWPUSEATTDJSNUHMHR4
30
+ */
31
+ export function verifyAlgorandAddress(address) {
32
+ if (typeof address !== "string") {
33
+ throw new Error(`${MALFORMED_ADDRESS_ERROR_MSG}: expected string, got ${typeof address}, ${address}`);
34
+ }
35
+ if (address.length !== ADDRESS_LENGTH) {
36
+ throw new Error(`${MALFORMED_ADDRESS_ERROR_MSG}: expected length ${ADDRESS_LENGTH}, got ${address.length}: ${address}`);
37
+ }
38
+ // try to decode
39
+ const decoded = base32.decode.asBytes(address);
40
+ // Sanity check
41
+ if (decoded.length !== ADDRESS_BYTE_LENGTH) {
42
+ throw new Error(`${MALFORMED_ADDRESS_ERROR_MSG}: expected byte length ${ADDRESS_BYTE_LENGTH}, got ${decoded.length}`);
43
+ }
44
+ // Find publickey and checksum
45
+ const pk = new Uint8Array(decoded.slice(0, ADDRESS_BYTE_LENGTH - CHECKSUM_BYTE_LENGTH));
46
+ const cs = new Uint8Array(decoded.slice(PUBLIC_KEY_LENGTH, ADDRESS_BYTE_LENGTH));
47
+ const checksum = checksumFromPublicKey(pk);
48
+ // Check if the checksum and the address are equal
49
+ if (!arrayEqual(checksum, cs))
50
+ throw new Error(CHECKSUM_ADDRESS_ERROR_MSG);
51
+ return true;
52
+ }
53
+ /**
54
+ * Note: strangely, there are 3 common ways to encode Algorand block hashes
55
+ * 1. (rpc) base64
56
+ * 2. (algokit json) blk-${base32} (stripping padding)
57
+ * 3. (msgpck) base32 (unsure about padding)
58
+ *
59
+ * Example block hash: 3KYSrPgi16Cl3iLu3r+GaeZkBBrgNFbMB60jsrJtTdI=
60
+ */
61
+ export function verifyAlgorandBlockHash(hash) {
62
+ // TODO: length check?
63
+ const decoded = Base64.toUint8Array("3KYSrPgi16Cl3iLu3r+GaeZkBBrgNFbMB60jsrJtTdI=");
64
+ // Sanity check
65
+ if (decoded.length !== TX_ID_BYTE_LENGTH) {
66
+ throw new Error(`${MALFORMED_TX_ID_ERROR_MSG}: expected byte length ${TX_ID_BYTE_LENGTH}, got ${decoded.length}`);
67
+ }
68
+ return true;
69
+ }
70
+ /**
71
+ * Taken from https://github.com/algorand/js-algorand-sdk/blob/6973ff583b243ddb0632e91f4c0383021430a789/src/transaction.ts#L1102
72
+ *
73
+ * base32 string encoding (stripping padding) of a "rawTxId" (SHA512/256 digest)
74
+ *
75
+ * Example tx hash: IJFAHCDFJ25GBPPNXXZ67KR2IQMZ5XGMAFWCKXIETKY6WV4OR6YQ
76
+ */
77
+ export function verifyAlgorandTransactionHash(hash) {
78
+ const decoded = base32.decode.asBytes(hash);
79
+ // Sanity check
80
+ if (decoded.length !== BLOCK_HASH_BYTE_LENGTH) {
81
+ throw new Error(`${MALFORMED_BLOCK_HASH_ERROR_MSG}: expected byte length ${MALFORMED_BLOCK_HASH_ERROR_MSG}, got ${decoded.length}`);
82
+ }
83
+ return true;
84
+ }
85
+ function arrayEqual(a, b) {
86
+ if (a.length !== b.length) {
87
+ return false;
88
+ }
89
+ return Array.from(a).every((val, i) => val === b[i]);
90
+ }
@@ -0,0 +1,26 @@
1
+ export declare const InvalidArgumentError: ErrorConstructor;
2
+ /**
3
+ * Example address:
4
+ * - (mainnet icarus) Ae2tdPwUPEZFRbyhz3cpfC2CumGzNkFBN2L42rcUc2yjQpEkxDbkPodpMAi
5
+ * - (testnet byron) 37btjrVyb4KDXBNC4haBVPCrro8AQPHwvCMp3RFhhSVWwfFmZ6wwzSK6JK1hY6wHNmtrpTf1kdbva8TCneM2YsiXT7mrzT21EacHnPpz5YyUdj64na
6
+ * - (mainnet byron) 82d818584283581caf335162c1ecb0a5b95342e3d1d0c9c38a246fa976b077e81dea9d9ba101581e581c2d574aa85a82a80fd6d1c51ea115c2b03b68166230a3c383c9f89ad5001ac3de014e
7
+ */
8
+ export declare function verifyCardanoByronAddress(address: string): boolean;
9
+ export declare enum AddressType {
10
+ BasePaymentKeyStakeKey = 0,
11
+ BasePaymentScriptStakeKey = 1,
12
+ BasePaymentKeyStakeScript = 2,
13
+ BasePaymentScriptStakeScript = 3,
14
+ PointerKey = 4,
15
+ PointerScript = 5,
16
+ EnterpriseKey = 6,
17
+ EnterpriseScript = 7,
18
+ Byron = 8,
19
+ RewardKey = 14,
20
+ RewardScript = 15
21
+ }
22
+ /**
23
+ * See: https://github.com/input-output-hk/cardano-js-sdk/blob/d1544fc9d1fb3997eb7c5b94a233789bb9e5cd9f/packages/core/src/Cardano/Address/Address.ts
24
+ */
25
+ export declare function verifyCardanoShelleyAddress(address: string): boolean;
26
+ //# sourceMappingURL=cardano.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cardano.d.ts","sourceRoot":"","sources":["../../../../../src/utils/src/types/validators/cardano.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,oBAAoB,kBAAQ,CAAC;AAE1C;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAElE;AAkBD,oBAAY,WAAW;IACrB,sBAAsB,IAAS;IAC/B,yBAAyB,IAAS;IAClC,yBAAyB,IAAS;IAClC,4BAA4B,IAAS;IACrC,UAAU,IAAS;IACnB,aAAa,IAAS;IACtB,aAAa,IAAS;IACtB,gBAAgB,IAAS;IAGzB,KAAK,IAAS;IACd,SAAS,KAAS;IAClB,YAAY,KAAS;CAEtB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAwDpE"}
@@ -0,0 +1,113 @@
1
+ import { crc32 } from "@foxglove/crc";
2
+ import { CHECKSUM_ERROR_MSG, MALFORMED_ERROR_MSG } from "./utils.js";
3
+ import { MiniCborReader } from "./minicbor.js";
4
+ import bs58 from "bs58";
5
+ import { bech32 } from "bech32";
6
+ import { Buffer } from "node:buffer";
7
+ const CHECKSUM_ADDRESS_ERROR_MSG = CHECKSUM_ERROR_MSG("address");
8
+ export const InvalidArgumentError = Error;
9
+ /**
10
+ * Example address:
11
+ * - (mainnet icarus) Ae2tdPwUPEZFRbyhz3cpfC2CumGzNkFBN2L42rcUc2yjQpEkxDbkPodpMAi
12
+ * - (testnet byron) 37btjrVyb4KDXBNC4haBVPCrro8AQPHwvCMp3RFhhSVWwfFmZ6wwzSK6JK1hY6wHNmtrpTf1kdbva8TCneM2YsiXT7mrzT21EacHnPpz5YyUdj64na
13
+ * - (mainnet byron) 82d818584283581caf335162c1ecb0a5b95342e3d1d0c9c38a246fa976b077e81dea9d9ba101581e581c2d574aa85a82a80fd6d1c51ea115c2b03b68166230a3c383c9f89ad5001ac3de014e
14
+ */
15
+ export function verifyCardanoByronAddress(address) {
16
+ return verifyCardanoByronAddressBytes(bs58.decode(address));
17
+ }
18
+ function verifyCardanoByronAddressBytes(data) {
19
+ const reader = new MiniCborReader(Buffer.from(data).toString("hex"));
20
+ reader.readStartArray();
21
+ reader.readTag();
22
+ const addressDataEncoded = reader.readByteString();
23
+ if (Number(reader.readInt()) !== crc32(addressDataEncoded)) {
24
+ throw new Error(CHECKSUM_ADDRESS_ERROR_MSG);
25
+ }
26
+ // skip the rest of the address verification and assume if the checksum matches the rest is okay
27
+ return true;
28
+ }
29
+ export var AddressType;
30
+ (function (AddressType) {
31
+ AddressType[AddressType["BasePaymentKeyStakeKey"] = 0] = "BasePaymentKeyStakeKey";
32
+ AddressType[AddressType["BasePaymentScriptStakeKey"] = 1] = "BasePaymentScriptStakeKey";
33
+ AddressType[AddressType["BasePaymentKeyStakeScript"] = 2] = "BasePaymentKeyStakeScript";
34
+ AddressType[AddressType["BasePaymentScriptStakeScript"] = 3] = "BasePaymentScriptStakeScript";
35
+ AddressType[AddressType["PointerKey"] = 4] = "PointerKey";
36
+ AddressType[AddressType["PointerScript"] = 5] = "PointerScript";
37
+ AddressType[AddressType["EnterpriseKey"] = 6] = "EnterpriseKey";
38
+ AddressType[AddressType["EnterpriseScript"] = 7] = "EnterpriseScript";
39
+ // 0b1000 was chosen because all existing Byron addresses actually start with 0b1000,
40
+ // therefore we can re-use Byron addresses as-is
41
+ AddressType[AddressType["Byron"] = 8] = "Byron";
42
+ AddressType[AddressType["RewardKey"] = 14] = "RewardKey";
43
+ AddressType[AddressType["RewardScript"] = 15] = "RewardScript";
44
+ // 1001-1101 are left for future formats
45
+ })(AddressType || (AddressType = {}));
46
+ /**
47
+ * See: https://github.com/input-output-hk/cardano-js-sdk/blob/d1544fc9d1fb3997eb7c5b94a233789bb9e5cd9f/packages/core/src/Cardano/Address/Address.ts
48
+ */
49
+ export function verifyCardanoShelleyAddress(address) {
50
+ const bech32data = bech32.decode(address, Number.MAX_SAFE_INTEGER / 2);
51
+ const data = bech32.fromWords(bech32data.words);
52
+ // strictly speaking, you don't have to use these prefixes
53
+ // but it's a good sanity check
54
+ // see CIP5
55
+ if (!["addr", "addr_test", "stake", "stake_test"].includes(bech32data.prefix)) {
56
+ return false;
57
+ }
58
+ const type = data[0] >> 4;
59
+ switch (type) {
60
+ case AddressType.BasePaymentKeyStakeKey:
61
+ case AddressType.BasePaymentScriptStakeKey:
62
+ case AddressType.BasePaymentKeyStakeScript:
63
+ case AddressType.BasePaymentScriptStakeScript: {
64
+ return data.length === 57;
65
+ }
66
+ case AddressType.PointerKey:
67
+ case AddressType.PointerScript: {
68
+ if (data.length <= 29) {
69
+ return false;
70
+ }
71
+ let index = 29;
72
+ const dataBuffer = Buffer.from(data);
73
+ const { bytesRead: slotBytes } = variableLengthDecode(dataBuffer.subarray(index));
74
+ index += slotBytes;
75
+ const { bytesRead: txIndexBytes } = variableLengthDecode(dataBuffer.subarray(index));
76
+ index += txIndexBytes;
77
+ variableLengthDecode(dataBuffer.subarray(index));
78
+ return true;
79
+ }
80
+ case AddressType.EnterpriseKey:
81
+ case AddressType.EnterpriseScript: {
82
+ return data.length === 47;
83
+ }
84
+ case AddressType.RewardKey:
85
+ case AddressType.RewardScript: {
86
+ return data.length === 47;
87
+ }
88
+ case AddressType.Byron: {
89
+ return verifyCardanoByronAddressBytes(new Uint8Array(data));
90
+ }
91
+ default:
92
+ throw new Error(MALFORMED_ERROR_MSG("address"));
93
+ }
94
+ }
95
+ /**
96
+ * Decodes a value previously encoded in a variable length array.
97
+ *
98
+ * @param array The encoded value.
99
+ * @returns the decoded value.
100
+ */
101
+ const variableLengthDecode = (array) => {
102
+ let more = true;
103
+ let value = 0n;
104
+ let bytesRead = 0;
105
+ while (more && bytesRead < array.length) {
106
+ const b = array[bytesRead];
107
+ value <<= 7n;
108
+ value |= BigInt(b & 127);
109
+ more = (b & 128) !== 0;
110
+ ++bytesRead;
111
+ }
112
+ return { bytesRead, value };
113
+ };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Example address: B62qpLST3UC1rpVT6SHfB7wqW2iQgiopFAGfrcovPgLjgfpDUN2LLeg
3
+ */
4
+ export declare function verifyMinaAddress(address: string): boolean;
5
+ /**
6
+ * Example block hash: 3NK9ToRM1gnzyDbafWzdde7EYemjUN2cb5isjtchcCuupty2MgbC
7
+ */
8
+ export declare function verifyMinaBlockHash(hash: string): boolean;
9
+ /**
10
+ * See https://github.com/openmina/openmina/blob/26354df0b4165a82ba67fa9ab1f2301841f7b033/mina-p2p-messages/src/v2/hashing.rs#L89-L92
11
+ *
12
+ * Example tx hash: 5JuYVpv6njuwUjgf8WLfXhTEJGHck1pwJXt92Lpcskiwu8kBL632
13
+ */
14
+ export declare function verifyMinaTransactionHash(hash: string): boolean;
15
+ //# sourceMappingURL=mina.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mina.d.ts","sourceRoot":"","sources":["../../../../../src/utils/src/types/validators/mina.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAS1D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CASzD;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAS/D"}
@@ -0,0 +1,43 @@
1
+ import bs58check from "bs58check";
2
+ import { MALFORMED_ERROR_MSG } from "./utils.js";
3
+ const BLOCK_HASH_BYTE_LENGTH = 34;
4
+ const TX_ID_BYTE_LENGTH = 34;
5
+ const ADDRESS_BYTE_LENGTH = 36;
6
+ const MALFORMED_BLOCK_HASH_ERROR_MSG = MALFORMED_ERROR_MSG("block hash");
7
+ const MALFORMED_TX_ID_ERROR_MSG = MALFORMED_ERROR_MSG("tx id");
8
+ const MALFORMED_ADDRESS_ERROR_MSG = MALFORMED_ERROR_MSG("address");
9
+ /**
10
+ * Example address: B62qpLST3UC1rpVT6SHfB7wqW2iQgiopFAGfrcovPgLjgfpDUN2LLeg
11
+ */
12
+ export function verifyMinaAddress(address) {
13
+ const decoded = bs58check.decode(address);
14
+ // Sanity check
15
+ if (decoded.length !== ADDRESS_BYTE_LENGTH) {
16
+ throw new Error(`${MALFORMED_ADDRESS_ERROR_MSG}: expected byte length ${ADDRESS_BYTE_LENGTH}, got ${decoded.length}`);
17
+ }
18
+ return true;
19
+ }
20
+ /**
21
+ * Example block hash: 3NK9ToRM1gnzyDbafWzdde7EYemjUN2cb5isjtchcCuupty2MgbC
22
+ */
23
+ export function verifyMinaBlockHash(hash) {
24
+ const decoded = bs58check.decode(hash);
25
+ // Sanity check
26
+ if (decoded.length !== TX_ID_BYTE_LENGTH) {
27
+ throw new Error(`${MALFORMED_BLOCK_HASH_ERROR_MSG}: expected byte length ${BLOCK_HASH_BYTE_LENGTH}, got ${decoded.length}`);
28
+ }
29
+ return true;
30
+ }
31
+ /**
32
+ * See https://github.com/openmina/openmina/blob/26354df0b4165a82ba67fa9ab1f2301841f7b033/mina-p2p-messages/src/v2/hashing.rs#L89-L92
33
+ *
34
+ * Example tx hash: 5JuYVpv6njuwUjgf8WLfXhTEJGHck1pwJXt92Lpcskiwu8kBL632
35
+ */
36
+ export function verifyMinaTransactionHash(hash) {
37
+ const decoded = bs58check.decode(hash);
38
+ // Sanity check
39
+ if (decoded.length !== TX_ID_BYTE_LENGTH) {
40
+ throw new Error(`${MALFORMED_TX_ID_ERROR_MSG}: expected byte length ${TX_ID_BYTE_LENGTH}, got ${decoded.length}`);
41
+ }
42
+ return true;
43
+ }