@getomnichain/omnichain 0.5.1 → 0.6.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 (293) hide show
  1. package/CHANGELOG.md +108 -0
  2. package/README.md +5 -3
  3. package/dist/cjs/address.factory.js +7 -4
  4. package/dist/cjs/address.factory.js.map +1 -1
  5. package/dist/cjs/asset_balance.js +7 -0
  6. package/dist/cjs/asset_balance.js.map +1 -0
  7. package/dist/cjs/asset_map.js +45 -0
  8. package/dist/cjs/asset_map.js.map +1 -0
  9. package/dist/cjs/asset_registry.js +21 -0
  10. package/dist/cjs/asset_registry.js.map +1 -0
  11. package/dist/cjs/bip39.js +88 -0
  12. package/dist/cjs/bip39.js.map +1 -0
  13. package/dist/cjs/bytes_from_hex.js +34 -0
  14. package/dist/cjs/bytes_from_hex.js.map +1 -0
  15. package/dist/cjs/chain_type.js +35 -0
  16. package/dist/cjs/chain_type.js.map +1 -0
  17. package/dist/cjs/index.js +12 -0
  18. package/dist/cjs/index.js.map +1 -1
  19. package/dist/cjs/network_type.js +5 -2
  20. package/dist/cjs/network_type.js.map +1 -1
  21. package/dist/cjs/python_builtins.js +225 -0
  22. package/dist/cjs/python_builtins.js.map +1 -0
  23. package/dist/cjs/python_json.js +120 -0
  24. package/dist/cjs/python_json.js.map +1 -0
  25. package/dist/cjs/python_pydantic.js +50 -0
  26. package/dist/cjs/python_pydantic.js.map +1 -0
  27. package/dist/cjs/python_repr.js +172 -0
  28. package/dist/cjs/python_repr.js.map +1 -0
  29. package/dist/cjs/signed_transaction.js +24 -0
  30. package/dist/cjs/signed_transaction.js.map +1 -0
  31. package/dist/cjs/stellar/index.js +26 -0
  32. package/dist/cjs/stellar/index.js.map +1 -0
  33. package/dist/cjs/stellar/stellar_address.js +25 -0
  34. package/dist/cjs/stellar/stellar_address.js.map +1 -0
  35. package/dist/cjs/stellar/stellar_asset.js +155 -0
  36. package/dist/cjs/stellar/stellar_asset.js.map +1 -0
  37. package/dist/cjs/stellar/stellar_assets.js +26 -0
  38. package/dist/cjs/stellar/stellar_assets.js.map +1 -0
  39. package/dist/cjs/stellar/stellar_chain.js +1334 -0
  40. package/dist/cjs/stellar/stellar_chain.js.map +1 -0
  41. package/dist/cjs/stellar/stellar_chains.js +28 -0
  42. package/dist/cjs/stellar/stellar_chains.js.map +1 -0
  43. package/dist/cjs/stellar/stellar_gas_pricing.js +22 -0
  44. package/dist/cjs/stellar/stellar_gas_pricing.js.map +1 -0
  45. package/dist/cjs/stellar/stellar_strkey.js +71 -0
  46. package/dist/cjs/stellar/stellar_strkey.js.map +1 -0
  47. package/dist/cjs/stellar/stellar_transaction_status.js +72 -0
  48. package/dist/cjs/stellar/stellar_transaction_status.js.map +1 -0
  49. package/dist/cjs/stellar/stellar_transactions.js +475 -0
  50. package/dist/cjs/stellar/stellar_transactions.js.map +1 -0
  51. package/dist/cjs/stellar/stellar_wallet.js +195 -0
  52. package/dist/cjs/stellar/stellar_wallet.js.map +1 -0
  53. package/dist/cjs/token.js +3 -1
  54. package/dist/cjs/token.js.map +1 -1
  55. package/dist/cjs/transaction_json.js +85 -0
  56. package/dist/cjs/transaction_json.js.map +1 -0
  57. package/dist/cjs/transaction_prerequisite.js +19 -0
  58. package/dist/cjs/transaction_prerequisite.js.map +1 -0
  59. package/dist/cjs/transaction_simulation.js +21 -0
  60. package/dist/cjs/transaction_simulation.js.map +1 -0
  61. package/dist/cjs/tron/index.js +32 -0
  62. package/dist/cjs/tron/index.js.map +1 -0
  63. package/dist/cjs/tron/tron_abi.js +287 -0
  64. package/dist/cjs/tron/tron_abi.js.map +1 -0
  65. package/dist/cjs/tron/tron_address.js +38 -0
  66. package/dist/cjs/tron/tron_address.js.map +1 -0
  67. package/dist/cjs/tron/tron_asset.js +56 -0
  68. package/dist/cjs/tron/tron_asset.js.map +1 -0
  69. package/dist/cjs/tron/tron_assets.js +17 -0
  70. package/dist/cjs/tron/tron_assets.js.map +1 -0
  71. package/dist/cjs/tron/tron_base58.js +95 -0
  72. package/dist/cjs/tron/tron_base58.js.map +1 -0
  73. package/dist/cjs/tron/tron_canonical_transaction.js +268 -0
  74. package/dist/cjs/tron/tron_canonical_transaction.js.map +1 -0
  75. package/dist/cjs/tron/tron_chain.js +809 -0
  76. package/dist/cjs/tron/tron_chain.js.map +1 -0
  77. package/dist/cjs/tron/tron_chains.js +19 -0
  78. package/dist/cjs/tron/tron_chains.js.map +1 -0
  79. package/dist/cjs/tron/tron_client.js +327 -0
  80. package/dist/cjs/tron/tron_client.js.map +1 -0
  81. package/dist/cjs/tron/tron_contract.js +195 -0
  82. package/dist/cjs/tron/tron_contract.js.map +1 -0
  83. package/dist/cjs/tron/tron_gas_pricing.js +21 -0
  84. package/dist/cjs/tron/tron_gas_pricing.js.map +1 -0
  85. package/dist/cjs/tron/tron_keys.js +251 -0
  86. package/dist/cjs/tron/tron_keys.js.map +1 -0
  87. package/dist/cjs/tron/tron_transaction_builder.js +196 -0
  88. package/dist/cjs/tron/tron_transaction_builder.js.map +1 -0
  89. package/dist/cjs/tron/tron_transaction_status.js +118 -0
  90. package/dist/cjs/tron/tron_transaction_status.js.map +1 -0
  91. package/dist/cjs/tron/tron_transactions.js +192 -0
  92. package/dist/cjs/tron/tron_transactions.js.map +1 -0
  93. package/dist/cjs/tron/tron_wallet.js +152 -0
  94. package/dist/cjs/tron/tron_wallet.js.map +1 -0
  95. package/dist/cjs/unsigned_transaction.js +12 -0
  96. package/dist/cjs/unsigned_transaction.js.map +1 -1
  97. package/dist/cjs/wallet.base.js +29 -0
  98. package/dist/cjs/wallet.base.js.map +1 -0
  99. package/dist/esm/address.factory.d.ts.map +1 -1
  100. package/dist/esm/address.factory.js +7 -4
  101. package/dist/esm/address.factory.js.map +1 -1
  102. package/dist/esm/asset_balance.d.ts +5 -0
  103. package/dist/esm/asset_balance.d.ts.map +1 -0
  104. package/dist/esm/asset_balance.js +3 -0
  105. package/dist/esm/asset_balance.js.map +1 -0
  106. package/dist/esm/asset_map.d.ts +12 -0
  107. package/dist/esm/asset_map.d.ts.map +1 -0
  108. package/dist/esm/asset_map.js +40 -0
  109. package/dist/esm/asset_map.js.map +1 -0
  110. package/dist/esm/asset_registry.d.ts +6 -0
  111. package/dist/esm/asset_registry.d.ts.map +1 -0
  112. package/dist/esm/asset_registry.js +15 -0
  113. package/dist/esm/asset_registry.js.map +1 -0
  114. package/dist/esm/bip39.d.ts +4 -0
  115. package/dist/esm/bip39.d.ts.map +1 -0
  116. package/dist/esm/bip39.js +83 -0
  117. package/dist/esm/bip39.js.map +1 -0
  118. package/dist/esm/bytes_from_hex.d.ts +2 -0
  119. package/dist/esm/bytes_from_hex.d.ts.map +1 -0
  120. package/dist/esm/bytes_from_hex.js +31 -0
  121. package/dist/esm/bytes_from_hex.js.map +1 -0
  122. package/dist/esm/chain_type.d.ts +29 -0
  123. package/dist/esm/chain_type.d.ts.map +1 -0
  124. package/dist/esm/chain_type.js +32 -0
  125. package/dist/esm/chain_type.js.map +1 -0
  126. package/dist/esm/index.d.ts +12 -0
  127. package/dist/esm/index.d.ts.map +1 -1
  128. package/dist/esm/index.js +12 -0
  129. package/dist/esm/index.js.map +1 -1
  130. package/dist/esm/network_type.d.ts +3 -2
  131. package/dist/esm/network_type.d.ts.map +1 -1
  132. package/dist/esm/network_type.js +6 -3
  133. package/dist/esm/network_type.js.map +1 -1
  134. package/dist/esm/python_builtins.d.ts +13 -0
  135. package/dist/esm/python_builtins.d.ts.map +1 -0
  136. package/dist/esm/python_builtins.js +212 -0
  137. package/dist/esm/python_builtins.js.map +1 -0
  138. package/dist/esm/python_json.d.ts +9 -0
  139. package/dist/esm/python_json.d.ts.map +1 -0
  140. package/dist/esm/python_json.js +117 -0
  141. package/dist/esm/python_json.js.map +1 -0
  142. package/dist/esm/python_pydantic.d.ts +11 -0
  143. package/dist/esm/python_pydantic.d.ts.map +1 -0
  144. package/dist/esm/python_pydantic.js +39 -0
  145. package/dist/esm/python_pydantic.js.map +1 -0
  146. package/dist/esm/python_repr.d.ts +17 -0
  147. package/dist/esm/python_repr.d.ts.map +1 -0
  148. package/dist/esm/python_repr.js +160 -0
  149. package/dist/esm/python_repr.js.map +1 -0
  150. package/dist/esm/signed_transaction.d.ts +17 -0
  151. package/dist/esm/signed_transaction.d.ts.map +1 -0
  152. package/dist/esm/signed_transaction.js +19 -0
  153. package/dist/esm/signed_transaction.js.map +1 -0
  154. package/dist/esm/stellar/index.d.ts +10 -0
  155. package/dist/esm/stellar/index.d.ts.map +1 -0
  156. package/dist/esm/stellar/index.js +10 -0
  157. package/dist/esm/stellar/index.js.map +1 -0
  158. package/dist/esm/stellar/stellar_address.d.ts +8 -0
  159. package/dist/esm/stellar/stellar_address.d.ts.map +1 -0
  160. package/dist/esm/stellar/stellar_address.js +21 -0
  161. package/dist/esm/stellar/stellar_address.js.map +1 -0
  162. package/dist/esm/stellar/stellar_asset.d.ts +52 -0
  163. package/dist/esm/stellar/stellar_asset.d.ts.map +1 -0
  164. package/dist/esm/stellar/stellar_asset.js +147 -0
  165. package/dist/esm/stellar/stellar_asset.js.map +1 -0
  166. package/dist/esm/stellar/stellar_assets.d.ts +11 -0
  167. package/dist/esm/stellar/stellar_assets.d.ts.map +1 -0
  168. package/dist/esm/stellar/stellar_assets.js +23 -0
  169. package/dist/esm/stellar/stellar_assets.js.map +1 -0
  170. package/dist/esm/stellar/stellar_chain.d.ts +173 -0
  171. package/dist/esm/stellar/stellar_chain.d.ts.map +1 -0
  172. package/dist/esm/stellar/stellar_chain.js +1325 -0
  173. package/dist/esm/stellar/stellar_chain.js.map +1 -0
  174. package/dist/esm/stellar/stellar_chains.d.ts +5 -0
  175. package/dist/esm/stellar/stellar_chains.d.ts.map +1 -0
  176. package/dist/esm/stellar/stellar_chains.js +25 -0
  177. package/dist/esm/stellar/stellar_chains.js.map +1 -0
  178. package/dist/esm/stellar/stellar_gas_pricing.d.ts +13 -0
  179. package/dist/esm/stellar/stellar_gas_pricing.d.ts.map +1 -0
  180. package/dist/esm/stellar/stellar_gas_pricing.js +18 -0
  181. package/dist/esm/stellar/stellar_gas_pricing.js.map +1 -0
  182. package/dist/esm/stellar/stellar_strkey.d.ts +3 -0
  183. package/dist/esm/stellar/stellar_strkey.d.ts.map +1 -0
  184. package/dist/esm/stellar/stellar_strkey.js +67 -0
  185. package/dist/esm/stellar/stellar_strkey.js.map +1 -0
  186. package/dist/esm/stellar/stellar_transaction_status.d.ts +39 -0
  187. package/dist/esm/stellar/stellar_transaction_status.d.ts.map +1 -0
  188. package/dist/esm/stellar/stellar_transaction_status.js +68 -0
  189. package/dist/esm/stellar/stellar_transaction_status.js.map +1 -0
  190. package/dist/esm/stellar/stellar_transactions.d.ts +166 -0
  191. package/dist/esm/stellar/stellar_transactions.d.ts.map +1 -0
  192. package/dist/esm/stellar/stellar_transactions.js +451 -0
  193. package/dist/esm/stellar/stellar_transactions.js.map +1 -0
  194. package/dist/esm/stellar/stellar_wallet.d.ts +43 -0
  195. package/dist/esm/stellar/stellar_wallet.d.ts.map +1 -0
  196. package/dist/esm/stellar/stellar_wallet.js +190 -0
  197. package/dist/esm/stellar/stellar_wallet.js.map +1 -0
  198. package/dist/esm/token.d.ts +1 -0
  199. package/dist/esm/token.d.ts.map +1 -1
  200. package/dist/esm/token.js +3 -1
  201. package/dist/esm/token.js.map +1 -1
  202. package/dist/esm/transaction_json.d.ts +21 -0
  203. package/dist/esm/transaction_json.d.ts.map +1 -0
  204. package/dist/esm/transaction_json.js +75 -0
  205. package/dist/esm/transaction_json.js.map +1 -0
  206. package/dist/esm/transaction_prerequisite.d.ts +17 -0
  207. package/dist/esm/transaction_prerequisite.d.ts.map +1 -0
  208. package/dist/esm/transaction_prerequisite.js +13 -0
  209. package/dist/esm/transaction_prerequisite.js.map +1 -0
  210. package/dist/esm/transaction_simulation.d.ts +20 -0
  211. package/dist/esm/transaction_simulation.d.ts.map +1 -0
  212. package/dist/esm/transaction_simulation.js +17 -0
  213. package/dist/esm/transaction_simulation.js.map +1 -0
  214. package/dist/esm/tron/index.d.ts +16 -0
  215. package/dist/esm/tron/index.d.ts.map +1 -0
  216. package/dist/esm/tron/index.js +16 -0
  217. package/dist/esm/tron/index.js.map +1 -0
  218. package/dist/esm/tron/tron_abi.d.ts +3 -0
  219. package/dist/esm/tron/tron_abi.d.ts.map +1 -0
  220. package/dist/esm/tron/tron_abi.js +283 -0
  221. package/dist/esm/tron/tron_abi.js.map +1 -0
  222. package/dist/esm/tron/tron_address.d.ts +10 -0
  223. package/dist/esm/tron/tron_address.d.ts.map +1 -0
  224. package/dist/esm/tron/tron_address.js +34 -0
  225. package/dist/esm/tron/tron_address.js.map +1 -0
  226. package/dist/esm/tron/tron_asset.d.ts +19 -0
  227. package/dist/esm/tron/tron_asset.d.ts.map +1 -0
  228. package/dist/esm/tron/tron_asset.js +51 -0
  229. package/dist/esm/tron/tron_asset.js.map +1 -0
  230. package/dist/esm/tron/tron_assets.d.ts +10 -0
  231. package/dist/esm/tron/tron_assets.d.ts.map +1 -0
  232. package/dist/esm/tron/tron_assets.js +14 -0
  233. package/dist/esm/tron/tron_assets.js.map +1 -0
  234. package/dist/esm/tron/tron_base58.d.ts +7 -0
  235. package/dist/esm/tron/tron_base58.d.ts.map +1 -0
  236. package/dist/esm/tron/tron_base58.js +84 -0
  237. package/dist/esm/tron/tron_base58.js.map +1 -0
  238. package/dist/esm/tron/tron_canonical_transaction.d.ts +164 -0
  239. package/dist/esm/tron/tron_canonical_transaction.d.ts.map +1 -0
  240. package/dist/esm/tron/tron_canonical_transaction.js +262 -0
  241. package/dist/esm/tron/tron_canonical_transaction.js.map +1 -0
  242. package/dist/esm/tron/tron_chain.d.ts +136 -0
  243. package/dist/esm/tron/tron_chain.d.ts.map +1 -0
  244. package/dist/esm/tron/tron_chain.js +801 -0
  245. package/dist/esm/tron/tron_chain.js.map +1 -0
  246. package/dist/esm/tron/tron_chains.d.ts +5 -0
  247. package/dist/esm/tron/tron_chains.d.ts.map +1 -0
  248. package/dist/esm/tron/tron_chains.js +16 -0
  249. package/dist/esm/tron/tron_chains.js.map +1 -0
  250. package/dist/esm/tron/tron_client.d.ts +56 -0
  251. package/dist/esm/tron/tron_client.d.ts.map +1 -0
  252. package/dist/esm/tron/tron_client.js +319 -0
  253. package/dist/esm/tron/tron_client.js.map +1 -0
  254. package/dist/esm/tron/tron_contract.d.ts +69 -0
  255. package/dist/esm/tron/tron_contract.d.ts.map +1 -0
  256. package/dist/esm/tron/tron_contract.js +190 -0
  257. package/dist/esm/tron/tron_contract.js.map +1 -0
  258. package/dist/esm/tron/tron_gas_pricing.d.ts +12 -0
  259. package/dist/esm/tron/tron_gas_pricing.d.ts.map +1 -0
  260. package/dist/esm/tron/tron_gas_pricing.js +17 -0
  261. package/dist/esm/tron/tron_gas_pricing.js.map +1 -0
  262. package/dist/esm/tron/tron_keys.d.ts +61 -0
  263. package/dist/esm/tron/tron_keys.d.ts.map +1 -0
  264. package/dist/esm/tron/tron_keys.js +228 -0
  265. package/dist/esm/tron/tron_keys.js.map +1 -0
  266. package/dist/esm/tron/tron_transaction_builder.d.ts +56 -0
  267. package/dist/esm/tron/tron_transaction_builder.d.ts.map +1 -0
  268. package/dist/esm/tron/tron_transaction_builder.js +188 -0
  269. package/dist/esm/tron/tron_transaction_builder.js.map +1 -0
  270. package/dist/esm/tron/tron_transaction_status.d.ts +54 -0
  271. package/dist/esm/tron/tron_transaction_status.d.ts.map +1 -0
  272. package/dist/esm/tron/tron_transaction_status.js +113 -0
  273. package/dist/esm/tron/tron_transaction_status.js.map +1 -0
  274. package/dist/esm/tron/tron_transactions.d.ts +96 -0
  275. package/dist/esm/tron/tron_transactions.d.ts.map +1 -0
  276. package/dist/esm/tron/tron_transactions.js +181 -0
  277. package/dist/esm/tron/tron_transactions.js.map +1 -0
  278. package/dist/esm/tron/tron_wallet.d.ts +43 -0
  279. package/dist/esm/tron/tron_wallet.d.ts.map +1 -0
  280. package/dist/esm/tron/tron_wallet.js +148 -0
  281. package/dist/esm/tron/tron_wallet.js.map +1 -0
  282. package/dist/esm/unsigned_transaction.d.ts +5 -0
  283. package/dist/esm/unsigned_transaction.d.ts.map +1 -1
  284. package/dist/esm/unsigned_transaction.js +12 -0
  285. package/dist/esm/unsigned_transaction.js.map +1 -1
  286. package/dist/esm/wallet.base.d.ts +32 -0
  287. package/dist/esm/wallet.base.d.ts.map +1 -0
  288. package/dist/esm/wallet.base.js +23 -0
  289. package/dist/esm/wallet.base.js.map +1 -0
  290. package/docs/README.md +16 -7
  291. package/docs/stellar.md +113 -0
  292. package/docs/tron.md +103 -0
  293. package/package.json +14 -2
