@swapkit/helpers 4.5.9 → 4.12.4

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 (109) hide show
  1. package/dist/LICENSE +246 -0
  2. package/dist/api/index.cjs +0 -4
  3. package/dist/api/index.js +1 -4
  4. package/dist/chunk-1m30h0t9.js +1 -0
  5. package/dist/chunk-57tjgeg1.js +5 -0
  6. package/dist/chunk-7xv3mp86.js +4 -0
  7. package/dist/contracts.cjs +0 -3
  8. package/dist/contracts.js +0 -3
  9. package/dist/index.cjs +1 -7
  10. package/dist/index.js +1 -7
  11. package/dist/tokens.cjs +0 -3
  12. package/dist/tokens.js +0 -3
  13. package/dist/types/api/index.d.ts +129 -153
  14. package/dist/types/api/index.d.ts.map +1 -1
  15. package/dist/types/api/midgard/endpoints.d.ts +2 -1
  16. package/dist/types/api/midgard/endpoints.d.ts.map +1 -1
  17. package/dist/types/api/swapkitApi/endpoints.d.ts +137 -159
  18. package/dist/types/api/swapkitApi/endpoints.d.ts.map +1 -1
  19. package/dist/types/api/swapkitApi/types.d.ts +1050 -23
  20. package/dist/types/api/swapkitApi/types.d.ts.map +1 -1
  21. package/dist/types/api/thornode/endpoints.d.ts +1 -1
  22. package/dist/types/api/thornode/endpoints.d.ts.map +1 -1
  23. package/dist/types/index.d.ts +5 -0
  24. package/dist/types/index.d.ts.map +1 -1
  25. package/dist/types/modules/assetValue.d.ts +6 -7
  26. package/dist/types/modules/assetValue.d.ts.map +1 -1
  27. package/dist/types/modules/requestClient.d.ts +1 -1
  28. package/dist/types/modules/requestClient.d.ts.map +1 -1
  29. package/dist/types/modules/swapKitConfig.d.ts +24 -78
  30. package/dist/types/modules/swapKitConfig.d.ts.map +1 -1
  31. package/dist/types/modules/swapKitError.d.ts +150 -14
  32. package/dist/types/modules/swapKitError.d.ts.map +1 -1
  33. package/dist/types/modules/widgetAuth.d.ts +6 -0
  34. package/dist/types/modules/widgetAuth.d.ts.map +1 -0
  35. package/dist/types/types/derivationPath.d.ts +1 -1
  36. package/dist/types/types/derivationPath.d.ts.map +1 -1
  37. package/dist/types/types/quotes.d.ts +2 -6
  38. package/dist/types/types/quotes.d.ts.map +1 -1
  39. package/dist/types/types/sdk.d.ts +6 -0
  40. package/dist/types/types/sdk.d.ts.map +1 -1
  41. package/dist/types/types/wallet.d.ts +12 -3
  42. package/dist/types/types/wallet.d.ts.map +1 -1
  43. package/dist/types/utils/asset.d.ts +17 -1
  44. package/dist/types/utils/asset.d.ts.map +1 -1
  45. package/dist/types/utils/chains.d.ts +5 -0
  46. package/dist/types/utils/chains.d.ts.map +1 -1
  47. package/dist/types/utils/derivationPath.d.ts +4 -2
  48. package/dist/types/utils/derivationPath.d.ts.map +1 -1
  49. package/dist/types/utils/wallets.d.ts +18 -2
  50. package/dist/types/utils/wallets.d.ts.map +1 -1
  51. package/package.json +12 -30
  52. package/dist/api/index.cjs.map +0 -14
  53. package/dist/api/index.js.map +0 -14
  54. package/dist/chunk-pfmeq01a.js +0 -5
  55. package/dist/chunk-pfmeq01a.js.map +0 -9
  56. package/dist/chunk-vb4wtm2w.js +0 -4
  57. package/dist/chunk-vb4wtm2w.js.map +0 -9
  58. package/dist/contracts.cjs.map +0 -10
  59. package/dist/contracts.js.map +0 -10
  60. package/dist/index.cjs.map +0 -30
  61. package/dist/index.js.map +0 -30
  62. package/dist/tokens.cjs.map +0 -10
  63. package/dist/tokens.js.map +0 -10
  64. package/src/api/index.ts +0 -9
  65. package/src/api/midgard/endpoints.ts +0 -348
  66. package/src/api/midgard/types.ts +0 -515
  67. package/src/api/swapkitApi/endpoints.ts +0 -247
  68. package/src/api/swapkitApi/types.ts +0 -624
  69. package/src/api/thornode/endpoints.ts +0 -105
  70. package/src/api/thornode/types.ts +0 -247
  71. package/src/contracts.ts +0 -1
  72. package/src/index.ts +0 -28
  73. package/src/modules/__tests__/assetValue.test.ts +0 -2452
  74. package/src/modules/__tests__/bigIntArithmetics.test.ts +0 -410
  75. package/src/modules/__tests__/feeMultiplier.test.ts +0 -125
  76. package/src/modules/__tests__/swapKitConfig.test.ts +0 -425
  77. package/src/modules/__tests__/swapKitNumber.test.ts +0 -435
  78. package/src/modules/assetValue.ts +0 -532
  79. package/src/modules/bigIntArithmetics.ts +0 -362
  80. package/src/modules/feeMultiplier.ts +0 -80
  81. package/src/modules/requestClient.ts +0 -110
  82. package/src/modules/swapKitConfig.ts +0 -174
  83. package/src/modules/swapKitError.ts +0 -470
  84. package/src/modules/swapKitNumber.ts +0 -13
  85. package/src/tokens.ts +0 -1
  86. package/src/types/commonTypes.ts +0 -10
  87. package/src/types/derivationPath.ts +0 -11
  88. package/src/types/errors/apiV1.ts +0 -0
  89. package/src/types/index.ts +0 -5
  90. package/src/types/quotes.ts +0 -174
  91. package/src/types/sdk.ts +0 -38
  92. package/src/types/wallet.ts +0 -124
  93. package/src/utils/__tests__/asset.test.ts +0 -186
  94. package/src/utils/__tests__/derivationPath.test.ts +0 -142
  95. package/src/utils/__tests__/explorerUrls.test.ts +0 -59
  96. package/src/utils/__tests__/liquidity.test.ts +0 -302
  97. package/src/utils/__tests__/memo.test.ts +0 -99
  98. package/src/utils/__tests__/others.test.ts +0 -165
  99. package/src/utils/__tests__/validators.test.ts +0 -84
  100. package/src/utils/__tests__/wallets.test.ts +0 -621
  101. package/src/utils/asset.ts +0 -399
  102. package/src/utils/chains.ts +0 -100
  103. package/src/utils/derivationPath.ts +0 -101
  104. package/src/utils/explorerUrls.ts +0 -32
  105. package/src/utils/liquidity.ts +0 -150
  106. package/src/utils/memo.ts +0 -102
  107. package/src/utils/others.ts +0 -62
  108. package/src/utils/validators.ts +0 -32
  109. package/src/utils/wallets.ts +0 -237
@@ -1 +1 @@
1
- {"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../../src/utils/asset.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAwD,MAAM,gBAAgB,CAAC;AAE7F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAIxD,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;AAE5E,MAAM,MAAM,2BAA2B,CAAC,CAAC,SAAS,OAAO,IAAI,CAAC,SAAS,IAAI,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC;AAEnH,eAAO,MAAM,kBAAkB,kGAQrB,CAAC;AAyIX,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;;;GAwHnF;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,WAe7E;AAED,eAAO,MAAM,kBAAkB,GAAI,aAAa,iBAAiB;;;CA8ChE,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,wCAiB/E;AAED,eAAO,MAAM,eAAe,GAAI,aAAa,MAAM;;;;;CAYlD,CAAC;AAEF,wBAAsB,WAAW,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,UAAU,EAAE,GAAG,KAAK,IAAI,MAAM,EAAE,CAAA;CAAE,gv2QAsBlH"}
1
+ {"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../../src/utils/asset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAwD,MAAM,gBAAgB,CAAC;AAE7F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAIxD,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;AAE5E,MAAM,MAAM,2BAA2B,CAAC,CAAC,SAAS,OAAO,IAAI,CAAC,SAAS,IAAI,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC;AAEnH,eAAO,MAAM,kBAAkB,kGAQrB,CAAC;AA+LX,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;;;GAmGnF;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,WAiB7E;AAED,eAAO,MAAM,kBAAkB,GAAI,aAAa,iBAAiB;;;CA+ChE,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,wCAkB/E;AAED,eAAO,MAAM,eAAe,GAAI,aAAa,MAAM;;;;;CAYlD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;;;;;;EASjE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,UAEjD;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,UAAU,EAAE,GAAG,KAAK,IAAI,MAAM,EAAE,CAAA;CAAE,+BAuBlH"}
@@ -1,4 +1,9 @@
1
1
  import { Chain, type StagenetChain } from "@swapkit/types";
2
+ export declare const _rpcCache: Map<Chain | StagenetChain, {
3
+ timestamp: number;
4
+ url: string;
5
+ }>;
6
+ export declare function getRPCUrlSync(chain: Chain | StagenetChain): string;
2
7
  export declare function getRPCUrl(chain: Chain | StagenetChain): Promise<string>;
3
8
  /**
4
9
  * @deprecated
@@ -1 +1 @@
1
- {"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../../../src/utils/chains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAA2B,KAAK,aAAa,EAA8B,MAAM,gBAAgB,CAAC;AAiDhH,wBAAsB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,mBAmC3D;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,KAAK,QAO3D"}
1
+ {"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../../../src/utils/chains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAA2B,KAAK,aAAa,EAA8B,MAAM,gBAAgB,CAAC;AAkDhH,eAAO,MAAM,SAAS;eAA+C,MAAM;SAAO,MAAM;EAAK,CAAC;AAG9F,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,UAqBzD;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,mBAkB3D;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,KAAK,QAO3D"}
@@ -12,8 +12,10 @@ export declare function updateDerivationPath(path: DerivationPathArray, params:
12
12
  account: number;
13
13
  } | {
14
14
  change: number;
15
- }): [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0];
16
- export declare function derivationPathToString([network, chainId, account, change, index]: [number, number, number, number?, number?] | [number, number, number, number, number?] | DerivationPathArray): string;
15
+ }): [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0];
16
+ export declare function derivationPathToString([network, chainId, account, change, index]: [number, number, number, number?, number?] | [number, number, number, number, number?] | DerivationPathArray, { allHardened }?: {
17
+ allHardened?: boolean;
18
+ }): string;
17
19
  export declare function getDerivationPathFor({ chain, index, addressIndex, type }: Params): [number, number, number, number, (number | undefined)?] | number[];
18
20
  export declare function getWalletFormatFor(path: string): "legacy" | "p2sh" | "bech32";
19
21
  export declare const DerivationPath: Record<Chain, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"derivationPath.d.ts","sourceRoot":"","sources":["../../../src/utils/derivationPath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAA4B,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,KAAK,mBAAmB,EAAyB,MAAM,UAAU,CAAC;AAE3E,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,2BAA2B,GAAG,QAAQ,GAAG,SAAS,CAAC;CACrF,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,mBAAmB,EACzB,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,2ZAkBrE;AAED,wBAAgB,sBAAsB,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAC7E,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAC1C,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,GACzC,mBAAmB,UAStB;AAGD,wBAAgB,oBAAoB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,YAAgB,EAAE,IAAI,EAAE,EAAE,MAAM,sEA8BpF;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,gCAa9C;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAMhD,CAAC"}
1
+ {"version":3,"file":"derivationPath.d.ts","sourceRoot":"","sources":["../../../src/utils/derivationPath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAA4B,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,KAAK,mBAAmB,EAAyB,MAAM,UAAU,CAAC;AAE3E,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,2BAA2B,GAAG,QAAQ,GAAG,SAAS,CAAC;CACrF,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,mBAAmB,EACzB,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,2dAkBrE;AAED,wBAAgB,sBAAsB,CACpC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EACtC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAC1C,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,GACzC,mBAAmB,EACvB,EAAE,WAAW,EAAE,GAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAO,UAWhD;AAGD,wBAAgB,oBAAoB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,YAAgB,EAAE,IAAI,EAAE,EAAE,MAAM,sEA8BpF;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,gCAa9C;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAMhD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type Chain } from "@swapkit/types";
2
- import type { BrowserProvider, JsonRpcProvider } from "ethers";
2
+ import type { BrowserProvider, Provider } from "ethers";
3
3
  import { type EIP6963Provider, type NetworkParams, WalletOption } from "../types";
4
4
  export declare function isWeb3Detected(): boolean;
5
5
  export declare function isDetected(walletOption: WalletOption): boolean;
@@ -14,7 +14,7 @@ export declare function wrapMethodWithNetworkSwitch<T extends (...args: any[]) =
14
14
  export declare function prepareNetworkSwitch<T extends Record<string, unknown>, M extends keyof T>({ toolbox, chain, provider, methodNames, }: {
15
15
  toolbox: T;
16
16
  chain: Chain;
17
- provider?: BrowserProvider | JsonRpcProvider;
17
+ provider?: BrowserProvider | Provider;
18
18
  methodNames?: M[];
19
19
  }): T & {};
20
20
  export declare function addEVMWalletNetwork(provider: BrowserProvider, networkParams: NetworkParams): Promise<any>;
@@ -30,4 +30,20 @@ export declare function providerRequest({ provider, params, method, }: {
30
30
  params?: any;
31
31
  method: "wallet_addEthereumChain" | "wallet_switchEthereumChain" | "eth_requestAccounts" | "eth_sendTransaction" | "eth_signTransaction";
32
32
  }): Promise<any>;
33
+ /**
34
+ * Check if a wallet supports V3 swap flow (raw tx signing from API) for a specific chain.
35
+ *
36
+ * The V3 swap flow allows signing raw transactions returned by the API instead of
37
+ * having plugins build transactions themselves. This is more efficient but requires
38
+ * wallet support for signing arbitrary transactions.
39
+ *
40
+ * Takes into account:
41
+ * 1. Global v3SwapFlow.enabled flag
42
+ * 2. Per-chain capability in V3SwapFlowSupport registry
43
+ *
44
+ * @param walletType - The wallet type (e.g., WalletOption.KEYSTORE)
45
+ * @param chain - The chain to check support for
46
+ * @returns true if the wallet supports V3 flow for the chain, false otherwise
47
+ */
48
+ export declare function supportsV3SwapFlow(walletType: WalletOption, chain: Chain): boolean;
33
49
  //# sourceMappingURL=wallets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallets.d.ts","sourceRoot":"","sources":["../../../src/utils/wallets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAkB,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAE/D,OAAO,EAEL,KAAK,eAAe,EAEpB,KAAK,aAAa,EAClB,YAAY,EACb,MAAM,UAAU,CAAC;AAclB,wBAAgB,cAAc,YAE7B;AAED,wBAAgB,UAAU,CAAC,YAAY,EAAE,YAAY,WAEpD;AAED,wBAAgB,kBAAkB,mBAwBjC;AAED,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,aAAa,iBAkBlH;AAED,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,EACxD,MAAM,EACN,eAAe,EACf,UAAU,GACX,EAAE;IACD,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,eAAe,EAAE,CAAC,CAAC;IACnB,UAAU,CAAC,EAAE,YAAY,CAAC;CAC3B,GAiBqB,CAAC,CACtB;AAED,wBAAgB,2BAA2B,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAC3E,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,KAAK,GAaK,CAAC,CACnB;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,EACzF,OAAO,EACP,KAAK,EACL,QAA0B,EAC1B,WAAgB,GACjB,EAAE;IACD,OAAO,EAAE,CAAC,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,EAAE,eAAe,GAAG,eAAe,CAAC;IAC7C,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;CACnB,UAiCA;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,gBAE1F;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,IAAI,QAG9D;AAED,wBAAgB,mBAAmB,oJAQlC;AAED,wBAAgB,iBAAiB;;;EAgBhC;AAED,wBAAgB,gBAAgB,YAQ/B;AAED,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,MAAM,EACN,MAAM,GACP,EAAE;IACD,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,MAAM,EACF,yBAAyB,GACzB,4BAA4B,GAC5B,qBAAqB,GACrB,qBAAqB,GACrB,qBAAqB,CAAC;CAC3B,gBAOA"}
