@avalabs/fusion-sdk 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (398) hide show
  1. package/LICENSE +9 -0
  2. package/README.md +264 -0
  3. package/dist/_utils/chain.cjs +2 -0
  4. package/dist/_utils/chain.cjs.map +1 -0
  5. package/dist/_utils/chain.js +2 -0
  6. package/dist/_utils/chain.js.map +1 -0
  7. package/dist/_utils/math.cjs +2 -0
  8. package/dist/_utils/math.cjs.map +1 -0
  9. package/dist/_utils/math.js +2 -0
  10. package/dist/_utils/math.js.map +1 -0
  11. package/dist/_utils/merge-assets.cjs +2 -0
  12. package/dist/_utils/merge-assets.cjs.map +1 -0
  13. package/dist/_utils/merge-assets.js +2 -0
  14. package/dist/_utils/merge-assets.js.map +1 -0
  15. package/dist/_virtual/_rolldown/runtime.cjs +1 -0
  16. package/dist/constants.cjs +2 -0
  17. package/dist/constants.cjs.map +1 -0
  18. package/dist/constants.d.cts +102 -0
  19. package/dist/constants.d.ts +102 -0
  20. package/dist/constants.js +2 -0
  21. package/dist/constants.js.map +1 -0
  22. package/dist/errors.cjs +2 -0
  23. package/dist/errors.cjs.map +1 -0
  24. package/dist/errors.d.cts +115 -0
  25. package/dist/errors.d.ts +115 -0
  26. package/dist/errors.js +2 -0
  27. package/dist/errors.js.map +1 -0
  28. package/dist/mod.cjs +1 -0
  29. package/dist/mod.d.cts +19 -0
  30. package/dist/mod.d.ts +19 -0
  31. package/dist/mod.js +1 -0
  32. package/dist/quoter/_utils.cjs +2 -0
  33. package/dist/quoter/_utils.cjs.map +1 -0
  34. package/dist/quoter/_utils.js +2 -0
  35. package/dist/quoter/_utils.js.map +1 -0
  36. package/dist/quoter/constants.cjs +2 -0
  37. package/dist/quoter/constants.cjs.map +1 -0
  38. package/dist/quoter/constants.js +2 -0
  39. package/dist/quoter/constants.js.map +1 -0
  40. package/dist/quoter/quoter.cjs +2 -0
  41. package/dist/quoter/quoter.cjs.map +1 -0
  42. package/dist/quoter/quoter.d.cts +31 -0
  43. package/dist/quoter/quoter.d.ts +34 -0
  44. package/dist/quoter/quoter.js +2 -0
  45. package/dist/quoter/quoter.js.map +1 -0
  46. package/dist/transfer-manager.cjs +2 -0
  47. package/dist/transfer-manager.cjs.map +1 -0
  48. package/dist/transfer-manager.d.cts +17 -0
  49. package/dist/transfer-manager.d.ts +17 -0
  50. package/dist/transfer-manager.js +2 -0
  51. package/dist/transfer-manager.js.map +1 -0
  52. package/dist/transfer-service/_abis.cjs +2 -0
  53. package/dist/transfer-service/_abis.cjs.map +1 -0
  54. package/dist/transfer-service/_abis.js +2 -0
  55. package/dist/transfer-service/_abis.js.map +1 -0
  56. package/dist/transfer-service/_evm-gas.cjs +2 -0
  57. package/dist/transfer-service/_evm-gas.cjs.map +1 -0
  58. package/dist/transfer-service/_evm-gas.js +2 -0
  59. package/dist/transfer-service/_evm-gas.js.map +1 -0
  60. package/dist/transfer-service/_tracking-utilities.cjs +2 -0
  61. package/dist/transfer-service/_tracking-utilities.cjs.map +1 -0
  62. package/dist/transfer-service/_tracking-utilities.js +2 -0
  63. package/dist/transfer-service/_tracking-utilities.js.map +1 -0
  64. package/dist/transfer-service/_transfer-utilities.cjs +2 -0
  65. package/dist/transfer-service/_transfer-utilities.cjs.map +1 -0
  66. package/dist/transfer-service/_transfer-utilities.js +2 -0
  67. package/dist/transfer-service/_transfer-utilities.js.map +1 -0
  68. package/dist/transfer-service/_utils.cjs +2 -0
  69. package/dist/transfer-service/_utils.cjs.map +1 -0
  70. package/dist/transfer-service/_utils.js +2 -0
  71. package/dist/transfer-service/_utils.js.map +1 -0
  72. package/dist/transfer-service/_warden-config-schema.cjs +2 -0
  73. package/dist/transfer-service/_warden-config-schema.cjs.map +1 -0
  74. package/dist/transfer-service/_warden-config-schema.js +2 -0
  75. package/dist/transfer-service/_warden-config-schema.js.map +1 -0
  76. package/dist/transfer-service/_warden-config.cjs +2 -0
  77. package/dist/transfer-service/_warden-config.cjs.map +1 -0
  78. package/dist/transfer-service/_warden-config.js +2 -0
  79. package/dist/transfer-service/_warden-config.js.map +1 -0
  80. package/dist/transfer-service/avalanche-evm/_constants.cjs +2 -0
  81. package/dist/transfer-service/avalanche-evm/_constants.cjs.map +1 -0
  82. package/dist/transfer-service/avalanche-evm/_constants.js +2 -0
  83. package/dist/transfer-service/avalanche-evm/_constants.js.map +1 -0
  84. package/dist/transfer-service/avalanche-evm/_handlers/analyze-support.cjs +2 -0
  85. package/dist/transfer-service/avalanche-evm/_handlers/analyze-support.cjs.map +1 -0
  86. package/dist/transfer-service/avalanche-evm/_handlers/analyze-support.js +2 -0
  87. package/dist/transfer-service/avalanche-evm/_handlers/analyze-support.js.map +1 -0
  88. package/dist/transfer-service/avalanche-evm/_handlers/estimate-native-fee.cjs +2 -0
  89. package/dist/transfer-service/avalanche-evm/_handlers/estimate-native-fee.cjs.map +1 -0
  90. package/dist/transfer-service/avalanche-evm/_handlers/estimate-native-fee.js +2 -0
  91. package/dist/transfer-service/avalanche-evm/_handlers/estimate-native-fee.js.map +1 -0
  92. package/dist/transfer-service/avalanche-evm/_handlers/get-assets.cjs +2 -0
  93. package/dist/transfer-service/avalanche-evm/_handlers/get-assets.cjs.map +1 -0
  94. package/dist/transfer-service/avalanche-evm/_handlers/get-assets.js +2 -0
  95. package/dist/transfer-service/avalanche-evm/_handlers/get-assets.js.map +1 -0
  96. package/dist/transfer-service/avalanche-evm/_handlers/get-minimum-transfer-amount.cjs +2 -0
  97. package/dist/transfer-service/avalanche-evm/_handlers/get-minimum-transfer-amount.cjs.map +1 -0
  98. package/dist/transfer-service/avalanche-evm/_handlers/get-minimum-transfer-amount.js +2 -0
  99. package/dist/transfer-service/avalanche-evm/_handlers/get-minimum-transfer-amount.js.map +1 -0
  100. package/dist/transfer-service/avalanche-evm/_handlers/get-supported-chains.cjs +2 -0
  101. package/dist/transfer-service/avalanche-evm/_handlers/get-supported-chains.cjs.map +1 -0
  102. package/dist/transfer-service/avalanche-evm/_handlers/get-supported-chains.js +2 -0
  103. package/dist/transfer-service/avalanche-evm/_handlers/get-supported-chains.js.map +1 -0
  104. package/dist/transfer-service/avalanche-evm/_handlers/stream-quotes.cjs +2 -0
  105. package/dist/transfer-service/avalanche-evm/_handlers/stream-quotes.cjs.map +1 -0
  106. package/dist/transfer-service/avalanche-evm/_handlers/stream-quotes.js +2 -0
  107. package/dist/transfer-service/avalanche-evm/_handlers/stream-quotes.js.map +1 -0
  108. package/dist/transfer-service/avalanche-evm/_handlers/track-transfer.cjs +2 -0
  109. package/dist/transfer-service/avalanche-evm/_handlers/track-transfer.cjs.map +1 -0
  110. package/dist/transfer-service/avalanche-evm/_handlers/track-transfer.js +2 -0
  111. package/dist/transfer-service/avalanche-evm/_handlers/track-transfer.js.map +1 -0
  112. package/dist/transfer-service/avalanche-evm/_handlers/transfer-asset.cjs +2 -0
  113. package/dist/transfer-service/avalanche-evm/_handlers/transfer-asset.cjs.map +1 -0
  114. package/dist/transfer-service/avalanche-evm/_handlers/transfer-asset.js +2 -0
  115. package/dist/transfer-service/avalanche-evm/_handlers/transfer-asset.js.map +1 -0
  116. package/dist/transfer-service/avalanche-evm/_utils/fee.cjs +2 -0
  117. package/dist/transfer-service/avalanche-evm/_utils/fee.cjs.map +1 -0
  118. package/dist/transfer-service/avalanche-evm/_utils/fee.js +2 -0
  119. package/dist/transfer-service/avalanche-evm/_utils/fee.js.map +1 -0
  120. package/dist/transfer-service/avalanche-evm/_utils/get-config.cjs +2 -0
  121. package/dist/transfer-service/avalanche-evm/_utils/get-config.cjs.map +1 -0
  122. package/dist/transfer-service/avalanche-evm/_utils/get-config.js +2 -0
  123. package/dist/transfer-service/avalanche-evm/_utils/get-config.js.map +1 -0
  124. package/dist/transfer-service/avalanche-evm/_utils/transfer-data.cjs +2 -0
  125. package/dist/transfer-service/avalanche-evm/_utils/transfer-data.cjs.map +1 -0
  126. package/dist/transfer-service/avalanche-evm/_utils/transfer-data.js +2 -0
  127. package/dist/transfer-service/avalanche-evm/_utils/transfer-data.js.map +1 -0
  128. package/dist/transfer-service/avalanche-evm/_utils/unwrap.cjs +2 -0
  129. package/dist/transfer-service/avalanche-evm/_utils/unwrap.cjs.map +1 -0
  130. package/dist/transfer-service/avalanche-evm/_utils/unwrap.js +2 -0
  131. package/dist/transfer-service/avalanche-evm/_utils/unwrap.js.map +1 -0
  132. package/dist/transfer-service/avalanche-evm/_utils/validations.cjs +2 -0
  133. package/dist/transfer-service/avalanche-evm/_utils/validations.cjs.map +1 -0
  134. package/dist/transfer-service/avalanche-evm/_utils/validations.js +2 -0
  135. package/dist/transfer-service/avalanche-evm/_utils/validations.js.map +1 -0
  136. package/dist/transfer-service/avalanche-evm/_utils/wrap.cjs +2 -0
  137. package/dist/transfer-service/avalanche-evm/_utils/wrap.cjs.map +1 -0
  138. package/dist/transfer-service/avalanche-evm/_utils/wrap.js +2 -0
  139. package/dist/transfer-service/avalanche-evm/_utils/wrap.js.map +1 -0
  140. package/dist/transfer-service/avalanche-evm/avalanche-evm-service.cjs +2 -0
  141. package/dist/transfer-service/avalanche-evm/avalanche-evm-service.cjs.map +1 -0
  142. package/dist/transfer-service/avalanche-evm/avalanche-evm-service.js +2 -0
  143. package/dist/transfer-service/avalanche-evm/avalanche-evm-service.js.map +1 -0
  144. package/dist/transfer-service/fetch-utilities.cjs +4 -0
  145. package/dist/transfer-service/fetch-utilities.cjs.map +1 -0
  146. package/dist/transfer-service/fetch-utilities.js +4 -0
  147. package/dist/transfer-service/fetch-utilities.js.map +1 -0
  148. package/dist/transfer-service/lombard/_schema.cjs +2 -0
  149. package/dist/transfer-service/lombard/_schema.cjs.map +1 -0
  150. package/dist/transfer-service/lombard/_schema.js +2 -0
  151. package/dist/transfer-service/lombard/_schema.js.map +1 -0
  152. package/dist/transfer-service/lombard/_utils/asset.cjs +2 -0
  153. package/dist/transfer-service/lombard/_utils/asset.cjs.map +1 -0
  154. package/dist/transfer-service/lombard/_utils/asset.js +2 -0
  155. package/dist/transfer-service/lombard/_utils/asset.js.map +1 -0
  156. package/dist/transfer-service/lombard/_utils/chain.cjs +2 -0
  157. package/dist/transfer-service/lombard/_utils/chain.cjs.map +1 -0
  158. package/dist/transfer-service/lombard/_utils/chain.js +2 -0
  159. package/dist/transfer-service/lombard/_utils/chain.js.map +1 -0
  160. package/dist/transfer-service/lombard/_utils/fee.cjs +2 -0
  161. package/dist/transfer-service/lombard/_utils/fee.cjs.map +1 -0
  162. package/dist/transfer-service/lombard/_utils/fee.js +2 -0
  163. package/dist/transfer-service/lombard/_utils/fee.js.map +1 -0
  164. package/dist/transfer-service/lombard/_utils/metadata.cjs +2 -0
  165. package/dist/transfer-service/lombard/_utils/metadata.cjs.map +1 -0
  166. package/dist/transfer-service/lombard/_utils/metadata.js +2 -0
  167. package/dist/transfer-service/lombard/_utils/metadata.js.map +1 -0
  168. package/dist/transfer-service/lombard/_utils/utxo.cjs +2 -0
  169. package/dist/transfer-service/lombard/_utils/utxo.cjs.map +1 -0
  170. package/dist/transfer-service/lombard/_utils/utxo.js +2 -0
  171. package/dist/transfer-service/lombard/_utils/utxo.js.map +1 -0
  172. package/dist/transfer-service/lombard/btc-to-btcb/_handlers/analyze-support.cjs +2 -0
  173. package/dist/transfer-service/lombard/btc-to-btcb/_handlers/analyze-support.cjs.map +1 -0
  174. package/dist/transfer-service/lombard/btc-to-btcb/_handlers/analyze-support.js +2 -0
  175. package/dist/transfer-service/lombard/btc-to-btcb/_handlers/analyze-support.js.map +1 -0
  176. package/dist/transfer-service/lombard/btc-to-btcb/_handlers/estimate-native-fee.cjs +2 -0
  177. package/dist/transfer-service/lombard/btc-to-btcb/_handlers/estimate-native-fee.cjs.map +1 -0
  178. package/dist/transfer-service/lombard/btc-to-btcb/_handlers/estimate-native-fee.js +2 -0
  179. package/dist/transfer-service/lombard/btc-to-btcb/_handlers/estimate-native-fee.js.map +1 -0
  180. package/dist/transfer-service/lombard/btc-to-btcb/_handlers/get-assets.cjs +2 -0
  181. package/dist/transfer-service/lombard/btc-to-btcb/_handlers/get-assets.cjs.map +1 -0
  182. package/dist/transfer-service/lombard/btc-to-btcb/_handlers/get-assets.js +2 -0
  183. package/dist/transfer-service/lombard/btc-to-btcb/_handlers/get-assets.js.map +1 -0
  184. package/dist/transfer-service/lombard/btc-to-btcb/_handlers/get-minimum-transfer-amount.cjs +2 -0
  185. package/dist/transfer-service/lombard/btc-to-btcb/_handlers/get-minimum-transfer-amount.cjs.map +1 -0
  186. package/dist/transfer-service/lombard/btc-to-btcb/_handlers/get-minimum-transfer-amount.js +2 -0
  187. package/dist/transfer-service/lombard/btc-to-btcb/_handlers/get-minimum-transfer-amount.js.map +1 -0
  188. package/dist/transfer-service/lombard/btc-to-btcb/_handlers/stream-quotes.cjs +2 -0
  189. package/dist/transfer-service/lombard/btc-to-btcb/_handlers/stream-quotes.cjs.map +1 -0
  190. package/dist/transfer-service/lombard/btc-to-btcb/_handlers/stream-quotes.js +2 -0
  191. package/dist/transfer-service/lombard/btc-to-btcb/_handlers/stream-quotes.js.map +1 -0
  192. package/dist/transfer-service/lombard/btc-to-btcb/_handlers/track-transfer.cjs +2 -0
  193. package/dist/transfer-service/lombard/btc-to-btcb/_handlers/track-transfer.cjs.map +1 -0
  194. package/dist/transfer-service/lombard/btc-to-btcb/_handlers/track-transfer.js +2 -0
  195. package/dist/transfer-service/lombard/btc-to-btcb/_handlers/track-transfer.js.map +1 -0
  196. package/dist/transfer-service/lombard/btc-to-btcb/_handlers/transfer-asset.cjs +2 -0
  197. package/dist/transfer-service/lombard/btc-to-btcb/_handlers/transfer-asset.cjs.map +1 -0
  198. package/dist/transfer-service/lombard/btc-to-btcb/_handlers/transfer-asset.js +2 -0
  199. package/dist/transfer-service/lombard/btc-to-btcb/_handlers/transfer-asset.js.map +1 -0
  200. package/dist/transfer-service/lombard/btc-to-btcb-service.cjs +2 -0
  201. package/dist/transfer-service/lombard/btc-to-btcb-service.cjs.map +1 -0
  202. package/dist/transfer-service/lombard/btc-to-btcb-service.js +2 -0
  203. package/dist/transfer-service/lombard/btc-to-btcb-service.js.map +1 -0
  204. package/dist/transfer-service/lombard/btcb-to-btc/_handlers/analyze-support.cjs +2 -0
  205. package/dist/transfer-service/lombard/btcb-to-btc/_handlers/analyze-support.cjs.map +1 -0
  206. package/dist/transfer-service/lombard/btcb-to-btc/_handlers/analyze-support.js +2 -0
  207. package/dist/transfer-service/lombard/btcb-to-btc/_handlers/analyze-support.js.map +1 -0
  208. package/dist/transfer-service/lombard/btcb-to-btc/_handlers/estimate-native-fee.cjs +2 -0
  209. package/dist/transfer-service/lombard/btcb-to-btc/_handlers/estimate-native-fee.cjs.map +1 -0
  210. package/dist/transfer-service/lombard/btcb-to-btc/_handlers/estimate-native-fee.js +2 -0
  211. package/dist/transfer-service/lombard/btcb-to-btc/_handlers/estimate-native-fee.js.map +1 -0
  212. package/dist/transfer-service/lombard/btcb-to-btc/_handlers/get-assets.cjs +2 -0
  213. package/dist/transfer-service/lombard/btcb-to-btc/_handlers/get-assets.cjs.map +1 -0
  214. package/dist/transfer-service/lombard/btcb-to-btc/_handlers/get-assets.js +2 -0
  215. package/dist/transfer-service/lombard/btcb-to-btc/_handlers/get-assets.js.map +1 -0
  216. package/dist/transfer-service/lombard/btcb-to-btc/_handlers/stream-quotes.cjs +2 -0
  217. package/dist/transfer-service/lombard/btcb-to-btc/_handlers/stream-quotes.cjs.map +1 -0
  218. package/dist/transfer-service/lombard/btcb-to-btc/_handlers/stream-quotes.js +2 -0
  219. package/dist/transfer-service/lombard/btcb-to-btc/_handlers/stream-quotes.js.map +1 -0
  220. package/dist/transfer-service/lombard/btcb-to-btc/_handlers/track-transfer.cjs +2 -0
  221. package/dist/transfer-service/lombard/btcb-to-btc/_handlers/track-transfer.cjs.map +1 -0
  222. package/dist/transfer-service/lombard/btcb-to-btc/_handlers/track-transfer.js +2 -0
  223. package/dist/transfer-service/lombard/btcb-to-btc/_handlers/track-transfer.js.map +1 -0
  224. package/dist/transfer-service/lombard/btcb-to-btc/_handlers/transfer-asset.cjs +2 -0
  225. package/dist/transfer-service/lombard/btcb-to-btc/_handlers/transfer-asset.cjs.map +1 -0
  226. package/dist/transfer-service/lombard/btcb-to-btc/_handlers/transfer-asset.js +2 -0
  227. package/dist/transfer-service/lombard/btcb-to-btc/_handlers/transfer-asset.js.map +1 -0
  228. package/dist/transfer-service/lombard/btcb-to-btc-service.cjs +2 -0
  229. package/dist/transfer-service/lombard/btcb-to-btc-service.cjs.map +1 -0
  230. package/dist/transfer-service/lombard/btcb-to-btc-service.js +2 -0
  231. package/dist/transfer-service/lombard/btcb-to-btc-service.js.map +1 -0
  232. package/dist/transfer-service/lombard/constants.cjs +2 -0
  233. package/dist/transfer-service/lombard/constants.cjs.map +1 -0
  234. package/dist/transfer-service/lombard/constants.js +2 -0
  235. package/dist/transfer-service/lombard/constants.js.map +1 -0
  236. package/dist/transfer-service/markr/_abis/cross-chain-swap-wrapper-abi.cjs +2 -0
  237. package/dist/transfer-service/markr/_abis/cross-chain-swap-wrapper-abi.cjs.map +1 -0
  238. package/dist/transfer-service/markr/_abis/cross-chain-swap-wrapper-abi.js +2 -0
  239. package/dist/transfer-service/markr/_abis/cross-chain-swap-wrapper-abi.js.map +1 -0
  240. package/dist/transfer-service/markr/_abis/swap-wrapper-abi.cjs +2 -0
  241. package/dist/transfer-service/markr/_abis/swap-wrapper-abi.cjs.map +1 -0
  242. package/dist/transfer-service/markr/_abis/swap-wrapper-abi.js +2 -0
  243. package/dist/transfer-service/markr/_abis/swap-wrapper-abi.js.map +1 -0
  244. package/dist/transfer-service/markr/_api.cjs +2 -0
  245. package/dist/transfer-service/markr/_api.cjs.map +1 -0
  246. package/dist/transfer-service/markr/_api.js +2 -0
  247. package/dist/transfer-service/markr/_api.js.map +1 -0
  248. package/dist/transfer-service/markr/_handlers/analyze-support.cjs +2 -0
  249. package/dist/transfer-service/markr/_handlers/analyze-support.cjs.map +1 -0
  250. package/dist/transfer-service/markr/_handlers/analyze-support.js +2 -0
  251. package/dist/transfer-service/markr/_handlers/analyze-support.js.map +1 -0
  252. package/dist/transfer-service/markr/_handlers/estimate-native-fee.cjs +2 -0
  253. package/dist/transfer-service/markr/_handlers/estimate-native-fee.cjs.map +1 -0
  254. package/dist/transfer-service/markr/_handlers/estimate-native-fee.js +2 -0
  255. package/dist/transfer-service/markr/_handlers/estimate-native-fee.js.map +1 -0
  256. package/dist/transfer-service/markr/_handlers/get-assets.cjs +2 -0
  257. package/dist/transfer-service/markr/_handlers/get-assets.cjs.map +1 -0
  258. package/dist/transfer-service/markr/_handlers/get-assets.js +2 -0
  259. package/dist/transfer-service/markr/_handlers/get-assets.js.map +1 -0
  260. package/dist/transfer-service/markr/_handlers/get-minimum-transfer-amount.cjs +2 -0
  261. package/dist/transfer-service/markr/_handlers/get-minimum-transfer-amount.cjs.map +1 -0
  262. package/dist/transfer-service/markr/_handlers/get-minimum-transfer-amount.js +2 -0
  263. package/dist/transfer-service/markr/_handlers/get-minimum-transfer-amount.js.map +1 -0
  264. package/dist/transfer-service/markr/_handlers/stream-quotes.cjs +2 -0
  265. package/dist/transfer-service/markr/_handlers/stream-quotes.cjs.map +1 -0
  266. package/dist/transfer-service/markr/_handlers/stream-quotes.js +2 -0
  267. package/dist/transfer-service/markr/_handlers/stream-quotes.js.map +1 -0
  268. package/dist/transfer-service/markr/_handlers/track-transfer.cjs +2 -0
  269. package/dist/transfer-service/markr/_handlers/track-transfer.cjs.map +1 -0
  270. package/dist/transfer-service/markr/_handlers/track-transfer.js +2 -0
  271. package/dist/transfer-service/markr/_handlers/track-transfer.js.map +1 -0
  272. package/dist/transfer-service/markr/_handlers/transfer-asset.cjs +2 -0
  273. package/dist/transfer-service/markr/_handlers/transfer-asset.cjs.map +1 -0
  274. package/dist/transfer-service/markr/_handlers/transfer-asset.js +2 -0
  275. package/dist/transfer-service/markr/_handlers/transfer-asset.js.map +1 -0
  276. package/dist/transfer-service/markr/_schema.cjs +2 -0
  277. package/dist/transfer-service/markr/_schema.cjs.map +1 -0
  278. package/dist/transfer-service/markr/_schema.js +2 -0
  279. package/dist/transfer-service/markr/_schema.js.map +1 -0
  280. package/dist/transfer-service/markr/_type-guards.cjs +2 -0
  281. package/dist/transfer-service/markr/_type-guards.cjs.map +1 -0
  282. package/dist/transfer-service/markr/_type-guards.js +2 -0
  283. package/dist/transfer-service/markr/_type-guards.js.map +1 -0
  284. package/dist/transfer-service/markr/_utils.cjs +2 -0
  285. package/dist/transfer-service/markr/_utils.cjs.map +1 -0
  286. package/dist/transfer-service/markr/_utils.js +2 -0
  287. package/dist/transfer-service/markr/_utils.js.map +1 -0
  288. package/dist/transfer-service/markr/constants.cjs +2 -0
  289. package/dist/transfer-service/markr/constants.cjs.map +1 -0
  290. package/dist/transfer-service/markr/constants.js +2 -0
  291. package/dist/transfer-service/markr/constants.js.map +1 -0
  292. package/dist/transfer-service/markr/markr-service.cjs +2 -0
  293. package/dist/transfer-service/markr/markr-service.cjs.map +1 -0
  294. package/dist/transfer-service/markr/markr-service.js +2 -0
  295. package/dist/transfer-service/markr/markr-service.js.map +1 -0
  296. package/dist/transfer-service/service-schemas.cjs +2 -0
  297. package/dist/transfer-service/service-schemas.cjs.map +1 -0
  298. package/dist/transfer-service/service-schemas.js +2 -0
  299. package/dist/transfer-service/service-schemas.js.map +1 -0
  300. package/dist/transfer-service/wrap-unwrap/_handlers/analyze-support.cjs +2 -0
  301. package/dist/transfer-service/wrap-unwrap/_handlers/analyze-support.cjs.map +1 -0
  302. package/dist/transfer-service/wrap-unwrap/_handlers/analyze-support.js +2 -0
  303. package/dist/transfer-service/wrap-unwrap/_handlers/analyze-support.js.map +1 -0
  304. package/dist/transfer-service/wrap-unwrap/_handlers/estimate-native-fee.cjs +2 -0
  305. package/dist/transfer-service/wrap-unwrap/_handlers/estimate-native-fee.cjs.map +1 -0
  306. package/dist/transfer-service/wrap-unwrap/_handlers/estimate-native-fee.js +2 -0
  307. package/dist/transfer-service/wrap-unwrap/_handlers/estimate-native-fee.js.map +1 -0
  308. package/dist/transfer-service/wrap-unwrap/_handlers/get-assets.cjs +2 -0
  309. package/dist/transfer-service/wrap-unwrap/_handlers/get-assets.cjs.map +1 -0
  310. package/dist/transfer-service/wrap-unwrap/_handlers/get-assets.js +2 -0
  311. package/dist/transfer-service/wrap-unwrap/_handlers/get-assets.js.map +1 -0
  312. package/dist/transfer-service/wrap-unwrap/_handlers/get-minimum-transfer-amount.cjs +2 -0
  313. package/dist/transfer-service/wrap-unwrap/_handlers/get-minimum-transfer-amount.cjs.map +1 -0
  314. package/dist/transfer-service/wrap-unwrap/_handlers/get-minimum-transfer-amount.js +2 -0
  315. package/dist/transfer-service/wrap-unwrap/_handlers/get-minimum-transfer-amount.js.map +1 -0
  316. package/dist/transfer-service/wrap-unwrap/_handlers/stream-quotes.cjs +2 -0
  317. package/dist/transfer-service/wrap-unwrap/_handlers/stream-quotes.cjs.map +1 -0
  318. package/dist/transfer-service/wrap-unwrap/_handlers/stream-quotes.js +2 -0
  319. package/dist/transfer-service/wrap-unwrap/_handlers/stream-quotes.js.map +1 -0
  320. package/dist/transfer-service/wrap-unwrap/_handlers/track-transfer.cjs +2 -0
  321. package/dist/transfer-service/wrap-unwrap/_handlers/track-transfer.cjs.map +1 -0
  322. package/dist/transfer-service/wrap-unwrap/_handlers/track-transfer.js +2 -0
  323. package/dist/transfer-service/wrap-unwrap/_handlers/track-transfer.js.map +1 -0
  324. package/dist/transfer-service/wrap-unwrap/_handlers/transfer-asset.cjs +2 -0
  325. package/dist/transfer-service/wrap-unwrap/_handlers/transfer-asset.cjs.map +1 -0
  326. package/dist/transfer-service/wrap-unwrap/_handlers/transfer-asset.js +2 -0
  327. package/dist/transfer-service/wrap-unwrap/_handlers/transfer-asset.js.map +1 -0
  328. package/dist/transfer-service/wrap-unwrap/_utils.cjs +2 -0
  329. package/dist/transfer-service/wrap-unwrap/_utils.cjs.map +1 -0
  330. package/dist/transfer-service/wrap-unwrap/_utils.js +2 -0
  331. package/dist/transfer-service/wrap-unwrap/_utils.js.map +1 -0
  332. package/dist/transfer-service/wrap-unwrap/constants.cjs +2 -0
  333. package/dist/transfer-service/wrap-unwrap/constants.cjs.map +1 -0
  334. package/dist/transfer-service/wrap-unwrap/constants.js +2 -0
  335. package/dist/transfer-service/wrap-unwrap/constants.js.map +1 -0
  336. package/dist/transfer-service/wrap-unwrap/wrap-unwrap-service.cjs +2 -0
  337. package/dist/transfer-service/wrap-unwrap/wrap-unwrap-service.cjs.map +1 -0
  338. package/dist/transfer-service/wrap-unwrap/wrap-unwrap-service.js +2 -0
  339. package/dist/transfer-service/wrap-unwrap/wrap-unwrap-service.js.map +1 -0
  340. package/dist/type-guards.cjs +2 -0
  341. package/dist/type-guards.cjs.map +1 -0
  342. package/dist/type-guards.d.cts +16 -0
  343. package/dist/type-guards.d.ts +16 -0
  344. package/dist/type-guards.js +2 -0
  345. package/dist/type-guards.js.map +1 -0
  346. package/dist/types/asset.d.cts +61 -0
  347. package/dist/types/asset.d.ts +61 -0
  348. package/dist/types/bitcoin.d.cts +66 -0
  349. package/dist/types/bitcoin.d.ts +66 -0
  350. package/dist/types/caip.d.cts +30 -0
  351. package/dist/types/caip.d.ts +30 -0
  352. package/dist/types/chain.d.cts +17 -0
  353. package/dist/types/chain.d.ts +17 -0
  354. package/dist/types/fee.d.cts +13 -0
  355. package/dist/types/fee.d.ts +13 -0
  356. package/dist/types/quote.d.cts +140 -0
  357. package/dist/types/quote.d.ts +140 -0
  358. package/dist/types/service.d.cts +224 -0
  359. package/dist/types/service.d.ts +224 -0
  360. package/dist/types/signer.d.cts +50 -0
  361. package/dist/types/signer.d.ts +50 -0
  362. package/dist/types/transfer-manager.d.cts +115 -0
  363. package/dist/types/transfer-manager.d.ts +115 -0
  364. package/dist/types/transfer.d.cts +107 -0
  365. package/dist/types/transfer.d.ts +107 -0
  366. package/dist/types/utility-types.d.cts +21 -0
  367. package/dist/types/utility-types.d.ts +21 -0
  368. package/dist/utils/bitcoin-address.cjs +2 -0
  369. package/dist/utils/bitcoin-address.cjs.map +1 -0
  370. package/dist/utils/bitcoin-address.js +2 -0
  371. package/dist/utils/bitcoin-address.js.map +1 -0
  372. package/dist/utils/caip.cjs +2 -0
  373. package/dist/utils/caip.cjs.map +1 -0
  374. package/dist/utils/caip.d.cts +49 -0
  375. package/dist/utils/caip.d.ts +49 -0
  376. package/dist/utils/caip.js +2 -0
  377. package/dist/utils/caip.js.map +1 -0
  378. package/dist/utils/evm-address.cjs +2 -0
  379. package/dist/utils/evm-address.cjs.map +1 -0
  380. package/dist/utils/evm-address.js +2 -0
  381. package/dist/utils/evm-address.js.map +1 -0
  382. package/dist/utils/quote-fees.cjs +2 -0
  383. package/dist/utils/quote-fees.cjs.map +1 -0
  384. package/dist/utils/quote-fees.js +2 -0
  385. package/dist/utils/quote-fees.js.map +1 -0
  386. package/dist/utils/sol-address.cjs +2 -0
  387. package/dist/utils/sol-address.cjs.map +1 -0
  388. package/dist/utils/sol-address.js +2 -0
  389. package/dist/utils/sol-address.js.map +1 -0
  390. package/dist/utils/solana-transaction.d.cts +15 -0
  391. package/dist/utils/solana-transaction.d.ts +17 -0
  392. package/dist/utils/transfer-utils.cjs +2 -0
  393. package/dist/utils/transfer-utils.cjs.map +1 -0
  394. package/dist/utils/transfer-utils.d.cts +8 -0
  395. package/dist/utils/transfer-utils.d.ts +8 -0
  396. package/dist/utils/transfer-utils.js +2 -0
  397. package/dist/utils/transfer-utils.js.map +1 -0
  398. package/package.json +63 -0
