@subwallet/extension-base 1.3.22-0 → 1.3.24-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/background/KoniTypes.d.ts +77 -4
  2. package/background/KoniTypes.js +2 -0
  3. package/cjs/background/KoniTypes.js +2 -0
  4. package/cjs/constants/environment.js +4 -2
  5. package/cjs/constants/index.js +21 -4
  6. package/cjs/constants/signing.js +6 -2
  7. package/cjs/core/logic-validation/recipientAddress.js +9 -1
  8. package/cjs/core/logic-validation/transfer.js +57 -36
  9. package/cjs/core/types.js +1 -0
  10. package/cjs/core/utils.js +12 -1
  11. package/cjs/defaults.js +1 -1
  12. package/cjs/koni/api/dotsama/crowdloan.js +1 -1
  13. package/cjs/koni/api/nft/index.js +9 -16
  14. package/cjs/koni/api/staking/index.js +3 -4
  15. package/cjs/koni/background/handlers/Extension.js +343 -185
  16. package/cjs/koni/background/handlers/State.js +17 -2
  17. package/cjs/koni/background/handlers/Tabs.js +1 -1
  18. package/cjs/packageInfo.js +1 -1
  19. package/cjs/services/balance-service/helpers/subscribe/cardano/consts.js +11 -0
  20. package/cjs/services/balance-service/helpers/subscribe/cardano/index.js +63 -0
  21. package/cjs/services/balance-service/helpers/subscribe/cardano/types.js +1 -0
  22. package/cjs/services/balance-service/helpers/subscribe/cardano/utils.js +74 -0
  23. package/cjs/services/balance-service/helpers/subscribe/index.js +21 -7
  24. package/cjs/services/balance-service/helpers/subscribe/ton/utils.js +2 -2
  25. package/cjs/services/balance-service/index.js +4 -2
  26. package/cjs/services/balance-service/transfer/cardano-transfer.js +122 -0
  27. package/cjs/services/balance-service/transfer/smart-contract.js +24 -3
  28. package/cjs/services/balance-service/transfer/token.js +4 -4
  29. package/cjs/services/chain-service/handler/CardanoApi.js +176 -0
  30. package/cjs/services/chain-service/handler/CardanoChainHandler.js +83 -0
  31. package/cjs/services/chain-service/handler/TonApi.js +2 -5
  32. package/cjs/services/chain-service/index.js +40 -7
  33. package/cjs/services/chain-service/utils/index.js +40 -11
  34. package/cjs/services/chain-service/utils/patch.js +1 -1
  35. package/cjs/services/earning-service/handlers/liquid-staking/bifrost-manta.js +1 -1
  36. package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +1 -1
  37. package/cjs/services/earning-service/service.js +6 -12
  38. package/cjs/services/fee-service/service.js +19 -8
  39. package/cjs/services/fee-service/utils/tokenPayFee.js +151 -0
  40. package/cjs/services/history-service/index.js +4 -6
  41. package/cjs/services/inapp-notification-service/index.js +12 -4
  42. package/cjs/services/keyring-service/context/account-context.js +17 -2
  43. package/cjs/services/keyring-service/context/handlers/Derive.js +10 -7
  44. package/cjs/services/keyring-service/context/handlers/Migration.js +268 -0
  45. package/cjs/services/keyring-service/context/handlers/Mnemonic.js +2 -2
  46. package/cjs/services/keyring-service/context/handlers/Secret.js +1 -1
  47. package/cjs/services/keyring-service/utils.js +18 -0
  48. package/cjs/services/request-service/handler/CardanoRequestHandler.js +172 -0
  49. package/cjs/services/request-service/handler/EvmRequestHandler.js +1 -1
  50. package/cjs/services/request-service/handler/MetadataRequestHandler.js +5 -13
  51. package/cjs/services/request-service/index.js +22 -4
  52. package/cjs/services/setting-service/constants.js +10 -1
  53. package/cjs/services/storage-service/DatabaseService.js +3 -0
  54. package/cjs/services/storage-service/db-stores/InappNotification.js +6 -0
  55. package/cjs/services/swap-service/handler/asset-hub/handler.js +0 -59
  56. package/cjs/services/swap-service/handler/chainflip-handler.js +33 -281
  57. package/cjs/services/swap-service/handler/hydradx-handler.js +23 -190
  58. package/cjs/services/swap-service/handler/simpleswap-handler.js +1 -222
  59. package/cjs/services/swap-service/handler/uniswap-handler.js +331 -0
  60. package/cjs/services/swap-service/index.js +31 -22
  61. package/cjs/services/swap-service/utils.js +21 -38
  62. package/cjs/services/transaction-service/helpers/index.js +6 -1
  63. package/cjs/services/transaction-service/index.js +286 -26
  64. package/cjs/services/transaction-service/utils.js +5 -1
  65. package/cjs/types/account/info/keyring.js +12 -1
  66. package/cjs/types/fee/cardano.js +1 -0
  67. package/cjs/types/swap/index.js +7 -2
  68. package/cjs/utils/account/analyze.js +2 -1
  69. package/cjs/utils/account/common.js +29 -20
  70. package/cjs/utils/account/derive/info/solo.js +9 -4
  71. package/cjs/utils/account/derive/validate.js +36 -2
  72. package/cjs/utils/account/transform.js +38 -13
  73. package/cjs/utils/fee/transfer.js +87 -21
  74. package/cjs/utils/index.js +2 -2
  75. package/cjs/utils/staticData/index.js +7 -2
  76. package/constants/environment.d.ts +1 -0
  77. package/constants/environment.js +2 -1
  78. package/constants/index.d.ts +6 -1
  79. package/constants/index.js +14 -1
  80. package/constants/signing.js +6 -2
  81. package/core/logic-validation/recipientAddress.js +11 -3
  82. package/core/logic-validation/transfer.d.ts +1 -1
  83. package/core/logic-validation/transfer.js +33 -12
  84. package/core/substrate/xcm-parser.d.ts +1 -1
  85. package/core/types.d.ts +1 -0
  86. package/core/types.js +1 -0
  87. package/core/utils.d.ts +1 -0
  88. package/core/utils.js +13 -3
  89. package/defaults.d.ts +1 -1
  90. package/defaults.js +1 -1
  91. package/koni/api/dotsama/crowdloan.js +3 -3
  92. package/koni/api/nft/index.js +10 -16
  93. package/koni/api/nft/story_odyssey_nft/index.d.ts +1 -1
  94. package/koni/api/staking/index.js +4 -5
  95. package/koni/background/handlers/Extension.d.ts +9 -0
  96. package/koni/background/handlers/Extension.js +225 -69
  97. package/koni/background/handlers/State.d.ts +6 -2
  98. package/koni/background/handlers/State.js +18 -3
  99. package/koni/background/handlers/Tabs.js +1 -1
  100. package/package.json +76 -9
  101. package/packageInfo.js +1 -1
  102. package/services/balance-service/helpers/subscribe/cardano/consts.d.ts +1 -0
  103. package/services/balance-service/helpers/subscribe/cardano/consts.js +4 -0
  104. package/services/balance-service/helpers/subscribe/cardano/index.d.ts +2 -0
  105. package/services/balance-service/helpers/subscribe/cardano/index.js +57 -0
  106. package/services/balance-service/helpers/subscribe/cardano/types.d.ts +34 -0
  107. package/services/balance-service/helpers/subscribe/cardano/types.js +1 -0
  108. package/services/balance-service/helpers/subscribe/cardano/utils.d.ts +15 -0
  109. package/services/balance-service/helpers/subscribe/cardano/utils.js +62 -0
  110. package/services/balance-service/helpers/subscribe/index.d.ts +2 -2
  111. package/services/balance-service/helpers/subscribe/index.js +23 -9
  112. package/services/balance-service/helpers/subscribe/ton/utils.d.ts +1 -1
  113. package/services/balance-service/helpers/subscribe/ton/utils.js +1 -1
  114. package/services/balance-service/index.js +4 -2
  115. package/services/balance-service/transfer/cardano-transfer.d.ts +24 -0
  116. package/services/balance-service/transfer/cardano-transfer.js +114 -0
  117. package/services/balance-service/transfer/smart-contract.d.ts +4 -2
  118. package/services/balance-service/transfer/smart-contract.js +24 -3
  119. package/services/balance-service/transfer/token.d.ts +1 -1
  120. package/services/balance-service/transfer/token.js +2 -2
  121. package/services/chain-service/handler/CardanoApi.d.ts +38 -0
  122. package/services/chain-service/handler/CardanoApi.js +167 -0
  123. package/services/chain-service/handler/CardanoChainHandler.d.ts +17 -0
  124. package/services/chain-service/handler/CardanoChainHandler.js +75 -0
  125. package/services/chain-service/handler/TonApi.js +3 -6
  126. package/services/chain-service/handler/types.d.ts +1 -0
  127. package/services/chain-service/index.d.ts +4 -1
  128. package/services/chain-service/index.js +41 -8
  129. package/services/chain-service/types.d.ts +9 -1
  130. package/services/chain-service/utils/index.d.ts +4 -0
  131. package/services/chain-service/utils/index.js +32 -11
  132. package/services/chain-service/utils/patch.js +1 -1
  133. package/services/earning-service/handlers/liquid-staking/bifrost-manta.js +1 -1
  134. package/services/earning-service/handlers/liquid-staking/bifrost.js +1 -1
  135. package/services/earning-service/service.js +8 -14
  136. package/services/fee-service/interfaces.d.ts +25 -0
  137. package/services/fee-service/service.js +19 -8
  138. package/services/fee-service/utils/tokenPayFee.d.ts +8 -0
  139. package/services/fee-service/utils/tokenPayFee.js +141 -0
  140. package/services/history-service/index.js +6 -8
  141. package/services/inapp-notification-service/index.d.ts +3 -4
  142. package/services/inapp-notification-service/index.js +14 -6
  143. package/services/keyring-service/context/account-context.d.ts +6 -2
  144. package/services/keyring-service/context/account-context.js +17 -2
  145. package/services/keyring-service/context/handlers/Derive.d.ts +1 -1
  146. package/services/keyring-service/context/handlers/Derive.js +10 -8
  147. package/services/keyring-service/context/handlers/Migration.d.ts +17 -0
  148. package/services/keyring-service/context/handlers/Migration.js +258 -0
  149. package/services/keyring-service/context/handlers/Mnemonic.js +2 -2
  150. package/services/keyring-service/context/handlers/Secret.js +2 -2
  151. package/services/keyring-service/utils.d.ts +2 -0
  152. package/services/keyring-service/utils.js +11 -0
  153. package/services/request-service/handler/CardanoRequestHandler.d.ts +16 -0
  154. package/services/request-service/handler/CardanoRequestHandler.js +163 -0
  155. package/services/request-service/handler/EvmRequestHandler.js +1 -1
  156. package/services/request-service/handler/MetadataRequestHandler.d.ts +1 -1
  157. package/services/request-service/handler/MetadataRequestHandler.js +5 -13
  158. package/services/request-service/index.d.ts +7 -4
  159. package/services/request-service/index.js +21 -7
  160. package/services/setting-service/constants.d.ts +3 -0
  161. package/services/setting-service/constants.js +6 -0
  162. package/services/storage-service/DatabaseService.d.ts +1 -0
  163. package/services/storage-service/DatabaseService.js +3 -0
  164. package/services/storage-service/db-stores/InappNotification.d.ts +1 -0
  165. package/services/storage-service/db-stores/InappNotification.js +6 -0
  166. package/services/swap-service/handler/asset-hub/handler.d.ts +1 -4
  167. package/services/swap-service/handler/asset-hub/handler.js +2 -61
  168. package/services/swap-service/handler/base-handler.d.ts +1 -4
  169. package/services/swap-service/handler/chainflip-handler.d.ts +2 -9
  170. package/services/swap-service/handler/chainflip-handler.js +31 -280
  171. package/services/swap-service/handler/hydradx-handler.d.ts +1 -6
  172. package/services/swap-service/handler/hydradx-handler.js +13 -180
  173. package/services/swap-service/handler/simpleswap-handler.d.ts +1 -4
  174. package/services/swap-service/handler/simpleswap-handler.js +5 -226
  175. package/services/swap-service/handler/uniswap-handler.d.ts +41 -0
  176. package/services/swap-service/handler/uniswap-handler.js +323 -0
  177. package/services/swap-service/index.js +30 -22
  178. package/services/swap-service/utils.d.ts +1 -5
  179. package/services/swap-service/utils.js +7 -21
  180. package/services/transaction-service/helpers/index.d.ts +2 -0
  181. package/services/transaction-service/helpers/index.js +4 -0
  182. package/services/transaction-service/index.d.ts +8 -2
  183. package/services/transaction-service/index.js +273 -17
  184. package/services/transaction-service/types.d.ts +7 -0
  185. package/services/transaction-service/utils.js +7 -2
  186. package/types/account/info/keyring.d.ts +4 -1
  187. package/types/account/info/keyring.js +9 -0
  188. package/types/account/info/proxy.d.ts +2 -0
  189. package/types/balance/index.d.ts +4 -1
  190. package/types/fee/base.d.ts +1 -1
  191. package/types/fee/cardano.d.ts +18 -0
  192. package/types/fee/cardano.js +1 -0
  193. package/types/fee/option.d.ts +1 -1
  194. package/types/fee/subscription.d.ts +4 -3
  195. package/types/swap/index.d.ts +11 -3
  196. package/types/swap/index.js +7 -2
  197. package/utils/account/analyze.js +2 -1
  198. package/utils/account/common.d.ts +11 -6
  199. package/utils/account/common.js +28 -19
  200. package/utils/account/derive/info/solo.js +10 -5
  201. package/utils/account/derive/validate.d.ts +1 -0
  202. package/utils/account/derive/validate.js +34 -1
  203. package/utils/account/transform.d.ts +2 -1
  204. package/utils/account/transform.js +37 -13
  205. package/utils/fee/transfer.d.ts +3 -2
  206. package/utils/fee/transfer.js +90 -24
  207. package/utils/index.js +4 -4
  208. package/utils/staticData/index.d.ts +4 -1
  209. package/utils/staticData/index.js +5 -1
  210. package/utils/staticData/oldChainPrefix.json +1 -0