1
+ {"version":3,"file":"wallets.d.ts","sourceRoot":"","sources":["../../../src/utils/wallets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAkB,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGxD,OAAO,EAEL,KAAK,eAAe,EAEpB,KAAK,aAAa,EAElB,YAAY,EACb,MAAM,UAAU,CAAC;AAclB,wBAAgB,cAAc,YAE7B;AAED,wBAAgB,UAAU,CAAC,YAAY,EAAE,YAAY,WAEpD;AAED,wBAAgB,kBAAkB,mBAwBjC;AAED,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,aAAa,iBAkBlH;AAED,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,EACxD,MAAM,EACN,eAAe,EACf,UAAU,GACX,EAAE;IACD,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,eAAe,EAAE,CAAC,CAAC;IACnB,UAAU,CAAC,EAAE,YAAY,CAAC;CAC3B,GAiBqB,CAAC,CACtB;AAED,wBAAgB,2BAA2B,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAC3E,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,KAAK,GAaK,CAAC,CACnB;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,EACzF,OAAO,EACP,KAAK,EACL,QAA0B,EAC1B,WAAgB,GACjB,EAAE;IACD,OAAO,EAAE,CAAC,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,EAAE,eAAe,GAAG,QAAQ,CAAC;IACtC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;CACnB,UAiCA;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,gBAE1F;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,IAAI,QAG9D;AAED,wBAAgB,mBAAmB,oJAQlC;AAED,wBAAgB,iBAAiB;;;EAgBhC;AAED,wBAAgB,gBAAgB,YAQ/B;AAED,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,MAAM,EACN,MAAM,GACP,EAAE;IACD,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,MAAM,EACF,yBAAyB,GACzB,4BAA4B,GAC5B,qBAAqB,GACrB,qBAAqB,GACrB,qBAAqB,CAAC;CAC3B,gBAOA;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAQlF"}
package/package.json CHANGED
@@ -1,63 +1,45 @@
1
1
  {
2
- "author": "swapkit-oss",
2
+ "author": "swapkit-dev",
3
3
  "dependencies": {
4
4
  "@near-js/providers": "~2.5.0",
5
- "@swapkit/contracts": "4.0.1",
6
- "@swapkit/tokens": "4.1.2",
7
- "@swapkit/types": "0.4.0",
5
+ "@swapkit/contracts": "4.1.2",
6
+ "@swapkit/tokens": "4.2.3",
7
+ "@swapkit/types": "0.7.1",
8
8
  "ethers": "^6.14.0",
9
- "ts-pattern": "5.9.0",
9
+ "ts-pattern": "^5.9.0",
10
10
  "zod": "3.25.74",
11
11
  "zustand": "5.0.8"
12
12
  },
13
13
  "description": "SwapKit - Helpers",
14
- "devDependencies": {
15
- "@near-js/providers": "2.5.0",
16
- "@swapkit/toolboxes": "4.3.9",
17
- "ethers": "6.15.0",
18
- "tronweb": "6.1.0"
19
- },
14
+ "devDependencies": { "@near-js/providers": "2.5.0", "@swapkit/toolboxes": "4.13.2", "ethers": "6.16.0" },
20
15
  "exports": {
21
- ".": {
22
- "bun": "./src/index.ts",
23
- "default": "./dist/index.js",
24
- "require": "./dist/index.cjs",
25
- "types": "./dist/types/index.d.ts"
26
- },
16
+ ".": { "default": "./dist/index.js", "require": "./dist/index.cjs", "types": "./dist/types/index.d.ts" },
27
17
  "./api": {
28
- "bun": "./src/api/index.ts",
29
18
  "default": "./dist/api/index.js",
30
19
  "require": "./dist/api/index.cjs",
31
20
  "types": "./dist/types/api/index.d.ts"
32
21
  },
33
22
  "./contracts": {
34
- "bun": "./src/contracts.ts",
35
23
  "default": "./dist/contracts.js",
36
24
  "require": "./dist/contracts.cjs",
37
25
  "types": "./dist/types/contracts.d.ts"
38
26
  },
39
- "./tokens": {
40
- "bun": "./src/tokens.ts",
41
- "default": "./dist/tokens.js",
42
- "require": "./dist/tokens.cjs",
43
- "types": "./dist/types/tokens.d.ts"
44
- }
27
+ "./tokens": { "default": "./dist/tokens.js", "require": "./dist/tokens.cjs", "types": "./dist/types/tokens.d.ts" }
45
28
  },
46
- "files": ["dist/", "src/"],
29
+ "files": ["dist/"],
47
30
  "homepage": "https://github.com/swapkit/SwapKit",
48
- "license": "Apache-2.0",
31
+ "license": "SEE LICENSE IN LICENSE",
49
32
  "name": "@swapkit/helpers",
33
+ "publishConfig": { "access": "public" },
50
34
  "repository": { "directory": "packages/helpers", "type": "git", "url": "git+https://github.com/swapkit/SwapKit.git" },
51
35
  "scripts": {
52
36
  "build": "bun run ./build.ts",
53
37
  "build:clean": "rm -rf dist && bun run ./build.ts",
54
38
  "clean": "rm -rf dist node_modules *.tsbuildinfo",
55
39
  "generate-tokens": "bun --bun ./fetchTokenLists.ts",
56
- "test": "bun test",
57
- "test:ci": "bun test --coverage",
58
40
  "type-check": "bun tsc --noEmit",
59
41
  "type-check:go": "tsgo"
60
42
  },
61
43
  "type": "module",
62
- "version": "4.5.9"
44
+ "version": "4.12.4"
63
45
  }
@@ -1,14 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/api/midgard/endpoints.ts", "../src/api/swapkitApi/endpoints.ts", "../src/api/swapkitApi/types.ts", "../src/api/thornode/endpoints.ts", "../src/api/index.ts"],
4
- "sourcesContent": [
5
- "import { AssetValue, RequestClient, SwapKitNumber } from \"@swapkit/helpers\";\nimport { Chain, getChainConfig, type TCLikeChain } from \"@swapkit/types\";\nimport type {\n Action,\n ActionQuery,\n Balance,\n Constants,\n DepthHistory,\n EarningsHistory,\n HealthInfo,\n HistoryQuery,\n MemberDetailsMayachain,\n MemberDetailsThorchain,\n MimirVote,\n NetworkInfo,\n Node,\n PagedResponse,\n Pool,\n PoolStats,\n SaverDetails,\n SaversHistory,\n Stats,\n SwapHistory,\n THORNameDetails,\n TVLHistory,\n} from \"./types\";\n\nfunction getMidgardBaseUrl(isThorchain = true) {\n return isThorchain ? \"https://midgard.ninerealms.com\" : \"https://midgard.mayachain.info\";\n}\n\nfunction getNameServiceBaseUrl(isThorchain = true) {\n const baseUrl = getMidgardBaseUrl(isThorchain);\n return isThorchain ? `${baseUrl}/v2/thorname` : `${baseUrl}/v2/mayaname`;\n}\n\nfunction getPools(baseUrl: string) {\n return function getPools(status?: string): Promise<Pool[]> {\n const params = status ? `?status=${status}` : \"\";\n return RequestClient.get<Pool[]>(`${baseUrl}/v2/pools${params}`);\n };\n}\n\nfunction getPool(baseUrl: string) {\n return function getPool(asset: string): Promise<Pool> {\n return RequestClient.get<Pool>(`${baseUrl}/v2/pool/${asset}`);\n };\n}\n\nfunction getPoolStats(baseUrl: string) {\n return function getPoolStats(asset: string, period?: string): Promise<PoolStats> {\n const params = period ? `?period=${period}` : \"\";\n return RequestClient.get<PoolStats>(`${baseUrl}/v2/pool/${asset}/stats${params}`);\n };\n}\n\nfunction getPoolDepthHistory(baseUrl: string) {\n return function getPoolDepthHistory(asset: string, query?: HistoryQuery): Promise<DepthHistory> {\n const params = new URLSearchParams();\n if (query?.interval) params.append(\"interval\", query.interval);\n if (query?.count) params.append(\"count\", query.count.toString());\n if (query?.from) params.append(\"from\", query.from.toString());\n if (query?.to) params.append(\"to\", query.to.toString());\n const queryString = params.toString() ? `?${params.toString()}` : \"\";\n return RequestClient.get<DepthHistory>(`${baseUrl}/v2/history/depths/${asset}${queryString}`);\n };\n}\n\nfunction getNetworkInfo(baseUrl: string) {\n return function getNetworkInfo(): Promise<NetworkInfo> {\n return RequestClient.get<NetworkInfo>(`${baseUrl}/v2/network`);\n };\n}\n\nfunction getHealth(baseUrl: string) {\n return function getHealth(): Promise<HealthInfo> {\n return RequestClient.get<HealthInfo>(`${baseUrl}/v2/health`);\n };\n}\n\nfunction getNodes(baseUrl: string) {\n return function getNodes(): Promise<Node[]> {\n return RequestClient.get<Node[]>(`${baseUrl}/v2/nodes`);\n };\n}\n\nfunction getNode(baseUrl: string) {\n return function getNode(address: string): Promise<Node> {\n return RequestClient.get<Node>(`${baseUrl}/v2/node/${address}`);\n };\n}\n\nfunction getMimirVotes(baseUrl: string) {\n return function getMimirVotes(): Promise<MimirVote[]> {\n return RequestClient.get<MimirVote[]>(`${baseUrl}/v2/mimir/votes`);\n };\n}\n\nfunction getMimir(baseUrl: string) {\n return function getMimir(): Promise<Record<string, string>> {\n return RequestClient.get<Record<string, string>>(`${baseUrl}/v2/mimir`);\n };\n}\n\nfunction getConstants(baseUrl: string) {\n return function getConstants(): Promise<Constants> {\n return RequestClient.get<Constants>(`${baseUrl}/v2/constants`);\n };\n}\n\nfunction getStats(baseUrl: string) {\n return function getStats(): Promise<Stats> {\n return RequestClient.get<Stats>(`${baseUrl}/v2/stats`);\n };\n}\n\nfunction getEarningsHistory(baseUrl: string) {\n return function getEarningsHistory(query?: HistoryQuery): Promise<EarningsHistory> {\n const params = new URLSearchParams();\n if (query?.interval) params.append(\"interval\", query.interval);\n if (query?.count) params.append(\"count\", query.count.toString());\n if (query?.from) params.append(\"from\", query.from.toString());\n if (query?.to) params.append(\"to\", query.to.toString());\n const queryString = params.toString() ? `?${params.toString()}` : \"\";\n return RequestClient.get<EarningsHistory>(`${baseUrl}/v2/history/earnings${queryString}`);\n };\n}\n\nfunction getSwapHistory(baseUrl: string) {\n return function getSwapHistory(pool?: string, query?: HistoryQuery): Promise<SwapHistory> {\n const params = new URLSearchParams();\n if (query?.interval) params.append(\"interval\", query.interval);\n if (query?.count) params.append(\"count\", query.count.toString());\n if (query?.from) params.append(\"from\", query.from.toString());\n if (query?.to) params.append(\"to\", query.to.toString());\n const queryString = params.toString() ? `?${params.toString()}` : \"\";\n const poolPath = pool ? `/swaps/${pool}` : \"/swaps\";\n return RequestClient.get<SwapHistory>(`${baseUrl}/v2/history${poolPath}${queryString}`);\n };\n}\n\nfunction getTVLHistory(baseUrl: string) {\n return function getTVLHistory(query?: HistoryQuery): Promise<TVLHistory> {\n const params = new URLSearchParams();\n if (query?.interval) params.append(\"interval\", query.interval);\n if (query?.count) params.append(\"count\", query.count.toString());\n if (query?.from) params.append(\"from\", query.from.toString());\n if (query?.to) params.append(\"to\", query.to.toString());\n const queryString = params.toString() ? `?${params.toString()}` : \"\";\n return RequestClient.get<TVLHistory>(`${baseUrl}/v2/history/tvl${queryString}`);\n };\n}\n\nfunction buildActionParams(query?: ActionQuery): string {\n if (!query) return \"\";\n const params = new URLSearchParams();\n const appendParam = (key: keyof ActionQuery, value: any) => {\n if (value !== undefined) {\n params.append(key, typeof value === \"number\" ? value.toString() : value);\n }\n };\n appendParam(\"address\", query.address);\n appendParam(\"txid\", query.txid);\n appendParam(\"asset\", query.asset);\n appendParam(\"type\", query.type);\n appendParam(\"affiliate\", query.affiliate);\n appendParam(\"limit\", query.limit);\n appendParam(\"offset\", query.offset);\n return params.toString() ? `?${params.toString()}` : \"\";\n}\n\nfunction getActions(baseUrl: string) {\n return function getActions(query?: ActionQuery): Promise<PagedResponse<Action>> {\n const queryString = buildActionParams(query);\n return RequestClient.get<PagedResponse<Action>>(`${baseUrl}/v2/actions${queryString}`);\n };\n}\n\nfunction getLiquidityPositionRaw<Chain extends TCLikeChain>(baseUrl: string) {\n return function getLiquidityPosition(\n address: string,\n ): Promise<Chain extends typeof Chain.THORChain ? MemberDetailsThorchain : MemberDetailsMayachain> {\n return RequestClient.get<Chain extends typeof Chain.THORChain ? MemberDetailsThorchain : MemberDetailsMayachain>(\n `${baseUrl}/v2/member/${address}`,\n );\n };\n}\n\nfunction getMembers(baseUrl: string) {\n return function getMembers(pool?: string): Promise<string[]> {\n const poolPath = pool ? `/${pool}` : \"\";\n return RequestClient.get<string[]>(`${baseUrl}/v2/members${poolPath}`);\n };\n}\n\nfunction getSaverDetails(baseUrl: string) {\n return function getSaverDetails(address: string, pool?: string): Promise<SaverDetails[]> {\n const poolPath = pool ? `&asset=${pool}` : \"\";\n return RequestClient.get<SaverDetails[]>(\n `${baseUrl}/v2/saver/${address}${poolPath ? `?${poolPath.substring(1)}` : \"\"}`,\n );\n };\n}\n\nfunction getSavers(baseUrl: string) {\n return function getSavers(pool: string): Promise<string[]> {\n return RequestClient.get<string[]>(`${baseUrl}/v2/savers/${pool}`);\n };\n}\n\nfunction getSaversHistory(baseUrl: string) {\n return function getSaversHistory(pool?: string, query?: HistoryQuery): Promise<SaversHistory> {\n const params = new URLSearchParams();\n if (query?.interval) params.append(\"interval\", query.interval);\n if (query?.count) params.append(\"count\", query.count.toString());\n if (query?.from) params.append(\"from\", query.from.toString());\n if (query?.to) params.append(\"to\", query.to.toString());\n const queryString = params.toString() ? `?${params.toString()}` : \"\";\n const poolPath = pool ? `/savers/${pool}` : \"/savers\";\n return RequestClient.get<SaversHistory>(`${baseUrl}/v2/history${poolPath}${queryString}`);\n };\n}\n\nfunction getBalance(baseUrl: string) {\n return function getBalance(address: string): Promise<Balance[]> {\n return RequestClient.get<Balance[]>(`${baseUrl}/v2/balance/${address}`);\n };\n}\n\nfunction getNameDetails(baseUrl: string) {\n return async function getNamesByAddress(name: string) {\n const errorHandler = (error: any) => {\n // Handle specific error cases\n if (error?.cause?.status === 404) {\n return undefined;\n }\n throw error;\n };\n return await RequestClient.get<THORNameDetails>(`${baseUrl}/lookup/${name}`, {\n onError: errorHandler,\n retry: { maxRetries: 1 },\n });\n };\n}\n\nfunction getNamesByAddress(baseUrl: string) {\n return async function getNamesByAddress(address: string) {\n const errorHandler = (error: any) => {\n // Handle specific error cases\n if (error?.cause?.status === 404) {\n return [];\n }\n throw error;\n };\n return await RequestClient.get<string[]>(`${baseUrl}/rlookup/${address}`, {\n onError: errorHandler,\n retry: { maxRetries: 1 },\n });\n };\n}\n\nfunction getNamesByOwner(baseUrl: string) {\n return async function getNamesByOwner(address: string) {\n const errorHandler = (error: any) => {\n // Handle specific error cases\n if (error?.cause?.status === 404) {\n return [];\n }\n throw error;\n };\n return await RequestClient.get<string[]>(`${baseUrl}/owner/${address}`, {\n onError: errorHandler,\n retry: { maxRetries: 1 },\n });\n };\n}\n\nfunction getPoolAsset({ asset, value }: { asset: string; value: string }) {\n return AssetValue.from({ asset, fromBaseDecimal: getChainConfig(Chain.THORChain).baseDecimal, value });\n}\n\nfunction getLiquidityPosition<IsThorchain extends boolean = true>({\n liquidityPositionGetter,\n isThorchain,\n}: {\n liquidityPositionGetter: ReturnType<\n typeof getLiquidityPositionRaw<IsThorchain extends true ? typeof Chain.THORChain : typeof Chain.Maya>\n >;\n isThorchain: IsThorchain;\n}) {\n return async function getLiquidityPosition(address: string) {\n const rawLiquidityPositions = await liquidityPositionGetter(address);\n const fieldPrefix = isThorchain ? \"rune\" : \"cacao\";\n\n return rawLiquidityPositions.pools.map((p) => ({\n [`${fieldPrefix}Pending`]: getPoolAsset({ asset: \"THOR.RUNE\", value: p.runePending }),\n [`${fieldPrefix}RegisteredAddress`]: p.runeAddress,\n [`${fieldPrefix}Withdrawn`]: getPoolAsset({ asset: \"THOR.RUNE\", value: p.runeWithdrawn }),\n [fieldPrefix]: getPoolAsset({ asset: \"THOR.RUNE\", value: p.runeAdded }),\n asset: getPoolAsset({ asset: p.pool, value: p.assetAdded }),\n assetPending: getPoolAsset({ asset: p.pool, value: p.assetPending }),\n assetRegisteredAddress: p.assetAddress,\n assetWithdrawn: getPoolAsset({ asset: p.pool, value: p.assetWithdrawn }),\n dateFirstAdded: p.dateFirstAdded,\n dateLastAdded: p.dateLastAdded,\n poolShare: new SwapKitNumber(p.liquidityUnits).div(p.pool),\n }));\n };\n}\n\nfunction getMidgardMethodsForProtocol<T extends TCLikeChain>(chain: T) {\n const isThorchain = chain === Chain.THORChain;\n const midgardBaseUrl = getMidgardBaseUrl(isThorchain);\n const nameServiceBaseUrl = getNameServiceBaseUrl(isThorchain);\n const liquidityPositionGetter = getLiquidityPositionRaw<T>(midgardBaseUrl);\n\n return {\n getActions: getActions(midgardBaseUrl),\n getBalance: getBalance(midgardBaseUrl),\n getConstants: getConstants(midgardBaseUrl),\n getEarningsHistory: getEarningsHistory(midgardBaseUrl),\n getHealth: getHealth(midgardBaseUrl),\n getLiquidityPosition: getLiquidityPosition({ isThorchain, liquidityPositionGetter }),\n getLiquidityPositionRaw: liquidityPositionGetter,\n getMembers: getMembers(midgardBaseUrl),\n getMimir: getMimir(midgardBaseUrl),\n getMimirVotes: getMimirVotes(midgardBaseUrl),\n getNameDetails: getNameDetails(nameServiceBaseUrl),\n getNamesByAddress: getNamesByAddress(nameServiceBaseUrl),\n getNamesByOwner: getNamesByOwner(nameServiceBaseUrl),\n getNetworkInfo: getNetworkInfo(midgardBaseUrl),\n getNode: getNode(midgardBaseUrl),\n getNodes: getNodes(midgardBaseUrl),\n getPool: getPool(midgardBaseUrl),\n getPoolDepthHistory: getPoolDepthHistory(midgardBaseUrl),\n getPoolStats: getPoolStats(midgardBaseUrl),\n getPools: getPools(midgardBaseUrl),\n getSaverDetails: getSaverDetails(midgardBaseUrl),\n getSavers: getSavers(midgardBaseUrl),\n getSaversHistory: getSaversHistory(midgardBaseUrl),\n getStats: getStats(midgardBaseUrl),\n getSwapHistory: getSwapHistory(midgardBaseUrl),\n getTVLHistory: getTVLHistory(midgardBaseUrl),\n };\n}\n\nexport const thorchainMidgard = getMidgardMethodsForProtocol(Chain.THORChain);\nexport const mayachainMidgard = getMidgardMethodsForProtocol(Chain.Maya);\n",
6
- "import {\n type Chain,\n type EVMChain,\n EVMChains,\n isGasAsset,\n type ProviderName,\n RequestClient,\n SKConfig,\n SwapKitError,\n} from \"@swapkit/helpers\";\nimport { match, P } from \"ts-pattern\";\nimport {\n type BalanceResponse,\n type BrokerDepositChannelParams,\n type DepositChannelResponse,\n DepositChannelResponseSchema,\n type GasResponse,\n GasResponseSchema,\n type NearDepositChannelParams,\n type NearSwapResponse,\n NearSwapResponseSchema,\n type PriceRequest,\n type PriceResponse,\n PriceResponseSchema,\n type QuoteRequest,\n type QuoteResponse,\n type QuoteResponseRoute,\n QuoteResponseRouteItem,\n QuoteResponseSchema,\n type TokenListProvidersResponse,\n type TokensResponseV2,\n type TrackerResponse,\n TrackerResponseSchema,\n type TrackingRequest,\n} from \"./types\";\n\nconst SKRequestClient = RequestClient.extend({\n dynamicHeader: () => {\n const { swapKit } = SKConfig.get(\"apiKeys\");\n return swapKit ? { \"x-api-key\": swapKit } : {};\n },\n});\n\nexport async function getTrackerDetails(json: TrackingRequest) {\n const response = await SKRequestClient.post<TrackerResponse>(getApiUrl(\"/track\"), { json });\n\n try {\n const parsedResponse = TrackerResponseSchema.safeParse(response);\n\n if (!parsedResponse.success) {\n throw new SwapKitError(\"api_v2_invalid_response\", parsedResponse.error);\n }\n\n return parsedResponse.data;\n } catch (_error) {\n // throw new SwapKitError(\"api_v2_invalid_response\", error);\n return response;\n }\n}\n\nexport async function getSwapQuote(json: QuoteRequest) {\n const { getQuote } = SKConfig.get(\"endpoints\");\n\n if (getQuote) return getQuote(json);\n\n const response = await SKRequestClient.post<QuoteResponse>(getApiUrl(\"/quote\"), { json });\n\n if (response.error) {\n throw new SwapKitError(\"api_v2_server_error\", { message: response.error });\n }\n\n try {\n const parsedResponse = QuoteResponseSchema.safeParse(response);\n\n if (!parsedResponse.success) {\n throw new SwapKitError(\"api_v2_invalid_response\", parsedResponse.error);\n }\n\n return parsedResponse.data;\n } catch {\n // throw new SwapKitError(\"api_v2_invalid_response\", error);\n return response;\n }\n}\n\nexport async function getRouteWithTx(json: { routeId: string; sourceAddress: string; destinationAddress: string }) {\n const { getRouteWithTx } = SKConfig.get(\"endpoints\");\n\n if (getRouteWithTx) return getRouteWithTx(json);\n\n const response = await SKRequestClient.post<QuoteResponseRoute>(getApiUrl(\"/swap\"), { json });\n\n try {\n const parsedResponse = QuoteResponseRouteItem.safeParse(response);\n\n if (!parsedResponse.success) {\n throw new SwapKitError(\"api_v2_invalid_response\", parsedResponse.error);\n }\n\n return parsedResponse.data;\n } catch (error) {\n console.error(new SwapKitError(\"api_v2_invalid_response\", error));\n return response;\n }\n}\n\nexport async function getChainBalance<T extends Chain>({\n chain,\n address,\n scamFilter = true,\n}: {\n chain: T;\n address: string;\n scamFilter?: boolean;\n}) {\n const { getBalance } = SKConfig.get(\"endpoints\");\n if (getBalance) return getBalance({ address, chain });\n\n const url = getApiUrl(`/balance?chain=${chain}&address=${address}`);\n const balanceResponse = await SKRequestClient.get<BalanceResponse>(url);\n const balances = Array.isArray(balanceResponse) ? balanceResponse : [];\n return scamFilter ? filterAssets(balances) : balances;\n}\n\nexport function getTokenListProviders() {\n const url = getApiUrl(\"/providers\");\n return SKRequestClient.get<TokenListProvidersResponse>(url);\n}\n\nexport function getTokenList(provider: ProviderName) {\n const url = getApiUrl(`/tokens?provider=${provider}`);\n return SKRequestClient.get<TokensResponseV2>(url);\n}\n\nexport async function getPrice(body: PriceRequest) {\n const url = getApiUrl(\"/price\");\n const response = await SKRequestClient.post<PriceResponse>(url, { json: body });\n\n try {\n const parsedResponse = PriceResponseSchema.safeParse(response);\n\n if (!parsedResponse.success) {\n throw new SwapKitError(\"api_v2_invalid_response\", parsedResponse.error);\n }\n\n return parsedResponse.data;\n } catch (error) {\n throw new SwapKitError(\"api_v2_invalid_response\", error);\n }\n}\n\nexport async function getGasRate() {\n const url = getApiUrl(\"/gas\");\n const response = await SKRequestClient.get<GasResponse>(url);\n\n try {\n const parsedResponse = GasResponseSchema.safeParse(response);\n\n if (!parsedResponse.success) {\n throw new SwapKitError(\"api_v2_invalid_response\", parsedResponse.error);\n }\n\n const gasRates = Array.isArray(parsedResponse) ? parsedResponse : [parsedResponse];\n return gasRates;\n } catch (error) {\n throw new SwapKitError(\"api_v2_invalid_response\", error);\n }\n}\n\nexport async function getChainflipDepositChannel(body: BrokerDepositChannelParams) {\n const { destinationAddress } = body;\n\n if (!destinationAddress) {\n throw new SwapKitError(\"chainflip_broker_invalid_params\");\n }\n const url = SKConfig.get(\"integrations\").chainflip?.brokerUrl || getApiUrl(\"/chainflip/broker/channel\");\n\n const response = await SKRequestClient.post<DepositChannelResponse>(url, { json: body });\n\n try {\n const parsedResponse = DepositChannelResponseSchema.safeParse(response);\n\n if (!parsedResponse.success) {\n throw new SwapKitError(\"api_v2_invalid_response\", parsedResponse.error);\n }\n\n return parsedResponse.data;\n } catch (error) {\n throw new SwapKitError(\"api_v2_invalid_response\", error);\n }\n}\n\nexport async function getNearDepositChannel(body: NearDepositChannelParams) {\n const { destinationAddress } = body;\n\n if (!destinationAddress) {\n throw new SwapKitError(\"chainflip_broker_invalid_params\");\n }\n const url = getApiUrl(\"/near/channel\");\n\n const response = await SKRequestClient.post<NearSwapResponse>(url, { json: body });\n\n try {\n const parsedResponse = NearSwapResponseSchema.safeParse(response);\n\n if (!parsedResponse.success) {\n throw new SwapKitError(\"api_v2_invalid_response\", parsedResponse.error);\n }\n\n return parsedResponse.data;\n } catch (error) {\n throw new SwapKitError(\"api_v2_invalid_response\", error);\n }\n}\n\nfunction getApiUrl(path?: `/${string}`) {\n const { isDev, apiUrl, devApiUrl, experimental_apiUrlQuote, experimental_apiUrlSwap } = SKConfig.get(\"envs\");\n\n const defaultUrl = `${isDev ? devApiUrl : apiUrl}${path}`;\n\n return match({ experimental_apiUrlQuote, experimental_apiUrlSwap, path })\n .with(\n { experimental_apiUrlQuote: P.string.startsWith(\"http\"), path: \"/quote\" },\n ({ experimental_apiUrlQuote, path }) => `${experimental_apiUrlQuote}${path}`,\n )\n .with(\n { experimental_apiUrlSwap: P.string.startsWith(\"http\"), path: \"/swap\" },\n ({ experimental_apiUrlSwap, path }) => `${experimental_apiUrlSwap}${path}`,\n )\n .otherwise(() => defaultUrl);\n}\n\nfunction evmAssetHasAddress(assetString: string) {\n const [chain, symbol] = assetString.split(\".\") as [EVMChain, string];\n if (!EVMChains.includes(chain as EVMChain)) return true;\n const splitSymbol = symbol.split(\"-\");\n const address = splitSymbol.length === 1 ? undefined : splitSymbol[splitSymbol.length - 1];\n\n return isGasAsset({ chain: chain as Chain, symbol }) || !!address;\n}\n\nconst potentialScamRegex = new RegExp(/(.)\\1{6}|\\.ORG|\\.NET|\\.FINANCE|\\.COM|WWW|HTTP|\\\\\\\\|\\/\\/|[\\s$%:[\\]]/, \"gmi\");\nfunction filterAssets(tokens: BalanceResponse) {\n return tokens.filter((token) => {\n return !potentialScamRegex.test(token.identifier) && evmAssetHasAddress(token.identifier);\n });\n}\n",
7
- "import { ErrorCode, FeeTypeEnum, ProviderName, WarningCodeEnum } from \"@swapkit/helpers\";\nimport { Chain, ChainId } from \"@swapkit/types\";\nimport { array, boolean, coerce, number, object, optional, string, union, unknown, type ZodType, z } from \"zod/v4\";\n\nexport enum PriorityLabel {\n CHEAPEST = \"CHEAPEST\",\n FASTEST = \"FASTEST\",\n RECOMMENDED = \"RECOMMENDED\",\n}\n\nexport enum RouteQuoteTxType {\n PSBT = \"PSBT\",\n EVM = \"EVM\",\n COSMOS = \"COSMOS\",\n RADIX = \"RADIX\",\n}\n\nexport enum TxnType {\n approve = \"approve\",\n claim = \"claim\",\n deposit = \"deposit\",\n donate = \"donate\",\n lending = \"lending\",\n lp_action = \"lp_action\",\n native_contract_call = \"native_contract_call\",\n native_send = \"native_send\",\n stake = \"stake\",\n streaming_swap = \"streaming_swap\",\n swap = \"swap\",\n thorname_action = \"thorname_action\",\n token_contract_call = \"token_contract_call\",\n token_transfer = \"token_transfer\",\n unknown = \"unknown\",\n unstake = \"unstake\",\n}\n\nexport enum ProviderAction {\n swap = \"swap\",\n aggregation = \"aggregation\",\n addLiquidity = \"addLiquidity\",\n withdrawLiquidity = \"withdrawLiquidity\",\n addSavers = \"addSavers\",\n withdrawSavers = \"withdrawSavers\",\n borrow = \"borrow\",\n repay = \"repay\",\n name = \"name\",\n donate = \"donate\",\n claim = \"claim\",\n stake = \"stake\",\n unstake = \"unstake\",\n}\n\nexport enum TxnStatus {\n unknown = \"unknown\",\n not_started = \"not_started\",\n pending = \"pending\",\n swapping = \"swapping\",\n completed = \"completed\",\n refunded = \"refunded\",\n failed = \"failed\",\n}\n\nexport enum TrackingStatus {\n not_started = \"not_started\",\n starting = \"starting\",\n broadcasted = \"broadcasted\",\n mempool = \"mempool\",\n inbound = \"inbound\",\n outbound = \"outbound\",\n swapping = \"swapping\",\n completed = \"completed\",\n refunded = \"refunded\",\n partially_refunded = \"partially_refunded\",\n dropped = \"dropped\",\n reverted = \"reverted\",\n replaced = \"replaced\",\n retries_exceeded = \"retries_exceeded\",\n parsing_error = \"parsing_error\",\n}\n\ntype TokenProviderVersion = { major: number; minor: number; patch: number };\n\nexport type TokenListProvidersResponse = Array<{\n provider: ProviderName;\n name: string;\n timestamp: string;\n version: TokenProviderVersion;\n keywords: string[];\n count: number;\n url: string;\n}>;\n\nexport type TokensResponseV2 = {\n chainId: ChainId;\n count: number;\n keywords: string[];\n name: string;\n provider: ProviderName;\n timestamp: string;\n tokens: Token[];\n version: TokenProviderVersion;\n};\n\nexport const TokenSchema = object({\n address: optional(string()),\n chain: z.enum(Chain).optional(),\n chainId: z.enum(ChainId),\n coingeckoId: optional(string()),\n decimals: coerce.number(),\n extensions: optional(z.looseObject({})),\n identifier: string(),\n logoURI: optional(string()),\n name: optional(string()),\n shortCode: optional(string()),\n symbol: optional(string()),\n ticker: string(),\n});\n\nexport type Token = z.infer<typeof TokenSchema>;\n\nexport const TrackingRequestSchema = z\n .object({\n block: z.optional(z.number().describe(\"Block number. Required for Polkadot chain. e.g. `123456`\")),\n chainId: z.optional(z.string().describe(\"ChainId for the hash. e.g. `thorchain-1`\")),\n depositChannelId: z.optional(\n z.string().describe(\"Deposit channel ID, required for Chainflip if tx was broadcasted without wallet connection\"),\n ),\n hash: z.optional(\n z\n .string()\n .describe(\n \"Hash for the first transaction broadcasted by the end user. e.g. `88D1819378ECD09E5284C54937CDC1E99B52F253C007617A02DD1200710CE677`\",\n ),\n ),\n })\n .refine((data) => (data.hash && data.chainId) || data.depositChannelId, {\n message: \"Either `hash` and `chainId` or `depositChannelId` must be provided\",\n });\n\nexport const TrackingRequestQuerySchema = z.object({\n forceUpdate: z\n .string()\n .toLowerCase()\n .transform((x) => x === \"true\")\n .pipe(z.boolean())\n .optional(),\n});\n\nexport type TrackingRequest = z.infer<typeof TrackingRequestSchema>;\n\nexport const ApiV2ErrorSchema = object({ error: string(), message: string() });\n\nexport const AssetValueSchema = object({\n address: optional(string()),\n chain: z.enum(Chain),\n decimal: optional(number()),\n isGasAsset: boolean(),\n isSynthetic: boolean(),\n symbol: string(),\n tax: optional(object({ buy: number(), sell: number() })),\n ticker: string(),\n});\n\nexport const TokenDetailsMetadataSchema = object({\n id: string(),\n market_cap: number(),\n name: string(),\n price_change_24h_usd: number(),\n price_change_percentage_24h_usd: number(),\n sparkline_in_7d: array(number()),\n timestamp: string(),\n total_volume: number(),\n});\n\nexport const PriceResponseSchema = array(\n object({\n cg: TokenDetailsMetadataSchema.optional(),\n identifier: string(),\n price_usd: number(),\n provider: string(),\n timestamp: number(),\n }).partial(),\n);\n\nexport type PriceResponse = z.infer<typeof PriceResponseSchema>;\n\nexport const QuoteRequestSchema = object({\n affiliate: optional(string().describe(\"Affiliate thorname\")),\n affiliateFee: optional(\n number()\n .describe(\"Affiliate fee in basis points\")\n .refine((fee) => fee === Math.floor(fee) && fee >= 0, {\n message: \"affiliateFee must be a positive integer\",\n path: [\"affiliateFee\"],\n }),\n ),\n allowSmartContractReceiver: optional(boolean().describe(\"Allow smart contract as recipient\")),\n allowSmartContractSender: optional(boolean().describe(\"Allow smart contract as sender\")),\n buyAsset: string().describe(\"Asset to buy\"),\n cfBoost: optional(boolean().describe(\"Set to true to enable CF boost to speed up Chainflip swaps. BTC only.\")),\n destinationAddress: optional(string().describe(\"Address to send asset to\")),\n disableSecurityChecks: optional(boolean().describe(\"Disable security checks\")),\n includeTx: optional(boolean().describe(\"Set to true to include an transaction object (EVM only)\")),\n providers: optional(\n array(\n string()\n .describe(\"List of providers to use\")\n .refine((provider) => ProviderName[provider as ProviderName] !== undefined, {\n message: \"Invalid provider\",\n path: [\"providers\"],\n }),\n ),\n ),\n referrer: optional(string().describe(\"Referrer address (referral program)\")),\n sellAmount: string()\n .describe(\"Amount of asset to sell\")\n .refine((amount) => +amount > 0, { message: \"sellAmount must be greater than 0\", path: [\"sellAmount\"] }),\n sellAsset: string().describe(\"Asset to sell\"),\n slippage: optional(number().describe(\"Slippage tolerance as a percentage. Default is 3%.\")),\n sourceAddress: optional(string().describe(\"Address to send asset from\")),\n}).refine((data) => data.sellAsset !== data.buyAsset, {\n message: \"Must be different\",\n path: [\"sellAsset\", \"buyAsset\"],\n});\n\nexport type QuoteRequest = z.infer<typeof QuoteRequestSchema>;\n\nexport const PriceRequestSchema = object({ metadata: boolean(), tokens: array(object({ identifier: string() })) });\n\nexport type PriceRequest = z.infer<typeof PriceRequestSchema>;\n\nexport const DepositChannelParamsSchema = object({ destinationAddress: string() });\n\nexport const BrokerDepositChannelParamsSchema = DepositChannelParamsSchema.extend({\n affiliateFees: array(object({ brokerAddress: string(), feeBps: number() })).optional(),\n brokerCommissionBps: number().optional(),\n buyAsset: object({ asset: string(), chain: string() }),\n channelMetadata: object({\n cfParameters: string().optional(),\n gasBudget: string().optional(),\n message: string().optional(),\n }).optional(),\n dcaParameters: object({ chunkInterval: number().optional(), numberOfChunks: number().optional() }).optional(),\n maxBoostFeeBps: number().optional(),\n refundParameters: object({\n minPrice: string().optional(),\n refundAddress: string().optional(),\n retryDuration: number().optional(),\n }).optional(),\n sellAsset: object({ asset: string(), chain: string() }),\n});\n\nexport type BrokerDepositChannelParams = z.infer<typeof BrokerDepositChannelParamsSchema>;\n\nexport const DepositChannelResponseSchema = object({ channelId: string(), depositAddress: string() });\n\nexport const NearDepositChannelParamsSchema = DepositChannelParamsSchema.extend({\n affiliateFees: object({ feeBps: number(), nearId: string() }).optional(),\n buyAsset: string(),\n sellAmount: string(),\n sellAsset: string(),\n slippage: coerce.number(),\n sourceAddress: string(),\n});\n\nexport type NearDepositChannelParams = z.infer<typeof NearDepositChannelParamsSchema>;\n\nconst NearQuoteResponseSchema = object({\n amountIn: string(),\n amountInFormatted: string(),\n amountInUsd: string(),\n amountOut: string(),\n amountOutFormatted: string(),\n amountOutUsd: string(),\n deadline: string().optional(),\n minAmountIn: string(),\n minAmountOut: string(),\n timeEstimate: number().optional(),\n timeWhenInactive: string().optional(),\n});\n\nexport const NearDepositChannelResultSchema = NearQuoteResponseSchema.extend({\n depositAddress: string(),\n quote: NearQuoteResponseSchema,\n signature: string(),\n timestamp: string(),\n tx: unknown(),\n});\n\nexport type NearDepositChannelResult = z.infer<typeof NearDepositChannelResultSchema>;\n\nexport const NearSwapResponseSchema = object({\n buyAsset: string(),\n buyAssetAmount: string(),\n buyAssetAmountMaxSlippage: string(),\n deadline: string().optional(),\n depositAddress: string(),\n depositAmount: string(),\n depositAsset: string(),\n tx: unknown(),\n});\n\nexport type NearSwapResponse = z.infer<typeof NearSwapResponseSchema>;\n\nexport type DepositChannelResponse = z.infer<typeof DepositChannelResponseSchema>;\n\nconst TxnPayloadSchema = object({\n evmCalldata: z.optional(z.string()),\n intentHash: z.optional(z.string()),\n logs: z.optional(z.unknown()),\n manifest: z.optional(z.unknown()),\n memo: z.optional(z.string()),\n spender: z.optional(z.string()),\n thorname: z.optional(z.string()),\n});\n\nexport type TxnPayload = z.infer<typeof TxnPayloadSchema>;\n\nconst TransactionEstimatesSchema = object({\n currentStage: string(),\n inboundConfirmation: number(),\n inboundObservation: number(),\n outboundDelay: number(),\n outboundObservation: number(),\n streamingSwap: number(),\n});\n\nexport type TransactionEstimates = z.infer<typeof TransactionEstimatesSchema>;\n\nconst TransactionStreamingDetailsSchema = object({\n count: optional(number()),\n interval: optional(number()),\n quantity: optional(number()),\n subSwapsMap: optional(array(number())),\n});\n\nexport type TransactionStreamingDetails = z.infer<typeof TransactionStreamingDetailsSchema>;\n\nconst TxnTransientSchema = z.object({\n currentLegIndex: z.optional(z.number()),\n estimatedTimeToComplete: z.number(),\n estimates: z.optional(TransactionEstimatesSchema),\n providerDetails: z.optional(z.object({ streamingDetails: z.optional(TransactionStreamingDetailsSchema) })),\n});\n\nexport type TxnTransient = z.infer<typeof TxnTransientSchema>;\n\nconst TransactionFeesSchema = object({\n affiliate: optional(AssetValueSchema), // e.g. affiliate in memo, other affiliate mechanisms\n liquidity: optional(AssetValueSchema), // fee paid to pool\n network: optional(AssetValueSchema), // gas on ethereum, network fee on thorchain, etc.\n protocol: optional(AssetValueSchema), // extra protocol fees (TS dex aggregation contracts, stargate fees, etc.)\n tax: optional(AssetValueSchema), // taxed tokens\n});\n\nexport type TransactionFees = z.infer<typeof TransactionFeesSchema>;\n\nconst TxnMetaAffiliateFeesSchema = object({ affiliate: string(), bps: string(), isReferrer: boolean() });\n\nconst TxnMetaSchema = object({\n affiliate: optional(string()),\n affiliateFees: optional(array(TxnMetaAffiliateFeesSchema)),\n broadcastedAt: optional(number()),\n explorerUrl: optional(string()),\n fees: optional(TransactionFeesSchema),\n images: optional(\n object({\n chain: optional(string()),\n from: optional(string()),\n provider: optional(string()),\n to: optional(string()),\n }),\n ),\n provider: optional(z.enum(ProviderName)),\n providerAction: z.optional(z.enum(ProviderAction)),\n quoteId: optional(string()),\n wallet: optional(string()),\n});\n\nexport type TxnMeta = z.infer<typeof TxnMetaSchema>;\n\nconst TransactionLegDTOSchema = z.object({\n block: z.number(),\n chainId: z.enum(ChainId),\n finalAddress: z.optional(z.string()),\n finalAsset: z.optional(AssetValueSchema),\n finalisedAt: z.number(),\n fromAddress: z.string(),\n fromAmount: z.string(),\n fromAsset: z.string(),\n hash: z.string(),\n meta: z.optional(TxnMetaSchema),\n payload: z.optional(TxnPayloadSchema),\n status: z.enum(TxnStatus),\n toAddress: z.string(),\n toAmount: z.string(),\n toAsset: z.string(),\n trackingStatus: z.optional(z.enum(TrackingStatus)),\n transient: z.optional(TxnTransientSchema),\n type: z.enum(TxnType),\n});\n\nexport type TransactionLegDTO = z.infer<typeof TransactionLegDTOSchema>;\n\nexport const TrackerResponseSchema: z.ZodType<TransactionDTO> = TransactionLegDTOSchema.extend({\n legs: z.array(TransactionLegDTOSchema),\n});\n\nexport type TrackerResponse = z.infer<typeof TrackerResponseSchema>;\n\nexport const TransactionSchema = TransactionLegDTOSchema.extend({ legs: array(TransactionLegDTOSchema) });\n\nexport type TransactionDTO = z.infer<typeof TransactionLegDTOSchema> & { legs: TransactionLegDTO[] };\n\nexport const TransactionDTOSchema: ZodType<TransactionDTO> = TransactionLegDTOSchema.extend({\n legs: array(TransactionLegDTOSchema),\n});\n\nexport const FeesSchema = array(\n object({\n amount: string(),\n asset: string(),\n chain: string(),\n protocol: z.enum(ProviderName),\n type: z.enum(FeeTypeEnum),\n }),\n);\n\nexport type Fees = z.infer<typeof FeesSchema>;\n\nexport const EstimatedTimeSchema = z.object({\n inbound: z.optional(z.number().describe(\"Time to receive inbound asset in seconds\")),\n outbound: z.optional(z.number().describe(\"Time to receive outbound asset in seconds\")),\n swap: z.optional(z.number().describe(\"Time to swap assets in seconds\")),\n total: z.number().describe(\"Total time in seconds\"),\n});\n\nexport type EstimatedTime = z.infer<typeof EstimatedTimeSchema>;\n\nexport const EVMTransactionSchema = object({\n data: string().describe(\"Data to send\"),\n from: string().describe(\"Address of the sender\"),\n to: string().describe(\"Address of the recipient\"),\n value: string().describe(\"Value to send\"),\n});\n\nexport type EVMTransaction = z.infer<typeof EVMTransactionSchema>;\n\nexport const EVMTransactionDetailsParamsSchema = array(\n union([\n string(),\n number(),\n array(string()),\n object({ from: string(), value: string() }).describe(\"Parameters to pass to the contract method\"),\n ]),\n);\n\nexport type EVMTransactionDetailsParams = z.infer<typeof EVMTransactionDetailsParamsSchema>;\n\nexport const EVMTransactionDetailsSchema = object({\n approvalSpender: optional(string().describe(\"Address of the spender to approve\")),\n approvalToken: optional(string().describe(\"Address of the token to approve spending of\")),\n contractAddress: string().describe(\"Address of the contract to interact with\"),\n contractMethod: string().describe(\"Name of the method to call\"),\n contractParamNames: array(string().describe(\"Names of the parameters to pass to the contract method\")),\n contractParams: EVMTransactionDetailsParamsSchema,\n});\n\nexport type EVMTransactionDetails = z.infer<typeof EVMTransactionDetailsSchema>;\n\nconst EncodeObjectSchema = object({ typeUrl: string(), value: unknown() });\n\nconst FeeSchema = object({ amount: array(object({ amount: string(), denom: string() })), gas: string() });\n\nexport const CosmosTransactionSchema = object({\n accountNumber: number(),\n chainId: z.enum(ChainId),\n fee: FeeSchema,\n memo: string(),\n msgs: array(EncodeObjectSchema),\n sequence: number(),\n});\n\nexport type CosmosTransaction = z.infer<typeof CosmosTransactionSchema>;\n\nexport const RouteLegSchema = object({\n affiliate: string().describe(\"Affiliate address\").optional(),\n affiliateFee: number().describe(\"Affiliate fee\").optional(),\n buyAsset: string().describe(\"Asset to buy\"),\n destinationAddress: string().describe(\"Destination address\"),\n estimatedTime: EstimatedTimeSchema.optional(),\n provider: z.enum(ProviderName),\n sellAsset: string().describe(\"Asset to sell\"),\n slipPercentage: number().describe(\"Slippage as a percentage\"),\n sourceAddress: string().describe(\"Source address\"),\n});\n\nexport type RouteLeg = z.infer<typeof RouteLegSchema>;\n\nexport const RouteLegWithoutAddressesSchema = RouteLegSchema.omit({\n destinationAddress: true,\n slipPercentage: true,\n sourceAddress: true,\n});\n\nexport type RouteLegWithoutAddresses = z.infer<typeof RouteLegWithoutAddressesSchema>;\n\nexport const RouteQuoteMetadataAssetSchema = object({\n asset: string().describe(\"Asset name\"),\n image: string().describe(\"Asset image\"),\n price: number().describe(\"Price in USD\"),\n});\n\nexport type RouteQuoteMetadataAsset = z.infer<typeof RouteQuoteMetadataAssetSchema>;\n\nexport const ChainflipMetadataSchema = BrokerDepositChannelParamsSchema;\n\nexport type ChainflipMetadata = z.infer<typeof ChainflipMetadataSchema>;\n\nexport const RouteQuoteMetadataSchema = object({\n assets: optional(array(RouteQuoteMetadataAssetSchema)),\n maxStreamingQuantity: number().optional(),\n referrer: string().optional(),\n streamingInterval: number().optional(),\n tags: array(z.enum(PriorityLabel)),\n});\n\nexport const RouteQuoteMetadataV2Schema = RouteQuoteMetadataSchema.extend({\n affiliate: optional(string()),\n affiliateFee: optional(string()),\n approvalAddress: optional(string().describe(\"Approval address for swap\")),\n chainflip: ChainflipMetadataSchema.optional(),\n garden: NearDepositChannelParamsSchema.optional(),\n near: NearDepositChannelParamsSchema.optional(),\n priceImpact: optional(number().describe(\"Price impact\")),\n referrer: optional(string()),\n txType: optional(z.enum(RouteQuoteTxType)),\n});\n\nexport const RouteQuoteWarningSchema = array(\n object({ code: z.enum(WarningCodeEnum), display: string(), tooltip: string().optional() }),\n);\n\nexport type RouteQuoteWarning = z.infer<typeof RouteQuoteWarningSchema>;\n\nconst QuoteResponseRouteLegItem = object({\n buyAmount: string().describe(\"Buy amount\"),\n buyAmountMaxSlippage: string().describe(\"Buy amount max slippage\"),\n buyAsset: string().describe(\"Asset to buy\"),\n fees: optional(FeesSchema),\n provider: z.enum(ProviderName),\n sellAmount: string().describe(\"Sell amount\"),\n sellAsset: string().describe(\"Asset to sell\"),\n});\n\nexport const QuoteResponseRouteItem = object({\n buyAsset: string().describe(\"Asset to buy\"),\n destinationAddress: string().describe(\"Destination address\"),\n estimatedTime: optional(EstimatedTimeSchema),\n expectedBuyAmount: string().describe(\"Expected Buy amount\"),\n expectedBuyAmountMaxSlippage: string().describe(\"Expected Buy amount max slippage\"),\n expiration: optional(string().describe(\"Expiration\")),\n fees: FeesSchema,\n inboundAddress: optional(string().describe(\"Inbound address\")),\n legs: array(QuoteResponseRouteLegItem),\n memo: optional(string().describe(\"Memo\")),\n meta: RouteQuoteMetadataV2Schema,\n providers: array(z.enum(ProviderName)),\n routeId: string().describe(\"Route ID\"),\n sellAmount: string().describe(\"Sell amount\"),\n sellAsset: string().describe(\"Asset to sell\"),\n sourceAddress: string().describe(\"Source address\"),\n targetAddress: optional(string().describe(\"Target address\")),\n totalSlippageBps: number().describe(\"Total slippage in bps\"),\n tx: optional(union([EVMTransactionSchema, CosmosTransactionSchema, string()])),\n txType: optional(z.enum(RouteQuoteTxType)),\n warnings: RouteQuoteWarningSchema,\n});\n\nexport const QuoteResponseSchema = object({\n error: optional(string().describe(\"Error message\")),\n providerErrors: optional(\n array(\n object({\n errorCode: optional(z.enum(ErrorCode)),\n message: optional(string()),\n provider: z.enum(ProviderName).optional(),\n }),\n ),\n ),\n quoteId: string().describe(\"Quote ID\"),\n routes: array(QuoteResponseRouteItem),\n});\n\nexport type QuoteResponse = z.infer<typeof QuoteResponseSchema>;\nexport type QuoteResponseRoute = z.infer<typeof QuoteResponseRouteItem>;\nexport type QuoteResponseRouteLeg = z.infer<typeof QuoteResponseRouteLegItem>;\n\nexport const GasSchema = z.object({\n chainId: z.enum(ChainId),\n createdAt: z.date(),\n id: z.number(),\n unit: z.string(),\n value: z.string(),\n});\n\nconst GasSchemaArray = z.array(GasSchema);\n\nexport const GasResponseSchema = z.union([GasSchema, GasSchemaArray]);\n\nexport type GasResponse = z.infer<typeof GasResponseSchema>;\n\nconst BalanceResponseSchema = array(\n object({\n chain: z.enum(Chain),\n decimal: number(),\n identifier: string(),\n symbol: string(),\n ticker: string(),\n value: string(),\n }),\n);\n\nexport type BalanceResponse = z.infer<typeof BalanceResponseSchema>;\n",
8
- "import { AssetValue, RequestClient, SKConfig } from \"@swapkit/helpers\";\nimport { MAYAConfig, StagenetMAYAConfig, StagenetTHORConfig, THORConfig } from \"@swapkit/types\";\nimport type {\n InboundAddressesItem,\n LastBlockItem,\n MimirData,\n NodeItem,\n RunePoolInfo,\n RunePoolProviderInfo,\n TCYClaimerResponse,\n TCYClaimersResponse,\n TCYStakerResponse,\n TCYStakersResponse,\n THORNodeTNSDetails,\n THORNodeType,\n} from \"./types\";\n\nfunction baseUrl(type?: THORNodeType) {\n const { isStagenet } = SKConfig.get(\"envs\");\n\n switch (type) {\n case \"mayachain\": {\n const nodeUrl = isStagenet ? StagenetMAYAConfig.nodeUrl : MAYAConfig.nodeUrl;\n return `${nodeUrl}/mayachain`;\n }\n default: {\n const nodeUrl = isStagenet ? StagenetTHORConfig.nodeUrl : THORConfig.nodeUrl;\n\n return `${nodeUrl}/thorchain`;\n }\n }\n}\n\nfunction getNameServiceBaseUrl(type?: THORNodeType) {\n const nsType = type === \"mayachain\" ? \"mayaname\" : \"thorname\";\n\n return `${baseUrl(type)}/${nsType}`;\n}\n\nexport function getLastBlock<T extends THORNodeType = \"thorchain\">(type: T = \"thorchain\" as T) {\n return RequestClient.get<LastBlockItem<T>[]>(`${baseUrl(type)}/lastblock`);\n}\n\nexport function getThorchainQueue(type?: THORNodeType) {\n return RequestClient.get(`${baseUrl(type)}/queue`);\n}\n\nexport function getNodes(type?: THORNodeType) {\n return RequestClient.get<NodeItem[]>(`${baseUrl(type)}/nodes`);\n}\n\nexport function getMimirInfo(type?: THORNodeType) {\n return RequestClient.get<MimirData>(`${baseUrl(type)}/mimir`);\n}\n\nexport function getInboundAddresses(type?: THORNodeType) {\n return RequestClient.get<InboundAddressesItem[]>(`${baseUrl(type)}/inbound_addresses`);\n}\n\nexport async function getTHORNodeTNSDetails({\n type,\n name,\n}: {\n type?: THORNodeType;\n name: string;\n}): Promise<THORNodeTNSDetails> {\n try {\n const result = await RequestClient.get<THORNodeTNSDetails>(`${getNameServiceBaseUrl(type)}/${name}`);\n return result;\n } catch {\n return { affiliate_collector_rune: \"\", aliases: [], expire_block_height: 0, name, owner: \"\", preferred_asset: \"\" };\n }\n}\n\nexport async function getTNSPreferredAsset({ type, tns }: { type?: THORNodeType; tns: string }) {\n const tnsDetails = await getTHORNodeTNSDetails({ name: tns, type });\n\n if (!tnsDetails.preferred_asset || tnsDetails.preferred_asset === \".\") return undefined;\n\n return AssetValue.from({ asset: tnsDetails.preferred_asset, asyncTokenLookup: true });\n}\n\nexport function getRunePoolInfo(type?: THORNodeType) {\n return RequestClient.get<RunePoolInfo>(`${baseUrl(type)}/runepool`);\n}\n\nexport function getRunePoolProviderInfo({ type, thorAddress }: { type?: THORNodeType; thorAddress: string }) {\n return RequestClient.get<RunePoolProviderInfo>(`${baseUrl(type)}/rune_provider/${thorAddress}`);\n}\n\nexport function getTcyStaker({ type, address }: { type?: THORNodeType; address: string }) {\n return RequestClient.get<TCYStakerResponse>(`${baseUrl(type)}/tcy_staker/${address}`);\n}\n\nexport function getTcyStakers(type?: THORNodeType) {\n return RequestClient.get<TCYStakersResponse>(`${baseUrl(type)}/tcy_stakers`);\n}\n\nexport function getTcyClaimer({ type, address }: { type?: THORNodeType; address: string }) {\n return RequestClient.get<TCYClaimerResponse>(`${baseUrl(type)}/tcy_claimer/${address}`);\n}\n\nexport function getTcyClaimers(type?: THORNodeType) {\n return RequestClient.get<TCYClaimersResponse>(`${baseUrl(type)}/tcy_claimers`);\n}\n",
9
- "import { mayachainMidgard, thorchainMidgard } from \"./midgard/endpoints\";\nimport * as swapkit from \"./swapkitApi/endpoints\";\nimport * as thornode from \"./thornode/endpoints\";\n\nexport * from \"./midgard/types\";\nexport * from \"./swapkitApi/types\";\nexport * from \"./thornode/types\";\n\nexport const SwapKitApi = { ...swapkit, mayachainMidgard, thorchainMidgard, thornode };\n"
10
- ],
11
- "mappings": "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",
12
- "debugId": "DCE14B140008466664756E2164756E21",
13
- "names": []
14
- }
@@ -1,14 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/api/midgard/endpoints.ts", "../src/api/swapkitApi/endpoints.ts", "../src/api/swapkitApi/types.ts", "../src/api/thornode/endpoints.ts", "../src/api/index.ts"],
4
- "sourcesContent": [
5
- "import { AssetValue, RequestClient, SwapKitNumber } from \"@swapkit/helpers\";\nimport { Chain, getChainConfig, type TCLikeChain } from \"@swapkit/types\";\nimport type {\n Action,\n ActionQuery,\n Balance,\n Constants,\n DepthHistory,\n EarningsHistory,\n HealthInfo,\n HistoryQuery,\n MemberDetailsMayachain,\n MemberDetailsThorchain,\n MimirVote,\n NetworkInfo,\n Node,\n PagedResponse,\n Pool,\n PoolStats,\n SaverDetails,\n SaversHistory,\n Stats,\n SwapHistory,\n THORNameDetails,\n TVLHistory,\n} from \"./types\";\n\nfunction getMidgardBaseUrl(isThorchain = true) {\n return isThorchain ? \"https://midgard.ninerealms.com\" : \"https://midgard.mayachain.info\";\n}\n\nfunction getNameServiceBaseUrl(isThorchain = true) {\n const baseUrl = getMidgardBaseUrl(isThorchain);\n return isThorchain ? `${baseUrl}/v2/thorname` : `${baseUrl}/v2/mayaname`;\n}\n\nfunction getPools(baseUrl: string) {\n return function getPools(status?: string): Promise<Pool[]> {\n const params = status ? `?status=${status}` : \"\";\n return RequestClient.get<Pool[]>(`${baseUrl}/v2/pools${params}`);\n };\n}\n\nfunction getPool(baseUrl: string) {\n return function getPool(asset: string): Promise<Pool> {\n return RequestClient.get<Pool>(`${baseUrl}/v2/pool/${asset}`);\n };\n}\n\nfunction getPoolStats(baseUrl: string) {\n return function getPoolStats(asset: string, period?: string): Promise<PoolStats> {\n const params = period ? `?period=${period}` : \"\";\n return RequestClient.get<PoolStats>(`${baseUrl}/v2/pool/${asset}/stats${params}`);\n };\n}\n\nfunction getPoolDepthHistory(baseUrl: string) {\n return function getPoolDepthHistory(asset: string, query?: HistoryQuery): Promise<DepthHistory> {\n const params = new URLSearchParams();\n if (query?.interval) params.append(\"interval\", query.interval);\n if (query?.count) params.append(\"count\", query.count.toString());\n if (query?.from) params.append(\"from\", query.from.toString());\n if (query?.to) params.append(\"to\", query.to.toString());\n const queryString = params.toString() ? `?${params.toString()}` : \"\";\n return RequestClient.get<DepthHistory>(`${baseUrl}/v2/history/depths/${asset}${queryString}`);\n };\n}\n\nfunction getNetworkInfo(baseUrl: string) {\n return function getNetworkInfo(): Promise<NetworkInfo> {\n return RequestClient.get<NetworkInfo>(`${baseUrl}/v2/network`);\n };\n}\n\nfunction getHealth(baseUrl: string) {\n return function getHealth(): Promise<HealthInfo> {\n return RequestClient.get<HealthInfo>(`${baseUrl}/v2/health`);\n };\n}\n\nfunction getNodes(baseUrl: string) {\n return function getNodes(): Promise<Node[]> {\n return RequestClient.get<Node[]>(`${baseUrl}/v2/nodes`);\n };\n}\n\nfunction getNode(baseUrl: string) {\n return function getNode(address: string): Promise<Node> {\n return RequestClient.get<Node>(`${baseUrl}/v2/node/${address}`);\n };\n}\n\nfunction getMimirVotes(baseUrl: string) {\n return function getMimirVotes(): Promise<MimirVote[]> {\n return RequestClient.get<MimirVote[]>(`${baseUrl}/v2/mimir/votes`);\n };\n}\n\nfunction getMimir(baseUrl: string) {\n return function getMimir(): Promise<Record<string, string>> {\n return RequestClient.get<Record<string, string>>(`${baseUrl}/v2/mimir`);\n };\n}\n\nfunction getConstants(baseUrl: string) {\n return function getConstants(): Promise<Constants> {\n return RequestClient.get<Constants>(`${baseUrl}/v2/constants`);\n };\n}\n\nfunction getStats(baseUrl: string) {\n return function getStats(): Promise<Stats> {\n return RequestClient.get<Stats>(`${baseUrl}/v2/stats`);\n };\n}\n\nfunction getEarningsHistory(baseUrl: string) {\n return function getEarningsHistory(query?: HistoryQuery): Promise<EarningsHistory> {\n const params = new URLSearchParams();\n if (query?.interval) params.append(\"interval\", query.interval);\n if (query?.count) params.append(\"count\", query.count.toString());\n if (query?.from) params.append(\"from\", query.from.toString());\n if (query?.to) params.append(\"to\", query.to.toString());\n const queryString = params.toString() ? `?${params.toString()}` : \"\";\n return RequestClient.get<EarningsHistory>(`${baseUrl}/v2/history/earnings${queryString}`);\n };\n}\n\nfunction getSwapHistory(baseUrl: string) {\n return function getSwapHistory(pool?: string, query?: HistoryQuery): Promise<SwapHistory> {\n const params = new URLSearchParams();\n if (query?.interval) params.append(\"interval\", query.interval);\n if (query?.count) params.append(\"count\", query.count.toString());\n if (query?.from) params.append(\"from\", query.from.toString());\n if (query?.to) params.append(\"to\", query.to.toString());\n const queryString = params.toString() ? `?${params.toString()}` : \"\";\n const poolPath = pool ? `/swaps/${pool}` : \"/swaps\";\n return RequestClient.get<SwapHistory>(`${baseUrl}/v2/history${poolPath}${queryString}`);\n };\n}\n\nfunction getTVLHistory(baseUrl: string) {\n return function getTVLHistory(query?: HistoryQuery): Promise<TVLHistory> {\n const params = new URLSearchParams();\n if (query?.interval) params.append(\"interval\", query.interval);\n if (query?.count) params.append(\"count\", query.count.toString());\n if (query?.from) params.append(\"from\", query.from.toString());\n if (query?.to) params.append(\"to\", query.to.toString());\n const queryString = params.toString() ? `?${params.toString()}` : \"\";\n return RequestClient.get<TVLHistory>(`${baseUrl}/v2/history/tvl${queryString}`);\n };\n}\n\nfunction buildActionParams(query?: ActionQuery): string {\n if (!query) return \"\";\n const params = new URLSearchParams();\n const appendParam = (key: keyof ActionQuery, value: any) => {\n if (value !== undefined) {\n params.append(key, typeof value === \"number\" ? value.toString() : value);\n }\n };\n appendParam(\"address\", query.address);\n appendParam(\"txid\", query.txid);\n appendParam(\"asset\", query.asset);\n appendParam(\"type\", query.type);\n appendParam(\"affiliate\", query.affiliate);\n appendParam(\"limit\", query.limit);\n appendParam(\"offset\", query.offset);\n return params.toString() ? `?${params.toString()}` : \"\";\n}\n\nfunction getActions(baseUrl: string) {\n return function getActions(query?: ActionQuery): Promise<PagedResponse<Action>> {\n const queryString = buildActionParams(query);\n return RequestClient.get<PagedResponse<Action>>(`${baseUrl}/v2/actions${queryString}`);\n };\n}\n\nfunction getLiquidityPositionRaw<Chain extends TCLikeChain>(baseUrl: string) {\n return function getLiquidityPosition(\n address: string,\n ): Promise<Chain extends typeof Chain.THORChain ? MemberDetailsThorchain : MemberDetailsMayachain> {\n return RequestClient.get<Chain extends typeof Chain.THORChain ? MemberDetailsThorchain : MemberDetailsMayachain>(\n `${baseUrl}/v2/member/${address}`,\n );\n };\n}\n\nfunction getMembers(baseUrl: string) {\n return function getMembers(pool?: string): Promise<string[]> {\n const poolPath = pool ? `/${pool}` : \"\";\n return RequestClient.get<string[]>(`${baseUrl}/v2/members${poolPath}`);\n };\n}\n\nfunction getSaverDetails(baseUrl: string) {\n return function getSaverDetails(address: string, pool?: string): Promise<SaverDetails[]> {\n const poolPath = pool ? `&asset=${pool}` : \"\";\n return RequestClient.get<SaverDetails[]>(\n `${baseUrl}/v2/saver/${address}${poolPath ? `?${poolPath.substring(1)}` : \"\"}`,\n );\n };\n}\n\nfunction getSavers(baseUrl: string) {\n return function getSavers(pool: string): Promise<string[]> {\n return RequestClient.get<string[]>(`${baseUrl}/v2/savers/${pool}`);\n };\n}\n\nfunction getSaversHistory(baseUrl: string) {\n return function getSaversHistory(pool?: string, query?: HistoryQuery): Promise<SaversHistory> {\n const params = new URLSearchParams();\n if (query?.interval) params.append(\"interval\", query.interval);\n if (query?.count) params.append(\"count\", query.count.toString());\n if (query?.from) params.append(\"from\", query.from.toString());\n if (query?.to) params.append(\"to\", query.to.toString());\n const queryString = params.toString() ? `?${params.toString()}` : \"\";\n const poolPath = pool ? `/savers/${pool}` : \"/savers\";\n return RequestClient.get<SaversHistory>(`${baseUrl}/v2/history${poolPath}${queryString}`);\n };\n}\n\nfunction getBalance(baseUrl: string) {\n return function getBalance(address: string): Promise<Balance[]> {\n return RequestClient.get<Balance[]>(`${baseUrl}/v2/balance/${address}`);\n };\n}\n\nfunction getNameDetails(baseUrl: string) {\n return async function getNamesByAddress(name: string) {\n const errorHandler = (error: any) => {\n // Handle specific error cases\n if (error?.cause?.status === 404) {\n return undefined;\n }\n throw error;\n };\n return await RequestClient.get<THORNameDetails>(`${baseUrl}/lookup/${name}`, {\n onError: errorHandler,\n retry: { maxRetries: 1 },\n });\n };\n}\n\nfunction getNamesByAddress(baseUrl: string) {\n return async function getNamesByAddress(address: string) {\n const errorHandler = (error: any) => {\n // Handle specific error cases\n if (error?.cause?.status === 404) {\n return [];\n }\n throw error;\n };\n return await RequestClient.get<string[]>(`${baseUrl}/rlookup/${address}`, {\n onError: errorHandler,\n retry: { maxRetries: 1 },\n });\n };\n}\n\nfunction getNamesByOwner(baseUrl: string) {\n return async function getNamesByOwner(address: string) {\n const errorHandler = (error: any) => {\n // Handle specific error cases\n if (error?.cause?.status === 404) {\n return [];\n }\n throw error;\n };\n return await RequestClient.get<string[]>(`${baseUrl}/owner/${address}`, {\n onError: errorHandler,\n retry: { maxRetries: 1 },\n });\n };\n}\n\nfunction getPoolAsset({ asset, value }: { asset: string; value: string }) {\n return AssetValue.from({ asset, fromBaseDecimal: getChainConfig(Chain.THORChain).baseDecimal, value });\n}\n\nfunction getLiquidityPosition<IsThorchain extends boolean = true>({\n liquidityPositionGetter,\n isThorchain,\n}: {\n liquidityPositionGetter: ReturnType<\n typeof getLiquidityPositionRaw<IsThorchain extends true ? typeof Chain.THORChain : typeof Chain.Maya>\n >;\n isThorchain: IsThorchain;\n}) {\n return async function getLiquidityPosition(address: string) {\n const rawLiquidityPositions = await liquidityPositionGetter(address);\n const fieldPrefix = isThorchain ? \"rune\" : \"cacao\";\n\n return rawLiquidityPositions.pools.map((p) => ({\n [`${fieldPrefix}Pending`]: getPoolAsset({ asset: \"THOR.RUNE\", value: p.runePending }),\n [`${fieldPrefix}RegisteredAddress`]: p.runeAddress,\n [`${fieldPrefix}Withdrawn`]: getPoolAsset({ asset: \"THOR.RUNE\", value: p.runeWithdrawn }),\n [fieldPrefix]: getPoolAsset({ asset: \"THOR.RUNE\", value: p.runeAdded }),\n asset: getPoolAsset({ asset: p.pool, value: p.assetAdded }),\n assetPending: getPoolAsset({ asset: p.pool, value: p.assetPending }),\n assetRegisteredAddress: p.assetAddress,\n assetWithdrawn: getPoolAsset({ asset: p.pool, value: p.assetWithdrawn }),\n dateFirstAdded: p.dateFirstAdded,\n dateLastAdded: p.dateLastAdded,\n poolShare: new SwapKitNumber(p.liquidityUnits).div(p.pool),\n }));\n };\n}\n\nfunction getMidgardMethodsForProtocol<T extends TCLikeChain>(chain: T) {\n const isThorchain = chain === Chain.THORChain;\n const midgardBaseUrl = getMidgardBaseUrl(isThorchain);\n const nameServiceBaseUrl = getNameServiceBaseUrl(isThorchain);\n const liquidityPositionGetter = getLiquidityPositionRaw<T>(midgardBaseUrl);\n\n return {\n getActions: getActions(midgardBaseUrl),\n getBalance: getBalance(midgardBaseUrl),\n getConstants: getConstants(midgardBaseUrl),\n getEarningsHistory: getEarningsHistory(midgardBaseUrl),\n getHealth: getHealth(midgardBaseUrl),\n getLiquidityPosition: getLiquidityPosition({ isThorchain, liquidityPositionGetter }),\n getLiquidityPositionRaw: liquidityPositionGetter,\n getMembers: getMembers(midgardBaseUrl),\n getMimir: getMimir(midgardBaseUrl),\n getMimirVotes: getMimirVotes(midgardBaseUrl),\n getNameDetails: getNameDetails(nameServiceBaseUrl),\n getNamesByAddress: getNamesByAddress(nameServiceBaseUrl),\n getNamesByOwner: getNamesByOwner(nameServiceBaseUrl),\n getNetworkInfo: getNetworkInfo(midgardBaseUrl),\n getNode: getNode(midgardBaseUrl),\n getNodes: getNodes(midgardBaseUrl),\n getPool: getPool(midgardBaseUrl),\n getPoolDepthHistory: getPoolDepthHistory(midgardBaseUrl),\n getPoolStats: getPoolStats(midgardBaseUrl),\n getPools: getPools(midgardBaseUrl),\n getSaverDetails: getSaverDetails(midgardBaseUrl),\n getSavers: getSavers(midgardBaseUrl),\n getSaversHistory: getSaversHistory(midgardBaseUrl),\n getStats: getStats(midgardBaseUrl),\n getSwapHistory: getSwapHistory(midgardBaseUrl),\n getTVLHistory: getTVLHistory(midgardBaseUrl),\n };\n}\n\nexport const thorchainMidgard = getMidgardMethodsForProtocol(Chain.THORChain);\nexport const mayachainMidgard = getMidgardMethodsForProtocol(Chain.Maya);\n",
6
- "import {\n type Chain,\n type EVMChain,\n EVMChains,\n isGasAsset,\n type ProviderName,\n RequestClient,\n SKConfig,\n SwapKitError,\n} from \"@swapkit/helpers\";\nimport { match, P } from \"ts-pattern\";\nimport {\n type BalanceResponse,\n type BrokerDepositChannelParams,\n type DepositChannelResponse,\n DepositChannelResponseSchema,\n type GasResponse,\n GasResponseSchema,\n type NearDepositChannelParams,\n type NearSwapResponse,\n NearSwapResponseSchema,\n type PriceRequest,\n type PriceResponse,\n PriceResponseSchema,\n type QuoteRequest,\n type QuoteResponse,\n type QuoteResponseRoute,\n QuoteResponseRouteItem,\n QuoteResponseSchema,\n type TokenListProvidersResponse,\n type TokensResponseV2,\n type TrackerResponse,\n TrackerResponseSchema,\n type TrackingRequest,\n} from \"./types\";\n\nconst SKRequestClient = RequestClient.extend({\n dynamicHeader: () => {\n const { swapKit } = SKConfig.get(\"apiKeys\");\n return swapKit ? { \"x-api-key\": swapKit } : {};\n },\n});\n\nexport async function getTrackerDetails(json: TrackingRequest) {\n const response = await SKRequestClient.post<TrackerResponse>(getApiUrl(\"/track\"), { json });\n\n try {\n const parsedResponse = TrackerResponseSchema.safeParse(response);\n\n if (!parsedResponse.success) {\n throw new SwapKitError(\"api_v2_invalid_response\", parsedResponse.error);\n }\n\n return parsedResponse.data;\n } catch (_error) {\n // throw new SwapKitError(\"api_v2_invalid_response\", error);\n return response;\n }\n}\n\nexport async function getSwapQuote(json: QuoteRequest) {\n const { getQuote } = SKConfig.get(\"endpoints\");\n\n if (getQuote) return getQuote(json);\n\n const response = await SKRequestClient.post<QuoteResponse>(getApiUrl(\"/quote\"), { json });\n\n if (response.error) {\n throw new SwapKitError(\"api_v2_server_error\", { message: response.error });\n }\n\n try {\n const parsedResponse = QuoteResponseSchema.safeParse(response);\n\n if (!parsedResponse.success) {\n throw new SwapKitError(\"api_v2_invalid_response\", parsedResponse.error);\n }\n\n return parsedResponse.data;\n } catch {\n // throw new SwapKitError(\"api_v2_invalid_response\", error);\n return response;\n }\n}\n\nexport async function getRouteWithTx(json: { routeId: string; sourceAddress: string; destinationAddress: string }) {\n const { getRouteWithTx } = SKConfig.get(\"endpoints\");\n\n if (getRouteWithTx) return getRouteWithTx(json);\n\n const response = await SKRequestClient.post<QuoteResponseRoute>(getApiUrl(\"/swap\"), { json });\n\n try {\n const parsedResponse = QuoteResponseRouteItem.safeParse(response);\n\n if (!parsedResponse.success) {\n throw new SwapKitError(\"api_v2_invalid_response\", parsedResponse.error);\n }\n\n return parsedResponse.data;\n } catch (error) {\n console.error(new SwapKitError(\"api_v2_invalid_response\", error));\n return response;\n }\n}\n\nexport async function getChainBalance<T extends Chain>({\n chain,\n address,\n scamFilter = true,\n}: {\n chain: T;\n address: string;\n scamFilter?: boolean;\n}) {\n const { getBalance } = SKConfig.get(\"endpoints\");\n if (getBalance) return getBalance({ address, chain });\n\n const url = getApiUrl(`/balance?chain=${chain}&address=${address}`);\n const balanceResponse = await SKRequestClient.get<BalanceResponse>(url);\n const balances = Array.isArray(balanceResponse) ? balanceResponse : [];\n return scamFilter ? filterAssets(balances) : balances;\n}\n\nexport function getTokenListProviders() {\n const url = getApiUrl(\"/providers\");\n return SKRequestClient.get<TokenListProvidersResponse>(url);\n}\n\nexport function getTokenList(provider: ProviderName) {\n const url = getApiUrl(`/tokens?provider=${provider}`);\n return SKRequestClient.get<TokensResponseV2>(url);\n}\n\nexport async function getPrice(body: PriceRequest) {\n const url = getApiUrl(\"/price\");\n const response = await SKRequestClient.post<PriceResponse>(url, { json: body });\n\n try {\n const parsedResponse = PriceResponseSchema.safeParse(response);\n\n if (!parsedResponse.success) {\n throw new SwapKitError(\"api_v2_invalid_response\", parsedResponse.error);\n }\n\n return parsedResponse.data;\n } catch (error) {\n throw new SwapKitError(\"api_v2_invalid_response\", error);\n }\n}\n\nexport async function getGasRate() {\n const url = getApiUrl(\"/gas\");\n const response = await SKRequestClient.get<GasResponse>(url);\n\n try {\n const parsedResponse = GasResponseSchema.safeParse(response);\n\n if (!parsedResponse.success) {\n throw new SwapKitError(\"api_v2_invalid_response\", parsedResponse.error);\n }\n\n const gasRates = Array.isArray(parsedResponse) ? parsedResponse : [parsedResponse];\n return gasRates;\n } catch (error) {\n throw new SwapKitError(\"api_v2_invalid_response\", error);\n }\n}\n\nexport async function getChainflipDepositChannel(body: BrokerDepositChannelParams) {\n const { destinationAddress } = body;\n\n if (!destinationAddress) {\n throw new SwapKitError(\"chainflip_broker_invalid_params\");\n }\n const url = SKConfig.get(\"integrations\").chainflip?.brokerUrl || getApiUrl(\"/chainflip/broker/channel\");\n\n const response = await SKRequestClient.post<DepositChannelResponse>(url, { json: body });\n\n try {\n const parsedResponse = DepositChannelResponseSchema.safeParse(response);\n\n if (!parsedResponse.success) {\n throw new SwapKitError(\"api_v2_invalid_response\", parsedResponse.error);\n }\n\n return parsedResponse.data;\n } catch (error) {\n throw new SwapKitError(\"api_v2_invalid_response\", error);\n }\n}\n\nexport async function getNearDepositChannel(body: NearDepositChannelParams) {\n const { destinationAddress } = body;\n\n if (!destinationAddress) {\n throw new SwapKitError(\"chainflip_broker_invalid_params\");\n }\n const url = getApiUrl(\"/near/channel\");\n\n const response = await SKRequestClient.post<NearSwapResponse>(url, { json: body });\n\n try {\n const parsedResponse = NearSwapResponseSchema.safeParse(response);\n\n if (!parsedResponse.success) {\n throw new SwapKitError(\"api_v2_invalid_response\", parsedResponse.error);\n }\n\n return parsedResponse.data;\n } catch (error) {\n throw new SwapKitError(\"api_v2_invalid_response\", error);\n }\n}\n\nfunction getApiUrl(path?: `/${string}`) {\n const { isDev, apiUrl, devApiUrl, experimental_apiUrlQuote, experimental_apiUrlSwap } = SKConfig.get(\"envs\");\n\n const defaultUrl = `${isDev ? devApiUrl : apiUrl}${path}`;\n\n return match({ experimental_apiUrlQuote, experimental_apiUrlSwap, path })\n .with(\n { experimental_apiUrlQuote: P.string.startsWith(\"http\"), path: \"/quote\" },\n ({ experimental_apiUrlQuote, path }) => `${experimental_apiUrlQuote}${path}`,\n )\n .with(\n { experimental_apiUrlSwap: P.string.startsWith(\"http\"), path: \"/swap\" },\n ({ experimental_apiUrlSwap, path }) => `${experimental_apiUrlSwap}${path}`,\n )\n .otherwise(() => defaultUrl);\n}\n\nfunction evmAssetHasAddress(assetString: string) {\n const [chain, symbol] = assetString.split(\".\") as [EVMChain, string];\n if (!EVMChains.includes(chain as EVMChain)) return true;\n const splitSymbol = symbol.split(\"-\");\n const address = splitSymbol.length === 1 ? undefined : splitSymbol[splitSymbol.length - 1];\n\n return isGasAsset({ chain: chain as Chain, symbol }) || !!address;\n}\n\nconst potentialScamRegex = new RegExp(/(.)\\1{6}|\\.ORG|\\.NET|\\.FINANCE|\\.COM|WWW|HTTP|\\\\\\\\|\\/\\/|[\\s$%:[\\]]/, \"gmi\");\nfunction filterAssets(tokens: BalanceResponse) {\n return tokens.filter((token) => {\n return !potentialScamRegex.test(token.identifier) && evmAssetHasAddress(token.identifier);\n });\n}\n",
7
- "import { ErrorCode, FeeTypeEnum, ProviderName, WarningCodeEnum } from \"@swapkit/helpers\";\nimport { Chain, ChainId } from \"@swapkit/types\";\nimport { array, boolean, coerce, number, object, optional, string, union, unknown, type ZodType, z } from \"zod/v4\";\n\nexport enum PriorityLabel {\n CHEAPEST = \"CHEAPEST\",\n FASTEST = \"FASTEST\",\n RECOMMENDED = \"RECOMMENDED\",\n}\n\nexport enum RouteQuoteTxType {\n PSBT = \"PSBT\",\n EVM = \"EVM\",\n COSMOS = \"COSMOS\",\n RADIX = \"RADIX\",\n}\n\nexport enum TxnType {\n approve = \"approve\",\n claim = \"claim\",\n deposit = \"deposit\",\n donate = \"donate\",\n lending = \"lending\",\n lp_action = \"lp_action\",\n native_contract_call = \"native_contract_call\",\n native_send = \"native_send\",\n stake = \"stake\",\n streaming_swap = \"streaming_swap\",\n swap = \"swap\",\n thorname_action = \"thorname_action\",\n token_contract_call = \"token_contract_call\",\n token_transfer = \"token_transfer\",\n unknown = \"unknown\",\n unstake = \"unstake\",\n}\n\nexport enum ProviderAction {\n swap = \"swap\",\n aggregation = \"aggregation\",\n addLiquidity = \"addLiquidity\",\n withdrawLiquidity = \"withdrawLiquidity\",\n addSavers = \"addSavers\",\n withdrawSavers = \"withdrawSavers\",\n borrow = \"borrow\",\n repay = \"repay\",\n name = \"name\",\n donate = \"donate\",\n claim = \"claim\",\n stake = \"stake\",\n unstake = \"unstake\",\n}\n\nexport enum TxnStatus {\n unknown = \"unknown\",\n not_started = \"not_started\",\n pending = \"pending\",\n swapping = \"swapping\",\n completed = \"completed\",\n refunded = \"refunded\",\n failed = \"failed\",\n}\n\nexport enum TrackingStatus {\n not_started = \"not_started\",\n starting = \"starting\",\n broadcasted = \"broadcasted\",\n mempool = \"mempool\",\n inbound = \"inbound\",\n outbound = \"outbound\",\n swapping = \"swapping\",\n completed = \"completed\",\n refunded = \"refunded\",\n partially_refunded = \"partially_refunded\",\n dropped = \"dropped\",\n reverted = \"reverted\",\n replaced = \"replaced\",\n retries_exceeded = \"retries_exceeded\",\n parsing_error = \"parsing_error\",\n}\n\ntype TokenProviderVersion = { major: number; minor: number; patch: number };\n\nexport type TokenListProvidersResponse = Array<{\n provider: ProviderName;\n name: string;\n timestamp: string;\n version: TokenProviderVersion;\n keywords: string[];\n count: number;\n url: string;\n}>;\n\nexport type TokensResponseV2 = {\n chainId: ChainId;\n count: number;\n keywords: string[];\n name: string;\n provider: ProviderName;\n timestamp: string;\n tokens: Token[];\n version: TokenProviderVersion;\n};\n\nexport const TokenSchema = object({\n address: optional(string()),\n chain: z.enum(Chain).optional(),\n chainId: z.enum(ChainId),\n coingeckoId: optional(string()),\n decimals: coerce.number(),\n extensions: optional(z.looseObject({})),\n identifier: string(),\n logoURI: optional(string()),\n name: optional(string()),\n shortCode: optional(string()),\n symbol: optional(string()),\n ticker: string(),\n});\n\nexport type Token = z.infer<typeof TokenSchema>;\n\nexport const TrackingRequestSchema = z\n .object({\n block: z.optional(z.number().describe(\"Block number. Required for Polkadot chain. e.g. `123456`\")),\n chainId: z.optional(z.string().describe(\"ChainId for the hash. e.g. `thorchain-1`\")),\n depositChannelId: z.optional(\n z.string().describe(\"Deposit channel ID, required for Chainflip if tx was broadcasted without wallet connection\"),\n ),\n hash: z.optional(\n z\n .string()\n .describe(\n \"Hash for the first transaction broadcasted by the end user. e.g. `88D1819378ECD09E5284C54937CDC1E99B52F253C007617A02DD1200710CE677`\",\n ),\n ),\n })\n .refine((data) => (data.hash && data.chainId) || data.depositChannelId, {\n message: \"Either `hash` and `chainId` or `depositChannelId` must be provided\",\n });\n\nexport const TrackingRequestQuerySchema = z.object({\n forceUpdate: z\n .string()\n .toLowerCase()\n .transform((x) => x === \"true\")\n .pipe(z.boolean())\n .optional(),\n});\n\nexport type TrackingRequest = z.infer<typeof TrackingRequestSchema>;\n\nexport const ApiV2ErrorSchema = object({ error: string(), message: string() });\n\nexport const AssetValueSchema = object({\n address: optional(string()),\n chain: z.enum(Chain),\n decimal: optional(number()),\n isGasAsset: boolean(),\n isSynthetic: boolean(),\n symbol: string(),\n tax: optional(object({ buy: number(), sell: number() })),\n ticker: string(),\n});\n\nexport const TokenDetailsMetadataSchema = object({\n id: string(),\n market_cap: number(),\n name: string(),\n price_change_24h_usd: number(),\n price_change_percentage_24h_usd: number(),\n sparkline_in_7d: array(number()),\n timestamp: string(),\n total_volume: number(),\n});\n\nexport const PriceResponseSchema = array(\n object({\n cg: TokenDetailsMetadataSchema.optional(),\n identifier: string(),\n price_usd: number(),\n provider: string(),\n timestamp: number(),\n }).partial(),\n);\n\nexport type PriceResponse = z.infer<typeof PriceResponseSchema>;\n\nexport const QuoteRequestSchema = object({\n affiliate: optional(string().describe(\"Affiliate thorname\")),\n affiliateFee: optional(\n number()\n .describe(\"Affiliate fee in basis points\")\n .refine((fee) => fee === Math.floor(fee) && fee >= 0, {\n message: \"affiliateFee must be a positive integer\",\n path: [\"affiliateFee\"],\n }),\n ),\n allowSmartContractReceiver: optional(boolean().describe(\"Allow smart contract as recipient\")),\n allowSmartContractSender: optional(boolean().describe(\"Allow smart contract as sender\")),\n buyAsset: string().describe(\"Asset to buy\"),\n cfBoost: optional(boolean().describe(\"Set to true to enable CF boost to speed up Chainflip swaps. BTC only.\")),\n destinationAddress: optional(string().describe(\"Address to send asset to\")),\n disableSecurityChecks: optional(boolean().describe(\"Disable security checks\")),\n includeTx: optional(boolean().describe(\"Set to true to include an transaction object (EVM only)\")),\n providers: optional(\n array(\n string()\n .describe(\"List of providers to use\")\n .refine((provider) => ProviderName[provider as ProviderName] !== undefined, {\n message: \"Invalid provider\",\n path: [\"providers\"],\n }),\n ),\n ),\n referrer: optional(string().describe(\"Referrer address (referral program)\")),\n sellAmount: string()\n .describe(\"Amount of asset to sell\")\n .refine((amount) => +amount > 0, { message: \"sellAmount must be greater than 0\", path: [\"sellAmount\"] }),\n sellAsset: string().describe(\"Asset to sell\"),\n slippage: optional(number().describe(\"Slippage tolerance as a percentage. Default is 3%.\")),\n sourceAddress: optional(string().describe(\"Address to send asset from\")),\n}).refine((data) => data.sellAsset !== data.buyAsset, {\n message: \"Must be different\",\n path: [\"sellAsset\", \"buyAsset\"],\n});\n\nexport type QuoteRequest = z.infer<typeof QuoteRequestSchema>;\n\nexport const PriceRequestSchema = object({ metadata: boolean(), tokens: array(object({ identifier: string() })) });\n\nexport type PriceRequest = z.infer<typeof PriceRequestSchema>;\n\nexport const DepositChannelParamsSchema = object({ destinationAddress: string() });\n\nexport const BrokerDepositChannelParamsSchema = DepositChannelParamsSchema.extend({\n affiliateFees: array(object({ brokerAddress: string(), feeBps: number() })).optional(),\n brokerCommissionBps: number().optional(),\n buyAsset: object({ asset: string(), chain: string() }),\n channelMetadata: object({\n cfParameters: string().optional(),\n gasBudget: string().optional(),\n message: string().optional(),\n }).optional(),\n dcaParameters: object({ chunkInterval: number().optional(), numberOfChunks: number().optional() }).optional(),\n maxBoostFeeBps: number().optional(),\n refundParameters: object({\n minPrice: string().optional(),\n refundAddress: string().optional(),\n retryDuration: number().optional(),\n }).optional(),\n sellAsset: object({ asset: string(), chain: string() }),\n});\n\nexport type BrokerDepositChannelParams = z.infer<typeof BrokerDepositChannelParamsSchema>;\n\nexport const DepositChannelResponseSchema = object({ channelId: string(), depositAddress: string() });\n\nexport const NearDepositChannelParamsSchema = DepositChannelParamsSchema.extend({\n affiliateFees: object({ feeBps: number(), nearId: string() }).optional(),\n buyAsset: string(),\n sellAmount: string(),\n sellAsset: string(),\n slippage: coerce.number(),\n sourceAddress: string(),\n});\n\nexport type NearDepositChannelParams = z.infer<typeof NearDepositChannelParamsSchema>;\n\nconst NearQuoteResponseSchema = object({\n amountIn: string(),\n amountInFormatted: string(),\n amountInUsd: string(),\n amountOut: string(),\n amountOutFormatted: string(),\n amountOutUsd: string(),\n deadline: string().optional(),\n minAmountIn: string(),\n minAmountOut: string(),\n timeEstimate: number().optional(),\n timeWhenInactive: string().optional(),\n});\n\nexport const NearDepositChannelResultSchema = NearQuoteResponseSchema.extend({\n depositAddress: string(),\n quote: NearQuoteResponseSchema,\n signature: string(),\n timestamp: string(),\n tx: unknown(),\n});\n\nexport type NearDepositChannelResult = z.infer<typeof NearDepositChannelResultSchema>;\n\nexport const NearSwapResponseSchema = object({\n buyAsset: string(),\n buyAssetAmount: string(),\n buyAssetAmountMaxSlippage: string(),\n deadline: string().optional(),\n depositAddress: string(),\n depositAmount: string(),\n depositAsset: string(),\n tx: unknown(),\n});\n\nexport type NearSwapResponse = z.infer<typeof NearSwapResponseSchema>;\n\nexport type DepositChannelResponse = z.infer<typeof DepositChannelResponseSchema>;\n\nconst TxnPayloadSchema = object({\n evmCalldata: z.optional(z.string()),\n intentHash: z.optional(z.string()),\n logs: z.optional(z.unknown()),\n manifest: z.optional(z.unknown()),\n memo: z.optional(z.string()),\n spender: z.optional(z.string()),\n thorname: z.optional(z.string()),\n});\n\nexport type TxnPayload = z.infer<typeof TxnPayloadSchema>;\n\nconst TransactionEstimatesSchema = object({\n currentStage: string(),\n inboundConfirmation: number(),\n inboundObservation: number(),\n outboundDelay: number(),\n outboundObservation: number(),\n streamingSwap: number(),\n});\n\nexport type TransactionEstimates = z.infer<typeof TransactionEstimatesSchema>;\n\nconst TransactionStreamingDetailsSchema = object({\n count: optional(number()),\n interval: optional(number()),\n quantity: optional(number()),\n subSwapsMap: optional(array(number())),\n});\n\nexport type TransactionStreamingDetails = z.infer<typeof TransactionStreamingDetailsSchema>;\n\nconst TxnTransientSchema = z.object({\n currentLegIndex: z.optional(z.number()),\n estimatedTimeToComplete: z.number(),\n estimates: z.optional(TransactionEstimatesSchema),\n providerDetails: z.optional(z.object({ streamingDetails: z.optional(TransactionStreamingDetailsSchema) })),\n});\n\nexport type TxnTransient = z.infer<typeof TxnTransientSchema>;\n\nconst TransactionFeesSchema = object({\n affiliate: optional(AssetValueSchema), // e.g. affiliate in memo, other affiliate mechanisms\n liquidity: optional(AssetValueSchema), // fee paid to pool\n network: optional(AssetValueSchema), // gas on ethereum, network fee on thorchain, etc.\n protocol: optional(AssetValueSchema), // extra protocol fees (TS dex aggregation contracts, stargate fees, etc.)\n tax: optional(AssetValueSchema), // taxed tokens\n});\n\nexport type TransactionFees = z.infer<typeof TransactionFeesSchema>;\n\nconst TxnMetaAffiliateFeesSchema = object({ affiliate: string(), bps: string(), isReferrer: boolean() });\n\nconst TxnMetaSchema = object({\n affiliate: optional(string()),\n affiliateFees: optional(array(TxnMetaAffiliateFeesSchema)),\n broadcastedAt: optional(number()),\n explorerUrl: optional(string()),\n fees: optional(TransactionFeesSchema),\n images: optional(\n object({\n chain: optional(string()),\n from: optional(string()),\n provider: optional(string()),\n to: optional(string()),\n }),\n ),\n provider: optional(z.enum(ProviderName)),\n providerAction: z.optional(z.enum(ProviderAction)),\n quoteId: optional(string()),\n wallet: optional(string()),\n});\n\nexport type TxnMeta = z.infer<typeof TxnMetaSchema>;\n\nconst TransactionLegDTOSchema = z.object({\n block: z.number(),\n chainId: z.enum(ChainId),\n finalAddress: z.optional(z.string()),\n finalAsset: z.optional(AssetValueSchema),\n finalisedAt: z.number(),\n fromAddress: z.string(),\n fromAmount: z.string(),\n fromAsset: z.string(),\n hash: z.string(),\n meta: z.optional(TxnMetaSchema),\n payload: z.optional(TxnPayloadSchema),\n status: z.enum(TxnStatus),\n toAddress: z.string(),\n toAmount: z.string(),\n toAsset: z.string(),\n trackingStatus: z.optional(z.enum(TrackingStatus)),\n transient: z.optional(TxnTransientSchema),\n type: z.enum(TxnType),\n});\n\nexport type TransactionLegDTO = z.infer<typeof TransactionLegDTOSchema>;\n\nexport const TrackerResponseSchema: z.ZodType<TransactionDTO> = TransactionLegDTOSchema.extend({\n legs: z.array(TransactionLegDTOSchema),\n});\n\nexport type TrackerResponse = z.infer<typeof TrackerResponseSchema>;\n\nexport const TransactionSchema = TransactionLegDTOSchema.extend({ legs: array(TransactionLegDTOSchema) });\n\nexport type TransactionDTO = z.infer<typeof TransactionLegDTOSchema> & { legs: TransactionLegDTO[] };\n\nexport const TransactionDTOSchema: ZodType<TransactionDTO> = TransactionLegDTOSchema.extend({\n legs: array(TransactionLegDTOSchema),\n});\n\nexport const FeesSchema = array(\n object({\n amount: string(),\n asset: string(),\n chain: string(),\n protocol: z.enum(ProviderName),\n type: z.enum(FeeTypeEnum),\n }),\n);\n\nexport type Fees = z.infer<typeof FeesSchema>;\n\nexport const EstimatedTimeSchema = z.object({\n inbound: z.optional(z.number().describe(\"Time to receive inbound asset in seconds\")),\n outbound: z.optional(z.number().describe(\"Time to receive outbound asset in seconds\")),\n swap: z.optional(z.number().describe(\"Time to swap assets in seconds\")),\n total: z.number().describe(\"Total time in seconds\"),\n});\n\nexport type EstimatedTime = z.infer<typeof EstimatedTimeSchema>;\n\nexport const EVMTransactionSchema = object({\n data: string().describe(\"Data to send\"),\n from: string().describe(\"Address of the sender\"),\n to: string().describe(\"Address of the recipient\"),\n value: string().describe(\"Value to send\"),\n});\n\nexport type EVMTransaction = z.infer<typeof EVMTransactionSchema>;\n\nexport const EVMTransactionDetailsParamsSchema = array(\n union([\n string(),\n number(),\n array(string()),\n object({ from: string(), value: string() }).describe(\"Parameters to pass to the contract method\"),\n ]),\n);\n\nexport type EVMTransactionDetailsParams = z.infer<typeof EVMTransactionDetailsParamsSchema>;\n\nexport const EVMTransactionDetailsSchema = object({\n approvalSpender: optional(string().describe(\"Address of the spender to approve\")),\n approvalToken: optional(string().describe(\"Address of the token to approve spending of\")),\n contractAddress: string().describe(\"Address of the contract to interact with\"),\n contractMethod: string().describe(\"Name of the method to call\"),\n contractParamNames: array(string().describe(\"Names of the parameters to pass to the contract method\")),\n contractParams: EVMTransactionDetailsParamsSchema,\n});\n\nexport type EVMTransactionDetails = z.infer<typeof EVMTransactionDetailsSchema>;\n\nconst EncodeObjectSchema = object({ typeUrl: string(), value: unknown() });\n\nconst FeeSchema = object({ amount: array(object({ amount: string(), denom: string() })), gas: string() });\n\nexport const CosmosTransactionSchema = object({\n accountNumber: number(),\n chainId: z.enum(ChainId),\n fee: FeeSchema,\n memo: string(),\n msgs: array(EncodeObjectSchema),\n sequence: number(),\n});\n\nexport type CosmosTransaction = z.infer<typeof CosmosTransactionSchema>;\n\nexport const RouteLegSchema = object({\n affiliate: string().describe(\"Affiliate address\").optional(),\n affiliateFee: number().describe(\"Affiliate fee\").optional(),\n buyAsset: string().describe(\"Asset to buy\"),\n destinationAddress: string().describe(\"Destination address\"),\n estimatedTime: EstimatedTimeSchema.optional(),\n provider: z.enum(ProviderName),\n sellAsset: string().describe(\"Asset to sell\"),\n slipPercentage: number().describe(\"Slippage as a percentage\"),\n sourceAddress: string().describe(\"Source address\"),\n});\n\nexport type RouteLeg = z.infer<typeof RouteLegSchema>;\n\nexport const RouteLegWithoutAddressesSchema = RouteLegSchema.omit({\n destinationAddress: true,\n slipPercentage: true,\n sourceAddress: true,\n});\n\nexport type RouteLegWithoutAddresses = z.infer<typeof RouteLegWithoutAddressesSchema>;\n\nexport const RouteQuoteMetadataAssetSchema = object({\n asset: string().describe(\"Asset name\"),\n image: string().describe(\"Asset image\"),\n price: number().describe(\"Price in USD\"),\n});\n\nexport type RouteQuoteMetadataAsset = z.infer<typeof RouteQuoteMetadataAssetSchema>;\n\nexport const ChainflipMetadataSchema = BrokerDepositChannelParamsSchema;\n\nexport type ChainflipMetadata = z.infer<typeof ChainflipMetadataSchema>;\n\nexport const RouteQuoteMetadataSchema = object({\n assets: optional(array(RouteQuoteMetadataAssetSchema)),\n maxStreamingQuantity: number().optional(),\n referrer: string().optional(),\n streamingInterval: number().optional(),\n tags: array(z.enum(PriorityLabel)),\n});\n\nexport const RouteQuoteMetadataV2Schema = RouteQuoteMetadataSchema.extend({\n affiliate: optional(string()),\n affiliateFee: optional(string()),\n approvalAddress: optional(string().describe(\"Approval address for swap\")),\n chainflip: ChainflipMetadataSchema.optional(),\n garden: NearDepositChannelParamsSchema.optional(),\n near: NearDepositChannelParamsSchema.optional(),\n priceImpact: optional(number().describe(\"Price impact\")),\n referrer: optional(string()),\n txType: optional(z.enum(RouteQuoteTxType)),\n});\n\nexport const RouteQuoteWarningSchema = array(\n object({ code: z.enum(WarningCodeEnum), display: string(), tooltip: string().optional() }),\n);\n\nexport type RouteQuoteWarning = z.infer<typeof RouteQuoteWarningSchema>;\n\nconst QuoteResponseRouteLegItem = object({\n buyAmount: string().describe(\"Buy amount\"),\n buyAmountMaxSlippage: string().describe(\"Buy amount max slippage\"),\n buyAsset: string().describe(\"Asset to buy\"),\n fees: optional(FeesSchema),\n provider: z.enum(ProviderName),\n sellAmount: string().describe(\"Sell amount\"),\n sellAsset: string().describe(\"Asset to sell\"),\n});\n\nexport const QuoteResponseRouteItem = object({\n buyAsset: string().describe(\"Asset to buy\"),\n destinationAddress: string().describe(\"Destination address\"),\n estimatedTime: optional(EstimatedTimeSchema),\n expectedBuyAmount: string().describe(\"Expected Buy amount\"),\n expectedBuyAmountMaxSlippage: string().describe(\"Expected Buy amount max slippage\"),\n expiration: optional(string().describe(\"Expiration\")),\n fees: FeesSchema,\n inboundAddress: optional(string().describe(\"Inbound address\")),\n legs: array(QuoteResponseRouteLegItem),\n memo: optional(string().describe(\"Memo\")),\n meta: RouteQuoteMetadataV2Schema,\n providers: array(z.enum(ProviderName)),\n routeId: string().describe(\"Route ID\"),\n sellAmount: string().describe(\"Sell amount\"),\n sellAsset: string().describe(\"Asset to sell\"),\n sourceAddress: string().describe(\"Source address\"),\n targetAddress: optional(string().describe(\"Target address\")),\n totalSlippageBps: number().describe(\"Total slippage in bps\"),\n tx: optional(union([EVMTransactionSchema, CosmosTransactionSchema, string()])),\n txType: optional(z.enum(RouteQuoteTxType)),\n warnings: RouteQuoteWarningSchema,\n});\n\nexport const QuoteResponseSchema = object({\n error: optional(string().describe(\"Error message\")),\n providerErrors: optional(\n array(\n object({\n errorCode: optional(z.enum(ErrorCode)),\n message: optional(string()),\n provider: z.enum(ProviderName).optional(),\n }),\n ),\n ),\n quoteId: string().describe(\"Quote ID\"),\n routes: array(QuoteResponseRouteItem),\n});\n\nexport type QuoteResponse = z.infer<typeof QuoteResponseSchema>;\nexport type QuoteResponseRoute = z.infer<typeof QuoteResponseRouteItem>;\nexport type QuoteResponseRouteLeg = z.infer<typeof QuoteResponseRouteLegItem>;\n\nexport const GasSchema = z.object({\n chainId: z.enum(ChainId),\n createdAt: z.date(),\n id: z.number(),\n unit: z.string(),\n value: z.string(),\n});\n\nconst GasSchemaArray = z.array(GasSchema);\n\nexport const GasResponseSchema = z.union([GasSchema, GasSchemaArray]);\n\nexport type GasResponse = z.infer<typeof GasResponseSchema>;\n\nconst BalanceResponseSchema = array(\n object({\n chain: z.enum(Chain),\n decimal: number(),\n identifier: string(),\n symbol: string(),\n ticker: string(),\n value: string(),\n }),\n);\n\nexport type BalanceResponse = z.infer<typeof BalanceResponseSchema>;\n",
8
- "import { AssetValue, RequestClient, SKConfig } from \"@swapkit/helpers\";\nimport { MAYAConfig, StagenetMAYAConfig, StagenetTHORConfig, THORConfig } from \"@swapkit/types\";\nimport type {\n InboundAddressesItem,\n LastBlockItem,\n MimirData,\n NodeItem,\n RunePoolInfo,\n RunePoolProviderInfo,\n TCYClaimerResponse,\n TCYClaimersResponse,\n TCYStakerResponse,\n TCYStakersResponse,\n THORNodeTNSDetails,\n THORNodeType,\n} from \"./types\";\n\nfunction baseUrl(type?: THORNodeType) {\n const { isStagenet } = SKConfig.get(\"envs\");\n\n switch (type) {\n case \"mayachain\": {\n const nodeUrl = isStagenet ? StagenetMAYAConfig.nodeUrl : MAYAConfig.nodeUrl;\n return `${nodeUrl}/mayachain`;\n }\n default: {\n const nodeUrl = isStagenet ? StagenetTHORConfig.nodeUrl : THORConfig.nodeUrl;\n\n return `${nodeUrl}/thorchain`;\n }\n }\n}\n\nfunction getNameServiceBaseUrl(type?: THORNodeType) {\n const nsType = type === \"mayachain\" ? \"mayaname\" : \"thorname\";\n\n return `${baseUrl(type)}/${nsType}`;\n}\n\nexport function getLastBlock<T extends THORNodeType = \"thorchain\">(type: T = \"thorchain\" as T) {\n return RequestClient.get<LastBlockItem<T>[]>(`${baseUrl(type)}/lastblock`);\n}\n\nexport function getThorchainQueue(type?: THORNodeType) {\n return RequestClient.get(`${baseUrl(type)}/queue`);\n}\n\nexport function getNodes(type?: THORNodeType) {\n return RequestClient.get<NodeItem[]>(`${baseUrl(type)}/nodes`);\n}\n\nexport function getMimirInfo(type?: THORNodeType) {\n return RequestClient.get<MimirData>(`${baseUrl(type)}/mimir`);\n}\n\nexport function getInboundAddresses(type?: THORNodeType) {\n return RequestClient.get<InboundAddressesItem[]>(`${baseUrl(type)}/inbound_addresses`);\n}\n\nexport async function getTHORNodeTNSDetails({\n type,\n name,\n}: {\n type?: THORNodeType;\n name: string;\n}): Promise<THORNodeTNSDetails> {\n try {\n const result = await RequestClient.get<THORNodeTNSDetails>(`${getNameServiceBaseUrl(type)}/${name}`);\n return result;\n } catch {\n return { affiliate_collector_rune: \"\", aliases: [], expire_block_height: 0, name, owner: \"\", preferred_asset: \"\" };\n }\n}\n\nexport async function getTNSPreferredAsset({ type, tns }: { type?: THORNodeType; tns: string }) {\n const tnsDetails = await getTHORNodeTNSDetails({ name: tns, type });\n\n if (!tnsDetails.preferred_asset || tnsDetails.preferred_asset === \".\") return undefined;\n\n return AssetValue.from({ asset: tnsDetails.preferred_asset, asyncTokenLookup: true });\n}\n\nexport function getRunePoolInfo(type?: THORNodeType) {\n return RequestClient.get<RunePoolInfo>(`${baseUrl(type)}/runepool`);\n}\n\nexport function getRunePoolProviderInfo({ type, thorAddress }: { type?: THORNodeType; thorAddress: string }) {\n return RequestClient.get<RunePoolProviderInfo>(`${baseUrl(type)}/rune_provider/${thorAddress}`);\n}\n\nexport function getTcyStaker({ type, address }: { type?: THORNodeType; address: string }) {\n return RequestClient.get<TCYStakerResponse>(`${baseUrl(type)}/tcy_staker/${address}`);\n}\n\nexport function getTcyStakers(type?: THORNodeType) {\n return RequestClient.get<TCYStakersResponse>(`${baseUrl(type)}/tcy_stakers`);\n}\n\nexport function getTcyClaimer({ type, address }: { type?: THORNodeType; address: string }) {\n return RequestClient.get<TCYClaimerResponse>(`${baseUrl(type)}/tcy_claimer/${address}`);\n}\n\nexport function getTcyClaimers(type?: THORNodeType) {\n return RequestClient.get<TCYClaimersResponse>(`${baseUrl(type)}/tcy_claimers`);\n}\n",
9
- "import { mayachainMidgard, thorchainMidgard } from \"./midgard/endpoints\";\nimport * as swapkit from \"./swapkitApi/endpoints\";\nimport * as thornode from \"./thornode/endpoints\";\n\nexport * from \"./midgard/types\";\nexport * from \"./swapkitApi/types\";\nexport * from \"./thornode/types\";\n\nexport const SwapKitApi = { ...swapkit, mayachainMidgard, thorchainMidgard, thornode };\n"
10
- ],
11
- "mappings": "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",
12
- "debugId": "D0A66EB58782068B64756E2164756E21",
13
- "names": []
14
- }
@@ -1,5 +0,0 @@
1
- var g=Object.create;var{getPrototypeOf:h,defineProperty:f,getOwnPropertyNames:i}=Object;var j=Object.prototype.hasOwnProperty;var k=(a,c,b)=>{b=a!=null?g(h(a)):{};let d=c||!a||!a.__esModule?f(b,"default",{value:a,enumerable:!0}):b;for(let e of i(a))if(!j.call(d,e))f(d,e,{get:()=>a[e],enumerable:!0});return d};var l=(a,c)=>{for(var b in c)f(a,b,{get:c[b],enumerable:!0,configurable:!0,set:(d)=>c[b]=()=>d})};var m=((a)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(a,{get:(c,b)=>(typeof require<"u"?require:c)[b]}):a)(function(a){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+a+'" is not supported')});
2
- export{k as a,l as b,m as c};
3
-
4
- //# debugId=940CF069C6466DBE64756E2164756E21
5
- //# sourceMappingURL=chunk-pfmeq01a.js.map
@@ -1,9 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "sourcesContent": [
5
- ],
6
- "mappings": "",
7
- "debugId": "940CF069C6466DBE64756E2164756E21",
8
- "names": []
9
- }
@@ -1,4 +0,0 @@
1
- var j=Object.create;var{getPrototypeOf:k,defineProperty:e,getOwnPropertyNames:f,getOwnPropertyDescriptor:l}=Object,g=Object.prototype.hasOwnProperty,m=(a,c,d)=>{for(let b of f(c))if(!g.call(a,b)&&b!=="default")e(a,b,{get:()=>c[b],enumerable:!0});if(d){for(let b of f(c))if(!g.call(d,b)&&b!=="default")e(d,b,{get:()=>c[b],enumerable:!0});return d}},n=(a,c,d)=>{d=a!=null?j(k(a)):{};let b=c||!a||!a.__esModule?e(d,"default",{value:a,enumerable:!0}):d;for(let h of f(a))if(!g.call(b,h))e(b,h,{get:()=>a[h],enumerable:!0});return b},i=new WeakMap,o=(a)=>{var c=i.get(a),d;if(c)return c;if(c=e({},"__esModule",{value:!0}),a&&typeof a==="object"||typeof a==="function")f(a).map((b)=>!g.call(c,b)&&e(c,b,{get:()=>a[b],enumerable:!(d=l(a,b))||d.enumerable}));return i.set(a,c),c};var p=(a,c)=>{for(var d in c)e(a,d,{get:c[d],enumerable:!0,configurable:!0,set:(b)=>c[d]=()=>b})};
2
-
3
- //# debugId=5B7366231CF0CA5E64756E2164756E21
4
- //# sourceMappingURL=chunk-vb4wtm2w.js.map
@@ -1,9 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "sourcesContent": [
5
- ],
6
- "mappings": "",
7
- "debugId": "5B7366231CF0CA5E64756E2164756E21",
8
- "names": []
9
- }
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/contracts.ts"],
4
- "sourcesContent": [
5
- "export * from \"@swapkit/contracts\";\n"
6
- ],
7
- "mappings": "6BAAA",
8
- "debugId": "8D0660D8774FA4A264756E2164756E21",
9
- "names": []
10
- }
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/contracts.ts"],
4
- "sourcesContent": [
5
- "export * from \"@swapkit/contracts\";\n"
6
- ],
7
- "mappings": "AAAA",
8
- "debugId": "A27702B6A1CE0ED864756E2164756E21",
9
- "names": []
10
- }