@subwallet/extension-base 1.3.21-0 → 1.3.23-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.
- package/background/KoniTypes.d.ts +75 -2
- package/background/KoniTypes.js +2 -0
- package/cjs/background/KoniTypes.js +2 -0
- package/cjs/constants/environment.js +4 -2
- package/cjs/constants/signing.js +6 -2
- package/cjs/core/logic-validation/recipientAddress.js +9 -1
- package/cjs/core/logic-validation/transfer.js +35 -29
- package/cjs/core/types.js +1 -0
- package/cjs/core/utils.js +12 -1
- package/cjs/defaults.js +1 -1
- package/cjs/koni/api/dotsama/crowdloan.js +1 -1
- package/cjs/koni/api/nft/index.js +9 -16
- package/cjs/koni/api/staking/index.js +3 -4
- package/cjs/koni/background/handlers/Extension.js +234 -96
- package/cjs/koni/background/handlers/State.js +15 -0
- package/cjs/packageInfo.js +1 -1
- package/cjs/services/balance-service/helpers/subscribe/cardano/consts.js +11 -0
- package/cjs/services/balance-service/helpers/subscribe/cardano/index.js +63 -0
- package/cjs/services/balance-service/helpers/subscribe/cardano/types.js +1 -0
- package/cjs/services/balance-service/helpers/subscribe/cardano/utils.js +74 -0
- package/cjs/services/balance-service/helpers/subscribe/index.js +21 -7
- package/cjs/services/balance-service/helpers/subscribe/ton/utils.js +2 -2
- package/cjs/services/balance-service/index.js +4 -2
- package/cjs/services/balance-service/transfer/cardano-transfer.js +122 -0
- package/cjs/services/balance-service/transfer/token.js +4 -4
- package/cjs/services/chain-service/constants.js +8 -3
- package/cjs/services/chain-service/handler/CardanoApi.js +176 -0
- package/cjs/services/chain-service/handler/CardanoChainHandler.js +83 -0
- package/cjs/services/chain-service/handler/SubstrateChainHandler.js +3 -2
- package/cjs/services/chain-service/handler/TonApi.js +2 -5
- package/cjs/services/chain-service/index.js +38 -7
- package/cjs/services/chain-service/utils/index.js +40 -11
- package/cjs/services/chain-service/utils/patch.js +1 -1
- package/cjs/services/earning-service/constants/chains.js +2 -1
- package/cjs/services/earning-service/handlers/liquid-staking/bifrost-manta.js +1 -1
- package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +1 -1
- package/cjs/services/earning-service/handlers/native-staking/mythos.js +337 -0
- package/cjs/services/earning-service/service.js +10 -12
- package/cjs/services/earning-service/utils/index.js +2 -0
- package/cjs/services/fee-service/service.js +19 -8
- package/cjs/services/history-service/index.js +4 -6
- package/cjs/services/inapp-notification-service/index.js +12 -4
- package/cjs/services/keyring-service/context/account-context.js +17 -2
- package/cjs/services/keyring-service/context/handlers/Derive.js +10 -7
- package/cjs/services/keyring-service/context/handlers/Migration.js +268 -0
- package/cjs/services/keyring-service/context/handlers/Mnemonic.js +2 -2
- package/cjs/services/keyring-service/context/handlers/Secret.js +1 -1
- package/cjs/services/keyring-service/utils.js +18 -0
- package/cjs/services/migration-service/scripts/databases/ClearMetadataDatabase.js +3 -23
- package/cjs/services/migration-service/scripts/databases/ClearMetadataForChains.js +40 -0
- package/cjs/services/migration-service/scripts/databases/ClearMetadataForMythos.js +15 -0
- package/cjs/services/migration-service/scripts/index.js +6 -2
- package/cjs/services/request-service/handler/CardanoRequestHandler.js +172 -0
- package/cjs/services/request-service/handler/EvmRequestHandler.js +1 -1
- package/cjs/services/request-service/index.js +20 -2
- package/cjs/services/setting-service/constants.js +10 -1
- package/cjs/services/storage-service/DatabaseService.js +6 -0
- package/cjs/services/storage-service/db-stores/InappNotification.js +6 -0
- package/cjs/services/storage-service/db-stores/Metadata.js +3 -0
- package/cjs/services/storage-service/db-stores/Migration.js +6 -1
- package/cjs/services/swap-service/handler/asset-hub/handler.js +0 -59
- package/cjs/services/swap-service/handler/chainflip-handler.js +33 -281
- package/cjs/services/swap-service/handler/hydradx-handler.js +23 -190
- package/cjs/services/swap-service/handler/simpleswap-handler.js +1 -222
- package/cjs/services/swap-service/handler/uniswap-handler.js +331 -0
- package/cjs/services/swap-service/index.js +31 -22
- package/cjs/services/swap-service/utils.js +21 -38
- package/cjs/services/transaction-service/helpers/index.js +6 -1
- package/cjs/services/transaction-service/index.js +278 -21
- package/cjs/services/transaction-service/utils.js +5 -1
- package/cjs/types/account/info/keyring.js +12 -1
- package/cjs/types/fee/cardano.js +1 -0
- package/cjs/types/swap/index.js +7 -2
- package/cjs/utils/account/analyze.js +2 -1
- package/cjs/utils/account/common.js +29 -20
- package/cjs/utils/account/derive/info/solo.js +9 -4
- package/cjs/utils/account/derive/validate.js +36 -2
- package/cjs/utils/account/transform.js +38 -13
- package/cjs/utils/fee/transfer.js +40 -7
- package/cjs/utils/index.js +2 -2
- package/cjs/utils/staticData/index.js +7 -2
- package/constants/environment.d.ts +1 -0
- package/constants/environment.js +2 -1
- package/constants/signing.js +6 -2
- package/core/logic-validation/recipientAddress.js +11 -3
- package/core/logic-validation/transfer.js +9 -3
- package/core/substrate/xcm-parser.d.ts +1 -1
- package/core/types.d.ts +1 -0
- package/core/types.js +1 -0
- package/core/utils.d.ts +1 -0
- package/core/utils.js +13 -3
- package/defaults.d.ts +1 -1
- package/defaults.js +1 -1
- package/koni/api/dotsama/crowdloan.js +3 -3
- package/koni/api/nft/index.js +10 -16
- package/koni/api/nft/story_odyssey_nft/index.d.ts +1 -1
- package/koni/api/staking/index.js +4 -5
- package/koni/background/handlers/Extension.d.ts +9 -0
- package/koni/background/handlers/Extension.js +144 -8
- package/koni/background/handlers/State.d.ts +5 -1
- package/koni/background/handlers/State.js +16 -1
- package/package.json +102 -25
- package/packageInfo.js +1 -1
- package/services/balance-service/helpers/subscribe/cardano/consts.d.ts +1 -0
- package/services/balance-service/helpers/subscribe/cardano/consts.js +4 -0
- package/services/balance-service/helpers/subscribe/cardano/index.d.ts +2 -0
- package/services/balance-service/helpers/subscribe/cardano/index.js +57 -0
- package/services/balance-service/helpers/subscribe/cardano/types.d.ts +34 -0
- package/services/balance-service/helpers/subscribe/cardano/types.js +1 -0
- package/services/balance-service/helpers/subscribe/cardano/utils.d.ts +15 -0
- package/services/balance-service/helpers/subscribe/cardano/utils.js +62 -0
- package/services/balance-service/helpers/subscribe/index.d.ts +2 -2
- package/services/balance-service/helpers/subscribe/index.js +23 -9
- package/services/balance-service/helpers/subscribe/ton/utils.d.ts +1 -1
- package/services/balance-service/helpers/subscribe/ton/utils.js +1 -1
- package/services/balance-service/index.js +4 -2
- package/services/balance-service/transfer/cardano-transfer.d.ts +24 -0
- package/services/balance-service/transfer/cardano-transfer.js +114 -0
- package/services/balance-service/transfer/token.d.ts +1 -1
- package/services/balance-service/transfer/token.js +2 -2
- package/services/chain-service/constants.js +8 -3
- package/services/chain-service/handler/CardanoApi.d.ts +38 -0
- package/services/chain-service/handler/CardanoApi.js +167 -0
- package/services/chain-service/handler/CardanoChainHandler.d.ts +17 -0
- package/services/chain-service/handler/CardanoChainHandler.js +75 -0
- package/services/chain-service/handler/SubstrateChainHandler.js +3 -2
- package/services/chain-service/handler/TonApi.js +3 -6
- package/services/chain-service/handler/types.d.ts +1 -0
- package/services/chain-service/index.d.ts +4 -1
- package/services/chain-service/index.js +38 -7
- package/services/chain-service/types.d.ts +9 -1
- package/services/chain-service/utils/index.d.ts +4 -0
- package/services/chain-service/utils/index.js +32 -11
- package/services/chain-service/utils/patch.js +1 -1
- package/services/earning-service/constants/chains.d.ts +1 -0
- package/services/earning-service/constants/chains.js +2 -1
- package/services/earning-service/handlers/liquid-staking/bifrost-manta.js +1 -1
- package/services/earning-service/handlers/liquid-staking/bifrost.js +1 -1
- package/services/earning-service/handlers/native-staking/mythos.d.ts +35 -0
- package/services/earning-service/handlers/native-staking/mythos.js +329 -0
- package/services/earning-service/service.js +12 -14
- package/services/earning-service/utils/index.js +2 -0
- package/services/fee-service/service.js +19 -8
- package/services/history-service/index.js +6 -8
- package/services/inapp-notification-service/index.d.ts +3 -4
- package/services/inapp-notification-service/index.js +14 -6
- package/services/keyring-service/context/account-context.d.ts +6 -2
- package/services/keyring-service/context/account-context.js +17 -2
- package/services/keyring-service/context/handlers/Derive.d.ts +1 -1
- package/services/keyring-service/context/handlers/Derive.js +10 -8
- package/services/keyring-service/context/handlers/Migration.d.ts +17 -0
- package/services/keyring-service/context/handlers/Migration.js +258 -0
- package/services/keyring-service/context/handlers/Mnemonic.js +2 -2
- package/services/keyring-service/context/handlers/Secret.js +2 -2
- package/services/keyring-service/utils.d.ts +2 -0
- package/services/keyring-service/utils.js +11 -0
- package/services/migration-service/scripts/databases/ClearMetadataDatabase.d.ts +3 -3
- package/services/migration-service/scripts/databases/ClearMetadataDatabase.js +3 -23
- package/services/migration-service/scripts/databases/ClearMetadataForChains.d.ts +5 -0
- package/services/migration-service/scripts/databases/ClearMetadataForChains.js +32 -0
- package/services/migration-service/scripts/databases/ClearMetadataForMythos.d.ts +4 -0
- package/services/migration-service/scripts/databases/ClearMetadataForMythos.js +7 -0
- package/services/migration-service/scripts/index.d.ts +1 -0
- package/services/migration-service/scripts/index.js +4 -1
- package/services/request-service/handler/CardanoRequestHandler.d.ts +16 -0
- package/services/request-service/handler/CardanoRequestHandler.js +163 -0
- package/services/request-service/handler/EvmRequestHandler.js +1 -1
- package/services/request-service/index.d.ts +6 -3
- package/services/request-service/index.js +19 -5
- package/services/setting-service/constants.d.ts +3 -0
- package/services/setting-service/constants.js +6 -0
- package/services/storage-service/DatabaseService.d.ts +2 -0
- package/services/storage-service/DatabaseService.js +6 -0
- package/services/storage-service/db-stores/InappNotification.d.ts +1 -0
- package/services/storage-service/db-stores/InappNotification.js +6 -0
- package/services/storage-service/db-stores/Metadata.d.ts +1 -0
- package/services/storage-service/db-stores/Metadata.js +3 -0
- package/services/storage-service/db-stores/Migration.d.ts +1 -0
- package/services/storage-service/db-stores/Migration.js +6 -1
- package/services/swap-service/handler/asset-hub/handler.d.ts +1 -4
- package/services/swap-service/handler/asset-hub/handler.js +2 -61
- package/services/swap-service/handler/base-handler.d.ts +1 -4
- package/services/swap-service/handler/chainflip-handler.d.ts +2 -9
- package/services/swap-service/handler/chainflip-handler.js +31 -280
- package/services/swap-service/handler/hydradx-handler.d.ts +1 -6
- package/services/swap-service/handler/hydradx-handler.js +13 -180
- package/services/swap-service/handler/simpleswap-handler.d.ts +1 -4
- package/services/swap-service/handler/simpleswap-handler.js +5 -226
- package/services/swap-service/handler/uniswap-handler.d.ts +41 -0
- package/services/swap-service/handler/uniswap-handler.js +323 -0
- package/services/swap-service/index.js +30 -22
- package/services/swap-service/utils.d.ts +1 -5
- package/services/swap-service/utils.js +7 -21
- package/services/transaction-service/helpers/index.d.ts +2 -0
- package/services/transaction-service/helpers/index.js +4 -0
- package/services/transaction-service/index.d.ts +8 -2
- package/services/transaction-service/index.js +263 -10
- package/services/transaction-service/types.d.ts +7 -0
- package/services/transaction-service/utils.js +7 -2
- package/types/account/info/keyring.d.ts +4 -1
- package/types/account/info/keyring.js +9 -0
- package/types/account/info/proxy.d.ts +2 -0
- package/types/balance/index.d.ts +4 -1
- package/types/fee/base.d.ts +1 -1
- package/types/fee/cardano.d.ts +18 -0
- package/types/fee/cardano.js +1 -0
- package/types/fee/subscription.d.ts +4 -3
- package/types/swap/index.d.ts +11 -3
- package/types/swap/index.js +7 -2
- package/utils/account/analyze.js +2 -1
- package/utils/account/common.d.ts +11 -6
- package/utils/account/common.js +28 -19
- package/utils/account/derive/info/solo.js +10 -5
- package/utils/account/derive/validate.d.ts +1 -0
- package/utils/account/derive/validate.js +34 -1
- package/utils/account/transform.d.ts +2 -1
- package/utils/account/transform.js +37 -13
- package/utils/fee/transfer.d.ts +2 -1
- package/utils/fee/transfer.js +44 -11
- package/utils/index.js +4 -4
- package/utils/staticData/index.d.ts +4 -1
- package/utils/staticData/index.js +5 -1
- package/utils/staticData/oldChainPrefix.json +1 -0
package/package.json
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"./cjs/detectPackage.js"
|
|
18
18
|
],
|
|
19
19
|
"type": "module",
|
|
20
|
-
"version": "1.3.
|
|
20
|
+
"version": "1.3.23-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",
|
|
@@ -1041,6 +1076,11 @@
|
|
|
1041
1076
|
"require": "./cjs/services/earning-service/handlers/native-staking/base-para.js",
|
|
1042
1077
|
"default": "./services/earning-service/handlers/native-staking/base-para.js"
|
|
1043
1078
|
},
|
|
1079
|
+
"./services/earning-service/handlers/native-staking/mythos": {
|
|
1080
|
+
"types": "./services/earning-service/handlers/native-staking/mythos.d.ts",
|
|
1081
|
+
"require": "./cjs/services/earning-service/handlers/native-staking/mythos.js",
|
|
1082
|
+
"default": "./services/earning-service/handlers/native-staking/mythos.js"
|
|
1083
|
+
},
|
|
1044
1084
|
"./services/earning-service/handlers/native-staking/para-chain": {
|
|
1045
1085
|
"types": "./services/earning-service/handlers/native-staking/para-chain.d.ts",
|
|
1046
1086
|
"require": "./cjs/services/earning-service/handlers/native-staking/para-chain.js",
|
|
@@ -1216,6 +1256,11 @@
|
|
|
1216
1256
|
"require": "./cjs/services/keyring-service/context/handlers/Ledger.js",
|
|
1217
1257
|
"default": "./services/keyring-service/context/handlers/Ledger.js"
|
|
1218
1258
|
},
|
|
1259
|
+
"./services/keyring-service/context/handlers/Migration": {
|
|
1260
|
+
"types": "./services/keyring-service/context/handlers/Migration.d.ts",
|
|
1261
|
+
"require": "./cjs/services/keyring-service/context/handlers/Migration.js",
|
|
1262
|
+
"default": "./services/keyring-service/context/handlers/Migration.js"
|
|
1263
|
+
},
|
|
1219
1264
|
"./services/keyring-service/context/handlers/Mnemonic": {
|
|
1220
1265
|
"types": "./services/keyring-service/context/handlers/Mnemonic.d.ts",
|
|
1221
1266
|
"require": "./cjs/services/keyring-service/context/handlers/Mnemonic.js",
|
|
@@ -1261,6 +1306,11 @@
|
|
|
1261
1306
|
"require": "./cjs/services/keyring-service/context/stores/ModifyPair.js",
|
|
1262
1307
|
"default": "./services/keyring-service/context/stores/ModifyPair.js"
|
|
1263
1308
|
},
|
|
1309
|
+
"./services/keyring-service/utils": {
|
|
1310
|
+
"types": "./services/keyring-service/utils.d.ts",
|
|
1311
|
+
"require": "./cjs/services/keyring-service/utils.js",
|
|
1312
|
+
"default": "./services/keyring-service/utils.js"
|
|
1313
|
+
},
|
|
1264
1314
|
"./services/migration-service": {
|
|
1265
1315
|
"types": "./services/migration-service/index.d.ts",
|
|
1266
1316
|
"require": "./cjs/services/migration-service/index.js",
|
|
@@ -1296,6 +1346,16 @@
|
|
|
1296
1346
|
"require": "./cjs/services/migration-service/scripts/databases/ClearMetadataDatabase.js",
|
|
1297
1347
|
"default": "./services/migration-service/scripts/databases/ClearMetadataDatabase.js"
|
|
1298
1348
|
},
|
|
1349
|
+
"./services/migration-service/scripts/databases/ClearMetadataForChains": {
|
|
1350
|
+
"types": "./services/migration-service/scripts/databases/ClearMetadataForChains.d.ts",
|
|
1351
|
+
"require": "./cjs/services/migration-service/scripts/databases/ClearMetadataForChains.js",
|
|
1352
|
+
"default": "./services/migration-service/scripts/databases/ClearMetadataForChains.js"
|
|
1353
|
+
},
|
|
1354
|
+
"./services/migration-service/scripts/databases/ClearMetadataForMythos": {
|
|
1355
|
+
"types": "./services/migration-service/scripts/databases/ClearMetadataForMythos.d.ts",
|
|
1356
|
+
"require": "./cjs/services/migration-service/scripts/databases/ClearMetadataForMythos.js",
|
|
1357
|
+
"default": "./services/migration-service/scripts/databases/ClearMetadataForMythos.js"
|
|
1358
|
+
},
|
|
1299
1359
|
"./services/migration-service/scripts/databases/MigrateAssetSetting": {
|
|
1300
1360
|
"types": "./services/migration-service/scripts/databases/MigrateAssetSetting.d.ts",
|
|
1301
1361
|
"require": "./cjs/services/migration-service/scripts/databases/MigrateAssetSetting.js",
|
|
@@ -1526,6 +1586,11 @@
|
|
|
1526
1586
|
"require": "./cjs/services/request-service/handler/AuthRequestHandler.js",
|
|
1527
1587
|
"default": "./services/request-service/handler/AuthRequestHandler.js"
|
|
1528
1588
|
},
|
|
1589
|
+
"./services/request-service/handler/CardanoRequestHandler": {
|
|
1590
|
+
"types": "./services/request-service/handler/CardanoRequestHandler.d.ts",
|
|
1591
|
+
"require": "./cjs/services/request-service/handler/CardanoRequestHandler.js",
|
|
1592
|
+
"default": "./services/request-service/handler/CardanoRequestHandler.js"
|
|
1593
|
+
},
|
|
1529
1594
|
"./services/request-service/handler/ConnectWCRequestHandler": {
|
|
1530
1595
|
"types": "./services/request-service/handler/ConnectWCRequestHandler.d.ts",
|
|
1531
1596
|
"require": "./cjs/services/request-service/handler/ConnectWCRequestHandler.js",
|
|
@@ -1806,6 +1871,11 @@
|
|
|
1806
1871
|
"require": "./cjs/services/swap-service/handler/simpleswap-handler.js",
|
|
1807
1872
|
"default": "./services/swap-service/handler/simpleswap-handler.js"
|
|
1808
1873
|
},
|
|
1874
|
+
"./services/swap-service/handler/uniswap-handler": {
|
|
1875
|
+
"types": "./services/swap-service/handler/uniswap-handler.d.ts",
|
|
1876
|
+
"require": "./cjs/services/swap-service/handler/uniswap-handler.js",
|
|
1877
|
+
"default": "./services/swap-service/handler/uniswap-handler.js"
|
|
1878
|
+
},
|
|
1809
1879
|
"./services/swap-service/utils": {
|
|
1810
1880
|
"types": "./services/swap-service/utils.d.ts",
|
|
1811
1881
|
"require": "./cjs/services/swap-service/utils.js",
|
|
@@ -2136,6 +2206,11 @@
|
|
|
2136
2206
|
"require": "./cjs/types/fee/base.js",
|
|
2137
2207
|
"default": "./types/fee/base.js"
|
|
2138
2208
|
},
|
|
2209
|
+
"./types/fee/cardano": {
|
|
2210
|
+
"types": "./types/fee/cardano.d.ts",
|
|
2211
|
+
"require": "./cjs/types/fee/cardano.js",
|
|
2212
|
+
"default": "./types/fee/cardano.js"
|
|
2213
|
+
},
|
|
2139
2214
|
"./types/fee/evm": {
|
|
2140
2215
|
"types": "./types/fee/evm.d.ts",
|
|
2141
2216
|
"require": "./cjs/types/fee/evm.js",
|
|
@@ -2529,6 +2604,7 @@
|
|
|
2529
2604
|
"./utils/staticData/crowdloanFunds.json": "./utils/staticData/crowdloanFunds.json",
|
|
2530
2605
|
"./utils/staticData/currencySymbol.json": "./utils/staticData/currencySymbol.json",
|
|
2531
2606
|
"./utils/staticData/marketingCampaigns.json": "./utils/staticData/marketingCampaigns.json",
|
|
2607
|
+
"./utils/staticData/oldChainPrefix.json": "./utils/staticData/oldChainPrefix.json",
|
|
2532
2608
|
"./utils/staticData/remindNotificationTime.json": "./utils/staticData/remindNotificationTime.json",
|
|
2533
2609
|
"./utils/staticData/termAndCondition.json": "./utils/staticData/termAndCondition.json",
|
|
2534
2610
|
"./utils/swap": {
|
|
@@ -2546,7 +2622,7 @@
|
|
|
2546
2622
|
"@acala-network/api": "^5.0.2",
|
|
2547
2623
|
"@apollo/client": "^3.7.14",
|
|
2548
2624
|
"@azns/resolver-core": "^1.4.0",
|
|
2549
|
-
"@
|
|
2625
|
+
"@emurgo/cardano-serialization-lib-nodejs": "^13.2.0",
|
|
2550
2626
|
"@equilab/api": "~1.14.25",
|
|
2551
2627
|
"@ethereumjs/common": "^4.1.0",
|
|
2552
2628
|
"@ethereumjs/tx": "^5.1.0",
|
|
@@ -2559,32 +2635,33 @@
|
|
|
2559
2635
|
"@metaverse-network-sdk/type-definitions": "^0.0.1-13",
|
|
2560
2636
|
"@oak-foundation/types": "^0.0.23",
|
|
2561
2637
|
"@polkadot-api/merkleize-metadata": "^1.1.0",
|
|
2562
|
-
"@polkadot/api": "^15.
|
|
2563
|
-
"@polkadot/api-base": "^15.
|
|
2564
|
-
"@polkadot/api-contract": "^15.
|
|
2565
|
-
"@polkadot/api-derive": "^15.
|
|
2566
|
-
"@polkadot/apps-config": "^0.
|
|
2567
|
-
"@polkadot/hw-ledger": "^
|
|
2568
|
-
"@polkadot/networks": "^13.
|
|
2569
|
-
"@polkadot/phishing": "^0.
|
|
2570
|
-
"@polkadot/rpc-provider": "^15.
|
|
2571
|
-
"@polkadot/types": "^15.
|
|
2572
|
-
"@polkadot/types-augment": "^15.
|
|
2573
|
-
"@polkadot/types-known": "^15.
|
|
2574
|
-
"@polkadot/ui-settings": "^3.
|
|
2575
|
-
"@polkadot/util": "^13.
|
|
2576
|
-
"@polkadot/util-crypto": "^13.
|
|
2577
|
-
"@polkadot/x-global": "^
|
|
2638
|
+
"@polkadot/api": "^15.7.2",
|
|
2639
|
+
"@polkadot/api-base": "^15.7.2",
|
|
2640
|
+
"@polkadot/api-contract": "^15.7.2",
|
|
2641
|
+
"@polkadot/api-derive": "^15.7.2",
|
|
2642
|
+
"@polkadot/apps-config": "^0.150.2",
|
|
2643
|
+
"@polkadot/hw-ledger": "^13.4.3",
|
|
2644
|
+
"@polkadot/networks": "^13.4.3",
|
|
2645
|
+
"@polkadot/phishing": "^0.25.4",
|
|
2646
|
+
"@polkadot/rpc-provider": "^15.7.2",
|
|
2647
|
+
"@polkadot/types": "^15.7.2",
|
|
2648
|
+
"@polkadot/types-augment": "^15.7.2",
|
|
2649
|
+
"@polkadot/types-known": "^15.7.2",
|
|
2650
|
+
"@polkadot/ui-settings": "^3.12.2",
|
|
2651
|
+
"@polkadot/util": "^13.4.3",
|
|
2652
|
+
"@polkadot/util-crypto": "^13.4.3",
|
|
2653
|
+
"@polkadot/x-global": "^13.4.3",
|
|
2578
2654
|
"@reduxjs/toolkit": "^1.9.1",
|
|
2579
2655
|
"@sora-substrate/type-definitions": "^1.17.7",
|
|
2580
2656
|
"@substrate/connect": "^0.8.9",
|
|
2581
|
-
"@subwallet/chain-list": "0.2.
|
|
2582
|
-
"@subwallet/extension-base": "^1.3.
|
|
2583
|
-
"@subwallet/extension-chains": "^1.3.
|
|
2584
|
-
"@subwallet/extension-dapp": "^1.3.
|
|
2585
|
-
"@subwallet/extension-inject": "^1.3.
|
|
2586
|
-
"@subwallet/keyring": "^0.1.
|
|
2587
|
-
"@subwallet/
|
|
2657
|
+
"@subwallet/chain-list": "0.2.101",
|
|
2658
|
+
"@subwallet/extension-base": "^1.3.23-0",
|
|
2659
|
+
"@subwallet/extension-chains": "^1.3.23-0",
|
|
2660
|
+
"@subwallet/extension-dapp": "^1.3.23-0",
|
|
2661
|
+
"@subwallet/extension-inject": "^1.3.23-0",
|
|
2662
|
+
"@subwallet/keyring": "^0.1.9",
|
|
2663
|
+
"@subwallet/subwallet-api-sdk": "^1.3.23-0",
|
|
2664
|
+
"@subwallet/ui-keyring": "^0.1.9",
|
|
2588
2665
|
"@ton/core": "^0.56.3",
|
|
2589
2666
|
"@ton/crypto": "^3.2.0",
|
|
2590
2667
|
"@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.
|
|
10
|
+
version: '1.3.23-0'
|
|
11
11
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const DEFAULT_CARDANO_TTL_OFFSET: number;
|
|
@@ -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 @@
|
|
|
1
|
+
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 {
|
|
7
|
-
import {
|
|
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
|
-
} =
|
|
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
|
|
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
|
|
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]>;
|