@@ -5,7 +5,7 @@ import { EvmProviderError } from '@subwallet/extension-base/background/errors/Ev
5
5
  import { withErrorLog } from '@subwallet/extension-base/background/handlers/helpers';
6
6
  import { isSubscriptionRunning, unsubscribe } from '@subwallet/extension-base/background/handlers/subscriptions';
7
7
  import { APIItemState, ChainType, EvmProviderErrorType, ExternalRequestPromiseStatus, ExtrinsicType } from '@subwallet/extension-base/background/KoniTypes';
8
- import { MANTA_PAY_BALANCE_INTERVAL, REMIND_EXPORT_ACCOUNT } from '@subwallet/extension-base/constants';
8
+ import { BACKEND_API_URL, MANTA_PAY_BALANCE_INTERVAL, REMIND_EXPORT_ACCOUNT } from '@subwallet/extension-base/constants';
9
9
  import { convertErrorFormat, generateValidationProcess, validationAuthMiddleware, validationAuthWCMiddleware, validationConnectMiddleware, validationEvmDataTransactionMiddleware, validationEvmSignMessageMiddleware } from '@subwallet/extension-base/core/logic-validation';
10
10
  import { BalanceService } from '@subwallet/extension-base/services/balance-service';
11
11
  import { ServiceStatus } from '@subwallet/extension-base/services/base/types';