@@ -0,0 +1,140 @@
1
+ import { Caip2ChainId } from "./caip.js";
2
+ import { Chain } from "./chain.js";
3
+ import { ServiceType, TokenType } from "../constants.js";
4
+ import { Asset } from "./asset.js";
5
+ import { Address } from "viem";
6
+ import { Address as Address$1 } from "@solana/kit";
7
+
8
+ //#region src/types/quote.d.ts
9
+ /**
10
+ * The type of fee.
11
+ *
12
+ * - "partner" fee is the fee charged by Core to facilitate the transfer.
13
+ * It is already removed from the `amountOut` and is included here for transparency.
14
+ */
15
+ type QuoteFeeType = "partner" | "protocol" | "gas" | "bridge" | "slippage" | "swap" | "other";
16
+ type QuoteFeeToken = {
17
+ type: TokenType.NATIVE;
18
+ } | {
19
+ type: TokenType.ERC20;
20
+ address: Address;
21
+ } | {
22
+ type: TokenType.SPL;
23
+ address: Address$1;
24
+ };
25
+ /** Fee component for a quote. */
26
+ interface QuoteFee {
27
+ /** Fee type */
28
+ readonly type: QuoteFeeType;
29
+ /** Human-readable fee name */
30
+ readonly name: string;
31
+ /** Fee amount in token's smallest unit */
32
+ readonly amount: bigint;
33
+ /** The CAIP-2 chain ID of the token asset the fee is deducted from */
34
+ readonly chainId: Caip2ChainId;
35
+ /** Token asset the fee is deducted from */
36
+ readonly token: QuoteFeeToken;
37
+ }
38
+ /** Array of quote fees. */
39
+ type QuoteFees = ReadonlyArray<QuoteFee>;
40
+ /**
41
+ * A time-sensitive, executable quote from a service (bridge or swap).
42
+ * All monetary values are expressed in asset smallest units.
43
+ */
44
+ interface Quote {
45
+ /** Upstream aggregator name + id (e.g., KyberSwap, Yield Yak, Avalanche Bridge, etc). */
46
+ readonly aggregator: {
47
+ readonly id: string;
48
+ readonly logoUrl?: string;
49
+ readonly name: string;
50
+ };
51
+ /** Input amount in source asset smallest units. */
52
+ readonly amountIn: bigint;
53
+ /**
54
+ * Expected output amount in target asset smallest units
55
+ * (ie the amount the recipient will receive after fees).
56
+ */
57
+ readonly amountOut: bigint;
58
+ readonly assetIn: Asset;
59
+ readonly assetOut: Asset;
60
+ /** Unix seconds when this quote expires. */
61
+ readonly expiresAt: number;
62
+ readonly fees: QuoteFees;
63
+ /** Calling account on the source chain. */
64
+ readonly fromAddress: string;
65
+ /**
66
+ * Not a reliable gas estimate.
67
+ * Prefer calling `TransferManager.estimateGas` with this quote to
68
+ * get a more accurate gas estimate.
69
+ *
70
+ * This estimate is generally provided by the upstream service
71
+ * and may be a rough estimate or even omitted entirely.
72
+ */
73
+ readonly gasEstimate?: bigint;
74
+ /** Unique quote identifier (UUID). */
75
+ readonly id: string;
76
+ /**
77
+ * Partner fee in basis points (bps).
78
+ *
79
+ * This is not the fee amount, but rather the fee percentage expressed in basis points.
80
+ *
81
+ * The "partner" fee is the fee charged by Core to facilitate the transfer.
82
+ *
83
+ * If `null`, then no partner fee was applied to this quote.
84
+ *
85
+ * See {@linkcode Quote.fees} for a breakdown of the individual fee components.
86
+ */
87
+ readonly partnerFeeBps: number | null;
88
+ /** Concrete service discriminator that produced this quote. */
89
+ readonly serviceType: ServiceType;
90
+ /** Allowed slippage in basis points (e.g. 1% = 100bps) */
91
+ readonly slippageBps: number;
92
+ readonly sourceChain: Chain;
93
+ readonly targetChain: Chain;
94
+ /** Receiving account on the target chain. */
95
+ readonly toAddress: string;
96
+ }
97
+ /** Service quote events emitted during streaming. */
98
+ type ServiceQuoteEventArgs = [event: "quote", quote: Quote] | [event: "error", error: Error] | [event: "done"];
99
+ type ServiceQuoteEventHandler = (...args: ServiceQuoteEventArgs) => void;
100
+ type QuoterDoneReason = "unsubscribed" | "no-eligible-services" | "no-quotes";
101
+ /** Quoter events surfaced to consumers. */
102
+ type QuoterEventArgs = [event: "quote", data: {
103
+ bestQuote: Quote;
104
+ quote: Quote;
105
+ quotes: readonly Quote[];
106
+ }] | [event: "error", data: Error] | [event: "done", data: {
107
+ reason: QuoterDoneReason;
108
+ }];
109
+ type QuotesTuple = readonly [bestQuote: Quote | null, allQuotes: readonly Quote[]];
110
+ type QuoterEventHandler = (...args: QuoterEventArgs) => void;
111
+ /** Parameters common to quoting across services. */
112
+ interface QuoterProps {
113
+ /** Input amount in source asset units. */
114
+ readonly amount: bigint;
115
+ /** Address initiating the transfer on source chain. */
116
+ readonly fromAddress: string;
117
+ /** Max acceptable slippage in basis points (e.g. 1% = 100bps) . */
118
+ readonly slippageBps?: number;
119
+ readonly sourceAsset: Asset;
120
+ readonly sourceChain: Chain;
121
+ readonly targetAsset: Asset;
122
+ readonly targetChain: Chain;
123
+ /** Recipient address on target chain. */
124
+ readonly toAddress: string;
125
+ }
126
+ interface QuoterInterface {
127
+ /**
128
+ * Unique identifier for the quoter instance.
129
+ *
130
+ * You can use this ID as a cache key to uniquely identify this instance.
131
+ */
132
+ readonly id: string;
133
+ /** Get the current best quote and the set of active quotes. */
134
+ getQuotes(): QuotesTuple;
135
+ /** Subscribe to new quotes or errors; starts streaming on first subscriber. */
136
+ subscribe(handler: QuoterEventHandler): () => void;
137
+ }
138
+ //#endregion
139
+ export { Quote, QuoteFee, QuoteFeeToken, QuoteFeeType, QuoteFees, QuoterDoneReason, QuoterEventArgs, QuoterEventHandler, QuoterInterface, QuoterProps, QuotesTuple, ServiceQuoteEventArgs, ServiceQuoteEventHandler };
140
+ //# sourceMappingURL=quote.d.ts.map
@@ -0,0 +1,224 @@
1
+ import { Caip2ChainId } from "./caip.cjs";
2
+ import { BitcoinFunctions } from "./bitcoin.cjs";
3
+ import { FeeRateTier } from "./fee.cjs";
4
+ import { EVM_SERVICE_TYPES, ServiceType } from "../constants.cjs";
5
+ import { Asset, ChainAssetMap, NativeAsset } from "./asset.cjs";
6
+ import { Quote, QuoterProps, ServiceQuoteEventHandler } from "./quote.cjs";
7
+ import { Transfer, TransferStepDetails } from "./transfer.cjs";
8
+ import { BtcSigner, EvmSigner, EvmSignerWithMessage, SolanaSigner } from "./signer.cjs";
9
+ import { ArrayElement } from "./utility-types.cjs";
10
+
11
+ //#region src/types/service.d.ts
12
+ /** Optional EIP-1559-style gas settings. */
13
+ interface GasSettings {
14
+ /**
15
+ * A safety margin to gas estimation (EVM only).
16
+ *
17
+ * For example, a value of `500` would add a 5% margin to the estimated
18
+ * gas to account for estimation inaccuracy, and the fee would be
19
+ * calculated based on this increased gas estimate.
20
+ *
21
+ * Value must be a non-negative integer, where 100 bps = 1% margin.
22
+ *
23
+ * @example 500 would add a 5% margin to the estimated fee.
24
+ *
25
+ * @default 0 (no margin)
26
+ */
27
+ readonly estimateGasMarginBps?: number;
28
+ /** Max fee per gas (wei). */
29
+ readonly maxFeePerGas?: bigint;
30
+ /** Priority fee / tip (wei). */
31
+ readonly maxPriorityFeePerGas?: bigint;
32
+ }
33
+ /** Transfer execution input. */
34
+ interface TransferAssetProps {
35
+ readonly quote: Quote;
36
+ readonly gasSettings?: GasSettings;
37
+ readonly onStepChange?: (step: TransferStepDetails) => void;
38
+ }
39
+ /** Minimum viable source amount inquiry. */
40
+ interface GetMinimumTransferAmountProps {
41
+ readonly sourceAsset: Asset;
42
+ readonly sourceChainId: Caip2ChainId;
43
+ readonly targetAsset: Asset;
44
+ readonly targetChainId: Caip2ChainId;
45
+ }
46
+ /** Track a transfer for progress updates. */
47
+ interface TrackTransferProps {
48
+ readonly transfer: Transfer;
49
+ readonly updateListener: (transfer: Transfer) => void;
50
+ }
51
+ interface NativeFeeEstimate {
52
+ /** The native asset used for the fee */
53
+ readonly asset: NativeAsset;
54
+ /**
55
+ * Total upfront native amount required in the smallest native units
56
+ * (e.g., wei for EVM, lamports for Solana, satoshis for Bitcoin).
57
+ *
58
+ * This is intended for preflight balance checks before initiating a transfer.
59
+ *
60
+ * In the case of EVM, if an allowance approval is required, this includes
61
+ * both swap and approval fee requirements. In the case of Solana, this includes
62
+ * execution fees plus any rent that must be funded upfront.
63
+ */
64
+ readonly totalFee: bigint;
65
+ /**
66
+ * Portion of `totalFee` that is expected to be refunded to the user.
67
+ *
68
+ * For example, in Solana this may include lamports returned when temporary
69
+ * accounts are closed in the same transaction.
70
+ */
71
+ readonly refundable?: bigint;
72
+ /**
73
+ * Breakdown information of fee calculation.
74
+ *
75
+ * As an example, a EVM transaction might require a allowance approval,
76
+ * so the fee for that approval is also calculated and added to the total fee.
77
+ * A `approvalFee` would be included to give the fee estimate for that approval
78
+ * transaction, and the `totalFee` would be the sum of the transfer fee and approval fee.
79
+ *
80
+ * For a Solana transaction, you might get back data on the `baseFee` from the RPC and the
81
+ * `priorityFee` calculated from the compute unit estimation, which together sum to the `totalFee`.
82
+ */
83
+ readonly meta?: Readonly<{
84
+ /**
85
+ * Approval fee estimate for transactions that require an approval (e.g., ERC20 allowance approval).
86
+ */
87
+ approvalFee?: bigint;
88
+ baseFee?: bigint;
89
+ priorityFee?: bigint;
90
+ /**
91
+ * Rent lamports included in `totalFee` for Solana transactions.
92
+ *
93
+ * This is the upfront rent requirement used in preflight balance checks.
94
+ */
95
+ rentFee?: bigint;
96
+ /**
97
+ * Net rent lamports expected to be spent after accounting for same-transaction
98
+ * account-close refunds.
99
+ *
100
+ * This is useful for understanding expected final cost.
101
+ */
102
+ rentFeeNet?: bigint;
103
+ /**
104
+ * Accounts inferred as being created during the transaction and considered
105
+ * in rent estimation.
106
+ *
107
+ * - `kind`: inferred account category (e.g., ATA or system account).
108
+ * - `lamports`: rent or funding lamports associated with creation.
109
+ * - `refunded`: whether the created account appears to be closed and refunded
110
+ * back to the sender in the same transaction.
111
+ */
112
+ createdAccounts?: ReadonlyArray<{
113
+ address: string;
114
+ kind: string;
115
+ lamports: bigint;
116
+ refunded: boolean;
117
+ }>;
118
+ [key: string]: unknown | undefined;
119
+ }>;
120
+ }
121
+ interface EstimateNativeFeeOptions {
122
+ /**
123
+ * A safety margin to apply to the fee unit calculations
124
+ * (e.g., gas units for EVM, compute units for Solana).
125
+ *
126
+ * For example, a value of `500` would add a 5% margin to the estimated
127
+ * units to account for estimation inaccuracy, and the fee would be
128
+ * calculated based on this increased unit estimate.
129
+ *
130
+ * Value must be a non-negative integer, where 100 bps = 1% margin.
131
+ *
132
+ * @example 500 would add a 5% margin to the estimated fee.
133
+ *
134
+ * @default 0 (no margin)
135
+ */
136
+ readonly feeUnitsMarginBps?: number;
137
+ /**
138
+ * Overrides for fee estimation, such as custom fee rates or EIP-1559 parameters.
139
+ * These can be used to provide more accurate fee estimates based on current network conditions
140
+ * or user preferences.
141
+ */
142
+ readonly overrides?: Readonly<{
143
+ /**
144
+ * Fee urgency tier. See {@link FeeRateTier} for per-chain behaviour.
145
+ *
146
+ * @default 'fast'
147
+ */
148
+ feeRateTier?: FeeRateTier; /** Applies to EVM estimations. Takes precedence over `feeRateTier`. */
149
+ maxFeePerGas?: bigint; /** Applies to EVM estimations. Takes precedence over `feeRateTier`. */
150
+ maxPriorityFeePerGas?: bigint;
151
+ }>;
152
+ }
153
+ /**
154
+ * Mapping of services supported chains, and their corresponding supported destination chains.
155
+ */
156
+ type GetSupportedChainsResult = ReadonlyMap<Caip2ChainId, ReadonlySet<Caip2ChainId>>;
157
+ /**
158
+ * @internal
159
+ *
160
+ * Mutable version of `GetSupportedChainsResult` for internal use within services.
161
+ */
162
+ type MutableGetSupportedChainsResult = Map<Caip2ChainId, Set<Caip2ChainId>>;
163
+ /**
164
+ * The single service contract implemented by both bridge and swap providers.
165
+ */
166
+ interface TransferService {
167
+ /** Capability pre-check for source/target pair on given chains. */
168
+ analyzeSupport(props: {
169
+ sourceAsset: Asset;
170
+ sourceChainId: Caip2ChainId;
171
+ targetAsset: Asset;
172
+ targetChainId: Caip2ChainId;
173
+ }): boolean;
174
+ /** Estimate the native fee for executing the provided quote. */
175
+ estimateNativeFee(quote: Quote, options?: EstimateNativeFeeOptions): Promise<NativeFeeEstimate>;
176
+ /** List assets supported by this service. */
177
+ getAssets(): Promise<ChainAssetMap>;
178
+ /** Return the minimum source amount supported by this service for the pair. */
179
+ getMinimumTransferAmount(props: GetMinimumTransferAmountProps): Promise<bigint>;
180
+ /** Get all supported chains for this service. */
181
+ getSupportedChains(): Promise<GetSupportedChainsResult>;
182
+ /** Stream time-sensitive quotes. */
183
+ streamQuotes(props: QuoterProps, handler: ServiceQuoteEventHandler): {
184
+ cancel: () => void;
185
+ };
186
+ /** Begin tracking a submitted transfer. */
187
+ trackTransfer(props: TrackTransferProps): {
188
+ cancel: () => void;
189
+ result: Promise<Transfer>;
190
+ };
191
+ /** Execute the quote, emitting `onStepChange` for signature steps. */
192
+ transferAsset(props: TransferAssetProps): Promise<Transfer>;
193
+ /** Concrete discriminator for this service. */
194
+ type: ServiceType;
195
+ }
196
+ /** EVM-family service initializer. */
197
+ type EvmServiceInitializer = {
198
+ type: ArrayElement<typeof EVM_SERVICE_TYPES>;
199
+ evmSigner: EvmSigner;
200
+ };
201
+ /** Lombard initializer (BTC↔BTCB). */
202
+ type LombardServiceInitializer = {
203
+ type: ServiceType.LOMBARD_BTC_TO_BTCB | ServiceType.LOMBARD_BTCB_TO_BTC;
204
+ evmSigner: EvmSignerWithMessage;
205
+ btcSigner: BtcSigner;
206
+ btcFunctions: BitcoinFunctions;
207
+ };
208
+ /** Markr initializer (swaps, cross-chain swaps). */
209
+ type MarkrServiceInitializer = {
210
+ type: ServiceType.MARKR;
211
+ evmSigner: EvmSigner;
212
+ markrApiUrl?: string;
213
+ markrApiToken?: string;
214
+ markrAppId: string;
215
+ /**
216
+ * Required in order to enable Solana support via service.
217
+ * If not provided, the service will still function for EVM chains, but Solana support will be disabled and any quotes requiring Solana will be rejected.
218
+ */
219
+ solanaSigner?: SolanaSigner;
220
+ };
221
+ type ServiceInitializer = EvmServiceInitializer | LombardServiceInitializer | MarkrServiceInitializer;
222
+ //#endregion
223
+ export { EstimateNativeFeeOptions, EvmServiceInitializer, GasSettings, GetMinimumTransferAmountProps, GetSupportedChainsResult, LombardServiceInitializer, MarkrServiceInitializer, MutableGetSupportedChainsResult, NativeFeeEstimate, ServiceInitializer, TrackTransferProps, TransferAssetProps, TransferService };
224
+ //# sourceMappingURL=service.d.cts.map
@@ -0,0 +1,224 @@
1
+ import { Caip2ChainId } from "./caip.js";
2
+ import { BitcoinFunctions } from "./bitcoin.js";
3
+ import { FeeRateTier } from "./fee.js";
4
+ import { EVM_SERVICE_TYPES, ServiceType } from "../constants.js";
5
+ import { Asset, ChainAssetMap, NativeAsset } from "./asset.js";
6
+ import { Quote, QuoterProps, ServiceQuoteEventHandler } from "./quote.js";
7
+ import { Transfer, TransferStepDetails } from "./transfer.js";
8
+ import { BtcSigner, EvmSigner, EvmSignerWithMessage, SolanaSigner } from "./signer.js";
9
+ import { ArrayElement } from "./utility-types.js";
10
+
11
+ //#region src/types/service.d.ts
12
+ /** Optional EIP-1559-style gas settings. */
13
+ interface GasSettings {
14
+ /**
15
+ * A safety margin to gas estimation (EVM only).
16
+ *
17
+ * For example, a value of `500` would add a 5% margin to the estimated
18
+ * gas to account for estimation inaccuracy, and the fee would be
19
+ * calculated based on this increased gas estimate.
20
+ *
21
+ * Value must be a non-negative integer, where 100 bps = 1% margin.
22
+ *
23
+ * @example 500 would add a 5% margin to the estimated fee.
24
+ *
25
+ * @default 0 (no margin)
26
+ */
27
+ readonly estimateGasMarginBps?: number;
28
+ /** Max fee per gas (wei). */
29
+ readonly maxFeePerGas?: bigint;
30
+ /** Priority fee / tip (wei). */
31
+ readonly maxPriorityFeePerGas?: bigint;
32
+ }
33
+ /** Transfer execution input. */
34
+ interface TransferAssetProps {
35
+ readonly quote: Quote;
36
+ readonly gasSettings?: GasSettings;
37
+ readonly onStepChange?: (step: TransferStepDetails) => void;
38
+ }
39
+ /** Minimum viable source amount inquiry. */
40
+ interface GetMinimumTransferAmountProps {
41
+ readonly sourceAsset: Asset;
42
+ readonly sourceChainId: Caip2ChainId;
43
+ readonly targetAsset: Asset;
44
+ readonly targetChainId: Caip2ChainId;
45
+ }
46
+ /** Track a transfer for progress updates. */
47
+ interface TrackTransferProps {
48
+ readonly transfer: Transfer;
49
+ readonly updateListener: (transfer: Transfer) => void;
50
+ }
51
+ interface NativeFeeEstimate {
52
+ /** The native asset used for the fee */
53
+ readonly asset: NativeAsset;
54
+ /**
55
+ * Total upfront native amount required in the smallest native units
56
+ * (e.g., wei for EVM, lamports for Solana, satoshis for Bitcoin).
57
+ *
58
+ * This is intended for preflight balance checks before initiating a transfer.
59
+ *
60
+ * In the case of EVM, if an allowance approval is required, this includes
61
+ * both swap and approval fee requirements. In the case of Solana, this includes
62
+ * execution fees plus any rent that must be funded upfront.
63
+ */
64
+ readonly totalFee: bigint;
65
+ /**
66
+ * Portion of `totalFee` that is expected to be refunded to the user.
67
+ *
68
+ * For example, in Solana this may include lamports returned when temporary
69
+ * accounts are closed in the same transaction.
70
+ */
71
+ readonly refundable?: bigint;
72
+ /**
73
+ * Breakdown information of fee calculation.
74
+ *
75
+ * As an example, a EVM transaction might require a allowance approval,
76
+ * so the fee for that approval is also calculated and added to the total fee.
77
+ * A `approvalFee` would be included to give the fee estimate for that approval
78
+ * transaction, and the `totalFee` would be the sum of the transfer fee and approval fee.
79
+ *
80
+ * For a Solana transaction, you might get back data on the `baseFee` from the RPC and the
81
+ * `priorityFee` calculated from the compute unit estimation, which together sum to the `totalFee`.
82
+ */
83
+ readonly meta?: Readonly<{
84
+ /**
85
+ * Approval fee estimate for transactions that require an approval (e.g., ERC20 allowance approval).
86
+ */
87
+ approvalFee?: bigint;
88
+ baseFee?: bigint;
89
+ priorityFee?: bigint;
90
+ /**
91
+ * Rent lamports included in `totalFee` for Solana transactions.
92
+ *
93
+ * This is the upfront rent requirement used in preflight balance checks.
94
+ */
95
+ rentFee?: bigint;
96
+ /**
97
+ * Net rent lamports expected to be spent after accounting for same-transaction
98
+ * account-close refunds.
99
+ *
100
+ * This is useful for understanding expected final cost.
101
+ */
102
+ rentFeeNet?: bigint;
103
+ /**
104
+ * Accounts inferred as being created during the transaction and considered
105
+ * in rent estimation.
106
+ *
107
+ * - `kind`: inferred account category (e.g., ATA or system account).
108
+ * - `lamports`: rent or funding lamports associated with creation.
109
+ * - `refunded`: whether the created account appears to be closed and refunded
110
+ * back to the sender in the same transaction.
111
+ */
112
+ createdAccounts?: ReadonlyArray<{
113
+ address: string;
114
+ kind: string;
115
+ lamports: bigint;
116
+ refunded: boolean;
117
+ }>;
118
+ [key: string]: unknown | undefined;
119
+ }>;
120
+ }
121
+ interface EstimateNativeFeeOptions {
122
+ /**
123
+ * A safety margin to apply to the fee unit calculations
124
+ * (e.g., gas units for EVM, compute units for Solana).
125
+ *
126
+ * For example, a value of `500` would add a 5% margin to the estimated
127
+ * units to account for estimation inaccuracy, and the fee would be
128
+ * calculated based on this increased unit estimate.
129
+ *
130
+ * Value must be a non-negative integer, where 100 bps = 1% margin.
131
+ *
132
+ * @example 500 would add a 5% margin to the estimated fee.
133
+ *
134
+ * @default 0 (no margin)
135
+ */
136
+ readonly feeUnitsMarginBps?: number;
137
+ /**
138
+ * Overrides for fee estimation, such as custom fee rates or EIP-1559 parameters.
139
+ * These can be used to provide more accurate fee estimates based on current network conditions
140
+ * or user preferences.
141
+ */
142
+ readonly overrides?: Readonly<{
143
+ /**
144
+ * Fee urgency tier. See {@link FeeRateTier} for per-chain behaviour.
145
+ *
146
+ * @default 'fast'
147
+ */
148
+ feeRateTier?: FeeRateTier; /** Applies to EVM estimations. Takes precedence over `feeRateTier`. */
149
+ maxFeePerGas?: bigint; /** Applies to EVM estimations. Takes precedence over `feeRateTier`. */
150
+ maxPriorityFeePerGas?: bigint;
151
+ }>;
152
+ }
153
+ /**
154
+ * Mapping of services supported chains, and their corresponding supported destination chains.
155
+ */
156
+ type GetSupportedChainsResult = ReadonlyMap<Caip2ChainId, ReadonlySet<Caip2ChainId>>;
157
+ /**
158
+ * @internal
159
+ *
160
+ * Mutable version of `GetSupportedChainsResult` for internal use within services.
161
+ */
162
+ type MutableGetSupportedChainsResult = Map<Caip2ChainId, Set<Caip2ChainId>>;
163
+ /**
164
+ * The single service contract implemented by both bridge and swap providers.
165
+ */
166
+ interface TransferService {
167
+ /** Capability pre-check for source/target pair on given chains. */
168
+ analyzeSupport(props: {
169
+ sourceAsset: Asset;
170
+ sourceChainId: Caip2ChainId;
171
+ targetAsset: Asset;
172
+ targetChainId: Caip2ChainId;
173
+ }): boolean;
174
+ /** Estimate the native fee for executing the provided quote. */
175
+ estimateNativeFee(quote: Quote, options?: EstimateNativeFeeOptions): Promise<NativeFeeEstimate>;
176
+ /** List assets supported by this service. */
177
+ getAssets(): Promise<ChainAssetMap>;
178
+ /** Return the minimum source amount supported by this service for the pair. */
179
+ getMinimumTransferAmount(props: GetMinimumTransferAmountProps): Promise<bigint>;
180
+ /** Get all supported chains for this service. */
181
+ getSupportedChains(): Promise<GetSupportedChainsResult>;
182
+ /** Stream time-sensitive quotes. */
183
+ streamQuotes(props: QuoterProps, handler: ServiceQuoteEventHandler): {
184
+ cancel: () => void;
185
+ };
186
+ /** Begin tracking a submitted transfer. */
187
+ trackTransfer(props: TrackTransferProps): {
188
+ cancel: () => void;
189
+ result: Promise<Transfer>;
190
+ };
191
+ /** Execute the quote, emitting `onStepChange` for signature steps. */
192
+ transferAsset(props: TransferAssetProps): Promise<Transfer>;
193
+ /** Concrete discriminator for this service. */
194
+ type: ServiceType;
195
+ }
196
+ /** EVM-family service initializer. */
197
+ type EvmServiceInitializer = {
198
+ type: ArrayElement<typeof EVM_SERVICE_TYPES>;
199
+ evmSigner: EvmSigner;
200
+ };
201
+ /** Lombard initializer (BTC↔BTCB). */
202
+ type LombardServiceInitializer = {
203
+ type: ServiceType.LOMBARD_BTC_TO_BTCB | ServiceType.LOMBARD_BTCB_TO_BTC;
204
+ evmSigner: EvmSignerWithMessage;
205
+ btcSigner: BtcSigner;
206
+ btcFunctions: BitcoinFunctions;
207
+ };
208
+ /** Markr initializer (swaps, cross-chain swaps). */
209
+ type MarkrServiceInitializer = {
210
+ type: ServiceType.MARKR;
211
+ evmSigner: EvmSigner;
212
+ markrApiUrl?: string;
213
+ markrApiToken?: string;
214
+ markrAppId: string;
215
+ /**
216
+ * Required in order to enable Solana support via service.
217
+ * If not provided, the service will still function for EVM chains, but Solana support will be disabled and any quotes requiring Solana will be rejected.
218
+ */
219
+ solanaSigner?: SolanaSigner;
220
+ };
221
+ type ServiceInitializer = EvmServiceInitializer | LombardServiceInitializer | MarkrServiceInitializer;
222
+ //#endregion
223
+ export { EstimateNativeFeeOptions, EvmServiceInitializer, GasSettings, GetMinimumTransferAmountProps, GetSupportedChainsResult, LombardServiceInitializer, MarkrServiceInitializer, MutableGetSupportedChainsResult, NativeFeeEstimate, ServiceInitializer, TrackTransferProps, TransferAssetProps, TransferService };
224
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1,50 @@
1
+ import { BitcoinInputUTXO, BitcoinOutputUTXO } from "./bitcoin.cjs";
2
+ import { TransferStepDetails } from "./transfer.cjs";
3
+ import { SolanaSendOptions, SolanaTransactionParams } from "../utils/solana-transaction.cjs";
4
+ import { Address } from "viem";
5
+
6
+ //#region src/types/signer.d.ts
7
+ type Hex = `0x${string}`;
8
+ type EvmTransactionRequest = {
9
+ type?: number | null;
10
+ data?: Hex | null;
11
+ from: Hex;
12
+ gas?: bigint;
13
+ nonce?: number;
14
+ to?: Hex | null;
15
+ value?: bigint;
16
+ gasPrice?: bigint | null;
17
+ gasLimit?: bigint | null;
18
+ maxPriorityFeePerGas?: bigint | null;
19
+ maxFeePerGas?: bigint | null;
20
+ chainId: string;
21
+ };
22
+ type EvmDispatch = (signedTxHash: Hex) => Promise<Hex>;
23
+ type EvmSign = (data: EvmTransactionRequest, dispatch: EvmDispatch, step: TransferStepDetails) => Promise<Hex>;
24
+ type EvmSignMessage = (params: {
25
+ message: string;
26
+ address: Address;
27
+ chainId: number;
28
+ }, dispatch: EvmDispatch, step: TransferStepDetails) => Promise<Hex>;
29
+ interface EvmSigner {
30
+ sign: EvmSign;
31
+ }
32
+ interface EvmSignerWithMessage extends EvmSigner {
33
+ signMessage: EvmSignMessage;
34
+ }
35
+ type BtcTransactionRequest = {
36
+ inputs: BitcoinInputUTXO[];
37
+ outputs: BitcoinOutputUTXO[];
38
+ };
39
+ type BtcDispatch = (signedTxHash: string) => Promise<string>;
40
+ type BtcSign = (data: BtcTransactionRequest, dispatch: BtcDispatch, step: TransferStepDetails) => Promise<string>;
41
+ type BtcSigner = {
42
+ sign: BtcSign;
43
+ };
44
+ type SolanaSign = (data: SolanaTransactionParams, step: TransferStepDetails) => Promise<string>;
45
+ interface SolanaSigner {
46
+ signAndSend: SolanaSign;
47
+ }
48
+ //#endregion
49
+ export { BtcDispatch, BtcSign, BtcSigner, BtcTransactionRequest, EvmDispatch, EvmSign, EvmSignMessage, EvmSigner, EvmSignerWithMessage, EvmTransactionRequest, Hex, SolanaSign, SolanaSigner };
50
+ //# sourceMappingURL=signer.d.cts.map
@@ -0,0 +1,50 @@
1
+ import { BitcoinInputUTXO, BitcoinOutputUTXO } from "./bitcoin.js";
2
+ import { TransferStepDetails } from "./transfer.js";
3
+ import { SolanaSendOptions, SolanaTransactionParams } from "../utils/solana-transaction.js";
4
+ import { Address } from "viem";
5
+
6
+ //#region src/types/signer.d.ts
7
+ type Hex = `0x${string}`;
8
+ type EvmTransactionRequest = {
9
+ type?: number | null;
10
+ data?: Hex | null;
11
+ from: Hex;
12
+ gas?: bigint;
13
+ nonce?: number;
14
+ to?: Hex | null;
15
+ value?: bigint;
16
+ gasPrice?: bigint | null;
17
+ gasLimit?: bigint | null;
18
+ maxPriorityFeePerGas?: bigint | null;
19
+ maxFeePerGas?: bigint | null;
20
+ chainId: string;
21
+ };
22
+ type EvmDispatch = (signedTxHash: Hex) => Promise<Hex>;
23
+ type EvmSign = (data: EvmTransactionRequest, dispatch: EvmDispatch, step: TransferStepDetails) => Promise<Hex>;
24
+ type EvmSignMessage = (params: {
25
+ message: string;
26
+ address: Address;
27
+ chainId: number;
28
+ }, dispatch: EvmDispatch, step: TransferStepDetails) => Promise<Hex>;
29
+ interface EvmSigner {
30
+ sign: EvmSign;
31
+ }
32
+ interface EvmSignerWithMessage extends EvmSigner {
33
+ signMessage: EvmSignMessage;
34
+ }
35
+ type BtcTransactionRequest = {
36
+ inputs: BitcoinInputUTXO[];
37
+ outputs: BitcoinOutputUTXO[];
38
+ };
39
+ type BtcDispatch = (signedTxHash: string) => Promise<string>;
40
+ type BtcSign = (data: BtcTransactionRequest, dispatch: BtcDispatch, step: TransferStepDetails) => Promise<string>;
41
+ type BtcSigner = {
42
+ sign: BtcSign;
43
+ };
44
+ type SolanaSign = (data: SolanaTransactionParams, step: TransferStepDetails) => Promise<string>;
45
+ interface SolanaSigner {
46
+ signAndSend: SolanaSign;
47
+ }
48
+ //#endregion
49
+ export { BtcDispatch, BtcSign, BtcSigner, BtcTransactionRequest, EvmDispatch, EvmSign, EvmSignMessage, EvmSigner, EvmSignerWithMessage, EvmTransactionRequest, Hex, SolanaSign, SolanaSigner };
50
+ //# sourceMappingURL=signer.d.ts.map