@subwallet/extension-base 1.3.69-0 → 1.3.71-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 +11 -0
- package/background/KoniTypes.js +68 -8
- package/cjs/background/KoniTypes.js +68 -8
- package/cjs/constants/blocked-actions.js +3 -0
- package/cjs/core/logic-validation/swap.js +0 -3
- package/cjs/core/substrate/system-pallet.js +0 -2
- package/cjs/koni/api/nft/wasm_nft/index.js +0 -1
- package/cjs/koni/api/staking/bonding/astar.js +0 -2
- package/cjs/koni/api/staking/bonding/paraChain.js +0 -3
- package/cjs/koni/api/staking/bonding/relayChain.js +2 -4
- package/cjs/koni/api/staking/bonding/utils.js +0 -4
- package/cjs/koni/background/cron.js +0 -1
- package/cjs/koni/background/handlers/Extension.js +216 -158
- package/cjs/koni/background/handlers/State.js +59 -54
- package/cjs/koni/background/handlers/Tabs.js +39 -34
- package/cjs/packageInfo.js +1 -1
- package/cjs/page/index.js +7 -0
- package/cjs/page/substrate/PostMessageProvider.js +3 -0
- package/cjs/services/balance-service/helpers/subscribe/cardano/utils.js +0 -1
- package/cjs/services/balance-service/helpers/subscribe/substrate/gear.js +0 -2
- package/cjs/services/balance-service/helpers/subscribe/substrate/index.js +2 -3
- package/cjs/services/balance-service/helpers/subscribe/ton/utils.js +0 -3
- package/cjs/services/balance-service/index.js +103 -7
- package/cjs/services/balance-service/transfer/bitcoin-transfer.js +0 -1
- package/cjs/services/balance-service/transfer/cardano-transfer.js +1 -2
- package/cjs/services/balance-service/transfer/smart-contract.js +0 -1
- package/cjs/services/balance-service/transfer/token.js +0 -2
- package/cjs/services/balance-service/transfer/ton-transfer.js +0 -1
- package/cjs/services/balance-service/transfer/xcm/snowBridge.js +0 -1
- package/cjs/services/chain-service/constants.js +15 -4
- package/cjs/services/chain-service/handler/CardanoApi.js +3 -1
- package/cjs/services/chain-service/handler/SubstrateApi.js +0 -2
- package/cjs/services/chain-service/handler/light-client/index.js +1 -2
- package/cjs/services/chain-service/health-check/index.js +0 -1
- package/cjs/services/chain-service/health-check/utils/new-utils/chain-asset-validate.js +0 -1
- package/cjs/services/chain-service/index.js +18 -26
- package/cjs/services/chain-service/utils/index.js +34 -30
- package/cjs/services/earning-service/handlers/base.js +32 -0
- package/cjs/services/earning-service/handlers/lending/base.js +0 -2
- package/cjs/services/earning-service/handlers/liquid-staking/acala.js +0 -1
- package/cjs/services/earning-service/handlers/liquid-staking/base.js +0 -2
- package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +0 -2
- package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +0 -1
- package/cjs/services/earning-service/handlers/native-staking/astar.js +0 -2
- package/cjs/services/earning-service/handlers/native-staking/dtao.js +43 -2
- package/cjs/services/earning-service/handlers/native-staking/energy.js +0 -1
- package/cjs/services/earning-service/handlers/native-staking/mythos.js +0 -2
- package/cjs/services/earning-service/handlers/native-staking/para-chain.js +0 -2
- package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +8 -9
- package/cjs/services/earning-service/handlers/special.js +7 -0
- package/cjs/services/event-service/index.js +1 -0
- package/cjs/services/history-service/subsquid-multi-chain-history.js +0 -1
- package/cjs/services/keyring-service/context/handlers/Derive.js +1 -1
- package/cjs/services/keyring-service/context/handlers/Migration.js +11 -9
- package/cjs/services/keyring-service/context/handlers/Mnemonic.js +18 -13
- package/cjs/services/keyring-service/context/state.js +21 -3
- package/cjs/services/keyring-service/utils.js +12 -2
- package/cjs/services/migration-service/index.js +1 -2
- package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +0 -1
- package/cjs/services/nft-service/index.js +5 -0
- package/cjs/services/open-gov/handler.js +561 -0
- package/cjs/services/open-gov/index.js +273 -0
- package/cjs/services/open-gov/interface.js +31 -0
- package/cjs/services/open-gov/utils.js +66 -0
- package/cjs/services/request-service/handler/BitcoinRequestHandler.js +1 -2
- package/cjs/services/request-service/handler/CardanoRequestHandler.js +0 -1
- package/cjs/services/request-service/handler/EvmRequestHandler.js +0 -1
- package/cjs/services/request-service/handler/TonRequestHandler.js +0 -1
- package/cjs/services/request-service/helper/index.js +1 -2
- package/cjs/services/storage-service/DatabaseService.js +19 -3
- package/cjs/services/storage-service/databases/index.js +5 -0
- package/cjs/services/storage-service/db-stores/GovLockedInfoStore.js +35 -0
- package/cjs/services/swap-service/handler/asset-hub/handler.js +0 -1
- package/cjs/services/swap-service/handler/asset-hub/router.js +0 -1
- package/cjs/services/swap-service/handler/chainflip-handler.js +1 -4
- package/cjs/services/swap-service/handler/hydradx-handler.js +0 -1
- package/cjs/services/swap-service/handler/kyber-handler.js +0 -1
- package/cjs/services/swap-service/handler/optimex-handler.js +1 -2
- package/cjs/services/swap-service/handler/simpleswap-handler.js +1 -3
- package/cjs/services/swap-service/handler/uniswap-handler.js +0 -3
- package/cjs/services/transaction-service/event-parser/index.js +6 -6
- package/cjs/services/transaction-service/helpers/index.js +6 -0
- package/cjs/services/transaction-service/index.js +71 -28
- package/cjs/services/wallet-connect-service/index.js +21 -18
- package/cjs/services/wallet-connect-service/types.js +1 -1
- package/cjs/types/account/info/keyring.js +9 -1
- package/cjs/types/balance/index.js +5 -1
- package/cjs/types/swap/index.js +2 -1
- package/cjs/types/transaction/process.js +2 -0
- package/cjs/types/yield/actions/join/step.js +17 -1
- package/cjs/utils/account/common.js +0 -26
- package/cjs/utils/account/derive/info/solo.js +7 -4
- package/cjs/utils/account/derive/validate.js +1 -1
- package/cjs/utils/account/transform.js +10 -5
- package/cjs/utils/auth.js +1 -1
- package/cjs/utils/bitcoin/utxo-management.js +0 -1
- package/cjs/utils/environment.js +2 -1
- package/cjs/utils/fee/transfer.js +1 -2
- package/cjs/utils/index.js +1 -2
- package/constants/blocked-actions.js +3 -0
- package/core/logic-validation/swap.js +0 -3
- package/core/substrate/system-pallet.js +0 -2
- package/koni/api/nft/wasm_nft/index.js +0 -1
- package/koni/api/staking/bonding/astar.js +0 -2
- package/koni/api/staking/bonding/paraChain.js +0 -3
- package/koni/api/staking/bonding/relayChain.js +2 -4
- package/koni/api/staking/bonding/utils.js +0 -4
- package/koni/background/cron.js +0 -1
- package/koni/background/handlers/Extension.d.ts +4 -0
- package/koni/background/handlers/Extension.js +70 -11
- package/koni/background/handlers/State.d.ts +2 -0
- package/koni/background/handlers/State.js +46 -40
- package/koni/background/handlers/Tabs.js +9 -3
- package/package.json +44 -20
- package/packageInfo.js +1 -1
- package/page/substrate/PostMessageProvider.js +3 -0
- package/services/balance-service/helpers/subscribe/cardano/utils.js +0 -1
- package/services/balance-service/helpers/subscribe/substrate/gear.js +0 -2
- package/services/balance-service/helpers/subscribe/substrate/index.js +0 -1
- package/services/balance-service/helpers/subscribe/ton/utils.js +0 -3
- package/services/balance-service/index.d.ts +8 -0
- package/services/balance-service/index.js +105 -9
- package/services/balance-service/transfer/bitcoin-transfer.js +0 -1
- package/services/balance-service/transfer/smart-contract.js +0 -1
- package/services/balance-service/transfer/token.js +0 -2
- package/services/balance-service/transfer/ton-transfer.js +0 -1
- package/services/balance-service/transfer/xcm/snowBridge.js +0 -1
- package/services/chain-service/constants.d.ts +8 -0
- package/services/chain-service/constants.js +12 -2
- package/services/chain-service/handler/CardanoApi.js +3 -1
- package/services/chain-service/handler/SubstrateApi.js +0 -2
- package/services/chain-service/health-check/index.js +0 -1
- package/services/chain-service/health-check/utils/new-utils/chain-asset-validate.js +0 -1
- package/services/chain-service/index.d.ts +0 -1
- package/services/chain-service/index.js +15 -23
- package/services/chain-service/utils/index.js +35 -31
- package/services/earning-service/handlers/base.js +32 -0
- package/services/earning-service/handlers/lending/base.js +0 -2
- package/services/earning-service/handlers/liquid-staking/acala.js +0 -1
- package/services/earning-service/handlers/liquid-staking/base.js +0 -2
- package/services/earning-service/handlers/liquid-staking/bifrost.js +0 -2
- package/services/earning-service/handlers/liquid-staking/parallel.js +0 -1
- package/services/earning-service/handlers/native-staking/astar.js +0 -2
- package/services/earning-service/handlers/native-staking/dtao.js +43 -0
- package/services/earning-service/handlers/native-staking/energy.js +0 -1
- package/services/earning-service/handlers/native-staking/mythos.js +0 -2
- package/services/earning-service/handlers/native-staking/para-chain.js +0 -2
- package/services/earning-service/handlers/native-staking/relay-chain.js +8 -9
- package/services/earning-service/handlers/special.js +7 -0
- package/services/event-service/index.d.ts +1 -0
- package/services/event-service/index.js +1 -0
- package/services/event-service/types.d.ts +1 -0
- package/services/history-service/subsquid-multi-chain-history.js +0 -1
- package/services/keyring-service/context/handlers/Derive.js +2 -2
- package/services/keyring-service/context/handlers/Migration.js +3 -1
- package/services/keyring-service/context/handlers/Mnemonic.d.ts +1 -1
- package/services/keyring-service/context/handlers/Mnemonic.js +16 -10
- package/services/keyring-service/context/state.d.ts +3 -0
- package/services/keyring-service/context/state.js +21 -3
- package/services/keyring-service/utils.d.ts +1 -0
- package/services/keyring-service/utils.js +9 -0
- package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +0 -1
- package/services/nft-service/index.js +6 -0
- package/services/open-gov/handler.d.ts +27 -0
- package/services/open-gov/handler.js +545 -0
- package/services/open-gov/index.d.ts +45 -0
- package/services/open-gov/index.js +265 -0
- package/services/open-gov/interface.d.ts +141 -0
- package/services/open-gov/interface.js +24 -0
- package/services/open-gov/utils.d.ts +14 -0
- package/services/open-gov/utils.js +52 -0
- package/services/request-service/handler/CardanoRequestHandler.js +0 -1
- package/services/request-service/handler/EvmRequestHandler.js +0 -1
- package/services/request-service/handler/TonRequestHandler.js +0 -1
- package/services/setting-service/constants.js +0 -1
- package/services/storage-service/DatabaseService.d.ts +7 -0
- package/services/storage-service/DatabaseService.js +19 -3
- package/services/storage-service/databases/index.d.ts +2 -0
- package/services/storage-service/databases/index.js +6 -0
- package/services/storage-service/db-stores/GovLockedInfoStore.d.ts +10 -0
- package/services/storage-service/db-stores/GovLockedInfoStore.js +27 -0
- package/services/swap-service/handler/asset-hub/handler.js +0 -1
- package/services/swap-service/handler/asset-hub/router.js +0 -1
- package/services/swap-service/handler/chainflip-handler.js +0 -2
- package/services/swap-service/handler/hydradx-handler.js +0 -1
- package/services/swap-service/handler/kyber-handler.js +0 -1
- package/services/swap-service/handler/simpleswap-handler.js +0 -1
- package/services/swap-service/handler/uniswap-handler.js +0 -3
- package/services/transaction-service/event-parser/index.js +6 -6
- package/services/transaction-service/helpers/index.js +6 -0
- package/services/transaction-service/index.js +43 -0
- package/services/wallet-connect-service/index.js +21 -18
- package/services/wallet-connect-service/types.js +1 -1
- package/types/account/action/add/mnemonic.d.ts +3 -2
- package/types/account/info/keyring.js +9 -1
- package/types/balance/index.js +5 -1
- package/types/swap/index.js +2 -1
- package/types/transaction/process.js +3 -1
- package/types/yield/actions/join/step.js +17 -1
- package/utils/account/common.d.ts +0 -3
- package/utils/account/common.js +0 -24
- package/utils/account/derive/info/solo.js +8 -5
- package/utils/account/derive/validate.d.ts +2 -2
- package/utils/account/derive/validate.js +1 -1
- package/utils/account/transform.js +10 -5
- package/utils/auth.js +2 -2
- package/utils/bitcoin/utxo-management.js +0 -1
- package/utils/index.js +2 -5
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _TransactionError = require("@subwallet/extension-base/background/errors/TransactionError");
|
|
9
|
+
var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
10
|
+
var _types = require("@subwallet/extension-base/types");
|
|
11
|
+
var _utils = require("@subwallet/extension-base/utils");
|
|
12
|
+
var _rxjs = require("rxjs");
|
|
13
|
+
var _types2 = require("../base/types");
|
|
14
|
+
var _constants = require("../chain-service/constants");
|
|
15
|
+
var _utils2 = require("../chain-service/utils");
|
|
16
|
+
var _handler = _interopRequireDefault(require("./handler"));
|
|
17
|
+
// Copyright 2019-2022 @subwallet/extension-base
|
|
18
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
19
|
+
|
|
20
|
+
class OpenGovChainHandler extends _handler.default {
|
|
21
|
+
constructor(state, chain) {
|
|
22
|
+
super(state, chain);
|
|
23
|
+
this.slug = chain;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
class OpenGovService {
|
|
27
|
+
handlers = {};
|
|
28
|
+
|
|
29
|
+
// subjects
|
|
30
|
+
govLockedInfoSubject = new _rxjs.BehaviorSubject({});
|
|
31
|
+
govLockedInfoListSubject = new _rxjs.BehaviorSubject([]);
|
|
32
|
+
govLockedInfoPersistQueue = [];
|
|
33
|
+
status = _types2.ServiceStatus.NOT_INITIALIZED;
|
|
34
|
+
startPromiseHandler = (0, _utils.createPromiseHandler)();
|
|
35
|
+
stopPromiseHandler = (0, _utils.createPromiseHandler)();
|
|
36
|
+
constructor(state) {
|
|
37
|
+
this.state = state;
|
|
38
|
+
this.eventService = state.eventService;
|
|
39
|
+
this.dbService = state.dbService;
|
|
40
|
+
}
|
|
41
|
+
async init() {
|
|
42
|
+
this.status = _types2.ServiceStatus.INITIALIZING;
|
|
43
|
+
this.eventService.emit('open-gov.ready', true);
|
|
44
|
+
await this.initHandlers();
|
|
45
|
+
await this.getGovLockedInfoFromDB();
|
|
46
|
+
this.status = _types2.ServiceStatus.INITIALIZED;
|
|
47
|
+
this.govLockedInfoListSubject.next(Object.values(this.govLockedInfoSubject.getValue()));
|
|
48
|
+
this.handleActions();
|
|
49
|
+
}
|
|
50
|
+
handleActions() {
|
|
51
|
+
this.eventService.onLazy((events, eventTypes) => {
|
|
52
|
+
let delayReload = false;
|
|
53
|
+
const removedAddresses = [];
|
|
54
|
+
const removeChains = [];
|
|
55
|
+
(async () => {
|
|
56
|
+
for (const event of events) {
|
|
57
|
+
if (event.type === 'account.remove') {
|
|
58
|
+
removedAddresses.push(event.data[0]);
|
|
59
|
+
}
|
|
60
|
+
if (event.type === 'account.add' || event.type === 'account.updateCurrent') {
|
|
61
|
+
delayReload = true;
|
|
62
|
+
}
|
|
63
|
+
if (event.type === 'chain.updateState') {
|
|
64
|
+
const chainKey = event.data[0];
|
|
65
|
+
const chainState = this.state.getChainStateByKey(chainKey);
|
|
66
|
+
if (chainState && !(0, _utils2._isChainEnabled)(chainState)) {
|
|
67
|
+
removeChains.push(chainKey);
|
|
68
|
+
}
|
|
69
|
+
delayReload = true;
|
|
70
|
+
}
|
|
71
|
+
if (event.type === 'transaction.done') {
|
|
72
|
+
const tx = event.data[0];
|
|
73
|
+
const govRelatedTypes = [_KoniTypes.ExtrinsicType.GOV_VOTE, _KoniTypes.ExtrinsicType.GOV_UNVOTE, _KoniTypes.ExtrinsicType.GOV_UNLOCK_VOTE];
|
|
74
|
+
if (govRelatedTypes.includes(tx.extrinsicType)) {
|
|
75
|
+
delayReload = true;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
if (removeChains.length || removedAddresses.length) {
|
|
80
|
+
await this.removeGovLockedInfos(removeChains, removedAddresses);
|
|
81
|
+
}
|
|
82
|
+
if (eventTypes.includes('account.updateCurrent') || eventTypes.includes('account.remove') || eventTypes.includes('chain.updateState') || delayReload) {
|
|
83
|
+
if (delayReload) {
|
|
84
|
+
this.delayReloadTimeout = setTimeout(() => {
|
|
85
|
+
this.resetGovLockedInfo().then(() => this.runSubscribeGovLockedInfo()).catch(console.error);
|
|
86
|
+
}, 3000);
|
|
87
|
+
} else {
|
|
88
|
+
this.delayReloadTimeout && clearTimeout(this.delayReloadTimeout);
|
|
89
|
+
this.delayReloadTimeout = undefined;
|
|
90
|
+
await this.resetGovLockedInfo();
|
|
91
|
+
await this.runSubscribeGovLockedInfo();
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
})().catch(console.error);
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
async removeGovLockedInfos(chains, addresses) {
|
|
98
|
+
const current = this.govLockedInfoSubject.getValue();
|
|
99
|
+
const removeKeys = [];
|
|
100
|
+
if (chains && chains.length > 0) {
|
|
101
|
+
for (const [key, value] of Object.entries(current)) {
|
|
102
|
+
if (chains.includes(value.chain)) {
|
|
103
|
+
removeKeys.push(key);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
if (addresses && addresses.length > 0) {
|
|
108
|
+
for (const [key, value] of Object.entries(current)) {
|
|
109
|
+
if (addresses.includes(value.address)) {
|
|
110
|
+
removeKeys.push(key);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
for (const key of removeKeys) {
|
|
115
|
+
delete current[key];
|
|
116
|
+
}
|
|
117
|
+
this.govLockedInfoSubject.next(current);
|
|
118
|
+
this.govLockedInfoListSubject.next(Object.values(current));
|
|
119
|
+
if (addresses && addresses.length > 0) {
|
|
120
|
+
await this.dbService.removeGovLockedInfosByAddresses(addresses);
|
|
121
|
+
}
|
|
122
|
+
if (chains && chains.length > 0) {
|
|
123
|
+
await this.dbService.removeGovLockedInfosByChains(chains);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
async initHandlers() {
|
|
127
|
+
await this.eventService.waitChainReady;
|
|
128
|
+
const chains = [];
|
|
129
|
+
const supportedSlugs = Object.values(_constants._GOVERNANCE_CHAIN_GROUP).flat();
|
|
130
|
+
for (const chain of Object.values(this.state.getChainInfoMap())) {
|
|
131
|
+
if (chain.chainStatus === 'ACTIVE' && supportedSlugs.includes(chain.slug)) {
|
|
132
|
+
chains.push(chain.slug);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
for (const chain of chains) {
|
|
136
|
+
this.handlers[chain] = new OpenGovChainHandler(this.state, chain);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
async handleVote(request) {
|
|
140
|
+
const handler = this.handlers[request.chain];
|
|
141
|
+
if (!handler) {
|
|
142
|
+
return Promise.reject(new _TransactionError.TransactionError(_types.BasicTxErrorType.UNSUPPORTED));
|
|
143
|
+
}
|
|
144
|
+
return handler.handleVote(request);
|
|
145
|
+
}
|
|
146
|
+
async handleRemoveVote(request) {
|
|
147
|
+
const handler = this.handlers[request.chain];
|
|
148
|
+
if (!handler) {
|
|
149
|
+
return Promise.reject(new _TransactionError.TransactionError(_types.BasicTxErrorType.UNSUPPORTED));
|
|
150
|
+
}
|
|
151
|
+
return handler.handleRemoveVote(request);
|
|
152
|
+
}
|
|
153
|
+
async handleUnlockVote(request) {
|
|
154
|
+
const handler = this.handlers[request.chain];
|
|
155
|
+
if (!handler) {
|
|
156
|
+
return Promise.reject(new _TransactionError.TransactionError(_types.BasicTxErrorType.UNSUPPORTED));
|
|
157
|
+
}
|
|
158
|
+
return handler.handleUnlockVote(request);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/* Gov Locked Info */
|
|
162
|
+
|
|
163
|
+
async runSubscribeGovLockedInfo() {
|
|
164
|
+
await this.eventService.waitKeyringReady;
|
|
165
|
+
this.runUnsubscribeGovLockedInfo();
|
|
166
|
+
const addresses = this.state.keyringService.context.getDecodedAddresses();
|
|
167
|
+
this.subscribeGovLockedInfos(addresses, data => {
|
|
168
|
+
this.updateGovLockedInfo(data);
|
|
169
|
+
}).then(rs => {
|
|
170
|
+
this.govLockedInfoUnsub = rs;
|
|
171
|
+
}).catch(console.error);
|
|
172
|
+
}
|
|
173
|
+
runUnsubscribeGovLockedInfo() {
|
|
174
|
+
var _this$govLockedInfoUn;
|
|
175
|
+
(_this$govLockedInfoUn = this.govLockedInfoUnsub) === null || _this$govLockedInfoUn === void 0 ? void 0 : _this$govLockedInfoUn.call(this);
|
|
176
|
+
this.govLockedInfoUnsub = undefined;
|
|
177
|
+
this.govLockedInfoPersistQueue = [];
|
|
178
|
+
}
|
|
179
|
+
async subscribeGovLockedInfos(addresses, cb) {
|
|
180
|
+
let cancel = false;
|
|
181
|
+
await this.eventService.waitChainReady;
|
|
182
|
+
const activeChains = this.state.activeChainSlugs;
|
|
183
|
+
const unsubList = [];
|
|
184
|
+
for (const handler of Object.values(this.handlers)) {
|
|
185
|
+
if (activeChains.includes(handler.chain)) {
|
|
186
|
+
const [useAddresses] = (0, _utils.filterAddressByChainInfo)(addresses, handler.chainInfo);
|
|
187
|
+
handler.subscribeGovLockedInfo(useAddresses, cb).then(unsub => {
|
|
188
|
+
if (cancel) {
|
|
189
|
+
unsub();
|
|
190
|
+
} else {
|
|
191
|
+
unsubList.push(unsub);
|
|
192
|
+
}
|
|
193
|
+
}).catch(console.error);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
return () => {
|
|
197
|
+
cancel = true;
|
|
198
|
+
unsubList.forEach(unsub => unsub === null || unsub === void 0 ? void 0 : unsub());
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
updateGovLockedInfo(data) {
|
|
202
|
+
this.govLockedInfoPersistQueue.push(data);
|
|
203
|
+
(0, _utils.addLazy)('persistGovLockedInfo', () => {
|
|
204
|
+
const govInfo = this.govLockedInfoSubject.getValue();
|
|
205
|
+
const queue = [...this.govLockedInfoPersistQueue];
|
|
206
|
+
this.govLockedInfoPersistQueue = [];
|
|
207
|
+
|
|
208
|
+
// Update info in memory
|
|
209
|
+
queue.forEach(item => {
|
|
210
|
+
const key = `${item.chain}---${item.address}`;
|
|
211
|
+
govInfo[key] = item;
|
|
212
|
+
});
|
|
213
|
+
this.govLockedInfoSubject.next(govInfo);
|
|
214
|
+
this.govLockedInfoListSubject.next(Object.values(govInfo));
|
|
215
|
+
|
|
216
|
+
// Persist data
|
|
217
|
+
this.dbService.updateGovLockedInfos(queue).catch(console.warn);
|
|
218
|
+
}, 300, 900);
|
|
219
|
+
}
|
|
220
|
+
async resetGovLockedInfo() {
|
|
221
|
+
this.govLockedInfoPersistQueue = [];
|
|
222
|
+
await this.dbService.stores.govLockedInfo.clear();
|
|
223
|
+
}
|
|
224
|
+
async getGovLockedInfoFromDB() {
|
|
225
|
+
await this.eventService.waitChainReady;
|
|
226
|
+
await this.eventService.waitKeyringReady;
|
|
227
|
+
const addresses = this.state.keyringService.context.getDecodedAddresses();
|
|
228
|
+
const existedInfos = await this.dbService.getGovLockedInfos(addresses, this.state.activeChainSlugs);
|
|
229
|
+
const govInfo = this.govLockedInfoSubject.getValue();
|
|
230
|
+
existedInfos.forEach(item => {
|
|
231
|
+
govInfo[`${item.chain}---${item.address}`] = item;
|
|
232
|
+
});
|
|
233
|
+
this.govLockedInfoSubject.next(govInfo);
|
|
234
|
+
this.govLockedInfoListSubject.next(Object.values(govInfo));
|
|
235
|
+
}
|
|
236
|
+
subscribeGovLockedInfoSubject() {
|
|
237
|
+
return this.govLockedInfoListSubject;
|
|
238
|
+
}
|
|
239
|
+
async getGovLockedInfoInfo() {
|
|
240
|
+
await this.eventService.waitEarningReady;
|
|
241
|
+
return Promise.resolve(this.govLockedInfoListSubject.getValue());
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
/* --------- Start/Stop ---------- */
|
|
245
|
+
async start() {
|
|
246
|
+
if (this.status === _types2.ServiceStatus.STARTING || this.status === _types2.ServiceStatus.STARTED) {
|
|
247
|
+
return this.waitForStarted();
|
|
248
|
+
}
|
|
249
|
+
this.status = _types2.ServiceStatus.STARTING;
|
|
250
|
+
this.startPromiseHandler.resolve();
|
|
251
|
+
this.stopPromiseHandler = (0, _utils.createPromiseHandler)();
|
|
252
|
+
this.status = _types2.ServiceStatus.STARTED;
|
|
253
|
+
}
|
|
254
|
+
async stop() {
|
|
255
|
+
if (this.status === _types2.ServiceStatus.STOPPING || this.status === _types2.ServiceStatus.STOPPED) {
|
|
256
|
+
return this.waitForStopped();
|
|
257
|
+
}
|
|
258
|
+
this.status = _types2.ServiceStatus.STOPPING;
|
|
259
|
+
this.runUnsubscribeGovLockedInfo();
|
|
260
|
+
this.stopPromiseHandler.resolve();
|
|
261
|
+
this.startPromiseHandler = (0, _utils.createPromiseHandler)();
|
|
262
|
+
this.status = _types2.ServiceStatus.STOPPED;
|
|
263
|
+
}
|
|
264
|
+
waitForStarted() {
|
|
265
|
+
return this.startPromiseHandler.promise;
|
|
266
|
+
}
|
|
267
|
+
waitForStopped() {
|
|
268
|
+
return this.stopPromiseHandler.promise;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
/* Gov Locked Info */
|
|
272
|
+
}
|
|
273
|
+
exports.default = OpenGovService;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.GovVoteType = exports.Conviction = void 0;
|
|
7
|
+
// Copyright 2019-2022 @subwallet/extension-base
|
|
8
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
9
|
+
let GovVoteType;
|
|
10
|
+
exports.GovVoteType = GovVoteType;
|
|
11
|
+
(function (GovVoteType) {
|
|
12
|
+
GovVoteType["AYE"] = "aye";
|
|
13
|
+
GovVoteType["NAY"] = "nay";
|
|
14
|
+
GovVoteType["SPLIT"] = "split";
|
|
15
|
+
GovVoteType["ABSTAIN"] = "abstain";
|
|
16
|
+
})(GovVoteType || (exports.GovVoteType = GovVoteType = {}));
|
|
17
|
+
/* Lock inteface */
|
|
18
|
+
let Conviction;
|
|
19
|
+
exports.Conviction = Conviction;
|
|
20
|
+
(function (Conviction) {
|
|
21
|
+
Conviction["None"] = "None";
|
|
22
|
+
Conviction["Locked1x"] = "Locked1x";
|
|
23
|
+
Conviction["Locked2x"] = "Locked2x";
|
|
24
|
+
Conviction["Locked3x"] = "Locked3x";
|
|
25
|
+
Conviction["Locked4x"] = "Locked4x";
|
|
26
|
+
Conviction["Locked5x"] = "Locked5x";
|
|
27
|
+
Conviction["Locked6x"] = "Locked6x";
|
|
28
|
+
})(Conviction || (exports.Conviction = Conviction = {})); // ----- Casting -----
|
|
29
|
+
// ----- Delegating -----
|
|
30
|
+
// ----- VotingFor -----
|
|
31
|
+
// Unlock Vote
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.defaultConvictionDays = exports.MIGRATED_CHAINS = void 0;
|
|
7
|
+
exports.getConvictionDays = getConvictionDays;
|
|
8
|
+
exports.getGovConvictionOptions = getGovConvictionOptions;
|
|
9
|
+
exports.specialChainLockConfig = exports.numberToConviction = void 0;
|
|
10
|
+
var _interface = require("./interface");
|
|
11
|
+
// Copyright 2019-2022 @subwallet/extension-base
|
|
12
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
13
|
+
|
|
14
|
+
const numberToConviction = {
|
|
15
|
+
0: _interface.Conviction.None,
|
|
16
|
+
1: _interface.Conviction.Locked1x,
|
|
17
|
+
2: _interface.Conviction.Locked2x,
|
|
18
|
+
3: _interface.Conviction.Locked3x,
|
|
19
|
+
4: _interface.Conviction.Locked4x,
|
|
20
|
+
5: _interface.Conviction.Locked5x,
|
|
21
|
+
6: _interface.Conviction.Locked6x
|
|
22
|
+
};
|
|
23
|
+
exports.numberToConviction = numberToConviction;
|
|
24
|
+
const defaultConvictionDays = {
|
|
25
|
+
[_interface.Conviction.None]: 0,
|
|
26
|
+
[_interface.Conviction.Locked1x]: 7,
|
|
27
|
+
[_interface.Conviction.Locked2x]: 14,
|
|
28
|
+
[_interface.Conviction.Locked3x]: 28,
|
|
29
|
+
[_interface.Conviction.Locked4x]: 56,
|
|
30
|
+
[_interface.Conviction.Locked5x]: 112,
|
|
31
|
+
[_interface.Conviction.Locked6x]: 224
|
|
32
|
+
};
|
|
33
|
+
exports.defaultConvictionDays = defaultConvictionDays;
|
|
34
|
+
const specialChainLockConfig = [{
|
|
35
|
+
chains: ['bifrost_dot', 'bifrost'],
|
|
36
|
+
daysMap: {
|
|
37
|
+
[_interface.Conviction.None]: 0,
|
|
38
|
+
[_interface.Conviction.Locked1x]: 1,
|
|
39
|
+
[_interface.Conviction.Locked2x]: 2,
|
|
40
|
+
[_interface.Conviction.Locked3x]: 4,
|
|
41
|
+
[_interface.Conviction.Locked4x]: 8,
|
|
42
|
+
[_interface.Conviction.Locked5x]: 16,
|
|
43
|
+
[_interface.Conviction.Locked6x]: 32
|
|
44
|
+
}
|
|
45
|
+
}];
|
|
46
|
+
exports.specialChainLockConfig = specialChainLockConfig;
|
|
47
|
+
function getConvictionDays(chain, conviction) {
|
|
48
|
+
var _group$daysMap, _daysMap$conviction;
|
|
49
|
+
const lowerChain = chain.toLowerCase();
|
|
50
|
+
const group = specialChainLockConfig.find(g => g.chains.includes(lowerChain));
|
|
51
|
+
const daysMap = (_group$daysMap = group === null || group === void 0 ? void 0 : group.daysMap) !== null && _group$daysMap !== void 0 ? _group$daysMap : defaultConvictionDays;
|
|
52
|
+
return (_daysMap$conviction = daysMap[conviction]) !== null && _daysMap$conviction !== void 0 ? _daysMap$conviction : 0;
|
|
53
|
+
}
|
|
54
|
+
function getGovConvictionOptions(chain) {
|
|
55
|
+
return Object.entries(numberToConviction).map(_ref => {
|
|
56
|
+
let [value, conviction] = _ref;
|
|
57
|
+
const days = getConvictionDays(chain, conviction);
|
|
58
|
+
return {
|
|
59
|
+
value: Number(value),
|
|
60
|
+
label: value === '0' ? '0.1x' : `${value}x`,
|
|
61
|
+
description: days === 0 ? 'No lockup' : `~${days}d`
|
|
62
|
+
};
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
const MIGRATED_CHAINS = ['statemine', 'statemint', 'paseo_assethub', 'westend_assethub'];
|
|
66
|
+
exports.MIGRATED_CHAINS = MIGRATED_CHAINS;
|
|
@@ -16,8 +16,7 @@ var bitcoin = _interopRequireWildcard(require("bitcoinjs-lib"));
|
|
|
16
16
|
var _i18next = require("i18next");
|
|
17
17
|
var _rxjs = require("rxjs");
|
|
18
18
|
var _util = require("@polkadot/util");
|
|
19
|
-
function
|
|
20
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
21
20
|
// Copyright 2019-2022 @subwallet/extension-base authors & contributors
|
|
22
21
|
// SPDX-License-Identifier: Apache-2.0
|
|
23
22
|
|
|
@@ -212,7 +212,6 @@ class EvmRequestHandler {
|
|
|
212
212
|
maxPriorityFeePerGas: (0, _eth.anyNumberToBN)(maxPriorityFeePerGas).toNumber()
|
|
213
213
|
// nonce: await web3.eth.getTransactionCount(from) // Todo: fill this value from transaction service
|
|
214
214
|
};
|
|
215
|
-
|
|
216
215
|
const tx = this.configToTransaction(params);
|
|
217
216
|
await Promise.resolve();
|
|
218
217
|
if (pair.isLocked) {
|
|
@@ -15,8 +15,7 @@ exports.hasSufficientCardanoValue = hasSufficientCardanoValue;
|
|
|
15
15
|
var CardanoWasm = _interopRequireWildcard(require("@emurgo/cardano-serialization-lib-nodejs"));
|
|
16
16
|
var _extensionChains = require("@subwallet/extension-chains");
|
|
17
17
|
var _defaults = require("@polkadot/networks/defaults");
|
|
18
|
-
function
|
|
19
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
18
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
20
19
|
// Copyright 2019-2022 @subwallet/extension-base authors & contributors
|
|
21
20
|
// SPDX-License-Identifier: Apache-2.0
|
|
22
21
|
|
|
@@ -21,6 +21,7 @@ var _uiKeyring = _interopRequireDefault(require("@subwallet/ui-keyring"));
|
|
|
21
21
|
var _bignumber = _interopRequireDefault(require("bignumber.js"));
|
|
22
22
|
var _dexieExportImport = require("dexie-export-import");
|
|
23
23
|
var _util = require("@polkadot/util");
|
|
24
|
+
var _GovLockedInfoStore = _interopRequireDefault(require("./db-stores/GovLockedInfoStore"));
|
|
24
25
|
// Copyright 2019-2022 @subwallet/extension-base authors & contributors
|
|
25
26
|
// SPDX-License-Identifier: Apache-2.0
|
|
26
27
|
|
|
@@ -62,7 +63,9 @@ class DatabaseService {
|
|
|
62
63
|
// inapp notification
|
|
63
64
|
inappNotification: new _InappNotification.default(this._db.inappNotification),
|
|
64
65
|
// process transaction
|
|
65
|
-
processTransactions: new _dbStores.ProcessTransactionStore(this._db.processTransactions)
|
|
66
|
+
processTransactions: new _dbStores.ProcessTransactionStore(this._db.processTransactions),
|
|
67
|
+
// gov
|
|
68
|
+
govLockedInfo: new _GovLockedInfoStore.default(this._db.govLockedInfos)
|
|
66
69
|
};
|
|
67
70
|
}
|
|
68
71
|
async updatePriceStore(priceData) {
|
|
@@ -470,11 +473,9 @@ class DatabaseService {
|
|
|
470
473
|
async setMantaPayData(data) {
|
|
471
474
|
await this._db.mantaPay.put(data); // just override if exist
|
|
472
475
|
}
|
|
473
|
-
|
|
474
476
|
async updateMantaPayData(key, data) {
|
|
475
477
|
await this._db.mantaPay.update(key, data); // just override if exist
|
|
476
478
|
}
|
|
477
|
-
|
|
478
479
|
async getMantaPayData(key) {
|
|
479
480
|
return this._db.mantaPay.get({
|
|
480
481
|
key
|
|
@@ -610,6 +611,21 @@ class DatabaseService {
|
|
|
610
611
|
updateNotificationProxyId(proxyIds, newProxyId, newName) {
|
|
611
612
|
return this.stores.inappNotification.updateNotificationProxyId(proxyIds, newProxyId, newName);
|
|
612
613
|
}
|
|
614
|
+
|
|
615
|
+
/* Gov */
|
|
616
|
+
|
|
617
|
+
async getGovLockedInfos(addresses, chains) {
|
|
618
|
+
return this.stores.govLockedInfo.getByAddressesAndChains(addresses, chains);
|
|
619
|
+
}
|
|
620
|
+
async updateGovLockedInfos(infos) {
|
|
621
|
+
return this.stores.govLockedInfo.upsertMany(infos);
|
|
622
|
+
}
|
|
623
|
+
removeGovLockedInfosByAddresses(addresses) {
|
|
624
|
+
return this.stores.govLockedInfo.removeByAddresses(addresses);
|
|
625
|
+
}
|
|
626
|
+
removeGovLockedInfosByChains(chains) {
|
|
627
|
+
return this.stores.govLockedInfo.removeByChains(chains);
|
|
628
|
+
}
|
|
613
629
|
async exportDB() {
|
|
614
630
|
const blob = await (0, _dexieExportImport.exportDB)(this._db, {
|
|
615
631
|
filter: (table, value, key) => {
|
|
@@ -10,6 +10,8 @@ var _dexie = _interopRequireDefault(require("dexie"));
|
|
|
10
10
|
// SPDX-License-Identifier: Apache-2.0
|
|
11
11
|
|
|
12
12
|
const DEFAULT_DATABASE = 'SubWalletDB_v2';
|
|
13
|
+
|
|
14
|
+
// TODO: refactor this
|
|
13
15
|
exports.DEFAULT_DATABASE = DEFAULT_DATABASE;
|
|
14
16
|
class KoniDatabase extends _dexie.default {
|
|
15
17
|
constructor() {
|
|
@@ -59,6 +61,9 @@ class KoniDatabase extends _dexie.default {
|
|
|
59
61
|
this.conditionalVersion(9, {
|
|
60
62
|
processTransactions: 'id, address'
|
|
61
63
|
});
|
|
64
|
+
this.conditionalVersion(10, {
|
|
65
|
+
govLockedInfos: '[chain+address], chain, address'
|
|
66
|
+
});
|
|
62
67
|
}
|
|
63
68
|
conditionalVersion(version, schema, upgrade) {
|
|
64
69
|
if (this.schemaVersion != null && this.schemaVersion < version) {
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _BaseStore = _interopRequireDefault(require("./BaseStore"));
|
|
9
|
+
// Copyright 2019-2022 @subwallet/extension-base authors & contributors
|
|
10
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
11
|
+
|
|
12
|
+
class GovLockedInfoStore extends _BaseStore.default {
|
|
13
|
+
async getAll() {
|
|
14
|
+
return this.table.toArray();
|
|
15
|
+
}
|
|
16
|
+
async getByAddresses(addresses) {
|
|
17
|
+
if (addresses.length === 0) {
|
|
18
|
+
return this.getAll();
|
|
19
|
+
}
|
|
20
|
+
return this.table.where('address').anyOfIgnoreCase(addresses).toArray();
|
|
21
|
+
}
|
|
22
|
+
async getByAddressesAndChains(addresses, chains) {
|
|
23
|
+
return this.table.where('address').anyOfIgnoreCase(addresses).filter(item => chains.includes(item.chain)).toArray();
|
|
24
|
+
}
|
|
25
|
+
async upsertMany(infos) {
|
|
26
|
+
return this.table.bulkPut(infos);
|
|
27
|
+
}
|
|
28
|
+
removeByAddresses(addresses) {
|
|
29
|
+
return this.table.where('address').anyOf(addresses).delete();
|
|
30
|
+
}
|
|
31
|
+
removeByChains(chains) {
|
|
32
|
+
return this.table.where('chain').anyOf(chains).delete();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.default = GovLockedInfoStore;
|
|
@@ -193,7 +193,6 @@ class AssetHubSwapHandler {
|
|
|
193
193
|
if (swap) {
|
|
194
194
|
return this.swapBaseHandler.validateSwapOnlyProcess(params, 1); // todo: create interface for input request
|
|
195
195
|
}
|
|
196
|
-
|
|
197
196
|
if (swapXcm) {
|
|
198
197
|
return this.swapBaseHandler.validateSwapXcmProcess(params, 1, 2);
|
|
199
198
|
}
|
|
@@ -18,8 +18,7 @@ var _utils2 = require("@subwallet/extension-base/utils");
|
|
|
18
18
|
var _getId = require("@subwallet/extension-base/utils/getId");
|
|
19
19
|
var _bignumber = _interopRequireDefault(require("bignumber.js"));
|
|
20
20
|
var bitcoin = _interopRequireWildcard(require("bitcoinjs-lib"));
|
|
21
|
-
function
|
|
22
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
21
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
23
22
|
// Copyright 2019-2022 @subwallet/extension-base
|
|
24
23
|
// SPDX-License-Identifier: Apache-2.0
|
|
25
24
|
|
|
@@ -97,7 +96,6 @@ class ChainflipSwapHandler {
|
|
|
97
96
|
// address to which assets are refunded
|
|
98
97
|
retryDurationInBlocks: '100' // 100 blocks * 6 seconds = 10 minutes before deposits are refunded
|
|
99
98
|
};
|
|
100
|
-
|
|
101
99
|
const path = `/swap?${new URLSearchParams(depositParams).toString()}`;
|
|
102
100
|
const response = await (0, _utils2.fetchFromProxyService)(_environment.ProxyServiceRoute.CHAINFLIP, path, {
|
|
103
101
|
method: 'GET'
|
|
@@ -265,7 +263,6 @@ class ChainflipSwapHandler {
|
|
|
265
263
|
if (swap) {
|
|
266
264
|
return this.swapBaseHandler.validateSwapOnlyProcess(params, swapIndex); // todo: create interface for input request
|
|
267
265
|
}
|
|
268
|
-
|
|
269
266
|
if (swapXcm) {
|
|
270
267
|
return [new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR)];
|
|
271
268
|
}
|
|
@@ -321,7 +321,6 @@ class HydradxHandler {
|
|
|
321
321
|
if (swap) {
|
|
322
322
|
return this.swapBaseHandler.validateSwapOnlyProcess(params, 1); // todo: create interface for input request
|
|
323
323
|
}
|
|
324
|
-
|
|
325
324
|
if (swapXcm) {
|
|
326
325
|
return this.swapBaseHandler.validateSwapXcmProcess(params, 1, 2);
|
|
327
326
|
}
|
|
@@ -351,7 +351,6 @@ class KyberHandler {
|
|
|
351
351
|
if (swap) {
|
|
352
352
|
return this.swapBaseHandler.validateSwapOnlyProcess(params, swapIndex); // todo: create interface for input request
|
|
353
353
|
}
|
|
354
|
-
|
|
355
354
|
if (swapXcm) {
|
|
356
355
|
return [new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR)];
|
|
357
356
|
}
|
|
@@ -20,8 +20,7 @@ var _uiKeyring = _interopRequireDefault(require("@subwallet/ui-keyring"));
|
|
|
20
20
|
var _bignumber = _interopRequireDefault(require("bignumber.js"));
|
|
21
21
|
var bitcoin = _interopRequireWildcard(require("bitcoinjs-lib"));
|
|
22
22
|
var _util = require("@polkadot/util");
|
|
23
|
-
function
|
|
24
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
25
24
|
// Copyright 2019-2022 @subwallet/extension-base
|
|
26
25
|
// SPDX-License-Identifier: Apache-2.0
|
|
27
26
|
|
|
@@ -16,8 +16,7 @@ var _bignumber = _interopRequireWildcard(require("bignumber.js"));
|
|
|
16
16
|
var _smartContract = require("../../balance-service/transfer/smart-contract");
|
|
17
17
|
var _token = require("../../balance-service/transfer/token");
|
|
18
18
|
var _baseHandler = require("./base-handler");
|
|
19
|
-
function
|
|
20
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
21
20
|
// Copyright 2019-2022 @subwallet/extension-base
|
|
22
21
|
// SPDX-License-Identifier: Apache-2.0
|
|
23
22
|
|
|
@@ -293,7 +292,6 @@ class SimpleSwapHandler {
|
|
|
293
292
|
if (swap) {
|
|
294
293
|
return this.swapBaseHandler.validateSwapOnlyProcess(params, swapIndex); // todo: create interface for input request
|
|
295
294
|
}
|
|
296
|
-
|
|
297
295
|
if (swapXcm) {
|
|
298
296
|
return [new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR)];
|
|
299
297
|
}
|
|
@@ -46,7 +46,6 @@ async function fetchCheckApproval(request) {
|
|
|
46
46
|
if (!output) {
|
|
47
47
|
return undefined; // todo: recheck
|
|
48
48
|
}
|
|
49
|
-
|
|
50
49
|
chainId = dutchQuote.orderInfo.chainId;
|
|
51
50
|
tokenIn = dutchQuote.orderInfo.input.token;
|
|
52
51
|
tokenOut = output.token;
|
|
@@ -67,7 +66,6 @@ async function fetchCheckApproval(request) {
|
|
|
67
66
|
tokenOutChainId: chainId // swap in-chain
|
|
68
67
|
})
|
|
69
68
|
});
|
|
70
|
-
|
|
71
69
|
return await response.json();
|
|
72
70
|
}
|
|
73
71
|
class UniswapHandler {
|
|
@@ -809,7 +807,6 @@ class UniswapHandler {
|
|
|
809
807
|
if (swap) {
|
|
810
808
|
return this.swapBaseHandler.validateSwapOnlyProcess(params, swapIndex); // todo: create interface for input request
|
|
811
809
|
}
|
|
812
|
-
|
|
813
810
|
if (swapXcm) {
|
|
814
811
|
return this.swapBaseHandler.validateSwapXcmProcess(params, swapIndex, bridgeIndex);
|
|
815
812
|
}
|