@@ -0,0 +1,147 @@
1
+ import { Asset as StellarSdkAsset, Networks, StrKey } from '@stellar/stellar-sdk';
2
+ import { AbstractAssetBalance } from "../asset_balance.js";
3
+ import { ChainError, ChainErrorKinds } from "../errors.js";
4
+ import { getRegisteredAsset, registerAsset, searchRegisteredAsset } from "../asset_registry.js";
5
+ import { pyStr } from "../python_repr.js";
6
+ import { Token } from "../token.js";
7
+ export function stellarSdkAsset(code, issuer) {
8
+ const asset = new StellarSdkAsset(code, issuer);
9
+ asset.code = code;
10
+ return asset;
11
+ }
12
+ export function stellarSdkAssetFromXdr(xdrAsset) {
13
+ if (xdrAsset.switch().name === 'assetTypeNative')
14
+ return StellarSdkAsset.native();
15
+ const credit = xdrAsset.switch().name === 'assetTypeCreditAlphanum4' ? xdrAsset.alphaNum4() : xdrAsset.alphaNum12();
16
+ const code = Buffer.from(credit.assetCode()).toString('utf8').replace(/\0+$/, '');
17
+ return stellarSdkAsset(code, StrKey.encodeEd25519PublicKey(credit.issuer().ed25519()));
18
+ }
19
+ const STELLAR_ASSET_CODE_REGEX = /^[a-zA-Z0-9]{1,12}$/;
20
+ export class StellarAsset extends Token {
21
+ static allowsEmptySymbol = true;
22
+ static NATIVE_CODE = 'XLM';
23
+ static DECIMALS = 7;
24
+ static TRUST_LINE_MAX_LIMIT = '922337203685.4775807';
25
+ static PUBLIC_NATIVE_CONTRACT_ID = 'CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA';
26
+ static TESTNET_NATIVE_CONTRACT_ID = 'CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC';
27
+ code;
28
+ issuer;
29
+ contractId;
30
+ networkPassphrase;
31
+ static getNativeContractId(networkPassphrase) {
32
+ if (networkPassphrase === Networks.PUBLIC)
33
+ return StellarAsset.PUBLIC_NATIVE_CONTRACT_ID;
34
+ if (networkPassphrase === Networks.TESTNET)
35
+ return StellarAsset.TESTNET_NATIVE_CONTRACT_ID;
36
+ throw new ChainError(ChainErrorKinds.InvalidArgument, `Network passphrase ${networkPassphrase} not supported`);
37
+ }
38
+ constructor(init) {
39
+ const networkNativeContractId = StellarAsset.getNativeContractId(init.networkPassphrase);
40
+ const code = init.code;
41
+ const issuer = init.issuer;
42
+ let contractId = init.contractId ?? null;
43
+ let decimals = init.decimals ?? null;
44
+ if (issuer !== null) {
45
+ if (!StrKey.isValidEd25519PublicKey(issuer)) {
46
+ throw invalid(init.chainId, `Invalid stellar issuer address: ${issuer}`);
47
+ }
48
+ if (!(code.length >= 1 && code.length <= 12)) {
49
+ throw invalid(init.chainId, `Invalid stellar asset code: ${code}, expected length 1..12.`);
50
+ }
51
+ if (decimals !== null && decimals !== StellarAsset.DECIMALS) {
52
+ throw invalid(init.chainId, `Invalid stellar asset decimals for SAC asset: ${decimals}`);
53
+ }
54
+ if (!STELLAR_ASSET_CODE_REGEX.test(code)) {
55
+ throw invalid(init.chainId, 'Asset code is invalid (maximum alphanumeric, 12 characters at max).');
56
+ }
57
+ const sacContractId = stellarSdkAsset(code, issuer).contractId(init.networkPassphrase);
58
+ if (contractId !== null && contractId !== sacContractId) {
59
+ throw invalid(init.chainId, `Invalid contract id for SAC asset code ${code} issued ${issuer}, contract id ${contractId}, Expected ${contractId}`);
60
+ }
61
+ decimals = StellarAsset.DECIMALS;
62
+ contractId = sacContractId;
63
+ }
64
+ else if (contractId !== null && contractId !== networkNativeContractId) {
65
+ if (decimals === null) {
66
+ throw invalid(init.chainId, 'Must pass decimals for Non-SAC Soroban Tokens');
67
+ }
68
+ }
69
+ else {
70
+ if (code !== StellarAsset.NATIVE_CODE) {
71
+ throw invalid(init.chainId, `Invalid stellar code ${code} for native asset, expected ${StellarAsset.NATIVE_CODE}.`);
72
+ }
73
+ if (decimals !== null && decimals !== StellarAsset.DECIMALS) {
74
+ throw invalid(init.chainId, `Invalid stellar asset decimals for native xlm: ${decimals}`);
75
+ }
76
+ if (contractId !== null && contractId !== networkNativeContractId) {
77
+ throw invalid(init.chainId, `Invalid contract id ${contractId} for native asset on network ${init.networkPassphrase}, expected ${networkNativeContractId}.`);
78
+ }
79
+ contractId = networkNativeContractId;
80
+ decimals = StellarAsset.DECIMALS;
81
+ }
82
+ super(init.chainId, code, contractId, decimals);
83
+ this.code = code;
84
+ this.issuer = issuer;
85
+ this.contractId = contractId;
86
+ this.networkPassphrase = init.networkPassphrase;
87
+ registerAsset(this);
88
+ }
89
+ static searchRegisteredAsset(chainId, identifier) {
90
+ return searchRegisteredAsset(chainId, identifier);
91
+ }
92
+ static getRegisteredAsset(chainId, symbol, identifier) {
93
+ return getRegisteredAsset(chainId, symbol, identifier);
94
+ }
95
+ isNative() {
96
+ return (this.issuer === null &&
97
+ (this.contractId === StellarAsset.PUBLIC_NATIVE_CONTRACT_ID || this.contractId === StellarAsset.TESTNET_NATIVE_CONTRACT_ID));
98
+ }
99
+ isSac() {
100
+ return this.issuer !== null;
101
+ }
102
+ isNonSacSorobanToken() {
103
+ return !this.isNative() && this.issuer === null;
104
+ }
105
+ toSdkAsset() {
106
+ if (this.isNative())
107
+ return StellarSdkAsset.native();
108
+ if (this.issuer === null) {
109
+ throw new ChainError(ChainErrorKinds.InvalidArgument, 'Cannot convert non-SAC Soroban token to StellarSdkAsset', {
110
+ chainId: this.chainId,
111
+ identifier: this.contractId,
112
+ });
113
+ }
114
+ return stellarSdkAsset(this.code, this.issuer);
115
+ }
116
+ toString() {
117
+ return `StellarAsset[chainId:${this.chainId}, code:${this.code}, issuer:${pyStr(this.issuer)}, contract_id: ${this.contractId}, decimals:${this.decimals}]`;
118
+ }
119
+ }
120
+ function invalid(chainId, message) {
121
+ return new ChainError(ChainErrorKinds.InvalidArgument, message, { chainId });
122
+ }
123
+ export class StellarNativeAssetBalance extends AbstractAssetBalance {
124
+ totalHr;
125
+ reservedHr;
126
+ availableHr;
127
+ constructor(init) {
128
+ super();
129
+ this.totalHr = init.totalHr;
130
+ this.reservedHr = init.reservedHr;
131
+ this.availableHr = init.availableHr;
132
+ }
133
+ get amountHr() {
134
+ return this.availableHr;
135
+ }
136
+ }
137
+ export class StellarTokenAssetBalance extends AbstractAssetBalance {
138
+ _amountHr;
139
+ constructor(amountHr) {
140
+ super();
141
+ this._amountHr = amountHr;
142
+ }
143
+ get amountHr() {
144
+ return this._amountHr;
145
+ }
146
+ }
147
+ //# sourceMappingURL=stellar_asset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stellar_asset.js","sourceRoot":"","sources":["../../../stellar/stellar_asset.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { FiatCurrency } from '../chain_type.ts';
2
+ import { StellarAsset } from './stellar_asset.ts';
3
+ export declare const STELLAR_XLM: StellarAsset;
4
+ export declare const STELLAR_USDC: StellarAsset;
5
+ export declare const STELLAR_EURC: StellarAsset;
6
+ export declare const STELLAR_BNUSD: StellarAsset;
7
+ export declare const STELLAR_TESTNET_XLM: StellarAsset;
8
+ export declare const STELLAR_TESTNET_USDC: StellarAsset;
9
+ export declare const STELLAR_TESTNET_EURC: StellarAsset;
10
+ export declare const STELLAR_MAINNET_STABLECOINS_PEG: ReadonlyMap<StellarAsset, FiatCurrency>;
11
+ //# sourceMappingURL=stellar_assets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stellar_assets.d.ts","sourceRoot":"","sources":["../../../stellar/stellar_assets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,eAAO,MAAM,WAAW,cAA6B,CAAC;AAEtD,eAAO,MAAM,YAAY,cAAoG,CAAC;AAE9H,eAAO,MAAM,YAAY,cAAoG,CAAC;AAE9H,eAAO,MAAM,aAAa,cAOxB,CAAC;AAEH,eAAO,MAAM,mBAAmB,cAA6B,CAAC;AAE9D,eAAO,MAAM,oBAAoB,cAAoG,CAAC;AAEtI,eAAO,MAAM,oBAAoB,cAAoG,CAAC;AAEtI,eAAO,MAAM,+BAA+B,EAAE,WAAW,CAAC,YAAY,EAAE,YAAY,CAGlF,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { AssetMap } from "../asset_map.js";
2
+ import { FiatCurrency } from "../chain_type.js";
3
+ import { StellarAsset } from "./stellar_asset.js";
4
+ import { StellarMainnet, StellarTestnet } from "./stellar_chains.js";
5
+ export const STELLAR_XLM = StellarMainnet.nativeAsset;
6
+ export const STELLAR_USDC = StellarMainnet.createSacToken('USDC', 'GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN');
7
+ export const STELLAR_EURC = StellarMainnet.createSacToken('EURC', 'GDHU6WRG4IEQXM5NZ4BMPKOXHW76MZM4Y2IEMFDVXBSDP6SJY4ITNPP2');
8
+ export const STELLAR_BNUSD = new StellarAsset({
9
+ chainId: StellarMainnet.chainId,
10
+ networkPassphrase: StellarMainnet.networkPassphrase,
11
+ code: 'BnUSD',
12
+ issuer: null,
13
+ contractId: 'CCT4ZYIYZ3TUO2AWQFEOFGBZ6HQP3GW5TA37CK7CRZVFRDXYTHTYX7KP',
14
+ decimals: 18,
15
+ });
16
+ export const STELLAR_TESTNET_XLM = StellarTestnet.nativeAsset;
17
+ export const STELLAR_TESTNET_USDC = StellarTestnet.createSacToken('USDC', 'GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5');
18
+ export const STELLAR_TESTNET_EURC = StellarTestnet.createSacToken('EURC', 'GB3Q6QDZYTHWT7E5PVS3W7FUT5GVAFC5KSZFFLPU25GO7VTC3NM2ZTVO');
19
+ export const STELLAR_MAINNET_STABLECOINS_PEG = new AssetMap([
20
+ [STELLAR_USDC, FiatCurrency.USD],
21
+ [STELLAR_EURC, FiatCurrency.EUR],
22
+ ]);
23
+ //# sourceMappingURL=stellar_assets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stellar_assets.js","sourceRoot":"","sources":["../../../stellar/stellar_assets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErE,MAAM,CAAC,MAAM,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC;AAEtD,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,EAAE,0DAA0D,CAAC,CAAC;AAE9H,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,EAAE,0DAA0D,CAAC,CAAC;AAE9H,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,YAAY,CAAC;IAC5C,OAAO,EAAE,cAAc,CAAC,OAAO;IAC/B,iBAAiB,EAAE,cAAc,CAAC,iBAAiB;IACnD,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,0DAA0D;IACtE,QAAQ,EAAE,EAAE;CACb,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,cAAc,CAAC,WAAW,CAAC;AAE9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,EAAE,0DAA0D,CAAC,CAAC;AAEtI,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,EAAE,0DAA0D,CAAC,CAAC;AAEtI,MAAM,CAAC,MAAM,+BAA+B,GAA4C,IAAI,QAAQ,CAA6B;IAC/H,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC;IAChC,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC;CACjC,CAAC,CAAC"}
@@ -0,0 +1,173 @@
1
+ import { Horizon, MuxedAccount, Transaction, rpc, xdr } from '@stellar/stellar-sdk';
2
+ import { Decimal } from 'decimal.js';
3
+ import { GasPricingType } from '../abstract_gas_pricing.ts';
4
+ import { AssetMap } from '../asset_map.ts';
5
+ import { BroadcastOpts, Chain, CreateTransferRequest, GetTransactionStatusOpts, VerifyMessageSignatureRequest } from '../chain.base.ts';
6
+ import { ChainType } from '../chain_type.ts';
7
+ import { PyStringContainer } from '../python_builtins.ts';
8
+ import { FeePriority } from '../priority.ts';
9
+ import { AbstractSignedTransaction } from '../signed_transaction.ts';
10
+ import { AbstractTransactionPrerequisite, UnsignedTransactionWithPrerequisites } from '../transaction_prerequisite.ts';
11
+ import { NestedBalanceChanges } from '../transaction_status.ts';
12
+ import { AbstractSignedMessage, SignedTransactionBroadcaster } from '../wallet.base.ts';
13
+ import { StellarAsset } from './stellar_asset.ts';
14
+ import { StellarTransactionStatus } from './stellar_transaction_status.ts';
15
+ import { StellarBroadcastTransactionResponse, StellarChangeTrustLineTransactionPrerequisite, StellarExpertTransactionInfo, StellarSorobanTransferEvent, StellarTransactionSimulationResult, StellarTrustLine, StellarUnsignedTransaction, SorobanSimulateHostFunctionResult } from './stellar_transactions.ts';
16
+ export declare function stellarMessageHash(message: string | Uint8Array): Buffer;
17
+ export declare class StellarSignedMessage extends AbstractSignedMessage {
18
+ constructor(signature: string);
19
+ }
20
+ export interface StellarChainInit {
21
+ name: string;
22
+ defaultHorizonUrl: string;
23
+ defaultSorobanRpcUrl: string;
24
+ explorerUrl: string;
25
+ stellarExpertApiUrl: string;
26
+ networkPassphrase: string;
27
+ chainId: number;
28
+ chainAgnosticStellarIdentifier: string;
29
+ horizonUrl?: string | null;
30
+ sorobanRpcUrl?: string | null;
31
+ }
32
+ export interface StellarCreateTransferTransactionRequest {
33
+ asset: StellarAsset;
34
+ amountHr: Decimal;
35
+ senderAddress: string;
36
+ receiverAddress: string;
37
+ isFullBalance?: boolean;
38
+ memoText?: string | null;
39
+ gasPricing?: GasPricingType;
40
+ }
41
+ export interface StellarBalanceChangeFilters {
42
+ filteredWallets?: PyStringContainer | null;
43
+ filteredAssets?: ReadonlyArray<StellarAsset> | null;
44
+ }
45
+ export interface StellarCreateExactInSwapTransactionRequest {
46
+ sendAsset: StellarAsset;
47
+ receiveAsset: StellarAsset;
48
+ sendAmount: Decimal;
49
+ senderAddress: string;
50
+ receiverAddress: string;
51
+ slippageTolerancePercent: Decimal;
52
+ }
53
+ export interface StellarBuildUnsignedTransactionRequest {
54
+ sourceAddress: string;
55
+ operations: xdr.Operation[];
56
+ baseFee?: number | null;
57
+ memoText?: string | null;
58
+ }
59
+ export interface StellarBuildTokenTransferOperationRequest {
60
+ asset: StellarAsset;
61
+ senderAddress: string;
62
+ receiverAddress: string;
63
+ amountHr: Decimal;
64
+ }
65
+ export interface StellarCallHostFunctionRequest {
66
+ contractId: string;
67
+ functionName: string;
68
+ parameters: xdr.ScVal[];
69
+ accountId?: string | null;
70
+ }
71
+ export interface StellarSimulateTransactionRequest {
72
+ transaction: StellarUnsignedTransaction;
73
+ senderWalletAddress: string;
74
+ filteredWallets?: Iterable<string> | null;
75
+ filteredAssets?: Iterable<StellarAsset> | null;
76
+ }
77
+ export interface StellarGetTransactionStatusOpts extends GetTransactionStatusOpts {
78
+ filteredWallets?: Iterable<string> | null;
79
+ filteredAssets?: Iterable<StellarAsset> | null;
80
+ }
81
+ export declare class StellarChain extends Chain implements SignedTransactionBroadcaster {
82
+ readonly chainAgnosticNamespace: string;
83
+ readonly stellarExpertApiUrl: string;
84
+ readonly networkPassphrase: string;
85
+ readonly defaultHorizonUrl: string;
86
+ readonly defaultSorobanRpcUrl: string;
87
+ horizonUrl: string | null;
88
+ sorobanRpcUrl: string | null;
89
+ private readonly _randomCallAccountId;
90
+ private readonly _nativeAsset;
91
+ private _horizonServer;
92
+ private _sorobanServer;
93
+ private readonly nonSacTokenCache;
94
+ private readonly assetDecimalsByIdentifier;
95
+ static readonly _FEE_PRIORITY_MULTIPLIERS: Readonly<Record<FeePriority, number>>;
96
+ constructor(init: StellarChainInit);
97
+ get asyncHorizonServer(): Horizon.Server;
98
+ get asyncSorobanServer(): rpc.Server;
99
+ static horizonUrlEnvForChainId(chainId: number): string;
100
+ static sorobanRpcUrlEnvForChainId(chainId: number): string;
101
+ _loadHorizonUrl(): string;
102
+ _loadSorobanRpcUrl(): string;
103
+ get chainType(): ChainType;
104
+ get nativeAsset(): StellarAsset;
105
+ get nativeToken(): StellarAsset;
106
+ toString(): string;
107
+ getAssetExplorerUrl(asset: StellarAsset): string | null;
108
+ getWalletAddressExplorerUrl(walletAddress: string): string;
109
+ getTransactionExplorerUrl(txHash: string): string;
110
+ getWalletExplorerUrl(address: string): string;
111
+ getTokenExplorerUrl(tokenIdentifier?: string): string;
112
+ static formatAssetIdentifier(identifier: string | null | undefined): string | null;
113
+ static validateAssetIdentifier(identifier: string | null | undefined): void;
114
+ static formatWalletAddress(walletAddress: string): string;
115
+ static validateWalletAddress(walletAddress: string): void;
116
+ static toClassicAccountId(address: string): string;
117
+ validateAddress(raw: string): boolean;
118
+ validateTokenIdentifier(raw: string | undefined): boolean;
119
+ getBaseFee(): Promise<number>;
120
+ _resolveGasPricing(gasPricing: GasPricingType): Promise<number>;
121
+ createNonSacToken(contractId: string): Promise<StellarAsset>;
122
+ createSacToken(code: string, issuer: string | null): StellarAsset;
123
+ resolveAsset(identifier: string | null | undefined): Promise<StellarAsset>;
124
+ createAsset(_symbol: string, _identifier: string | null | undefined, _decimals: number): StellarAsset;
125
+ _callHostFunction(req: StellarCallHostFunctionRequest): Promise<SorobanSimulateHostFunctionResult[] | null>;
126
+ _sorobanRpc(method: string, params: Record<string, unknown>): Promise<unknown>;
127
+ _getAssetDecimalsInternal(_symbol: string, identifier: string | null | undefined): Promise<number>;
128
+ getCachedAssetDecimals(symbol: string, identifier: string | null | undefined): Promise<number>;
129
+ _checkMemoRequired(transaction: Transaction): Promise<void>;
130
+ _submitTransaction(envelope: Transaction): Promise<unknown>;
131
+ _loadAccountData(accountId: string): Promise<Horizon.ServerApi.AccountRecord>;
132
+ getAssetBalance(asset: StellarAsset, ownerAddress: string): Promise<Decimal>;
133
+ getWalletBalance(ownerAddress: string): Promise<AssetMap<StellarAsset, Decimal>>;
134
+ getTrustLineLimit(walletAddress: string, asset: StellarAsset): Promise<StellarTrustLine>;
135
+ createPrerequisiteForReceivableAsset(receiveAsset: StellarAsset, receiverAddress: string): StellarChangeTrustLineTransactionPrerequisite | null;
136
+ buildUnsignedTransaction(req: StellarBuildUnsignedTransactionRequest): StellarUnsignedTransaction;
137
+ buildTokenTransferOperation(req: StellarBuildTokenTransferOperationRequest): xdr.Operation;
138
+ createTransferTransaction(req: StellarCreateTransferTransactionRequest): Promise<UnsignedTransactionWithPrerequisites<StellarUnsignedTransaction, AbstractTransactionPrerequisite>>;
139
+ createExactInSwapTransaction(req: StellarCreateExactInSwapTransactionRequest): Promise<UnsignedTransactionWithPrerequisites<StellarUnsignedTransaction, AbstractTransactionPrerequisite>>;
140
+ static _muxedToClassic(account: string | MuxedAccount): string;
141
+ _balanceChangesFromOperations(tx: Transaction, opts?: StellarBalanceChangeFilters): NestedBalanceChanges;
142
+ _getTransactionDataFromStellarExpert(pagingToken: string): Promise<StellarExpertTransactionInfo>;
143
+ getTransactionStatus(txHash: string, opts?: StellarGetTransactionStatusOpts): Promise<StellarTransactionStatus>;
144
+ getTransactionStatus(txHashes: string[], opts?: StellarGetTransactionStatusOpts): Promise<StellarTransactionStatus[]>;
145
+ private getTransactionStatusOnce;
146
+ _effectsToBalanceChanges(txHash: string, opts?: StellarBalanceChangeFilters): Promise<NestedBalanceChanges>;
147
+ static getTransfersFromDiagnosisEvents(diagnosisEvents: xdr.DiagnosticEvent[]): StellarSorobanTransferEvent[];
148
+ getBalanceChangesFromDiagnosisEvents(diagnosisEvents: xdr.DiagnosticEvent[], opts?: StellarBalanceChangeFilters): Promise<NestedBalanceChanges>;
149
+ supportsFullTransactionSimulation(unsignedTransaction: StellarUnsignedTransaction): Promise<boolean>;
150
+ simulateTransaction(req: StellarSimulateTransactionRequest): Promise<StellarTransactionSimulationResult>;
151
+ broadcastSignedTransaction(signedTransaction: AbstractSignedTransaction): Promise<StellarBroadcastTransactionResponse>;
152
+ static verifySignature(publicKey: string, message: string, signedMessage: AbstractSignedMessage): boolean;
153
+ verifySignature(publicKey: string, message: string, signedMessage: AbstractSignedMessage): boolean;
154
+ getAccountNextSequence(walletAddress: string): Promise<bigint>;
155
+ getBalance(owner: string, tokenIdentifier?: string): Promise<bigint>;
156
+ createTransferUnsignedTransaction(req: CreateTransferRequest): Promise<StellarUnsignedTransaction>;
157
+ private isPrerequisiteAlreadyMet;
158
+ broadcast(signed: string | Uint8Array, opts?: BroadcastOpts): Promise<string>;
159
+ getChainTipHeight(): Promise<number>;
160
+ verifyMessageSignature(req: VerifyMessageSignatureRequest): Promise<boolean>;
161
+ private parseSignedInput;
162
+ private upsertFee;
163
+ private identifierIndex;
164
+ private assertStellarAsset;
165
+ private envName;
166
+ private loadUrlFromEnv;
167
+ private soroban;
168
+ private rpcError;
169
+ }
170
+ export declare function scvalToUint32(value: xdr.ScVal): number;
171
+ export declare function scvalToUtf8String(value: xdr.ScVal): string;
172
+ export declare function scvalToInt128(value: xdr.ScVal): bigint;
173
+ //# sourceMappingURL=stellar_chain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stellar_chain.d.ts","sourceRoot":"","sources":["../../../stellar/stellar_chain.ts"],"names":[],"mappings":"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"}