@@ -39,6 +39,7 @@ import { SWStorage } from '@subwallet/extension-base/storage';
39
39
  import { BasicTxErrorType } from '@subwallet/extension-base/types';
40
40
  import { isManifestV3, stripUrl, targetIsWeb } from '@subwallet/extension-base/utils';
41
41
  import { createPromiseHandler } from '@subwallet/extension-base/utils/promise';
42
+ import subwalletApiSdk from '@subwallet/subwallet-api-sdk';
42
43
  import { keyring } from '@subwallet/ui-keyring';
43
44
  import BN from 'bn.js';
44
45
  import { t } from 'i18next';
@@ -83,6 +84,8 @@ export default class KoniState {
83
84
  waitSleeping = null;
84
85
  waitStarting = null;
85
86
  constructor(providers = {}) {
87
+ // Init subwallet api sdk
88
+ subwalletApiSdk.init(BACKEND_API_URL);
86
89
  this.providers = providers;
87
90
  this.eventService = new EventService();
88
91
  this.dbService = new DatabaseService(this.eventService);
@@ -121,8 +124,8 @@ export default class KoniState {
121
124
  get knownMetadata() {
122
125
  return this.requestService.knownMetadata;
123
126
  }
124
- injectMetadata(url, request) {
125
- return this.requestService.injectMetadata(url, request);
127
+ injectMetadata(request) {
128
+ return this.requestService.injectMetadata(request);
126
129
  }
127
130
  getMetaRequest(id) {
128
131
  return this.requestService.getMetaRequest(id);
@@ -718,6 +721,12 @@ export default class KoniState {
718
721
  getTonApi(networkKey) {
719
722
  return this.chainService.getTonApi(networkKey);
720
723
  }
724
+ getCardanoApiMap() {
725
+ return this.chainService.getCardanoApiMap();
726
+ }
727
+ getCardanoApi(networkKey) {
728
+ return this.chainService.getCardanoApi(networkKey);
729
+ }
721
730
  getApiMap() {
722
731
  return {
723
732
  substrate: this.chainService.getSubstrateApiMap(),
@@ -998,12 +1007,18 @@ export default class KoniState {
998
1007
  getConfirmationsQueueSubjectTon() {
999
1008
  return this.requestService.confirmationsQueueSubjectTon;
1000
1009
  }
1010
+ getConfirmationsQueueSubjectCardano() {
1011
+ return this.requestService.confirmationsQueueSubjectCardano;
1012
+ }
1001
1013
  async completeConfirmation(request) {
1002
1014
  return await this.requestService.completeConfirmation(request);
1003
1015
  }
1004
1016
  async completeConfirmationTon(request) {
1005
1017
  return await this.requestService.completeConfirmationTon(request);
1006
1018
  }
1019
+ async completeConfirmationCardano(request) {
1020
+ return await this.requestService.completeConfirmationCardano(request);
1021
+ }
1007
1022
  async onMV3Update() {
1008
1023
  const migrationStatus = await SWStorage.instance.getItem('mv3_migration');
1009
1024
  if (!migrationStatus || migrationStatus !== 'done') {
@@ -147,7 +147,7 @@ export default class KoniTabs {
147
147
  }
148
148
  }
149
149
  metadataProvide(url, request) {
150
- return this.#koniState.injectMetadata(url, request);
150
+ return this.#koniState.injectMetadata(request);
151
151
  }
152
152
 
153
153
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
package/package.json CHANGED
@@ -17,7 +17,7 @@
17
17
  "./cjs/detectPackage.js"
18
18
  ],
19
19
  "type": "module",
20
- "version": "1.3.22-0",
20
+ "version": "1.3.24-0",
21
21
  "main": "./cjs/index.js",
22
22
  "module": "./index.js",
23
23
  "types": "./index.d.ts",
@@ -654,6 +654,26 @@
654
654
  "require": "./cjs/services/balance-service/helpers/subscribe/index.js",
655
655
  "default": "./services/balance-service/helpers/subscribe/index.js"
656
656
  },
657
+ "./services/balance-service/helpers/subscribe/cardano": {
658
+ "types": "./services/balance-service/helpers/subscribe/cardano/index.d.ts",
659
+ "require": "./cjs/services/balance-service/helpers/subscribe/cardano/index.js",
660
+ "default": "./services/balance-service/helpers/subscribe/cardano/index.js"
661
+ },
662
+ "./services/balance-service/helpers/subscribe/cardano/consts": {
663
+ "types": "./services/balance-service/helpers/subscribe/cardano/consts.d.ts",
664
+ "require": "./cjs/services/balance-service/helpers/subscribe/cardano/consts.js",
665
+ "default": "./services/balance-service/helpers/subscribe/cardano/consts.js"
666
+ },
667
+ "./services/balance-service/helpers/subscribe/cardano/types": {
668
+ "types": "./services/balance-service/helpers/subscribe/cardano/types.d.ts",
669
+ "require": "./cjs/services/balance-service/helpers/subscribe/cardano/types.js",
670
+ "default": "./services/balance-service/helpers/subscribe/cardano/types.js"
671
+ },
672
+ "./services/balance-service/helpers/subscribe/cardano/utils": {
673
+ "types": "./services/balance-service/helpers/subscribe/cardano/utils.d.ts",
674
+ "require": "./cjs/services/balance-service/helpers/subscribe/cardano/utils.js",
675
+ "default": "./services/balance-service/helpers/subscribe/cardano/utils.js"
676
+ },
657
677
  "./services/balance-service/helpers/subscribe/evm": {
658
678
  "types": "./services/balance-service/helpers/subscribe/evm.d.ts",
659
679
  "require": "./cjs/services/balance-service/helpers/subscribe/evm.js",
@@ -694,6 +714,11 @@
694
714
  "require": "./cjs/services/balance-service/helpers/subscribe/ton/utils.js",
695
715
  "default": "./services/balance-service/helpers/subscribe/ton/utils.js"
696
716
  },
717
+ "./services/balance-service/transfer/cardano-transfer": {
718
+ "types": "./services/balance-service/transfer/cardano-transfer.d.ts",
719
+ "require": "./cjs/services/balance-service/transfer/cardano-transfer.js",
720
+ "default": "./services/balance-service/transfer/cardano-transfer.js"
721
+ },
697
722
  "./services/balance-service/transfer/smart-contract": {
698
723
  "types": "./services/balance-service/transfer/smart-contract.d.ts",
699
724
  "require": "./cjs/services/balance-service/transfer/smart-contract.js",
@@ -819,6 +844,16 @@
819
844
  "require": "./cjs/services/chain-service/handler/AbstractChainHandler.js",
820
845
  "default": "./services/chain-service/handler/AbstractChainHandler.js"
821
846
  },
847
+ "./services/chain-service/handler/CardanoApi": {
848
+ "types": "./services/chain-service/handler/CardanoApi.d.ts",
849
+ "require": "./cjs/services/chain-service/handler/CardanoApi.js",
850
+ "default": "./services/chain-service/handler/CardanoApi.js"
851
+ },
852
+ "./services/chain-service/handler/CardanoChainHandler": {
853
+ "types": "./services/chain-service/handler/CardanoChainHandler.d.ts",
854
+ "require": "./cjs/services/chain-service/handler/CardanoChainHandler.js",
855
+ "default": "./services/chain-service/handler/CardanoChainHandler.js"
856
+ },
822
857
  "./services/chain-service/handler/EvmApi": {
823
858
  "types": "./services/chain-service/handler/EvmApi.d.ts",
824
859
  "require": "./cjs/services/chain-service/handler/EvmApi.js",
@@ -1111,6 +1146,11 @@
1111
1146
  "require": "./cjs/services/fee-service/utils/index.js",
1112
1147
  "default": "./services/fee-service/utils/index.js"
1113
1148
  },
1149
+ "./services/fee-service/utils/tokenPayFee": {
1150
+ "types": "./services/fee-service/utils/tokenPayFee.d.ts",
1151
+ "require": "./cjs/services/fee-service/utils/tokenPayFee.js",
1152
+ "default": "./services/fee-service/utils/tokenPayFee.js"
1153
+ },
1114
1154
  "./services/history-service": {
1115
1155
  "types": "./services/history-service/index.d.ts",
1116
1156
  "require": "./cjs/services/history-service/index.js",
@@ -1221,6 +1261,11 @@
1221
1261
  "require": "./cjs/services/keyring-service/context/handlers/Ledger.js",
1222
1262
  "default": "./services/keyring-service/context/handlers/Ledger.js"
1223
1263
  },
1264
+ "./services/keyring-service/context/handlers/Migration": {
1265
+ "types": "./services/keyring-service/context/handlers/Migration.d.ts",
1266
+ "require": "./cjs/services/keyring-service/context/handlers/Migration.js",
1267
+ "default": "./services/keyring-service/context/handlers/Migration.js"
1268
+ },
1224
1269
  "./services/keyring-service/context/handlers/Mnemonic": {
1225
1270
  "types": "./services/keyring-service/context/handlers/Mnemonic.d.ts",
1226
1271
  "require": "./cjs/services/keyring-service/context/handlers/Mnemonic.js",
@@ -1266,6 +1311,11 @@
1266
1311
  "require": "./cjs/services/keyring-service/context/stores/ModifyPair.js",
1267
1312
  "default": "./services/keyring-service/context/stores/ModifyPair.js"
1268
1313
  },
1314
+ "./services/keyring-service/utils": {
1315
+ "types": "./services/keyring-service/utils.d.ts",
1316
+ "require": "./cjs/services/keyring-service/utils.js",
1317
+ "default": "./services/keyring-service/utils.js"
1318
+ },
1269
1319
  "./services/migration-service": {
1270
1320
  "types": "./services/migration-service/index.d.ts",
1271
1321
  "require": "./cjs/services/migration-service/index.js",
@@ -1541,6 +1591,11 @@
1541
1591
  "require": "./cjs/services/request-service/handler/AuthRequestHandler.js",
1542
1592
  "default": "./services/request-service/handler/AuthRequestHandler.js"
1543
1593
  },
1594
+ "./services/request-service/handler/CardanoRequestHandler": {
1595
+ "types": "./services/request-service/handler/CardanoRequestHandler.d.ts",
1596
+ "require": "./cjs/services/request-service/handler/CardanoRequestHandler.js",
1597
+ "default": "./services/request-service/handler/CardanoRequestHandler.js"
1598
+ },
1544
1599
  "./services/request-service/handler/ConnectWCRequestHandler": {
1545
1600
  "types": "./services/request-service/handler/ConnectWCRequestHandler.d.ts",
1546
1601
  "require": "./cjs/services/request-service/handler/ConnectWCRequestHandler.js",
@@ -1821,6 +1876,11 @@
1821
1876
  "require": "./cjs/services/swap-service/handler/simpleswap-handler.js",
1822
1877
  "default": "./services/swap-service/handler/simpleswap-handler.js"
1823
1878
  },
1879
+ "./services/swap-service/handler/uniswap-handler": {
1880
+ "types": "./services/swap-service/handler/uniswap-handler.d.ts",
1881
+ "require": "./cjs/services/swap-service/handler/uniswap-handler.js",
1882
+ "default": "./services/swap-service/handler/uniswap-handler.js"
1883
+ },
1824
1884
  "./services/swap-service/utils": {
1825
1885
  "types": "./services/swap-service/utils.d.ts",
1826
1886
  "require": "./cjs/services/swap-service/utils.js",
@@ -2151,6 +2211,11 @@
2151
2211
  "require": "./cjs/types/fee/base.js",
2152
2212
  "default": "./types/fee/base.js"
2153
2213
  },
2214
+ "./types/fee/cardano": {
2215
+ "types": "./types/fee/cardano.d.ts",
2216
+ "require": "./cjs/types/fee/cardano.js",
2217
+ "default": "./types/fee/cardano.js"
2218
+ },
2154
2219
  "./types/fee/evm": {
2155
2220
  "types": "./types/fee/evm.d.ts",
2156
2221
  "require": "./cjs/types/fee/evm.js",
@@ -2544,6 +2609,7 @@
2544
2609
  "./utils/staticData/crowdloanFunds.json": "./utils/staticData/crowdloanFunds.json",
2545
2610
  "./utils/staticData/currencySymbol.json": "./utils/staticData/currencySymbol.json",
2546
2611
  "./utils/staticData/marketingCampaigns.json": "./utils/staticData/marketingCampaigns.json",
2612
+ "./utils/staticData/oldChainPrefix.json": "./utils/staticData/oldChainPrefix.json",
2547
2613
  "./utils/staticData/remindNotificationTime.json": "./utils/staticData/remindNotificationTime.json",
2548
2614
  "./utils/staticData/termAndCondition.json": "./utils/staticData/termAndCondition.json",
2549
2615
  "./utils/swap": {
@@ -2561,7 +2627,7 @@
2561
2627
  "@acala-network/api": "^5.0.2",
2562
2628
  "@apollo/client": "^3.7.14",
2563
2629
  "@azns/resolver-core": "^1.4.0",
2564
- "@chainflip/sdk": "^1.6.0",
2630
+ "@emurgo/cardano-serialization-lib-nodejs": "^13.2.0",
2565
2631
  "@equilab/api": "~1.14.25",
2566
2632
  "@ethereumjs/common": "^4.1.0",
2567
2633
  "@ethereumjs/tx": "^5.1.0",
@@ -2593,13 +2659,14 @@
2593
2659
  "@reduxjs/toolkit": "^1.9.1",
2594
2660
  "@sora-substrate/type-definitions": "^1.17.7",
2595
2661
  "@substrate/connect": "^0.8.9",
2596
- "@subwallet/chain-list": "0.2.99",
2597
- "@subwallet/extension-base": "^1.3.22-0",
2598
- "@subwallet/extension-chains": "^1.3.22-0",
2599
- "@subwallet/extension-dapp": "^1.3.22-0",
2600
- "@subwallet/extension-inject": "^1.3.22-0",
2601
- "@subwallet/keyring": "^0.1.8-beta.0",
2602
- "@subwallet/ui-keyring": "^0.1.8-beta.0",
2662
+ "@subwallet/chain-list": "0.2.101",
2663
+ "@subwallet/extension-base": "^1.3.24-0",
2664
+ "@subwallet/extension-chains": "^1.3.24-0",
2665
+ "@subwallet/extension-dapp": "^1.3.24-0",
2666
+ "@subwallet/extension-inject": "^1.3.24-0",
2667
+ "@subwallet/keyring": "^0.1.9",
2668
+ "@subwallet/subwallet-api-sdk": "^1.3.24-0",
2669
+ "@subwallet/ui-keyring": "^0.1.9",
2603
2670
  "@ton/core": "^0.56.3",
2604
2671
  "@ton/crypto": "^3.2.0",
2605
2672
  "@ton/ton": "^15.0.0",
package/packageInfo.js CHANGED
@@ -7,5 +7,5 @@ export const packageInfo = {
7
7
  name: '@subwallet/extension-base',
8
8
  path: (import.meta && import.meta.url) ? new URL(import.meta.url).pathname.substring(0, new URL(import.meta.url).pathname.lastIndexOf('/') + 1) : 'auto',
9
9
  type: 'esm',
10
- version: '1.3.22-0'
10
+ version: '1.3.24-0'
11
11
  };
@@ -0,0 +1 @@
1
+ export declare const DEFAULT_CARDANO_TTL_OFFSET: number;
@@ -0,0 +1,4 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ export const DEFAULT_CARDANO_TTL_OFFSET = 2 * 60 * 60 * 1000; // 2 hours
@@ -0,0 +1,2 @@
1
+ import { SusbcribeCardanoPalletBalance } from '@subwallet/extension-base/types';
2
+ export declare function subscribeCardanoBalance(params: SusbcribeCardanoPalletBalance): () => void;
@@ -0,0 +1,57 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import { _AssetType } from '@subwallet/chain-list/types';
5
+ import { APIItemState } from '@subwallet/extension-base/background/KoniTypes';
6
+ import { ASTAR_REFRESH_BALANCE_INTERVAL } from '@subwallet/extension-base/constants';
7
+ import { getCardanoAssetId } from '@subwallet/extension-base/services/balance-service/helpers/subscribe/cardano/utils';
8
+ import { filterAssetsByChainAndType, reformatAddress } from '@subwallet/extension-base/utils';
9
+ async function getBalanceMap(addresses, cardanoApi, isTestnet) {
10
+ const addressBalanceMap = {};
11
+ for (const address of addresses) {
12
+ addressBalanceMap[address] = await cardanoApi.getBalanceMap(isTestnet ? reformatAddress(address, 0) : address);
13
+ }
14
+ return addressBalanceMap;
15
+ }
16
+ export function subscribeCardanoBalance(params) {
17
+ const {
18
+ addresses,
19
+ assetMap,
20
+ callback,
21
+ cardanoApi,
22
+ chainInfo
23
+ } = params;
24
+ const chain = chainInfo.slug;
25
+ const isTestnet = chainInfo.isTestnet;
26
+ const tokens = filterAssetsByChainAndType(assetMap, chain, [_AssetType.NATIVE, _AssetType.CIP26]);
27
+ function getBalance() {
28
+ getBalanceMap(addresses, cardanoApi, isTestnet).then(addressBalanceMap => {
29
+ Object.values(tokens).forEach(tokenInfo => {
30
+ const id = getCardanoAssetId(tokenInfo);
31
+ const balances = addresses.map(address => {
32
+ var _addressBalanceMap$ad;
33
+ if (!addressBalanceMap[address]) {
34
+ return '0';
35
+ }
36
+ return ((_addressBalanceMap$ad = addressBalanceMap[address].find(asset => asset.unit === id)) === null || _addressBalanceMap$ad === void 0 ? void 0 : _addressBalanceMap$ad.quantity) || '0';
37
+ });
38
+ const items = balances.map((balance, index) => {
39
+ return {
40
+ address: addresses[index],
41
+ tokenSlug: tokenInfo.slug,
42
+ free: balance,
43
+ locked: '0',
44
+ // todo: research cardano lock balance
45
+ state: APIItemState.READY
46
+ };
47
+ });
48
+ callback(items);
49
+ });
50
+ }).catch(e => console.error('Error while fetching cardano balance', e));
51
+ }
52
+ const interval = setInterval(getBalance, ASTAR_REFRESH_BALANCE_INTERVAL);
53
+ getBalance();
54
+ return () => {
55
+ clearInterval(interval);
56
+ };
57
+ }
@@ -0,0 +1,34 @@
1
+ export interface CardanoAddressBalance {
2
+ address: string;
3
+ amount: CardanoBalanceItem[];
4
+ stake_address: string;
5
+ type: string;
6
+ script: boolean;
7
+ }
8
+ export interface CardanoBalanceItem {
9
+ unit: string;
10
+ quantity: string;
11
+ }
12
+ export interface CardanoTxJson {
13
+ body: {
14
+ inputs: CardanoTxInput[];
15
+ outputs: CardanoTxOutput[];
16
+ fee: string;
17
+ ttl: string;
18
+ };
19
+ witness_set: any;
20
+ is_valid: any;
21
+ auxiliary_data: any;
22
+ }
23
+ export interface CardanoTxOutput {
24
+ address: string;
25
+ amount: {
26
+ coin: string;
27
+ multiasset: Record<string, Record<string, string>>;
28
+ };
29
+ }
30
+ interface CardanoTxInput {
31
+ transaction_id: string;
32
+ index: number;
33
+ }
34
+ export {};
@@ -0,0 +1,15 @@
1
+ import { _ChainAsset } from '@subwallet/chain-list/types';
2
+ export declare function getCardanoAssetId(chainAsset: _ChainAsset): string;
3
+ export declare function getCardanoTxFee(payload: string): bigint;
4
+ export declare function getAdaBelongUtxo(payload: string, receiverAddress: string): bigint;
5
+ export declare const cborToBytes: (hex: string) => Uint8Array;
6
+ export declare function retryCardanoTxStatus(fn: () => Promise<boolean>, options: {
7
+ retries: number;
8
+ delay: number;
9
+ }): Promise<boolean>;
10
+ export interface CardanoAssetMetadata {
11
+ cardanoId: string;
12
+ policyId: string;
13
+ nameHex: string;
14
+ }
15
+ export declare function splitCardanoId(id: string): CardanoAssetMetadata;
@@ -0,0 +1,62 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import { Transaction } from '@emurgo/cardano-serialization-lib-nodejs';
5
+ export function getCardanoAssetId(chainAsset) {
6
+ var _chainAsset$metadata;
7
+ return (_chainAsset$metadata = chainAsset.metadata) === null || _chainAsset$metadata === void 0 ? void 0 : _chainAsset$metadata.cardanoId;
8
+ }
9
+ export function getCardanoTxFee(payload) {
10
+ return BigInt(Transaction.from_hex(payload).body().fee().to_str());
11
+ }
12
+ export function getAdaBelongUtxo(payload, receiverAddress) {
13
+ const txOutputsRaw = Transaction.from_hex(payload).body().outputs().to_json();
14
+ const txOutputs = JSON.parse(txOutputsRaw);
15
+ const receiverUtxo = txOutputs.find(utxo => utxo.address === receiverAddress); // must has utxo to receiver
16
+
17
+ // @ts-ignore
18
+ return BigInt(receiverUtxo.amount.coin);
19
+ }
20
+ export const cborToBytes = hex => {
21
+ if (hex.length % 2 === 0 && /^[0-9A-F]*$/i.test(hex)) {
22
+ return Buffer.from(hex, 'hex');
23
+ }
24
+ return Buffer.from(hex, 'utf-8');
25
+ };
26
+ export async function retryCardanoTxStatus(fn, options) {
27
+ let lastError;
28
+ for (let i = 0; i < options.retries; i++) {
29
+ try {
30
+ return await fn();
31
+ } catch (e) {
32
+ if (e instanceof Error) {
33
+ lastError = e;
34
+ }
35
+
36
+ // todo: improve the timeout tx
37
+ await new Promise(resolve => setTimeout(resolve, options.delay)); // wait for delay period, then recall the fn()
38
+ }
39
+ }
40
+
41
+ console.error('Cardano transaction timeout', lastError); // throw only last error, in case no successful result from fn()
42
+
43
+ return false;
44
+ }
45
+ export function splitCardanoId(id) {
46
+ if (id === 'lovelace') {
47
+ return {
48
+ cardanoId: id,
49
+ policyId: '',
50
+ nameHex: ''
51
+ };
52
+ }
53
+ if (!id || id.length < 56) {
54
+ throw new Error('The cardano native asset policy id must has 28 bytes in length.');
55
+ } else {
56
+ return {
57
+ cardanoId: id,
58
+ policyId: id.slice(0, 56),
59
+ nameHex: id.slice(56)
60
+ };
61
+ }
62
+ }
@@ -1,6 +1,6 @@
1
1
  import { _ChainAsset, _ChainInfo } from '@subwallet/chain-list/types';
2
2
  import { ExtrinsicType } from '@subwallet/extension-base/background/KoniTypes';
3
- import { _EvmApi, _SubstrateApi, _TonApi } from '@subwallet/extension-base/services/chain-service/types';
3
+ import { _CardanoApi, _EvmApi, _SubstrateApi, _TonApi } from '@subwallet/extension-base/services/chain-service/types';
4
4
  import { AccountJson, BalanceItem } from '@subwallet/extension-base/types';
5
5
  /**
6
6
  * @function getAccountJsonByAddress
@@ -12,4 +12,4 @@ import { AccountJson, BalanceItem } from '@subwallet/extension-base/types';
12
12
  * @returns {AccountJson|null} - Account info or null if not found
13
13
  */
14
14
  export declare const getAccountJsonByAddress: (address: string) => AccountJson | null;
15
- export declare function subscribeBalance(addresses: string[], chains: string[], tokens: string[], _chainAssetMap: Record<string, _ChainAsset>, _chainInfoMap: Record<string, _ChainInfo>, substrateApiMap: Record<string, _SubstrateApi>, evmApiMap: Record<string, _EvmApi>, tonApiMap: Record<string, _TonApi>, callback: (rs: BalanceItem[]) => void, extrinsicType?: ExtrinsicType): () => void;
15
+ export declare function subscribeBalance(addresses: string[], chains: string[], tokens: string[], _chainAssetMap: Record<string, _ChainAsset>, _chainInfoMap: Record<string, _ChainInfo>, substrateApiMap: Record<string, _SubstrateApi>, evmApiMap: Record<string, _EvmApi>, tonApiMap: Record<string, _TonApi>, cardanoApiMap: Record<string, _CardanoApi>, callback: (rs: BalanceItem[]) => void, extrinsicType?: ExtrinsicType): () => void;
@@ -3,8 +3,9 @@
3
3
 
4
4
  import { _AssetType } from '@subwallet/chain-list/types';
5
5
  import { APIItemState } from '@subwallet/extension-base/background/KoniTypes';
6
- import { _getSubstrateGenesisHash, _isChainBitcoinCompatible, _isChainEvmCompatible, _isChainTonCompatible, _isPureEvmChain, _isPureTonChain } from '@subwallet/extension-base/services/chain-service/utils';
7
- import { categoryAddresses, filterAssetsByChainAndType, pairToAccount } from '@subwallet/extension-base/utils';
6
+ import { subscribeCardanoBalance } from '@subwallet/extension-base/services/balance-service/helpers/subscribe/cardano';
7
+ import { _getSubstrateGenesisHash, _isChainBitcoinCompatible, _isChainCardanoCompatible, _isChainEvmCompatible, _isChainTonCompatible, _isPureCardanoChain, _isPureEvmChain, _isPureTonChain } from '@subwallet/extension-base/services/chain-service/utils';
8
+ import { filterAssetsByChainAndType, getAddressesByChainTypeMap, pairToAccount } from '@subwallet/extension-base/utils';
8
9
  import keyring from '@subwallet/ui-keyring';
9
10
  import { subscribeTonBalance } from "./ton/ton.js";
10
11
  import { subscribeEVMBalance } from "./evm.js";
@@ -37,16 +38,19 @@ export const getAccountJsonByAddress = address => {
37
38
  const filterAddress = (addresses, chainInfo) => {
38
39
  const {
39
40
  bitcoin,
41
+ cardano,
40
42
  evm,
41
43
  substrate,
42
44
  ton
43
- } = categoryAddresses(addresses);
45
+ } = getAddressesByChainTypeMap(addresses);
44
46
  if (_isChainEvmCompatible(chainInfo)) {
45
- return [evm, [...bitcoin, ...substrate, ...ton]];
47
+ return [evm, [...bitcoin, ...substrate, ...ton, ...cardano]];
46
48
  } else if (_isChainBitcoinCompatible(chainInfo)) {
47
- return [bitcoin, [...evm, ...substrate, ...ton]];
49
+ return [bitcoin, [...evm, ...substrate, ...ton, ...cardano]];
48
50
  } else if (_isChainTonCompatible(chainInfo)) {
49
- return [ton, [...bitcoin, ...evm, ...substrate]];
51
+ return [ton, [...bitcoin, ...evm, ...substrate, ...cardano]];
52
+ } else if (_isChainCardanoCompatible(chainInfo)) {
53
+ return [cardano, [...bitcoin, ...evm, ...substrate, ...ton]];
50
54
  } else {
51
55
  const fetchList = [];
52
56
  const unfetchList = [];
@@ -72,11 +76,11 @@ const filterAddress = (addresses, chainInfo) => {
72
76
  fetchList.push(address);
73
77
  }
74
78
  });
75
- return [fetchList, [...unfetchList, ...bitcoin, ...evm, ...ton]];
79
+ return [fetchList, [...unfetchList, ...bitcoin, ...evm, ...ton, ...cardano]];
76
80
  }
77
81
  };
78
82
  const handleUnsupportedOrPendingAddresses = (addresses, chainSlug, chainAssetMap, state, callback) => {
79
- const tokens = filterAssetsByChainAndType(chainAssetMap, chainSlug, [_AssetType.NATIVE, _AssetType.ERC20, _AssetType.PSP22, _AssetType.LOCAL, _AssetType.GRC20, _AssetType.VFT]);
83
+ const tokens = filterAssetsByChainAndType(chainAssetMap, chainSlug, [_AssetType.NATIVE, _AssetType.ERC20, _AssetType.PSP22, _AssetType.LOCAL, _AssetType.GRC20, _AssetType.VFT, _AssetType.TEP74, _AssetType.CIP26]);
80
84
  const now = new Date().getTime();
81
85
  Object.values(tokens).forEach(token => {
82
86
  const items = addresses.map(address => ({
@@ -92,7 +96,7 @@ const handleUnsupportedOrPendingAddresses = (addresses, chainSlug, chainAssetMap
92
96
  };
93
97
 
94
98
  // main subscription, use for multiple chains, multiple addresses and multiple tokens
95
- export function subscribeBalance(addresses, chains, tokens, _chainAssetMap, _chainInfoMap, substrateApiMap, evmApiMap, tonApiMap, callback, extrinsicType) {
99
+ export function subscribeBalance(addresses, chains, tokens, _chainAssetMap, _chainInfoMap, substrateApiMap, evmApiMap, tonApiMap, cardanoApiMap, callback, extrinsicType) {
96
100
  // Filter chain and token
97
101
  const chainAssetMap = Object.fromEntries(Object.entries(_chainAssetMap).filter(([token]) => tokens.includes(token)));
98
102
  const chainInfoMap = Object.fromEntries(Object.entries(_chainInfoMap).filter(([chain]) => chains.includes(chain)));
@@ -124,6 +128,16 @@ export function subscribeBalance(addresses, chains, tokens, _chainAssetMap, _cha
124
128
  tonApi
125
129
  });
126
130
  }
131
+ const cardanoApi = cardanoApiMap[chainSlug];
132
+ if (_isPureCardanoChain(chainInfo)) {
133
+ return subscribeCardanoBalance({
134
+ addresses: useAddresses,
135
+ assetMap: chainAssetMap,
136
+ callback,
137
+ chainInfo,
138
+ cardanoApi
139
+ });
140
+ }
127
141
 
128
142
  // If the chain is not ready, return pending state
129
143
  if (!substrateApiMap[chainSlug].isApiReady) {
@@ -10,7 +10,7 @@ import { Buffer } from 'buffer';
10
10
  export declare function getJettonMasterContract(tonApi: _TonApi, contractAddress: string): OpenedContract<JettonMaster>;
11
11
  export declare function getJettonWalletContract(jettonMasterContract: OpenedContract<JettonMaster>, tonApi: _TonApi, ownerAddress: string): Promise<OpenedContract<JettonWallet>>;
12
12
  export declare function externalMessage(contract: TonWalletContract, seqno: number, body: Cell): Cell;
13
- export declare function retry<T>(fn: () => Promise<T>, options: {
13
+ export declare function retryTonTxStatus<T>(fn: () => Promise<T>, options: {
14
14
  retries: number;
15
15
  delay: number;
16
16
  }): Promise<T>;
@@ -23,7 +23,7 @@ export function externalMessage(contract, seqno, body) {
23
23
  body: body
24
24
  }))).endCell();
25
25
  }
26
- export async function retry(fn, options) {
26
+ export async function retryTonTxStatus(fn, options) {
27
27
  let lastError;
28
28
  for (let i = 0; i < options.retries; i++) {
29
29
  try {
@@ -191,8 +191,9 @@ export class BalanceService {
191
191
  const evmApiMap = this.state.chainService.getEvmApiMap();
192
192
  const substrateApiMap = this.state.chainService.getSubstrateApiMap();
193
193
  const tonApiMap = this.state.chainService.getTonApiMap();
194
+ const cardanoApiMap = this.state.chainService.getCardanoApiMap();
194
195
  let unsub = noop;
195
- unsub = subscribeBalance([address], [chain], [tSlug], assetMap, chainInfoMap, substrateApiMap, evmApiMap, tonApiMap, result => {
196
+ unsub = subscribeBalance([address], [chain], [tSlug], assetMap, chainInfoMap, substrateApiMap, evmApiMap, tonApiMap, cardanoApiMap, result => {
196
197
  const rs = result[0];
197
198
  let value;
198
199
  switch (balanceType) {
@@ -362,13 +363,14 @@ export class BalanceService {
362
363
  const evmApiMap = this.state.chainService.getEvmApiMap();
363
364
  const substrateApiMap = this.state.chainService.getSubstrateApiMap();
364
365
  const tonApiMap = this.state.chainService.getTonApiMap();
366
+ const cardanoApiMap = this.state.chainService.getCardanoApiMap();
365
367
  const activeChainSlugs = Object.keys(this.state.getActiveChainInfoMap());
366
368
  const assetState = this.state.chainService.subscribeAssetSettings().value;
367
369
  const assets = Object.values(assetMap).filter(asset => {
368
370
  var _assetState$asset$slu;
369
371
  return activeChainSlugs.includes(asset.originChain) && ((_assetState$asset$slu = assetState[asset.slug]) === null || _assetState$asset$slu === void 0 ? void 0 : _assetState$asset$slu.visible);
370
372
  }).map(asset => asset.slug);
371
- const unsub = subscribeBalance(addresses, activeChainSlugs, assets, assetMap, chainInfoMap, substrateApiMap, evmApiMap, tonApiMap, result => {
373
+ const unsub = subscribeBalance(addresses, activeChainSlugs, assets, assetMap, chainInfoMap, substrateApiMap, evmApiMap, tonApiMap, cardanoApiMap, result => {
372
374
  !cancel && this.setBalanceItem(result);
373
375
  }, ExtrinsicType.TRANSFER_BALANCE);
374
376
  const unsub2 = this.state.subscribeMantaPayBalance();
@@ -0,0 +1,24 @@
1
+ import { _ChainAsset } from '@subwallet/chain-list/types';
2
+ import { _CardanoApi } from '@subwallet/extension-base/services/chain-service/types';
3
+ export interface CardanoTransactionConfigProps {
4
+ tokenInfo: _ChainAsset;
5
+ nativeTokenInfo: _ChainAsset;
6
+ from: string;
7
+ to: string;
8
+ networkKey: string;
9
+ value: string;
10
+ transferAll: boolean;
11
+ cardanoTtlOffset: number;
12
+ cardanoApi: _CardanoApi;
13
+ }
14
+ export interface CardanoTransactionConfig {
15
+ from: string;
16
+ to: string;
17
+ networkKey: string;
18
+ value: string;
19
+ transferAll: boolean;
20
+ cardanoTtlOffset: number;
21
+ estimateCardanoFee: string;
22
+ cardanoPayload: string;
23
+ }
24
+ export declare function createCardanoTransaction(params: CardanoTransactionConfigProps): Promise<[CardanoTransactionConfig | null, string]>;