crypto-aio 0.0.3 → 0.2.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 (700) hide show
  1. package/CHANGELOG.md +167 -0
  2. package/README.md +163 -13
  3. package/dist/adapters/avalanche/address.d.ts +15 -0
  4. package/dist/adapters/avalanche/address.js +74 -0
  5. package/dist/adapters/avalanche/address.js.map +1 -0
  6. package/dist/adapters/avalanche/api.d.ts +100 -0
  7. package/dist/adapters/avalanche/api.js +381 -0
  8. package/dist/adapters/avalanche/api.js.map +1 -0
  9. package/dist/adapters/avalanche/builder.d.ts +13 -0
  10. package/dist/adapters/avalanche/builder.js +336 -0
  11. package/dist/adapters/avalanche/builder.js.map +1 -0
  12. package/dist/adapters/avalanche/cb58.d.ts +7 -0
  13. package/dist/adapters/avalanche/cb58.js +49 -0
  14. package/dist/adapters/avalanche/cb58.js.map +1 -0
  15. package/dist/adapters/avalanche/chains.d.ts +21 -0
  16. package/dist/adapters/avalanche/chains.js +79 -0
  17. package/dist/adapters/avalanche/chains.js.map +1 -0
  18. package/dist/adapters/avalanche/codec.d.ts +94 -0
  19. package/dist/adapters/avalanche/codec.js +371 -0
  20. package/dist/adapters/avalanche/codec.js.map +1 -0
  21. package/dist/adapters/avalanche/context.d.ts +59 -0
  22. package/dist/adapters/avalanche/context.js +114 -0
  23. package/dist/adapters/avalanche/context.js.map +1 -0
  24. package/dist/adapters/avalanche/decode.d.ts +16 -0
  25. package/dist/adapters/avalanche/decode.js +101 -0
  26. package/dist/adapters/avalanche/decode.js.map +1 -0
  27. package/dist/adapters/avalanche/driver.d.ts +22 -0
  28. package/dist/adapters/avalanche/driver.js +81 -0
  29. package/dist/adapters/avalanche/driver.js.map +1 -0
  30. package/dist/adapters/avalanche/errors.d.ts +18 -0
  31. package/dist/adapters/avalanche/errors.js +61 -0
  32. package/dist/adapters/avalanche/errors.js.map +1 -0
  33. package/dist/adapters/avalanche/fees.d.ts +23 -0
  34. package/dist/adapters/avalanche/fees.js +105 -0
  35. package/dist/adapters/avalanche/fees.js.map +1 -0
  36. package/dist/adapters/avalanche/index.d.ts +19 -0
  37. package/dist/adapters/avalanche/index.js +8 -0
  38. package/dist/adapters/avalanche/index.js.map +1 -0
  39. package/dist/adapters/avalanche/network.d.ts +37 -0
  40. package/dist/adapters/avalanche/network.js +135 -0
  41. package/dist/adapters/avalanche/network.js.map +1 -0
  42. package/dist/adapters/avalanche/plugin.d.ts +21 -0
  43. package/dist/adapters/avalanche/plugin.js +46 -0
  44. package/dist/adapters/avalanche/plugin.js.map +1 -0
  45. package/dist/adapters/avalanche/presets.d.ts +6 -0
  46. package/dist/adapters/avalanche/presets.js +86 -0
  47. package/dist/adapters/avalanche/presets.js.map +1 -0
  48. package/dist/adapters/avalanche/proofs.d.ts +41 -0
  49. package/dist/adapters/avalanche/proofs.js +270 -0
  50. package/dist/adapters/avalanche/proofs.js.map +1 -0
  51. package/dist/adapters/avalanche/reader.d.ts +40 -0
  52. package/dist/adapters/avalanche/reader.js +231 -0
  53. package/dist/adapters/avalanche/reader.js.map +1 -0
  54. package/dist/adapters/avalanche/sdk.d.ts +182 -0
  55. package/dist/adapters/avalanche/sdk.js +21 -0
  56. package/dist/adapters/avalanche/sdk.js.map +1 -0
  57. package/dist/adapters/avalanche/types.d.ts +86 -0
  58. package/dist/{type/common.js → adapters/avalanche/types.js} +1 -1
  59. package/dist/adapters/avalanche/types.js.map +1 -0
  60. package/dist/adapters/evm/builder.d.ts +11 -0
  61. package/dist/adapters/evm/builder.js +386 -0
  62. package/dist/adapters/evm/builder.js.map +1 -0
  63. package/dist/adapters/evm/chains.d.ts +6 -0
  64. package/dist/adapters/evm/chains.js +203 -0
  65. package/dist/adapters/evm/chains.js.map +1 -0
  66. package/dist/adapters/evm/client.d.ts +84 -0
  67. package/dist/adapters/evm/client.js +335 -0
  68. package/dist/adapters/evm/client.js.map +1 -0
  69. package/dist/adapters/evm/decode.d.ts +35 -0
  70. package/dist/adapters/evm/decode.js +175 -0
  71. package/dist/adapters/evm/decode.js.map +1 -0
  72. package/dist/adapters/evm/driver.d.ts +8 -0
  73. package/dist/adapters/evm/driver.js +61 -0
  74. package/dist/adapters/evm/driver.js.map +1 -0
  75. package/dist/adapters/evm/errors.d.ts +20 -0
  76. package/dist/adapters/evm/errors.js +110 -0
  77. package/dist/adapters/evm/errors.js.map +1 -0
  78. package/dist/adapters/evm/ethers-client.d.ts +43 -0
  79. package/dist/adapters/evm/ethers-client.js +139 -0
  80. package/dist/adapters/evm/ethers-client.js.map +1 -0
  81. package/dist/adapters/evm/fees.d.ts +103 -0
  82. package/dist/adapters/evm/fees.js +277 -0
  83. package/dist/adapters/evm/fees.js.map +1 -0
  84. package/dist/adapters/evm/index.d.ts +20 -0
  85. package/dist/adapters/evm/index.js +12 -0
  86. package/dist/adapters/evm/index.js.map +1 -0
  87. package/dist/adapters/evm/network.d.ts +65 -0
  88. package/dist/adapters/evm/network.js +150 -0
  89. package/dist/adapters/evm/network.js.map +1 -0
  90. package/dist/adapters/evm/plugin.d.ts +35 -0
  91. package/dist/adapters/evm/plugin.js +150 -0
  92. package/dist/adapters/evm/plugin.js.map +1 -0
  93. package/dist/adapters/evm/presets.d.ts +2 -0
  94. package/dist/adapters/evm/presets.js +105 -0
  95. package/dist/adapters/evm/presets.js.map +1 -0
  96. package/dist/adapters/evm/proofs.d.ts +19 -0
  97. package/dist/adapters/evm/proofs.js +370 -0
  98. package/dist/adapters/evm/proofs.js.map +1 -0
  99. package/dist/adapters/evm/rawtx.d.ts +25 -0
  100. package/dist/adapters/evm/rawtx.js +176 -0
  101. package/dist/adapters/evm/rawtx.js.map +1 -0
  102. package/dist/adapters/evm/reader.d.ts +83 -0
  103. package/dist/adapters/evm/reader.js +326 -0
  104. package/dist/adapters/evm/reader.js.map +1 -0
  105. package/dist/adapters/evm/rpc.d.ts +39 -0
  106. package/dist/adapters/evm/rpc.js +152 -0
  107. package/dist/adapters/evm/rpc.js.map +1 -0
  108. package/dist/adapters/evm/tokens.d.ts +10 -0
  109. package/dist/adapters/evm/tokens.js +23 -0
  110. package/dist/adapters/evm/tokens.js.map +1 -0
  111. package/dist/adapters/evm/types.d.ts +265 -0
  112. package/dist/{type/account.js → adapters/evm/types.js} +1 -1
  113. package/dist/adapters/evm/types.js.map +1 -0
  114. package/dist/adapters/evm/web3-client.d.ts +26 -0
  115. package/dist/adapters/evm/web3-client.js +176 -0
  116. package/dist/adapters/evm/web3-client.js.map +1 -0
  117. package/dist/adapters/solana/builder.d.ts +18 -0
  118. package/dist/adapters/solana/builder.js +556 -0
  119. package/dist/adapters/solana/builder.js.map +1 -0
  120. package/dist/adapters/solana/chains.d.ts +13 -0
  121. package/dist/adapters/solana/chains.js +37 -0
  122. package/dist/adapters/solana/chains.js.map +1 -0
  123. package/dist/adapters/solana/decode.d.ts +111 -0
  124. package/dist/adapters/solana/decode.js +595 -0
  125. package/dist/adapters/solana/decode.js.map +1 -0
  126. package/dist/adapters/solana/driver.d.ts +15 -0
  127. package/dist/adapters/solana/driver.js +72 -0
  128. package/dist/adapters/solana/driver.js.map +1 -0
  129. package/dist/adapters/solana/errors.d.ts +36 -0
  130. package/dist/adapters/solana/errors.js +154 -0
  131. package/dist/adapters/solana/errors.js.map +1 -0
  132. package/dist/adapters/solana/fees.d.ts +77 -0
  133. package/dist/adapters/solana/fees.js +214 -0
  134. package/dist/adapters/solana/fees.js.map +1 -0
  135. package/dist/adapters/solana/heights.d.ts +47 -0
  136. package/dist/adapters/solana/heights.js +185 -0
  137. package/dist/adapters/solana/heights.js.map +1 -0
  138. package/dist/adapters/solana/history.d.ts +10 -0
  139. package/dist/adapters/solana/history.js +71 -0
  140. package/dist/adapters/solana/history.js.map +1 -0
  141. package/dist/adapters/solana/index.d.ts +16 -0
  142. package/dist/adapters/solana/index.js +9 -0
  143. package/dist/adapters/solana/index.js.map +1 -0
  144. package/dist/adapters/solana/keys.d.ts +13 -0
  145. package/dist/adapters/solana/keys.js +69 -0
  146. package/dist/adapters/solana/keys.js.map +1 -0
  147. package/dist/adapters/solana/message.d.ts +15 -0
  148. package/dist/adapters/solana/message.js +120 -0
  149. package/dist/adapters/solana/message.js.map +1 -0
  150. package/dist/adapters/solana/network.d.ts +24 -0
  151. package/dist/adapters/solana/network.js +95 -0
  152. package/dist/adapters/solana/network.js.map +1 -0
  153. package/dist/adapters/solana/plugin.d.ts +18 -0
  154. package/dist/adapters/solana/plugin.js +44 -0
  155. package/dist/adapters/solana/plugin.js.map +1 -0
  156. package/dist/adapters/solana/presets.d.ts +2 -0
  157. package/dist/adapters/solana/presets.js +77 -0
  158. package/dist/adapters/solana/presets.js.map +1 -0
  159. package/dist/adapters/solana/programs.d.ts +44 -0
  160. package/dist/adapters/solana/programs.js +159 -0
  161. package/dist/adapters/solana/programs.js.map +1 -0
  162. package/dist/adapters/solana/proofs.d.ts +56 -0
  163. package/dist/adapters/solana/proofs.js +540 -0
  164. package/dist/adapters/solana/proofs.js.map +1 -0
  165. package/dist/adapters/solana/reader.d.ts +82 -0
  166. package/dist/adapters/solana/reader.js +326 -0
  167. package/dist/adapters/solana/reader.js.map +1 -0
  168. package/dist/adapters/solana/rpc.d.ts +102 -0
  169. package/dist/adapters/solana/rpc.js +301 -0
  170. package/dist/adapters/solana/rpc.js.map +1 -0
  171. package/dist/adapters/solana/tokens.d.ts +7 -0
  172. package/dist/adapters/solana/tokens.js +19 -0
  173. package/dist/adapters/solana/tokens.js.map +1 -0
  174. package/dist/adapters/solana/types.d.ts +124 -0
  175. package/dist/{type/contract.js → adapters/solana/types.js} +1 -1
  176. package/dist/adapters/solana/types.js.map +1 -0
  177. package/dist/adapters/solana/web3.d.ts +5 -0
  178. package/dist/adapters/solana/web3.js +61 -0
  179. package/dist/adapters/solana/web3.js.map +1 -0
  180. package/dist/adapters/solana/wire.d.ts +62 -0
  181. package/dist/adapters/solana/wire.js +168 -0
  182. package/dist/adapters/solana/wire.js.map +1 -0
  183. package/dist/adapters/ton/address.d.ts +43 -0
  184. package/dist/adapters/ton/address.js +168 -0
  185. package/dist/adapters/ton/address.js.map +1 -0
  186. package/dist/adapters/ton/api.d.ts +344 -0
  187. package/dist/adapters/ton/api.js +942 -0
  188. package/dist/adapters/ton/api.js.map +1 -0
  189. package/dist/adapters/ton/builder.d.ts +18 -0
  190. package/dist/adapters/ton/builder.js +701 -0
  191. package/dist/adapters/ton/builder.js.map +1 -0
  192. package/dist/adapters/ton/chains.d.ts +16 -0
  193. package/dist/adapters/ton/chains.js +39 -0
  194. package/dist/adapters/ton/chains.js.map +1 -0
  195. package/dist/adapters/ton/decode.d.ts +43 -0
  196. package/dist/adapters/ton/decode.js +219 -0
  197. package/dist/adapters/ton/decode.js.map +1 -0
  198. package/dist/adapters/ton/driver.d.ts +10 -0
  199. package/dist/adapters/ton/driver.js +117 -0
  200. package/dist/adapters/ton/driver.js.map +1 -0
  201. package/dist/adapters/ton/errors.d.ts +36 -0
  202. package/dist/adapters/ton/errors.js +89 -0
  203. package/dist/adapters/ton/errors.js.map +1 -0
  204. package/dist/adapters/ton/fees.d.ts +28 -0
  205. package/dist/adapters/ton/fees.js +121 -0
  206. package/dist/adapters/ton/fees.js.map +1 -0
  207. package/dist/adapters/ton/index.d.ts +16 -0
  208. package/dist/adapters/ton/index.js +9 -0
  209. package/dist/adapters/ton/index.js.map +1 -0
  210. package/dist/adapters/ton/messages.d.ts +157 -0
  211. package/dist/adapters/ton/messages.js +397 -0
  212. package/dist/adapters/ton/messages.js.map +1 -0
  213. package/dist/adapters/ton/native-client.d.ts +10 -0
  214. package/dist/adapters/ton/native-client.js +47 -0
  215. package/dist/adapters/ton/native-client.js.map +1 -0
  216. package/dist/adapters/ton/network.d.ts +58 -0
  217. package/dist/adapters/ton/network.js +207 -0
  218. package/dist/adapters/ton/network.js.map +1 -0
  219. package/dist/adapters/ton/plugin.d.ts +24 -0
  220. package/dist/adapters/ton/plugin.js +57 -0
  221. package/dist/adapters/ton/plugin.js.map +1 -0
  222. package/dist/adapters/ton/presets.d.ts +6 -0
  223. package/dist/adapters/ton/presets.js +94 -0
  224. package/dist/adapters/ton/presets.js.map +1 -0
  225. package/dist/adapters/ton/proofs.d.ts +66 -0
  226. package/dist/adapters/ton/proofs.js +755 -0
  227. package/dist/adapters/ton/proofs.js.map +1 -0
  228. package/dist/adapters/ton/reader.d.ts +235 -0
  229. package/dist/adapters/ton/reader.js +976 -0
  230. package/dist/adapters/ton/reader.js.map +1 -0
  231. package/dist/adapters/ton/tokens.d.ts +10 -0
  232. package/dist/adapters/ton/tokens.js +27 -0
  233. package/dist/adapters/ton/tokens.js.map +1 -0
  234. package/dist/adapters/ton/trace.d.ts +74 -0
  235. package/dist/adapters/ton/trace.js +303 -0
  236. package/dist/adapters/ton/trace.js.map +1 -0
  237. package/dist/adapters/ton/types.d.ts +105 -0
  238. package/dist/{type/transact.js → adapters/ton/types.js} +1 -1
  239. package/dist/adapters/ton/types.js.map +1 -0
  240. package/dist/adapters/ton/wallets.d.ts +86 -0
  241. package/dist/adapters/ton/wallets.js +373 -0
  242. package/dist/adapters/ton/wallets.js.map +1 -0
  243. package/dist/adapters/tron/abi.d.ts +41 -0
  244. package/dist/adapters/tron/abi.js +112 -0
  245. package/dist/adapters/tron/abi.js.map +1 -0
  246. package/dist/adapters/tron/address.d.ts +20 -0
  247. package/dist/adapters/tron/address.js +110 -0
  248. package/dist/adapters/tron/address.js.map +1 -0
  249. package/dist/adapters/tron/builder.d.ts +12 -0
  250. package/dist/adapters/tron/builder.js +569 -0
  251. package/dist/adapters/tron/builder.js.map +1 -0
  252. package/dist/adapters/tron/chains.d.ts +12 -0
  253. package/dist/adapters/tron/chains.js +35 -0
  254. package/dist/adapters/tron/chains.js.map +1 -0
  255. package/dist/adapters/tron/codec.d.ts +10 -0
  256. package/dist/adapters/tron/codec.js +322 -0
  257. package/dist/adapters/tron/codec.js.map +1 -0
  258. package/dist/adapters/tron/decode.d.ts +52 -0
  259. package/dist/adapters/tron/decode.js +280 -0
  260. package/dist/adapters/tron/decode.js.map +1 -0
  261. package/dist/adapters/tron/driver.d.ts +12 -0
  262. package/dist/adapters/tron/driver.js +106 -0
  263. package/dist/adapters/tron/driver.js.map +1 -0
  264. package/dist/adapters/tron/errors.d.ts +74 -0
  265. package/dist/adapters/tron/errors.js +261 -0
  266. package/dist/adapters/tron/errors.js.map +1 -0
  267. package/dist/adapters/tron/fees.d.ts +49 -0
  268. package/dist/adapters/tron/fees.js +166 -0
  269. package/dist/adapters/tron/fees.js.map +1 -0
  270. package/dist/adapters/tron/http.d.ts +173 -0
  271. package/dist/adapters/tron/http.js +729 -0
  272. package/dist/adapters/tron/http.js.map +1 -0
  273. package/dist/adapters/tron/index.d.ts +16 -0
  274. package/dist/adapters/tron/index.js +15 -0
  275. package/dist/adapters/tron/index.js.map +1 -0
  276. package/dist/adapters/tron/network.d.ts +44 -0
  277. package/dist/adapters/tron/network.js +163 -0
  278. package/dist/adapters/tron/network.js.map +1 -0
  279. package/dist/adapters/tron/plugin.d.ts +17 -0
  280. package/dist/adapters/tron/plugin.js +39 -0
  281. package/dist/adapters/tron/plugin.js.map +1 -0
  282. package/dist/adapters/tron/presets.d.ts +5 -0
  283. package/dist/adapters/tron/presets.js +68 -0
  284. package/dist/adapters/tron/presets.js.map +1 -0
  285. package/dist/adapters/tron/proofs.d.ts +80 -0
  286. package/dist/adapters/tron/proofs.js +371 -0
  287. package/dist/adapters/tron/proofs.js.map +1 -0
  288. package/dist/adapters/tron/protobuf.d.ts +36 -0
  289. package/dist/adapters/tron/protobuf.js +90 -0
  290. package/dist/adapters/tron/protobuf.js.map +1 -0
  291. package/dist/adapters/tron/reader.d.ts +57 -0
  292. package/dist/adapters/tron/reader.js +220 -0
  293. package/dist/adapters/tron/reader.js.map +1 -0
  294. package/dist/adapters/tron/tokens.d.ts +9 -0
  295. package/dist/adapters/tron/tokens.js +14 -0
  296. package/dist/adapters/tron/tokens.js.map +1 -0
  297. package/dist/adapters/tron/types.d.ts +166 -0
  298. package/dist/adapters/tron/types.js +3 -0
  299. package/dist/adapters/tron/types.js.map +1 -0
  300. package/dist/adapters/utxo/address.d.ts +51 -0
  301. package/dist/adapters/utxo/address.js +341 -0
  302. package/dist/adapters/utxo/address.js.map +1 -0
  303. package/dist/adapters/utxo/builder.d.ts +35 -0
  304. package/dist/adapters/utxo/builder.js +380 -0
  305. package/dist/adapters/utxo/builder.js.map +1 -0
  306. package/dist/adapters/utxo/chains.d.ts +17 -0
  307. package/dist/adapters/utxo/chains.js +100 -0
  308. package/dist/adapters/utxo/chains.js.map +1 -0
  309. package/dist/adapters/utxo/codec.d.ts +120 -0
  310. package/dist/adapters/utxo/codec.js +408 -0
  311. package/dist/adapters/utxo/codec.js.map +1 -0
  312. package/dist/adapters/utxo/coinselect.d.ts +48 -0
  313. package/dist/adapters/utxo/coinselect.js +131 -0
  314. package/dist/adapters/utxo/coinselect.js.map +1 -0
  315. package/dist/adapters/utxo/context.d.ts +63 -0
  316. package/dist/adapters/utxo/context.js +125 -0
  317. package/dist/adapters/utxo/context.js.map +1 -0
  318. package/dist/adapters/utxo/decode.d.ts +22 -0
  319. package/dist/adapters/utxo/decode.js +121 -0
  320. package/dist/adapters/utxo/decode.js.map +1 -0
  321. package/dist/adapters/utxo/driver.d.ts +16 -0
  322. package/dist/adapters/utxo/driver.js +79 -0
  323. package/dist/adapters/utxo/driver.js.map +1 -0
  324. package/dist/adapters/utxo/ecc.d.ts +9 -0
  325. package/dist/adapters/utxo/ecc.js +26 -0
  326. package/dist/adapters/utxo/ecc.js.map +1 -0
  327. package/dist/adapters/utxo/errors.d.ts +52 -0
  328. package/dist/adapters/utxo/errors.js +191 -0
  329. package/dist/adapters/utxo/errors.js.map +1 -0
  330. package/dist/adapters/utxo/esplora.d.ts +100 -0
  331. package/dist/adapters/utxo/esplora.js +498 -0
  332. package/dist/adapters/utxo/esplora.js.map +1 -0
  333. package/dist/adapters/utxo/fees.d.ts +41 -0
  334. package/dist/adapters/utxo/fees.js +125 -0
  335. package/dist/adapters/utxo/fees.js.map +1 -0
  336. package/dist/adapters/utxo/index.d.ts +17 -0
  337. package/dist/adapters/utxo/index.js +8 -0
  338. package/dist/adapters/utxo/index.js.map +1 -0
  339. package/dist/adapters/utxo/network.d.ts +50 -0
  340. package/dist/adapters/utxo/network.js +165 -0
  341. package/dist/adapters/utxo/network.js.map +1 -0
  342. package/dist/adapters/utxo/plugin.d.ts +17 -0
  343. package/dist/adapters/utxo/plugin.js +41 -0
  344. package/dist/adapters/utxo/plugin.js.map +1 -0
  345. package/dist/adapters/utxo/presets.d.ts +12 -0
  346. package/dist/adapters/utxo/presets.js +47 -0
  347. package/dist/adapters/utxo/presets.js.map +1 -0
  348. package/dist/adapters/utxo/preview.d.ts +3 -0
  349. package/dist/adapters/utxo/preview.js +65 -0
  350. package/dist/adapters/utxo/preview.js.map +1 -0
  351. package/dist/adapters/utxo/proofs.d.ts +66 -0
  352. package/dist/adapters/utxo/proofs.js +469 -0
  353. package/dist/adapters/utxo/proofs.js.map +1 -0
  354. package/dist/adapters/utxo/rawblock.d.ts +46 -0
  355. package/dist/adapters/utxo/rawblock.js +159 -0
  356. package/dist/adapters/utxo/rawblock.js.map +1 -0
  357. package/dist/adapters/utxo/rawtx.d.ts +73 -0
  358. package/dist/adapters/utxo/rawtx.js +264 -0
  359. package/dist/adapters/utxo/rawtx.js.map +1 -0
  360. package/dist/adapters/utxo/reader.d.ts +36 -0
  361. package/dist/adapters/utxo/reader.js +265 -0
  362. package/dist/adapters/utxo/reader.js.map +1 -0
  363. package/dist/adapters/utxo/sdk.d.ts +18 -0
  364. package/dist/adapters/utxo/sdk.js +17 -0
  365. package/dist/adapters/utxo/sdk.js.map +1 -0
  366. package/dist/adapters/utxo/signed-psbt.d.ts +36 -0
  367. package/dist/adapters/utxo/signed-psbt.js +428 -0
  368. package/dist/adapters/utxo/signed-psbt.js.map +1 -0
  369. package/dist/adapters/utxo/spend.d.ts +59 -0
  370. package/dist/adapters/utxo/spend.js +230 -0
  371. package/dist/adapters/utxo/spend.js.map +1 -0
  372. package/dist/adapters/utxo/types.d.ts +167 -0
  373. package/dist/adapters/utxo/types.js +3 -0
  374. package/dist/adapters/utxo/types.js.map +1 -0
  375. package/dist/core/assets/service.d.ts +18 -0
  376. package/dist/core/assets/service.js +69 -0
  377. package/dist/core/assets/service.js.map +1 -0
  378. package/dist/core/blockchain/default-ref.d.ts +4 -0
  379. package/dist/core/blockchain/default-ref.js +16 -0
  380. package/dist/core/blockchain/default-ref.js.map +1 -0
  381. package/dist/core/blockchain/handle.d.ts +179 -0
  382. package/dist/core/blockchain/handle.js +579 -0
  383. package/dist/core/blockchain/handle.js.map +1 -0
  384. package/dist/core/blockchain/internal.d.ts +19 -0
  385. package/dist/core/blockchain/internal.js +16 -0
  386. package/dist/core/blockchain/internal.js.map +1 -0
  387. package/dist/core/blockchain/mapping.d.ts +22 -0
  388. package/dist/core/blockchain/mapping.js +136 -0
  389. package/dist/core/blockchain/mapping.js.map +1 -0
  390. package/dist/core/config/env.d.ts +8 -0
  391. package/dist/core/config/env.js +60 -0
  392. package/dist/core/config/env.js.map +1 -0
  393. package/dist/core/config/merge.d.ts +26 -0
  394. package/dist/core/config/merge.js +144 -0
  395. package/dist/core/config/merge.js.map +1 -0
  396. package/dist/core/config/resolve.d.ts +12 -0
  397. package/dist/core/config/resolve.js +251 -0
  398. package/dist/core/config/resolve.js.map +1 -0
  399. package/dist/core/config/types.d.ts +180 -0
  400. package/dist/core/config/types.js +3 -0
  401. package/dist/core/config/types.js.map +1 -0
  402. package/dist/core/container/builtins.d.ts +4 -0
  403. package/dist/core/container/builtins.js +13 -0
  404. package/dist/core/container/builtins.js.map +1 -0
  405. package/dist/core/container/container.d.ts +62 -0
  406. package/dist/core/container/container.js +500 -0
  407. package/dist/core/container/container.js.map +1 -0
  408. package/dist/core/container/default.d.ts +15 -0
  409. package/dist/core/container/default.js +70 -0
  410. package/dist/core/container/default.js.map +1 -0
  411. package/dist/core/container/internals.d.ts +54 -0
  412. package/dist/core/container/internals.js +21 -0
  413. package/dist/core/container/internals.js.map +1 -0
  414. package/dist/core/container/pool.d.ts +27 -0
  415. package/dist/core/container/pool.js +77 -0
  416. package/dist/core/container/pool.js.map +1 -0
  417. package/dist/core/driver/types.d.ts +379 -0
  418. package/dist/core/driver/types.js +3 -0
  419. package/dist/core/driver/types.js.map +1 -0
  420. package/dist/core/errors/codes.d.ts +163 -0
  421. package/dist/core/errors/codes.js +53 -0
  422. package/dist/core/errors/codes.js.map +1 -0
  423. package/dist/core/errors/error.d.ts +66 -0
  424. package/dist/core/errors/error.js +129 -0
  425. package/dist/core/errors/error.js.map +1 -0
  426. package/dist/core/events/bus.d.ts +12 -0
  427. package/dist/core/events/bus.js +46 -0
  428. package/dist/core/events/bus.js.map +1 -0
  429. package/dist/core/events/logger.d.ts +13 -0
  430. package/dist/core/events/logger.js +42 -0
  431. package/dist/core/events/logger.js.map +1 -0
  432. package/dist/core/events/types.d.ts +131 -0
  433. package/dist/core/events/types.js +3 -0
  434. package/dist/core/events/types.js.map +1 -0
  435. package/dist/core/lifecycle/engine-rules.d.ts +106 -0
  436. package/dist/core/lifecycle/engine-rules.js +267 -0
  437. package/dist/core/lifecycle/engine-rules.js.map +1 -0
  438. package/dist/core/lifecycle/engine.d.ts +502 -0
  439. package/dist/core/lifecycle/engine.js +1750 -0
  440. package/dist/core/lifecycle/engine.js.map +1 -0
  441. package/dist/core/lifecycle/evaluate.d.ts +19 -0
  442. package/dist/core/lifecycle/evaluate.js +77 -0
  443. package/dist/core/lifecycle/evaluate.js.map +1 -0
  444. package/dist/core/lifecycle/intent.d.ts +11 -0
  445. package/dist/core/lifecycle/intent.js +88 -0
  446. package/dist/core/lifecycle/intent.js.map +1 -0
  447. package/dist/core/lifecycle/monitor.d.ts +138 -0
  448. package/dist/core/lifecycle/monitor.js +616 -0
  449. package/dist/core/lifecycle/monitor.js.map +1 -0
  450. package/dist/core/lifecycle/observations.d.ts +17 -0
  451. package/dist/core/lifecycle/observations.js +59 -0
  452. package/dist/core/lifecycle/observations.js.map +1 -0
  453. package/dist/core/lifecycle/reconcile.d.ts +58 -0
  454. package/dist/core/lifecycle/reconcile.js +112 -0
  455. package/dist/core/lifecycle/reconcile.js.map +1 -0
  456. package/dist/core/lifecycle/views.d.ts +49 -0
  457. package/dist/core/lifecycle/views.js +57 -0
  458. package/dist/core/lifecycle/views.js.map +1 -0
  459. package/dist/core/lifecycle/workers.d.ts +88 -0
  460. package/dist/core/lifecycle/workers.js +347 -0
  461. package/dist/core/lifecycle/workers.js.map +1 -0
  462. package/dist/core/model/address.d.ts +32 -0
  463. package/dist/core/model/address.js +43 -0
  464. package/dist/core/model/address.js.map +1 -0
  465. package/dist/core/model/amount.d.ts +25 -0
  466. package/dist/core/model/amount.js +102 -0
  467. package/dist/core/model/amount.js.map +1 -0
  468. package/dist/core/model/asset.d.ts +28 -0
  469. package/dist/core/model/asset.js +47 -0
  470. package/dist/core/model/asset.js.map +1 -0
  471. package/dist/core/model/capability.d.ts +3 -0
  472. package/dist/core/model/capability.js +18 -0
  473. package/dist/core/model/capability.js.map +1 -0
  474. package/dist/core/model/chain.d.ts +63 -0
  475. package/dist/core/model/chain.js +8 -0
  476. package/dist/core/model/chain.js.map +1 -0
  477. package/dist/core/model/fee.d.ts +36 -0
  478. package/dist/core/model/fee.js +17 -0
  479. package/dist/core/model/fee.js.map +1 -0
  480. package/dist/core/model/ids.d.ts +38 -0
  481. package/dist/core/model/ids.js +14 -0
  482. package/dist/core/model/ids.js.map +1 -0
  483. package/dist/core/model/intent.d.ts +63 -0
  484. package/dist/core/model/intent.js +81 -0
  485. package/dist/core/model/intent.js.map +1 -0
  486. package/dist/core/model/ordering.d.ts +28 -0
  487. package/dist/core/model/ordering.js +29 -0
  488. package/dist/core/model/ordering.js.map +1 -0
  489. package/dist/core/model/transaction.d.ts +123 -0
  490. package/dist/{type/lib-types.js → core/model/transaction.js} +1 -1
  491. package/dist/core/model/transaction.js.map +1 -0
  492. package/dist/core/observe/scanner.d.ts +135 -0
  493. package/dist/core/observe/scanner.js +358 -0
  494. package/dist/core/observe/scanner.js.map +1 -0
  495. package/dist/core/ordering/reservations.d.ts +16 -0
  496. package/dist/core/ordering/reservations.js +53 -0
  497. package/dist/core/ordering/reservations.js.map +1 -0
  498. package/dist/core/ordering/sequence.d.ts +61 -0
  499. package/dist/core/ordering/sequence.js +155 -0
  500. package/dist/core/ordering/sequence.js.map +1 -0
  501. package/dist/core/registry/adapters.d.ts +10 -0
  502. package/dist/core/registry/adapters.js +56 -0
  503. package/dist/core/registry/adapters.js.map +1 -0
  504. package/dist/core/registry/assets.d.ts +18 -0
  505. package/dist/core/registry/assets.js +90 -0
  506. package/dist/core/registry/assets.js.map +1 -0
  507. package/dist/core/registry/chains.d.ts +10 -0
  508. package/dist/core/registry/chains.js +80 -0
  509. package/dist/core/registry/chains.js.map +1 -0
  510. package/dist/core/registry/plugin.d.ts +41 -0
  511. package/dist/core/registry/plugin.js +109 -0
  512. package/dist/core/registry/plugin.js.map +1 -0
  513. package/dist/core/registry/providers.d.ts +31 -0
  514. package/dist/core/registry/providers.js +43 -0
  515. package/dist/core/registry/providers.js.map +1 -0
  516. package/dist/core/registry/schemes.d.ts +30 -0
  517. package/dist/core/registry/schemes.js +84 -0
  518. package/dist/core/registry/schemes.js.map +1 -0
  519. package/dist/core/secret/fragments.d.ts +33 -0
  520. package/dist/core/secret/fragments.js +110 -0
  521. package/dist/core/secret/fragments.js.map +1 -0
  522. package/dist/core/secret/redact.d.ts +10 -0
  523. package/dist/core/secret/redact.js +110 -0
  524. package/dist/core/secret/redact.js.map +1 -0
  525. package/dist/core/secret/secret.d.ts +14 -0
  526. package/dist/core/secret/secret.js +42 -0
  527. package/dist/core/secret/secret.js.map +1 -0
  528. package/dist/core/signing/callback.d.ts +10 -0
  529. package/dist/core/signing/callback.js +22 -0
  530. package/dist/core/signing/callback.js.map +1 -0
  531. package/dist/core/signing/guard.d.ts +18 -0
  532. package/dist/core/signing/guard.js +72 -0
  533. package/dist/core/signing/guard.js.map +1 -0
  534. package/dist/core/signing/hd.d.ts +36 -0
  535. package/dist/core/signing/hd.js +167 -0
  536. package/dist/core/signing/hd.js.map +1 -0
  537. package/dist/core/signing/local.d.ts +48 -0
  538. package/dist/core/signing/local.js +190 -0
  539. package/dist/core/signing/local.js.map +1 -0
  540. package/dist/core/signing/orchestrator.d.ts +40 -0
  541. package/dist/core/signing/orchestrator.js +300 -0
  542. package/dist/core/signing/orchestrator.js.map +1 -0
  543. package/dist/core/signing/types.d.ts +64 -0
  544. package/dist/core/signing/types.js +3 -0
  545. package/dist/core/signing/types.js.map +1 -0
  546. package/dist/core/signing/wallet.d.ts +48 -0
  547. package/dist/core/signing/wallet.js +161 -0
  548. package/dist/core/signing/wallet.js.map +1 -0
  549. package/dist/core/store/clone.d.ts +25 -0
  550. package/dist/core/store/clone.js +71 -0
  551. package/dist/core/store/clone.js.map +1 -0
  552. package/dist/core/store/format.d.ts +20 -0
  553. package/dist/core/store/format.js +86 -0
  554. package/dist/core/store/format.js.map +1 -0
  555. package/dist/core/store/memory.d.ts +38 -0
  556. package/dist/core/store/memory.js +325 -0
  557. package/dist/core/store/memory.js.map +1 -0
  558. package/dist/core/store/types.d.ts +258 -0
  559. package/dist/core/store/types.js +119 -0
  560. package/dist/core/store/types.js.map +1 -0
  561. package/dist/core/transport/backoff.d.ts +8 -0
  562. package/dist/core/transport/backoff.js +27 -0
  563. package/dist/core/transport/backoff.js.map +1 -0
  564. package/dist/core/transport/circuit.d.ts +25 -0
  565. package/dist/core/transport/circuit.js +61 -0
  566. package/dist/core/transport/circuit.js.map +1 -0
  567. package/dist/core/transport/http-transport.d.ts +30 -0
  568. package/dist/core/transport/http-transport.js +1703 -0
  569. package/dist/core/transport/http-transport.js.map +1 -0
  570. package/dist/core/transport/rate-limit.d.ts +27 -0
  571. package/dist/core/transport/rate-limit.js +78 -0
  572. package/dist/core/transport/rate-limit.js.map +1 -0
  573. package/dist/core/transport/stale-view.d.ts +11 -0
  574. package/dist/core/transport/stale-view.js +17 -0
  575. package/dist/core/transport/stale-view.js.map +1 -0
  576. package/dist/core/transport/types.d.ts +159 -0
  577. package/dist/core/transport/types.js +6 -0
  578. package/dist/core/transport/types.js.map +1 -0
  579. package/dist/core/util/bytes.d.ts +9 -0
  580. package/dist/core/util/bytes.js +40 -0
  581. package/dist/core/util/bytes.js.map +1 -0
  582. package/dist/core/util/clock.d.ts +6 -0
  583. package/dist/core/util/clock.js +26 -0
  584. package/dist/core/util/clock.js.map +1 -0
  585. package/dist/core/util/freeze.d.ts +8 -0
  586. package/dist/core/util/freeze.js +31 -0
  587. package/dist/core/util/freeze.js.map +1 -0
  588. package/dist/core/util/json.d.ts +35 -0
  589. package/dist/core/util/json.js +174 -0
  590. package/dist/core/util/json.js.map +1 -0
  591. package/dist/core/util/names.d.ts +27 -0
  592. package/dist/core/util/names.js +56 -0
  593. package/dist/core/util/names.js.map +1 -0
  594. package/dist/index.d.ts +65 -14
  595. package/dist/index.js +107 -49
  596. package/dist/index.js.map +1 -1
  597. package/dist/native.d.ts +21 -0
  598. package/dist/native.js +44 -0
  599. package/dist/native.js.map +1 -0
  600. package/dist/testing/contracts/api.d.ts +12 -0
  601. package/dist/testing/contracts/api.js +58 -0
  602. package/dist/testing/contracts/api.js.map +1 -0
  603. package/dist/testing/contracts/cursors.d.ts +6 -0
  604. package/dist/testing/contracts/cursors.js +43 -0
  605. package/dist/testing/contracts/cursors.js.map +1 -0
  606. package/dist/testing/contracts/locks.d.ts +10 -0
  607. package/dist/testing/contracts/locks.js +63 -0
  608. package/dist/testing/contracts/locks.js.map +1 -0
  609. package/dist/testing/contracts/operations.d.ts +21 -0
  610. package/dist/testing/contracts/operations.js +737 -0
  611. package/dist/testing/contracts/operations.js.map +1 -0
  612. package/dist/testing/contracts/sequences.d.ts +6 -0
  613. package/dist/testing/contracts/sequences.js +68 -0
  614. package/dist/testing/contracts/sequences.js.map +1 -0
  615. package/dist/testing/env.d.ts +68 -0
  616. package/dist/testing/env.js +105 -0
  617. package/dist/testing/env.js.map +1 -0
  618. package/dist/testing/fake-chain.d.ts +118 -0
  619. package/dist/testing/fake-chain.js +536 -0
  620. package/dist/testing/fake-chain.js.map +1 -0
  621. package/dist/testing/fake-clock.d.ts +15 -0
  622. package/dist/testing/fake-clock.js +86 -0
  623. package/dist/testing/fake-clock.js.map +1 -0
  624. package/dist/testing/fake-driver.d.ts +15 -0
  625. package/dist/testing/fake-driver.js +458 -0
  626. package/dist/testing/fake-driver.js.map +1 -0
  627. package/dist/testing/fake-fetch.d.ts +32 -0
  628. package/dist/testing/fake-fetch.js +81 -0
  629. package/dist/testing/fake-fetch.js.map +1 -0
  630. package/dist/testing/fake-plugin.d.ts +30 -0
  631. package/dist/testing/fake-plugin.js +66 -0
  632. package/dist/testing/fake-plugin.js.map +1 -0
  633. package/dist/testing/faulty-store.d.ts +38 -0
  634. package/dist/testing/faulty-store.js +71 -0
  635. package/dist/testing/faulty-store.js.map +1 -0
  636. package/dist/testing/generation.d.ts +60 -0
  637. package/dist/testing/generation.js +252 -0
  638. package/dist/testing/generation.js.map +1 -0
  639. package/dist/testing/index.d.ts +28 -0
  640. package/dist/testing/index.js +51 -0
  641. package/dist/testing/index.js.map +1 -0
  642. package/package.json +198 -45
  643. package/dist/libs/eth/account.d.ts +0 -9
  644. package/dist/libs/eth/account.js +0 -58
  645. package/dist/libs/eth/account.js.map +0 -1
  646. package/dist/libs/eth/contract.d.ts +0 -7
  647. package/dist/libs/eth/contract.js +0 -42
  648. package/dist/libs/eth/contract.js.map +0 -1
  649. package/dist/libs/eth/index.d.ts +0 -24
  650. package/dist/libs/eth/index.js +0 -72
  651. package/dist/libs/eth/index.js.map +0 -1
  652. package/dist/libs/eth/transact.d.ts +0 -7
  653. package/dist/libs/eth/transact.js +0 -26
  654. package/dist/libs/eth/transact.js.map +0 -1
  655. package/dist/libs/index.d.ts +0 -2
  656. package/dist/libs/index.js +0 -19
  657. package/dist/libs/index.js.map +0 -1
  658. package/dist/libs/trx/account.d.ts +0 -9
  659. package/dist/libs/trx/account.js +0 -55
  660. package/dist/libs/trx/account.js.map +0 -1
  661. package/dist/libs/trx/contract.d.ts +0 -7
  662. package/dist/libs/trx/contract.js +0 -27
  663. package/dist/libs/trx/contract.js.map +0 -1
  664. package/dist/libs/trx/index.d.ts +0 -22
  665. package/dist/libs/trx/index.js +0 -64
  666. package/dist/libs/trx/index.js.map +0 -1
  667. package/dist/libs/trx/transact.d.ts +0 -7
  668. package/dist/libs/trx/transact.js +0 -26
  669. package/dist/libs/trx/transact.js.map +0 -1
  670. package/dist/tool/common.d.ts +0 -28
  671. package/dist/tool/common.js +0 -33
  672. package/dist/tool/common.js.map +0 -1
  673. package/dist/tool/eth-tools.d.ts +0 -3
  674. package/dist/tool/eth-tools.js +0 -33
  675. package/dist/tool/eth-tools.js.map +0 -1
  676. package/dist/tool/index.d.ts +0 -5
  677. package/dist/tool/index.js +0 -22
  678. package/dist/tool/index.js.map +0 -1
  679. package/dist/tool/logging.d.ts +0 -3
  680. package/dist/tool/logging.js +0 -11
  681. package/dist/tool/logging.js.map +0 -1
  682. package/dist/tool/options.d.ts +0 -6
  683. package/dist/tool/options.js +0 -41
  684. package/dist/tool/options.js.map +0 -1
  685. package/dist/tool/trx-tools.d.ts +0 -3
  686. package/dist/tool/trx-tools.js +0 -20
  687. package/dist/tool/trx-tools.js.map +0 -1
  688. package/dist/type/account.d.ts +0 -9
  689. package/dist/type/account.js.map +0 -1
  690. package/dist/type/common.d.ts +0 -18
  691. package/dist/type/common.js.map +0 -1
  692. package/dist/type/contract.d.ts +0 -10
  693. package/dist/type/contract.js.map +0 -1
  694. package/dist/type/index.d.ts +0 -5
  695. package/dist/type/index.js +0 -22
  696. package/dist/type/index.js.map +0 -1
  697. package/dist/type/lib-types.d.ts +0 -9
  698. package/dist/type/lib-types.js.map +0 -1
  699. package/dist/type/transact.d.ts +0 -7
  700. package/dist/type/transact.js.map +0 -1
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MAX_MEMO_BYTES = exports.DEFAULT_INSTRUCTION_COMPUTE_UNITS = exports.MAX_COMPUTE_UNIT_LIMIT = exports.MAX_TRANSACTION_SIZE = exports.TOKEN_ACCOUNT_SIZE = exports.MINT_SIZE = exports.VOTE_PROGRAM = exports.COMPUTE_BUDGET_PROGRAM = exports.MEMO_V1_PROGRAM = exports.MEMO_PROGRAM = exports.ASSOCIATED_TOKEN_PROGRAM = exports.TOKEN_2022_PROGRAM = exports.TOKEN_PROGRAM = exports.SYSTEM_PROGRAM = void 0;
4
+ exports.setComputeUnitLimit = setComputeUnitLimit;
5
+ exports.setComputeUnitPrice = setComputeUnitPrice;
6
+ exports.systemTransfer = systemTransfer;
7
+ exports.createAssociatedTokenAccountIdempotent = createAssociatedTokenAccountIdempotent;
8
+ exports.transferChecked = transferChecked;
9
+ exports.memo = memo;
10
+ exports.decodeMint = decodeMint;
11
+ exports.decodeTokenAccount = decodeTokenAccount;
12
+ /**
13
+ * Solana program ids, account layouts and the instructions the driver builds, SDK-free
14
+ * (built without `@solana/spl-token`). Every encoding is checked against a real devnet
15
+ * transaction and `@solana/web3.js`'s own builders (`codec.test.ts`).
16
+ */
17
+ const error_1 = require("../../core/errors/error");
18
+ exports.SYSTEM_PROGRAM = '11111111111111111111111111111111';
19
+ exports.TOKEN_PROGRAM = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA';
20
+ exports.TOKEN_2022_PROGRAM = 'TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb';
21
+ exports.ASSOCIATED_TOKEN_PROGRAM = 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL';
22
+ exports.MEMO_PROGRAM = 'MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr';
23
+ /** The first Memo program; still parsed on received transactions. */
24
+ exports.MEMO_V1_PROGRAM = 'Memo1UhkJRfHyvLMcVucJwxXeuD728EqVDDwQDxFMNo';
25
+ exports.COMPUTE_BUDGET_PROGRAM = 'ComputeBudget111111111111111111111111111111';
26
+ exports.VOTE_PROGRAM = 'Vote111111111111111111111111111111111111111';
27
+ /** Classic Token program account sizes (bytes). */
28
+ exports.MINT_SIZE = 82;
29
+ exports.TOKEN_ACCOUNT_SIZE = 165;
30
+ /** A transaction's maximum serialized size (the network packet limit). */
31
+ exports.MAX_TRANSACTION_SIZE = 1232;
32
+ /** The compute-unit limit of one transaction, and the default per instruction. */
33
+ exports.MAX_COMPUTE_UNIT_LIMIT = 1400000n;
34
+ exports.DEFAULT_INSTRUCTION_COMPUTE_UNITS = 200000n;
35
+ /** Memo text limit (UTF-8 bytes): a library policy that keeps every transfer well under
36
+ * the packet limit. */
37
+ exports.MAX_MEMO_BYTES = 256;
38
+ /**
39
+ * DataView and `Uint8Array.of` silently wrap a value that does not fit (2^64 + 5 lamports
40
+ * would encode as 5); we refuse it with a fixed text: `INVALID_AMOUNT` for a u64
41
+ * (lamports, token amounts and micro-lamports), `INVALID_INTENT` for a u8 (decimals) or a
42
+ * u32 (compute units).
43
+ */
44
+ const outOfRange = (bits) => new error_1.ValidationError(bits === 64 ? 'INVALID_AMOUNT' : 'INVALID_INTENT', `a value does not fit in its u${bits} field`);
45
+ function u8(value) {
46
+ if (!Number.isInteger(value) || value < 0 || value > 0xff)
47
+ throw outOfRange(8);
48
+ return Uint8Array.of(value);
49
+ }
50
+ function u32(value) {
51
+ if (value < 0n || value > 0xffffffffn)
52
+ throw outOfRange(32);
53
+ const out = new Uint8Array(4);
54
+ new DataView(out.buffer).setUint32(0, Number(value), true);
55
+ return out;
56
+ }
57
+ function u64(value) {
58
+ if (value < 0n || value >= 2n ** 64n)
59
+ throw outOfRange(64);
60
+ const out = new Uint8Array(8);
61
+ new DataView(out.buffer).setBigUint64(0, value, true);
62
+ return out;
63
+ }
64
+ const bytes = (...parts) => {
65
+ const out = new Uint8Array(parts.reduce((n, p) => n + p.length, 0));
66
+ let offset = 0;
67
+ for (const part of parts) {
68
+ out.set(part, offset);
69
+ offset += part.length;
70
+ }
71
+ return out;
72
+ };
73
+ const signer = (address, writable) => ({
74
+ address,
75
+ signer: true,
76
+ writable,
77
+ });
78
+ const account = (address, writable) => ({
79
+ address,
80
+ signer: false,
81
+ writable,
82
+ });
83
+ /** ComputeBudget `SetComputeUnitLimit` (2, u32). */
84
+ function setComputeUnitLimit(units) {
85
+ return {
86
+ programId: exports.COMPUTE_BUDGET_PROGRAM,
87
+ accounts: [],
88
+ data: bytes(Uint8Array.of(2), u32(units)),
89
+ };
90
+ }
91
+ /** ComputeBudget `SetComputeUnitPrice` (3, u64 micro-lamports). */
92
+ function setComputeUnitPrice(microLamports) {
93
+ return {
94
+ programId: exports.COMPUTE_BUDGET_PROGRAM,
95
+ accounts: [],
96
+ data: bytes(Uint8Array.of(3), u64(microLamports)),
97
+ };
98
+ }
99
+ /** System `Transfer` (2, u64 lamports). */
100
+ function systemTransfer(from, to, lamports) {
101
+ return {
102
+ programId: exports.SYSTEM_PROGRAM,
103
+ accounts: [signer(from, true), account(to, true)],
104
+ data: bytes(u32(2n), u64(lamports)),
105
+ };
106
+ }
107
+ /** Associated Token Account `CreateIdempotent` (1). */
108
+ function createAssociatedTokenAccountIdempotent(payer, associated, owner, mint) {
109
+ return {
110
+ programId: exports.ASSOCIATED_TOKEN_PROGRAM,
111
+ accounts: [
112
+ signer(payer, true),
113
+ account(associated, true),
114
+ account(owner, false),
115
+ account(mint, false),
116
+ account(exports.SYSTEM_PROGRAM, false),
117
+ account(exports.TOKEN_PROGRAM, false),
118
+ ],
119
+ data: Uint8Array.of(1),
120
+ };
121
+ }
122
+ /** Token `TransferChecked` (12, u64 amount, u8 decimals). */
123
+ function transferChecked(source, mint, destination, authority, amount, decimals) {
124
+ return {
125
+ programId: exports.TOKEN_PROGRAM,
126
+ accounts: [
127
+ account(source, true),
128
+ account(mint, false),
129
+ account(destination, true),
130
+ signer(authority, false),
131
+ ],
132
+ data: bytes(Uint8Array.of(12), u64(amount), u8(decimals)),
133
+ };
134
+ }
135
+ /** Memo v2: the UTF-8 text, no accounts. */
136
+ function memo(text) {
137
+ return { programId: exports.MEMO_PROGRAM, accounts: [], data: new TextEncoder().encode(text) };
138
+ }
139
+ /** A classic Token mint (82 bytes): its decimals, when initialized. */
140
+ function decodeMint(data) {
141
+ if (data.length !== exports.MINT_SIZE || data[45] !== 1)
142
+ return null;
143
+ return { decimals: data[44] };
144
+ }
145
+ /** A classic Token account (165 bytes): mint, owner, amount and state. */
146
+ function decodeTokenAccount(data) {
147
+ if (data.length !== exports.TOKEN_ACCOUNT_SIZE)
148
+ return null;
149
+ const state = data[108];
150
+ if (state !== 1 && state !== 2)
151
+ return null;
152
+ return {
153
+ mint: data.slice(0, 32),
154
+ owner: data.slice(32, 64),
155
+ amount: new DataView(data.buffer, data.byteOffset + 64, 8).getBigUint64(0, true),
156
+ frozen: state === 2,
157
+ };
158
+ }
159
+ //# sourceMappingURL=programs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"programs.js","sourceRoot":"","sources":["../../../src/adapters/solana/programs.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Solana program ids, account layouts and the instructions the driver builds, SDK-free\n * (built without `@solana/spl-token`). Every encoding is checked against a real devnet\n * transaction and `@solana/web3.js`'s own builders (`codec.test.ts`).\n */\nimport { ValidationError } from '../../core/errors/error';\nimport type { SolanaInstruction } from './types';\n\nexport const SYSTEM_PROGRAM = '11111111111111111111111111111111';\nexport const TOKEN_PROGRAM = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA';\nexport const TOKEN_2022_PROGRAM = 'TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb';\nexport const ASSOCIATED_TOKEN_PROGRAM = 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL';\nexport const MEMO_PROGRAM = 'MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr';\n/** The first Memo program; still parsed on received transactions. */\nexport const MEMO_V1_PROGRAM = 'Memo1UhkJRfHyvLMcVucJwxXeuD728EqVDDwQDxFMNo';\nexport const COMPUTE_BUDGET_PROGRAM = 'ComputeBudget111111111111111111111111111111';\nexport const VOTE_PROGRAM = 'Vote111111111111111111111111111111111111111';\n\n/** Classic Token program account sizes (bytes). */\nexport const MINT_SIZE = 82;\nexport const TOKEN_ACCOUNT_SIZE = 165;\n/** A transaction's maximum serialized size (the network packet limit). */\nexport const MAX_TRANSACTION_SIZE = 1232;\n/** The compute-unit limit of one transaction, and the default per instruction. */\nexport const MAX_COMPUTE_UNIT_LIMIT = 1_400_000n;\nexport const DEFAULT_INSTRUCTION_COMPUTE_UNITS = 200_000n;\n/** Memo text limit (UTF-8 bytes): a library policy that keeps every transfer well under\n * the packet limit. */\nexport const MAX_MEMO_BYTES = 256;\n\n/**\n * DataView and `Uint8Array.of` silently wrap a value that does not fit (2^64 + 5 lamports\n * would encode as 5); we refuse it with a fixed text: `INVALID_AMOUNT` for a u64\n * (lamports, token amounts and micro-lamports), `INVALID_INTENT` for a u8 (decimals) or a\n * u32 (compute units).\n */\nconst outOfRange = (bits: 8 | 32 | 64) =>\n new ValidationError(\n bits === 64 ? 'INVALID_AMOUNT' : 'INVALID_INTENT',\n `a value does not fit in its u${bits} field`,\n );\n\nfunction u8(value: number): Uint8Array {\n if (!Number.isInteger(value) || value < 0 || value > 0xff) throw outOfRange(8);\n return Uint8Array.of(value);\n}\n\nfunction u32(value: bigint): Uint8Array {\n if (value < 0n || value > 0xffff_ffffn) throw outOfRange(32);\n const out = new Uint8Array(4);\n new DataView(out.buffer).setUint32(0, Number(value), true);\n return out;\n}\n\nfunction u64(value: bigint): Uint8Array {\n if (value < 0n || value >= 2n ** 64n) throw outOfRange(64);\n const out = new Uint8Array(8);\n new DataView(out.buffer).setBigUint64(0, value, true);\n return out;\n}\n\nconst bytes = (...parts: Uint8Array[]): Uint8Array => {\n const out = new Uint8Array(parts.reduce((n, p) => n + p.length, 0));\n let offset = 0;\n for (const part of parts) {\n out.set(part, offset);\n offset += part.length;\n }\n return out;\n};\n\nconst signer = (address: string, writable: boolean) => ({\n address,\n signer: true,\n writable,\n});\nconst account = (address: string, writable: boolean) => ({\n address,\n signer: false,\n writable,\n});\n\n/** ComputeBudget `SetComputeUnitLimit` (2, u32). */\nexport function setComputeUnitLimit(units: bigint): SolanaInstruction {\n return {\n programId: COMPUTE_BUDGET_PROGRAM,\n accounts: [],\n data: bytes(Uint8Array.of(2), u32(units)),\n };\n}\n\n/** ComputeBudget `SetComputeUnitPrice` (3, u64 micro-lamports). */\nexport function setComputeUnitPrice(microLamports: bigint): SolanaInstruction {\n return {\n programId: COMPUTE_BUDGET_PROGRAM,\n accounts: [],\n data: bytes(Uint8Array.of(3), u64(microLamports)),\n };\n}\n\n/** System `Transfer` (2, u64 lamports). */\nexport function systemTransfer(\n from: string,\n to: string,\n lamports: bigint,\n): SolanaInstruction {\n return {\n programId: SYSTEM_PROGRAM,\n accounts: [signer(from, true), account(to, true)],\n data: bytes(u32(2n), u64(lamports)),\n };\n}\n\n/** Associated Token Account `CreateIdempotent` (1). */\nexport function createAssociatedTokenAccountIdempotent(\n payer: string,\n associated: string,\n owner: string,\n mint: string,\n): SolanaInstruction {\n return {\n programId: ASSOCIATED_TOKEN_PROGRAM,\n accounts: [\n signer(payer, true),\n account(associated, true),\n account(owner, false),\n account(mint, false),\n account(SYSTEM_PROGRAM, false),\n account(TOKEN_PROGRAM, false),\n ],\n data: Uint8Array.of(1),\n };\n}\n\n/** Token `TransferChecked` (12, u64 amount, u8 decimals). */\nexport function transferChecked(\n source: string,\n mint: string,\n destination: string,\n authority: string,\n amount: bigint,\n decimals: number,\n): SolanaInstruction {\n return {\n programId: TOKEN_PROGRAM,\n accounts: [\n account(source, true),\n account(mint, false),\n account(destination, true),\n signer(authority, false),\n ],\n data: bytes(Uint8Array.of(12), u64(amount), u8(decimals)),\n };\n}\n\n/** Memo v2: the UTF-8 text, no accounts. */\nexport function memo(text: string): SolanaInstruction {\n return { programId: MEMO_PROGRAM, accounts: [], data: new TextEncoder().encode(text) };\n}\n\n/** A classic Token mint (82 bytes): its decimals, when initialized. */\nexport function decodeMint(data: Uint8Array): { readonly decimals: number } | null {\n if (data.length !== MINT_SIZE || data[45] !== 1) return null;\n return { decimals: data[44] as number };\n}\n\n/** A classic Token account (165 bytes): mint, owner, amount and state. */\nexport function decodeTokenAccount(data: Uint8Array): {\n readonly mint: Uint8Array;\n readonly owner: Uint8Array;\n readonly amount: bigint;\n readonly frozen: boolean;\n} | null {\n if (data.length !== TOKEN_ACCOUNT_SIZE) return null;\n const state = data[108];\n if (state !== 1 && state !== 2) return null;\n return {\n mint: data.slice(0, 32),\n owner: data.slice(32, 64),\n amount: new DataView(data.buffer, data.byteOffset + 64, 8).getBigUint64(0, true),\n frozen: state === 2,\n };\n}\n"]}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Proofs and block scanning. Each fact is attested at its own height with a monotone
3
+ * predicate, never at a height one endpoint proposes. "My finalized height is past H" is
4
+ * a quorum read of `getBlockHeight({ commitment: 'finalized' })` keyed on `height > H`;
5
+ * the block at a height is a quorum read of `getBlock(slot, { commitment: 'finalized' })`
6
+ * keyed on its consensus fields, so an endpoint that has not finalized it answers nothing
7
+ * and decides nothing.
8
+ *
9
+ * The expiry height itself is never taken on trust: the build read it from one endpoint,
10
+ * and a height reported too low would prove an Attempt expired while it can still land,
11
+ * so `rebuild` would pay twice. A verdict rests on the height the quorum attests for the
12
+ * transaction's blockhash: when the finalized block at the slot the build recorded
13
+ * carries it, that block's height plus `BLOCKHASH_VALIDITY` is the last valid height,
14
+ * whatever was recorded; otherwise the finalized block at the recorded height minus
15
+ * `BLOCKHASH_VALIDITY` must carry it, which confirms the recorded height without the
16
+ * slot. Neither decides nothing.
17
+ *
18
+ * A transaction is proven absent only by reading every block of its window
19
+ * under finality: each block certifies its own height and its parent's hash, from the
20
+ * blockhash's own block to the window's last, so a lagging, pruned, snapshot-jumped or
21
+ * long-term-storage-gapped backend behind a load-balanced URL can only answer "not
22
+ * available" (decides nothing), never a short window.
23
+ *
24
+ * Only a definitive negative proof answers "no". Every other RPC error
25
+ * on these paths decides nothing (`undecided`: a retryable `PROVIDER_UNAVAILABLE`).
26
+ *
27
+ * Tags: every read a verdict rests on carries the contract table's proof tags (`ChainDriver`
28
+ * in the core's `driver/types.ts`: purpose `proof`, quorum `'proof'`), with two deliberate
29
+ * exceptions, both single-endpoint `monitor` reads of hints the quorum then re-attests: the
30
+ * finalized height behind `finalizedHead` (the one unanchored head), and the
31
+ * height-to-slot lookups of `HeightIndex` (`attestedBlock`). A wrong hint names a block the
32
+ * quorum does not attest at that height, so it only ever decides nothing.
33
+ */
34
+ import type { BlockSource, ProofSource } from '../../core/driver/types';
35
+ import { type SolanaContext } from './reader';
36
+ /**
37
+ * A blockhash is valid for this many blocks after its own: agave's `MAX_PROCESSING_AGE`
38
+ * (v4.3.0: `runtime/src/bank.rs` sets every bank's `max_processing_age` to it, and
39
+ * `get_blockhash_last_valid_block_height` answers `block_height + max_processing_age −
40
+ * age`, so the newest blockhash's last valid height is its block's height plus 150).
41
+ */
42
+ export declare const BLOCKHASH_VALIDITY = 150n;
43
+ /**
44
+ * The heights that can hold a transaction whose blockhash gives `lastValidBlockHeight`:
45
+ * from the block after the blockhash's own, through `lastValidBlockHeight + 1`. agave checks
46
+ * a blockhash's age against the including block's PARENT, so the block after
47
+ * `lastValidBlockHeight` still accepts it.
48
+ */
49
+ export declare function windowOf(lastValidHeight: bigint): {
50
+ readonly first: bigint;
51
+ readonly end: bigint;
52
+ };
53
+ /** Library policy: an unanchored head trails one endpoint's view by this peer skew. */
54
+ export declare const PEER_SKEW = 2n;
55
+ export declare function createSolanaProofs(ctx: SolanaContext): ProofSource;
56
+ export declare function createSolanaBlocks(ctx: SolanaContext): BlockSource;