diff --git a/package.json b/package.json index fc0b23bc5..beb97859c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "polkaswap-exchange-web", - "version": "1.29.2", + "version": "1.30.0", "repository": { "type": "git", "url": "https://github.com/sora-xor/polkaswap-exchange-web.git" @@ -24,7 +24,7 @@ }, "dependencies": { "@metamask/detect-provider": "^2.0.0", - "@soramitsu/soraneo-wallet-web": "1.29.10", + "@soramitsu/soraneo-wallet-web": "1.30.0", "@walletconnect/ethereum-provider": "^2.11.0", "@walletconnect/modal": "^2.6.2", "core-js": "^3.33.2", diff --git a/src/components/App/Footer/AppFooter.vue b/src/components/App/Footer/AppFooter.vue index 6f916ece8..830b779bb 100644 --- a/src/components/App/Footer/AppFooter.vue +++ b/src/components/App/Footer/AppFooter.vue @@ -101,10 +101,10 @@ export default class AppFooter extends Mixins(TranslationMixin) { @state.settings.blockNumber blockNumber!: number; @getter.libraryTheme libraryTheme!: Theme; - get blockExplorerLink(): Nullable { + get blockExplorerLink(): string | undefined { const links = getExplorerLinks(this.soraNetwork); if (!links.length) { - return null; + return undefined; } return links[0].value; } diff --git a/src/components/pages/Bridge/SelectNetwork.vue b/src/components/pages/Bridge/SelectNetwork.vue index 84c66ee74..9203d06d0 100644 --- a/src/components/pages/Bridge/SelectNetwork.vue +++ b/src/components/pages/Bridge/SelectNetwork.vue @@ -26,7 +26,6 @@ + + diff --git a/src/components/pages/OrderBook/BuySell.vue b/src/components/pages/OrderBook/BuySell.vue index 10bef3fe2..9ac9d20e5 100644 --- a/src/components/pages/OrderBook/BuySell.vue +++ b/src/components/pages/OrderBook/BuySell.vue @@ -166,6 +166,7 @@ import { asZeroValue, hasInsufficientBalance, delay, + hasInsufficientXorForFee, } from '@/utils'; import { getBookDecimals, MAX_ORDERS_PER_SIDE, MAX_ORDERS_PER_USER } from '@/utils/orderBook'; @@ -221,8 +222,9 @@ export default class BuySellWidget extends Mixins(TranslationMixin, mixins.Forma @action.swap.setTokenFromAddress private setTokenFromAddress!: (address?: string) => Promise; @action.swap.setTokenToAddress private setTokenToAddress!: (address?: string) => Promise; - + @action.orderBook.updateBalanceSubscription private updateBalanceSubscription!: (reset?: boolean) => void; @action.orderBook.updateOrderBooksStats private updateOrderBooksStats!: AsyncFnWithoutArgs; + // It previous route = PageNames.Swap, we need to save 'from' and 'to' tokens to set it during the beforeDestroy private prevSwapFromAddress = ''; private prevSwapToAddress = ''; @@ -241,8 +243,27 @@ export default class BuySellWidget extends Mixins(TranslationMixin, mixins.Forma @Watch('side') @Watch('baseAssetAddress') - private handleSideChange(): void { + private handleSideChange(oldValue: string, newValue: string): void { + this.updateBalanceSubscription(); this.handleTabClick(); + + // Checks for slider reset + if (oldValue.startsWith('0x') && oldValue !== newValue) { + // if base changed, reset slider + this.setAmountSliderValue(0); + } else if (['Buy', 'Sell'].includes(oldValue) && oldValue !== newValue) { + // if side changed, check for need to reset slider + if (!this.currentOrderBook) return; + const maxLotSize: FPNumber = this.currentOrderBook.maxLotSize; + const maxBalance = getMaxValue(this.baseAsset, this.networkFee); + + const hasLessBalance = maxLotSize.gt(new FPNumber(maxBalance)); + + if (hasLessBalance) { + this.handleInputFieldBase(''); + this.setAmountSliderValue(0); + } + } } @Watch('baseAsset') @@ -273,11 +294,6 @@ export default class BuySellWidget extends Mixins(TranslationMixin, mixins.Forma this.checkInputValidation(); } - @Watch('baseAssetAddress') - private resetSlider(): void { - this.setAmountSliderValue(0); - } - get limitOrderType(): LimitOrderType { return this._limitOrderType; } @@ -325,9 +341,7 @@ export default class BuySellWidget extends Mixins(TranslationMixin, mixins.Forma if (this.bookStopped) return this.t('orderBook.stop'); - if (this.userReachedSpotLimit || this.userReachedOwnLimit) return this.t('orderBook.setPrice'); - - if (this.isInsufficientBalance) return this.t('insufficientBalanceText', { tokenSymbol: this.tokenFrom?.symbol }); + if (this.userReachedSpotLimit || this.userReachedOwnLimit) return this.t('orderBook.cantPlaceOrder'); if (this.limitOrderType === LimitOrderType.limit) { if (!this.quoteValue) return this.t('orderBook.setPrice'); @@ -354,6 +368,10 @@ export default class BuySellWidget extends Mixins(TranslationMixin, mixins.Forma if (this.isOutOfAmountBounds) return this.t('orderBook.cantPlaceOrder'); + if (this.isInsufficientXorForFee) return this.t('insufficientBalanceText', { tokenSymbol: this.xor?.symbol }); + + if (this.isInsufficientBalance) return this.t('insufficientBalanceText', { tokenSymbol: this.tokenFrom?.symbol }); + if (this.side === PriceVariant.Buy) return this.t('orderBook.Buy', { asset: this.baseAsset.symbol }); else return this.t('orderBook.Sell', { asset: this.baseAsset.symbol }); } @@ -371,6 +389,8 @@ export default class BuySellWidget extends Mixins(TranslationMixin, mixins.Forma if (!this.isLoggedIn) return false; + if (this.isInsufficientXorForFee) return true; + if (this.isInsufficientBalance) return true; if (this.limitOrderType === LimitOrderType.limit) { @@ -408,7 +428,7 @@ export default class BuySellWidget extends Mixins(TranslationMixin, mixins.Forma reading: this.t('orderBook.error.accountLimit.reading'), }); - if (this.isInsufficientBalance) return; + if (this.isInsufficientBalance || this.isInsufficientXorForFee) return; // NOTE: corridor check could be enabled on blockchain later on; uncomment to return // if (this.isPriceTooHigh && this.quoteValue && this.baseValue) @@ -567,12 +587,14 @@ export default class BuySellWidget extends Mixins(TranslationMixin, mixins.Forma } get bookPrecision(): number { - return this.currentOrderBook?.tickSize?.toLocaleString()?.split(FPNumber.DELIMITERS_CONFIG.decimal)[1].length ?? 2; + return ( + this.currentOrderBook?.tickSize?.toLocaleString()?.split(FPNumber.DELIMITERS_CONFIG.decimal)?.[1]?.length ?? 0 + ); } get amountPrecision(): number { return ( - this.currentOrderBook?.stepLotSize?.toLocaleString()?.split(FPNumber.DELIMITERS_CONFIG.decimal)[1].length ?? 2 + this.currentOrderBook?.stepLotSize?.toLocaleString()?.split(FPNumber.DELIMITERS_CONFIG.decimal)?.[1]?.length ?? 0 ); } @@ -663,6 +685,8 @@ export default class BuySellWidget extends Mixins(TranslationMixin, mixins.Forma const [_, decimal] = value.split('.'); + if (value.endsWith('.') && precision === 0) return value.slice(0, -1); + return value.endsWith('.') || decimal?.length <= precision ? value : new FPNumber(value).dp(precision).toString(); } @@ -670,6 +694,10 @@ export default class BuySellWidget extends Mixins(TranslationMixin, mixins.Forma return this.isLoggedIn && this.areTokensSelected; } + get isInsufficientXorForFee(): boolean { + return hasInsufficientXorForFee(this.xor, this.networkFee); + } + get isInsufficientBalance(): boolean { if (!this.tokenFrom) return false; @@ -782,6 +810,7 @@ export default class BuySellWidget extends Mixins(TranslationMixin, mixins.Forma beforeDestroy(): void { this.resetQuoteSubscription(); + this.updateBalanceSubscription(true); if (this.prevSwapFromAddress && this.prevSwapToAddress) { this.setTokenFromAddress(this.prevSwapFromAddress); this.setTokenToAddress(this.prevSwapToAddress); @@ -820,6 +849,8 @@ export default class BuySellWidget extends Mixins(TranslationMixin, mixins.Forma const maxPossible = FPNumber.fromNatural(max, this.bookPrecision); + if (this.isBuySide) return maxLotSize; + return FPNumber.lte(maxPossible, maxLotSize) ? maxPossible : maxLotSize; } diff --git a/src/consts/index.ts b/src/consts/index.ts index 53ef35cb3..09149fec1 100644 --- a/src/consts/index.ts +++ b/src/consts/index.ts @@ -144,6 +144,7 @@ export enum PageNames { LimitOrderBuy = 'OrderBook/LimitOrderBuy', LimitOrderSell = 'OrderBook/LimitOrderSell', SoraCard = 'SoraCard', + Kensetsu = 'Kensetsu', } export enum Components { @@ -360,6 +361,11 @@ const OtherPagesMenu: Array = [ title: PageNames.Stats, href: '/#/stats', }, + { + icon: 'basic-flame-24', + title: PageNames.Kensetsu, + href: '/#/kensetsu', + }, { icon: 'music-eject-24', title: PageNames.SoraCard, diff --git a/src/indexer/queries/kensetsu.ts b/src/indexer/queries/kensetsu.ts new file mode 100644 index 000000000..627e95806 --- /dev/null +++ b/src/indexer/queries/kensetsu.ts @@ -0,0 +1,135 @@ +import { FPNumber } from '@sora-substrate/util'; +import { getCurrentIndexer, WALLET_CONSTS } from '@soramitsu/soraneo-wallet-web'; +import { SubqueryIndexer, SubsquidIndexer } from '@soramitsu/soraneo-wallet-web/lib/services/indexer'; +import { gql } from '@urql/core'; + +import type { SubqueryHistoryElement } from '@soramitsu/soraneo-wallet-web/lib/services/indexer/subquery/types'; +import type { + ConnectionQueryResponse, + HistoryElementAssetBurn, +} from '@soramitsu/soraneo-wallet-web/lib/services/indexer/types'; + +const { IndexerType } = WALLET_CONSTS; + +type KensetsuBurn = { + address: string; + amount: FPNumber; +}; + +/** + * 1) https://sora.subscan.io/extrinsic/0x626147716deb3059bfb4d0f3f564cb8d336e7d99dbf1d6a99125d852cb449046 + * 2) https://sora.subscan.io/extrinsic/0xc3319a9bfd7ea92d19b2910d16df189f8cbd81aa7809e8febc2c10a376996ec9 + * 3) https://sora.subscan.io/extrinsic/0xf1caed8923c9412f682a0181073358c1d0559219831693d9bf37ef6c77f33b6c + * 4) https://sora.subscan.io/extrinsic/0xa0fd341cbdb2c6de2873dd3edb2e59a5fbb3e6cdcd056a2f4f8f3ba4663cf68f + * 5) https://sora.subscan.io/extrinsic/0xc51f24899e5d89765647bef5663a58db873bffbd4af26b9a6e39787e762bbeb7 + * 6) https://sora.subscan.io/extrinsic/0x733da9635badd2692ff9c76b4ad761e7460fd88b72f04edb5f7e844dc6ce188e + * 7) https://sora.subscan.io/extrinsic/0x580f85275b21e43a2923d4a0e3af9d92832bb8f63c2a9f0b2fa17dd9e97d1533 + * 8) https://sora.subscan.io/extrinsic/0x6290185892566e17fdc70e29ac0227819d67e9ac85da6981c2036724ffa15dcd + * 9) https://sora.subscan.io/extrinsic/0x2db91f8192e84d38956f4335acc3e98a6085be5d3d1ec645e3588854ac6970a0 + * 10) https://sora.subscan.io/extrinsic/0xb90cb95d71bc43d7c4212b1aa7b97b199436e706cd6ff1a73a9cd81ed8842df9 + * 11) https://sora.subscan.io/extrinsic/0x2727e182d531ad890f9937beded0527d4a6d68018977b484658391fdd1e80880 + * 12) https://sora.subscan.io/extrinsic/0xa072a5c6c0d847cef807e57c303fd60fdde67d8e10b1c080de428ba15b78bdb6 + */ +const dataBeforeIndexing: KensetsuBurn[] = [ + { + address: 'cnV21a8zn14wUTuxUK6wy5Fmus8PXaGrsBUchz33MqavYqxHE', + amount: FPNumber.fromCodecValue('2000000000000000000000000'), + }, + { + address: 'cnXES5tPEMkhLmhG57v55aYW4x1DtqHFM9Ft8rBcLNyHHFVSm', + amount: FPNumber.fromCodecValue('1000000000000000000000000'), + }, + { + address: 'cnTkiF9YpNT8uzwQvJFJHf7Vr3KtFppF2VGxE22C1MTMbHEmN', + amount: FPNumber.fromCodecValue('25000000000000000000000000'), + }, + { + address: 'cnRdTJwjwpn67KgnWGcbBJpMipryNNos15NEFWV4sEfSnNnM6', + amount: FPNumber.fromCodecValue('4000000000000000000000000'), + }, + { + address: 'cnW4cSTA6CB3zDw2kLknDwZRqPPwPDdFURN2nhHVg8C2SnrNX', + amount: FPNumber.fromCodecValue('1000000000000000000000000'), + }, + { + address: 'cnTmBrrR4CFs3GDA1DjWhAMsXXAJQJwUCkFtbsRsXhXJWTB3J', + amount: FPNumber.fromCodecValue('1000000000000000000000000'), + }, + { + address: 'cnTYLL7UNk9tak7gRZnZXxfor5UvMSEebBUsSLwwhyZvDdKWB', + amount: FPNumber.fromCodecValue('1500000000000000000000000'), + }, + { + address: 'cnVA8S2CNn2h4CjW2vTnqnSRqEL4P2ShvPWYA46TYEdTtao3S', + amount: FPNumber.fromCodecValue('1000000000000000000000000'), + }, + { + address: 'cnTdA96vs4okPqpfSaPwSCPunkEn6AYTLek6rBvP9LbXbinAh', + amount: FPNumber.fromCodecValue('10000000000000000000000000'), + }, + { + address: 'cnV5d93J89p5kC4dRqF5WWtDNCk1XZ3HQo9dEhGUxBQnohxEB', + amount: FPNumber.fromCodecValue('1500000000000000000000000'), + }, + { + address: 'cnV5d93J89p5kC4dRqF5WWtDNCk1XZ3HQo9dEhGUxBQnohxEB', + amount: FPNumber.fromCodecValue('10000000000000000000000000'), + }, + { + address: 'cnTkiF9YpNT8uzwQvJFJHf7Vr3KtFppF2VGxE22C1MTMbHEmN', + amount: FPNumber.fromCodecValue('1000000000000000000000000'), + }, +]; + +const KensetsuQuery = gql>` + query ($start: Int = 0, $end: Int = 0, $after: Cursor = "", $first: Int = 100) { + data: historyElements( + first: $first + after: $after + filter: { + and: [ + { blockHeight: { greaterThanOrEqualTo: $start } } + { blockHeight: { lessThanOrEqualTo: $end } } + { module: { equalTo: "assets" } } + { method: { equalTo: "burn" } } + { data: { contains: { assetId: "0x0200000000000000000000000000000000000000000000000000000000000000" } } } + ] + } + ) { + pageInfo { + hasNextPage + endCursor + } + edges { + node { + address + data + } + } + } + } +`; + +const parse = (item: SubqueryHistoryElement): KensetsuBurn => { + const data = item.data as HistoryElementAssetBurn; + + return { + address: item.address, + amount: new FPNumber(data.amount), + }; +}; + +export async function fetchData(start: number, end: number): Promise { + const indexer = getCurrentIndexer(); + + switch (indexer.type) { + case IndexerType.SUBQUERY: { + const variables = { start, end }; + const subqueryIndexer = indexer as SubqueryIndexer; + const items = await subqueryIndexer.services.explorer.fetchAllEntities(KensetsuQuery, variables, parse); + return [...(items ?? []), ...dataBeforeIndexing]; + } + } + + return []; +} diff --git a/src/lang/cs.json b/src/lang/cs.json index c4f23a7d7..7ace45b00 100644 --- a/src/lang/cs.json +++ b/src/lang/cs.json @@ -63,7 +63,9 @@ "StakingSetPayee": "Nastavit příjemce platby {address}", "OrderBookPlaceLimitOrder": "{side} {amount} {symbol} za {price} {symbol2} umístěno", "OrderBookCancelLimitOrder": "Limitní objednávka zrušena", - "OrderBookCancelLimitOrders": "Limitní objednávky zrušeny" + "OrderBookCancelLimitOrders": "Limitní objednávky zrušeny", + "Burn": "Spáleno {amount} {symbol}", + "Mint": "Vyraženo {amount} {symbol} na {address}" }, "error": { "Transfer": "{action} {amount} {symbol} {direction} {address} se nezdařilo.", @@ -98,7 +100,9 @@ "StakingSetPayee": "Nepodařilo se nastavit příjemce platby {address}", "OrderBookPlaceLimitOrder": "Nepodařilo se zadat limitní objednávku ve výši {amount} {symbol} za {price} {symbol2}", "OrderBookCancelLimitOrders": "Limitní objednávky se nepodařilo zrušit", - "OrderBookCancelLimitOrder": "Limitní příkaz se nepodařilo zrušit" + "OrderBookCancelLimitOrder": "Limitní příkaz se nepodařilo zrušit", + "Burn": "Nepodařilo se vypálit {amount} {symbol}", + "Mint": "Nepodařilo se vytěžit {amount} {symbol} na {address}" }, "ReferralReserveXor": "Vázat XOR", "ReferralUnreserveXor": "Zrušit vazbu XOR", @@ -125,7 +129,9 @@ "StakingSetPayee": "Nastavit příjemce platby", "OrderBookPlaceLimitOrder": "Objednejte si", "OrderBookCancelLimitOrder": "Zrušit objednávku", - "OrderBookCancelLimitOrders": "Zrušit objednávky" + "OrderBookCancelLimitOrders": "Zrušit objednávky", + "Burn": "Hořet", + "Mint": "Máta" }, "polkadotjs": { "noExtensions": "Nebylo nalezeno žádné rozšíření {PolkadotJs}. Nainstalujte si jej prosím a znovu načtěte tuto stránku\n https:\/\/polkadot.js.org\/extension\/", @@ -1287,7 +1293,10 @@ "actions": { "claim": "Nárokujte si odměny", "remove": "Odstraňte sázku", - "more": "Vsaďte více" + "more": "Vsaďte více", + "confirm": "Potvrďte vytyčování", + "payout": "Výplata", + "withdraw": "Vybrat" }, "overview": { "title": "{Sora} Staking", @@ -1312,10 +1321,10 @@ "noNominatedValidators": "Nemáte žádné nominované validátory", "noValidators": "Neexistují žádné validátory splňující zadaný filtr", "commission": "Komise", - "commissionTooltip": "Provize odkazuje na poplatek, který si validátoři účtují za své služby v procesu sázek. Tento poplatek, vyjádřený v procentech, se odečítá z odměn za sázky, které nominátoři získali před rozdělením. Je důležité si uvědomit, že validátoři mohou své provize kdykoli upravit" + "commissionTooltip": "Provize odkazuje na poplatek, který si validátoři účtují za své služby v procesu sázek. Tento poplatek, vyjádřený v procentech, se odečítá z odměn za sázky, které nominátoři získali před rozdělením. Je důležité si uvědomit, že validátoři mohou své provize kdykoli upravit", + "return": "Vrátit se" }, "info": { - "redeemable": "Splatný", "unstaking": "Nestanovení", "stakingBalance": "Vyrovnání rovnováhy", "rewarded": "Odměněno", @@ -1394,6 +1403,26 @@ "title": "Nárokujte si odměny", "checkRewards": "Zkontrolujte odměny za éru a validátor", "rewardsDestination": "Cílová adresa odměn" + }, + "selectedValidators": "{count} ( {Max} {max} )", + "withdraw": { + "withdrawable": "Vyjímatelné", + "beingWithdrawn": "Být stažen", + "seeAll": "Vidět vše", + "nextWithdrawal": "Další stažení", + "countdownLeft": "vlevo, odjet" + }, + "stakeDialog": { + "toStake": "Vsadit", + "toRemove": "Odebrat" + }, + "withdrawDialog": { + "title": "Vyberte nevložené prostředky", + "showAllWithdraws": "Zobrazit všechny výběry" + }, + "allWithdrawsDialog": { + "title": "Neustálá aktivita", + "information": "Jakmile vyjmete tokeny, nastává povinná 7denní lhůta pro odsazení. Po uplynutí této doby nebudou vaše tokeny automaticky vráceny do vaší peněženky. Proces musíte dokončit ručním stažením svých tokenů." } }, "collapseText": "Skrýt", diff --git a/src/lang/de.json b/src/lang/de.json index ad3f15692..83788a6db 100644 --- a/src/lang/de.json +++ b/src/lang/de.json @@ -63,7 +63,9 @@ "StakingSetPayee": "Zahlungsempfänger {address} festlegen", "OrderBookPlaceLimitOrder": "{side} {amount} {symbol} zu {price} {symbol2} platziert", "OrderBookCancelLimitOrder": "Limit-Order storniert", - "OrderBookCancelLimitOrders": "Limitaufträge storniert" + "OrderBookCancelLimitOrders": "Limitaufträge storniert", + "Burn": "Verbrannt {amount} {symbol}", + "Mint": "Geprägt {amount} {symbol} an {address}" }, "error": { "Transfer": "Fehler bei {action} {amount} {symbol} {direction} {address}", @@ -98,7 +100,9 @@ "StakingSetPayee": "Zahlungsempfänger {address} konnte nicht festgelegt werden", "OrderBookPlaceLimitOrder": "Limitbestellung von {amount} {symbol} zu {price} {symbol2} konnte nicht aufgegeben werden", "OrderBookCancelLimitOrders": "Limitaufträge konnten nicht storniert werden", - "OrderBookCancelLimitOrder": "Limitauftrag konnte nicht storniert werden" + "OrderBookCancelLimitOrder": "Limitauftrag konnte nicht storniert werden", + "Burn": "{amount} {symbol} konnte nicht gebrannt werden", + "Mint": "{amount} {symbol} konnte nicht an {address} geprägt werden" }, "ReferralReserveXor": "Bonde XOR", "ReferralUnreserveXor": "Unbonde XOR", @@ -125,7 +129,9 @@ "StakingSetPayee": "Zahlungsempfänger festlegen", "OrderBookPlaceLimitOrder": "Bestellung aufgeben", "OrderBookCancelLimitOrder": "Bestellung stornieren", - "OrderBookCancelLimitOrders": "Bestellungen stornieren" + "OrderBookCancelLimitOrders": "Bestellungen stornieren", + "Burn": "Brennen", + "Mint": "Minze" }, "polkadotjs": { "noExtensions": "Es wurde keine {PolkadotJs} Erweiterung gefunden. Bitte, installiere sie und lade diese Seite erneut\nhttps:\/\/polkadot.js.org\/extension\/", @@ -1287,7 +1293,10 @@ "actions": { "claim": "Belohnung entgegennehmen", "remove": "Pfahl entfernen", - "more": "Setzen Sie mehr ein" + "more": "Setzen Sie mehr ein", + "confirm": "Bestätigen Sie das Abstecken", + "payout": "Ausschüttung", + "withdraw": "Zurückziehen" }, "overview": { "title": "{Sora} Wettend", @@ -1312,10 +1321,10 @@ "noNominatedValidators": "Sie haben keine nominierten Validatoren", "noValidators": "Es gibt keine Validatoren, die den angegebenen Filter erfüllen", "commission": "Kommission", - "commissionTooltip": "Unter Provision versteht man die Gebühr, die Validatoren für ihre Dienste im Staking-Prozess erheben. Diese als Prozentsatz ausgedrückte Gebühr wird vor der Verteilung von den Einsatzprämien abgezogen, die die Nominatoren erhalten. Es ist wichtig zu beachten, dass Prüfer ihre Provisionssätze jederzeit anpassen können" + "commissionTooltip": "Unter Provision versteht man die Gebühr, die Validatoren für ihre Dienste im Staking-Prozess erheben. Diese als Prozentsatz ausgedrückte Gebühr wird vor der Verteilung von den Einsatzprämien abgezogen, die die Nominatoren erhalten. Es ist wichtig zu beachten, dass Prüfer ihre Provisionssätze jederzeit anpassen können", + "return": "Zurückkehren" }, "info": { - "redeemable": "Einlösbar", "unstaking": "Abstecken", "stakingBalance": "Absteckguthaben", "rewarded": "Belohnt", @@ -1394,6 +1403,26 @@ "title": "Belohnung entgegennehmen", "checkRewards": "Überprüfen Sie die Belohnungen pro Ära und Validator", "rewardsDestination": "Zieladresse für Prämien" + }, + "selectedValidators": "{count} ( {Max} {max} )", + "withdraw": { + "withdrawable": "Ausziehbar", + "beingWithdrawn": "Zurückgezogen werden", + "seeAll": "Alles sehen", + "nextWithdrawal": "Nächste Auszahlung", + "countdownLeft": "links" + }, + "stakeDialog": { + "toStake": "Zum Abstecken", + "toRemove": "Zu entfernen" + }, + "withdrawDialog": { + "title": "Nicht eingesetzte Gelder abheben", + "showAllWithdraws": "Alle Auszahlungen anzeigen" + }, + "allWithdrawsDialog": { + "title": "Nicht absteckende Aktivität", + "information": "Sobald Sie Tokens abheben, gibt es eine obligatorische 7-tägige Aufhebungsfrist. Nach diesem Zeitraum werden Ihre Token nicht automatisch wieder Ihrem Wallet gutgeschrieben. Sie müssen den Vorgang abschließen, indem Sie Ihre Token manuell abheben." } }, "collapseText": "Zusammenbruch", diff --git a/src/lang/en.json b/src/lang/en.json index 7853be9fa..d174625d9 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -63,7 +63,9 @@ "StakingSetPayee": "Set payee {address}", "OrderBookPlaceLimitOrder": "{side} {amount} {symbol} at {price} {symbol2} placed", "OrderBookCancelLimitOrder": "Limit order cancelled", - "OrderBookCancelLimitOrders": "Limit orders cancelled" + "OrderBookCancelLimitOrders": "Limit orders cancelled", + "Burn": "Burned {amount} {symbol}", + "Mint": "Minted {amount} {symbol} to {address}" }, "error": { "Transfer": "Failed to {action} {amount} {symbol} {direction} {address}", @@ -98,7 +100,9 @@ "StakingSetPayee": "Failed to set payee {address}", "OrderBookPlaceLimitOrder": "Failed to place limit order of {amount} {symbol} at {price} {symbol2}", "OrderBookCancelLimitOrders": "Failed to cancel limit orders", - "OrderBookCancelLimitOrder": "Failed to cancel limit order" + "OrderBookCancelLimitOrder": "Failed to cancel limit order", + "Burn": "Failed to burn {amount} {symbol}", + "Mint": "Failed to mint {amount} {symbol} to {address}" }, "ReferralReserveXor": "Bond XOR", "ReferralUnreserveXor": "Unbond XOR", @@ -125,7 +129,9 @@ "StakingSetPayee": "Set Payee", "OrderBookPlaceLimitOrder": "Place Order", "OrderBookCancelLimitOrder": "Cancel Order", - "OrderBookCancelLimitOrders": "Cancel Orders" + "OrderBookCancelLimitOrders": "Cancel Orders", + "Burn": "Burn", + "Mint": "Mint" }, "polkadotjs": { "noExtensions": "No {PolkadotJs} extension was found. Please install it and reload this page\nhttps:\/\/polkadot.js.org\/extension\/", @@ -390,7 +396,8 @@ "Explore\/Farming": "Farming", "Staking": "Staking", "OrderBook": "Trade", - "Explore\/Books": "@:pageTitle.OrderBook" + "Explore\/Books": "@:pageTitle.OrderBook", + "Kensetsu": "Kensetsu" }, "mainMenu": { "Swap": "Swap", @@ -405,7 +412,8 @@ "StakingContainer": "Staking", "Explore\/Container": "Explore", "SoraCard": "{Sora} Card", - "OrderBook": "Trade" + "OrderBook": "Trade", + "Kensetsu": "Kensetsu" }, "social": { "twitter": "Twitter", @@ -1287,7 +1295,10 @@ "actions": { "claim": "Claim rewards", "remove": "Remove stake", - "more": "Stake more" + "more": "Stake more", + "confirm": "Confirm Staking", + "payout": "Payout", + "withdraw": "Withdraw" }, "overview": { "title": "{Sora} Staking", @@ -1312,10 +1323,10 @@ "noNominatedValidators": "You don't have any nominated validators", "noValidators": "There are no validators satisfying the specified filter", "commission": "Commission", - "commissionTooltip": "Commission refers to the fee charged by validators for their services in the staking process. This fee, expressed as a percentage, is deducted from the staking rewards earned by nominators before distribution. It's important to note that validators can adjust their commission rates at any time" + "commissionTooltip": "Commission refers to the fee charged by validators for their services in the staking process. This fee, expressed as a percentage, is deducted from the staking rewards earned by nominators before distribution. It's important to note that validators can adjust their commission rates at any time", + "return": "Return" }, "info": { - "redeemable": "Redeemable", "unstaking": "Unstaking", "stakingBalance": "Staking balance", "rewarded": "Rewarded", @@ -1355,8 +1366,8 @@ "edit": "Edit My Validators" }, "tabs": { - "user": "Your validators", - "all": "All validators" + "user": "Yours", + "all": "All" } }, "validatorsAttentionDialog": { @@ -1394,6 +1405,26 @@ "title": "Claim rewards", "checkRewards": "Check rewards per era and validator", "rewardsDestination": "Rewards destination address" + }, + "selectedValidators": "{count} ({Max} {max})", + "withdraw": { + "withdrawable": "Withdrawable", + "beingWithdrawn": "Being withdrawn", + "seeAll": "See all", + "nextWithdrawal": "Next withdrawal", + "countdownLeft": "left" + }, + "stakeDialog": { + "toStake": "To stake", + "toRemove": "To remove" + }, + "withdrawDialog": { + "title": "Withdraw unstaked funds", + "showAllWithdraws": "Show all withdraws" + }, + "allWithdrawsDialog": { + "title": "Unstaking activity", + "information": "Once you unstake tokens, there is a mandatory 7-day unstaking period. After this period, your tokens will not be automatically returned to your wallet. You must complete the process by manually withdrawing your tokens." } }, "collapseText": "Collapse", diff --git a/src/lang/es.json b/src/lang/es.json index 56f96f735..c89c765cb 100644 --- a/src/lang/es.json +++ b/src/lang/es.json @@ -63,7 +63,9 @@ "StakingSetPayee": "Establecer beneficiario {address}", "OrderBookPlaceLimitOrder": "{side} {amount} {symbol} a {price} {symbol2} colocado", "OrderBookCancelLimitOrder": "Orden límite cancelada", - "OrderBookCancelLimitOrders": "Limitar órdenes canceladas" + "OrderBookCancelLimitOrders": "Limitar órdenes canceladas", + "Burn": "Quemado {amount} {symbol}", + "Mint": "Acuñado {amount} {symbol} a {address}" }, "error": { "Transfer": "Fallo en {action} {amount} {symbol} {direction} {address}", @@ -98,7 +100,9 @@ "StakingSetPayee": "No se pudo establecer el beneficiario {address}", "OrderBookPlaceLimitOrder": "No se pudo realizar la orden limitada de {amount} {symbol} a {price} {symbol2}", "OrderBookCancelLimitOrders": "No se pudieron cancelar las órdenes limitadas", - "OrderBookCancelLimitOrder": "No se pudo cancelar la orden límite" + "OrderBookCancelLimitOrder": "No se pudo cancelar la orden límite", + "Burn": "No se pudo grabar {amount} {symbol}", + "Mint": "No se pudo acuñar {amount} {symbol} en {address}" }, "ReferralReserveXor": "Vincular XOR", "ReferralUnreserveXor": "Desvincular XOR", @@ -125,7 +129,9 @@ "StakingSetPayee": "Establecer beneficiario", "OrderBookPlaceLimitOrder": "Realizar pedido", "OrderBookCancelLimitOrder": "Cancelar orden", - "OrderBookCancelLimitOrders": "Cancelar pedidos" + "OrderBookCancelLimitOrders": "Cancelar pedidos", + "Burn": "Quemar", + "Mint": "menta" }, "polkadotjs": { "noExtensions": "No se encontró la extensión {PolkadotJs}. Por favor instálela y vuelva a cargar esta página.\n https:\/\/polkadot.js.org\/extension\/", @@ -1287,7 +1293,10 @@ "actions": { "claim": "Reclamar premios", "remove": "Quitar estaca", - "more": "Apuesta más" + "more": "Apuesta más", + "confirm": "Confirmar apuesta", + "payout": "Pago", + "withdraw": "Retirar" }, "overview": { "title": "{Sora} Staking", @@ -1312,10 +1321,10 @@ "noNominatedValidators": "No tienes ningún validador nominado.", "noValidators": "No hay validadores que cumplan el filtro especificado.", "commission": "Comisión", - "commissionTooltip": "La comisión se refiere a la tarifa que cobran los validadores por sus servicios en el proceso de apuesta. Esta tarifa, expresada como porcentaje, se deduce de las recompensas obtenidas por los nominadores antes de la distribución. Es importante tener en cuenta que los validadores pueden ajustar sus tasas de comisión en cualquier momento." + "commissionTooltip": "La comisión se refiere a la tarifa que cobran los validadores por sus servicios en el proceso de apuesta. Esta tarifa, expresada como porcentaje, se deduce de las recompensas obtenidas por los nominadores antes de la distribución. Es importante tener en cuenta que los validadores pueden ajustar sus tasas de comisión en cualquier momento.", + "return": "Devolver" }, "info": { - "redeemable": "Redimible", "unstaking": "Desestacar", "stakingBalance": "Equilibrio de apuesta", "rewarded": "Recompensado", @@ -1394,6 +1403,26 @@ "title": "Reclamar premios", "checkRewards": "Consultar recompensas por era y validador.", "rewardsDestination": "Dirección de destino de recompensas" + }, + "selectedValidators": "{count} ( {Max} {max} )", + "withdraw": { + "withdrawable": "Retirable", + "beingWithdrawn": "siendo retirado", + "seeAll": "Ver todo", + "nextWithdrawal": "Próximo retiro", + "countdownLeft": "izquierda" + }, + "stakeDialog": { + "toStake": "Apostar", + "toRemove": "Para eliminar" + }, + "withdrawDialog": { + "title": "Retirar fondos no apostados", + "showAllWithdraws": "Mostrar todos los retiros" + }, + "allWithdrawsDialog": { + "title": "Actividad desestacada", + "information": "Una vez que retiras los tokens, existe un período obligatorio de retirada de tokens de 7 días. Después de este período, sus tokens no se devolverán automáticamente a su billetera. Debes completar el proceso retirando manualmente tus tokens." } }, "collapseText": "Colapso", diff --git a/src/lang/fr.json b/src/lang/fr.json index b7df29f08..92777096e 100644 --- a/src/lang/fr.json +++ b/src/lang/fr.json @@ -63,7 +63,9 @@ "StakingSetPayee": "Définir le bénéficiaire {address}", "OrderBookPlaceLimitOrder": "{side} {amount} {symbol} à {price} {symbol2} placé", "OrderBookCancelLimitOrder": "Ordre limité annulé", - "OrderBookCancelLimitOrders": "Ordres limités annulés" + "OrderBookCancelLimitOrders": "Ordres limités annulés", + "Burn": "Brûlé {amount} {symbol}", + "Mint": "Frappé {amount} {symbol} à {address}" }, "error": { "Transfer": "Échec de {action} {amount} {symbol} {direction} {address}", @@ -98,7 +100,9 @@ "StakingSetPayee": "Échec de la définition du bénéficiaire {address}", "OrderBookPlaceLimitOrder": "Échec de la passation d'une commande limitée de {amount} {symbol} à {price} {symbol2}", "OrderBookCancelLimitOrders": "Échec de l'annulation des ordres limités", - "OrderBookCancelLimitOrder": "Échec de l'annulation de l'ordre limité" + "OrderBookCancelLimitOrder": "Échec de l'annulation de l'ordre limité", + "Burn": "Échec de la gravure {amount} {symbol}", + "Mint": "Échec de la création {amount} {symbol} à {address}" }, "ReferralReserveXor": "Lier XOR", "ReferralUnreserveXor": "Délier XOR", @@ -125,7 +129,9 @@ "StakingSetPayee": "Définir le bénéficiaire", "OrderBookPlaceLimitOrder": "Passer la commande", "OrderBookCancelLimitOrder": "annuler la commande", - "OrderBookCancelLimitOrders": "Annuler les commandes" + "OrderBookCancelLimitOrders": "Annuler les commandes", + "Burn": "Brûler", + "Mint": "menthe" }, "polkadotjs": { "noExtensions": "Aucune extension {PolkadotJs} n'a été trouvée. Veuillez l'installer et recharger cette page\n https:\/\/polkadot.js.org\/extension\/", @@ -1287,7 +1293,10 @@ "actions": { "claim": "Réclamez des récompenses", "remove": "Supprimer la mise", - "more": "Miser davantage" + "more": "Miser davantage", + "confirm": "Confirmer le jalonnement", + "payout": "Paiement", + "withdraw": "Virement" }, "overview": { "title": "{Sora} Jalonnement", @@ -1312,10 +1321,10 @@ "noNominatedValidators": "Vous n'avez aucun validateur nommé", "noValidators": "Il n'y a aucun validateur satisfaisant au filtre spécifié", "commission": "Commission", - "commissionTooltip": "La commission fait référence aux frais facturés par les validateurs pour leurs services dans le processus de jalonnement. Ces frais, exprimés en pourcentage, sont déduits des récompenses de mise gagnées par les proposants avant distribution. Il est important de noter que les validateurs peuvent ajuster leurs taux de commission à tout moment." + "commissionTooltip": "La commission fait référence aux frais facturés par les validateurs pour leurs services dans le processus de jalonnement. Ces frais, exprimés en pourcentage, sont déduits des récompenses de mise gagnées par les proposants avant distribution. Il est important de noter que les validateurs peuvent ajuster leurs taux de commission à tout moment.", + "return": "Retour" }, "info": { - "redeemable": "Rachetable", "unstaking": "Détachement", "stakingBalance": "Solde de jalonnement", "rewarded": "Récompensé", @@ -1394,6 +1403,26 @@ "title": "Réclamez des récompenses", "checkRewards": "Vérifiez les récompenses par époque et validateur", "rewardsDestination": "Adresse de destination des récompenses" + }, + "selectedValidators": "{count} ( {Max} {max} )", + "withdraw": { + "withdrawable": "Retirable", + "beingWithdrawn": "Être retiré", + "seeAll": "Voir tout", + "nextWithdrawal": "Prochain retrait", + "countdownLeft": "gauche" + }, + "stakeDialog": { + "toStake": "Miser", + "toRemove": "Retirer" + }, + "withdrawDialog": { + "title": "Retirer des fonds non mis en gage", + "showAllWithdraws": "Afficher tous les retraits" + }, + "allWithdrawsDialog": { + "title": "Activité sans enjeu", + "information": "Une fois que vous avez retiré les jetons, il y a une période de retrait obligatoire de 7 jours. Passé ce délai, vos tokens ne seront pas automatiquement restitués dans votre portefeuille. Vous devez terminer le processus en retirant manuellement vos jetons." } }, "collapseText": "Réduire", diff --git a/src/lang/hr.json b/src/lang/hr.json index e8d9ae4ed..94d467c0e 100644 --- a/src/lang/hr.json +++ b/src/lang/hr.json @@ -63,7 +63,9 @@ "StakingSetPayee": "Postavi primatelja {address}", "OrderBookPlaceLimitOrder": "Postavljeno {side} {amount} {symbol} po {price} {symbol2}", "OrderBookCancelLimitOrder": "Ograničeni nalog je otkazan", - "OrderBookCancelLimitOrders": "Ograničene narudžbe su otkazane" + "OrderBookCancelLimitOrders": "Ograničene narudžbe su otkazane", + "Burn": "Spaljeno {amount} {symbol}", + "Mint": "Kovano {amount} {symbol} na {address}" }, "error": { "Transfer": "{action} {amount} {symbol} {direction} {address} nije uspio", @@ -98,7 +100,9 @@ "StakingSetPayee": "Nije uspjelo postavljanje primatelja {address}", "OrderBookPlaceLimitOrder": "Nije uspjelo postavljanje ograničene narudžbe od {amount} {symbol} po {price} {symbol2}", "OrderBookCancelLimitOrders": "Otkazivanje ograničenih naloga nije uspjelo", - "OrderBookCancelLimitOrder": "Otkazivanje ograničenog naloga nije uspjelo" + "OrderBookCancelLimitOrder": "Otkazivanje ograničenog naloga nije uspjelo", + "Burn": "Nije uspjelo spaljivanje {amount} {symbol}", + "Mint": "Nije uspjelo kovati {amount} {symbol} na {address}" }, "ReferralReserveXor": "Bond XOR", "ReferralUnreserveXor": "Unbond XOR", @@ -125,7 +129,9 @@ "StakingSetPayee": "Postavite primatelja uplate", "OrderBookPlaceLimitOrder": "Naručiti", "OrderBookCancelLimitOrder": "Otkazati narudžbu", - "OrderBookCancelLimitOrders": "Otkaži narudžbe" + "OrderBookCancelLimitOrders": "Otkaži narudžbe", + "Burn": "Spaliti", + "Mint": "Kovnica" }, "polkadotjs": { "noExtensions": "Nije pronađeno proširenje {PolkadotJs}. Molimo instalirajte ga i ponovno učitajte ovu stranicu\nhttps:\/\/polkadot.js.org\/extension\/", @@ -1287,7 +1293,10 @@ "actions": { "claim": "Zatražite nagrade", "remove": "Uklonite ulog", - "more": "Uložite više" + "more": "Uložite više", + "confirm": "Potvrdite iskolčenje", + "payout": "Isplata", + "withdraw": "Povući" }, "overview": { "title": "{Sora} Staking", @@ -1312,10 +1321,10 @@ "noNominatedValidators": "Nemate nijednog imenovanog validatora", "noValidators": "Nema validatora koji zadovoljavaju navedeni filter", "commission": "Komisija", - "commissionTooltip": "Provizija se odnosi na naknadu koju naplaćuju validatori za svoje usluge u procesu isplate. Ova naknada, izražena kao postotak, oduzima se od nagrada za ulog koje zarade nominatori prije distribucije. Važno je napomenuti da validatori mogu prilagoditi svoje stope provizije u bilo kojem trenutku" + "commissionTooltip": "Provizija se odnosi na naknadu koju naplaćuju validatori za svoje usluge u procesu isplate. Ova naknada, izražena kao postotak, oduzima se od nagrada za ulog koje zarade nominatori prije distribucije. Važno je napomenuti da validatori mogu prilagoditi svoje stope provizije u bilo kojem trenutku", + "return": "Povratak" }, "info": { - "redeemable": "Iskupivo", "unstaking": "Unstaking", "stakingBalance": "Staking bilanca", "rewarded": "Nagrađeni", @@ -1394,6 +1403,26 @@ "title": "Zatražite nagrade", "checkRewards": "Provjerite nagrade po razdoblju i validatoru", "rewardsDestination": "Odredišna adresa nagrada" + }, + "selectedValidators": "{count} ( {Max} {max} )", + "withdraw": { + "withdrawable": "Može se povući", + "beingWithdrawn": "Biti povučen", + "seeAll": "Vidi sve", + "nextWithdrawal": "Sljedeće povlačenje", + "countdownLeft": "lijevo" + }, + "stakeDialog": { + "toStake": "Uložiti ulog", + "toRemove": "Ukloniti" + }, + "withdrawDialog": { + "title": "Povucite neuložena sredstva", + "showAllWithdraws": "Prikaži sva povlačenja" + }, + "allWithdrawsDialog": { + "title": "Neuvjetna aktivnost", + "information": "Nakon što poništite ulog tokena, postoji obvezno razdoblje od 7 dana. Nakon tog razdoblja, vaši tokeni neće biti automatski vraćeni u vaš novčanik. Morate dovršiti postupak ručnim povlačenjem tokena." } }, "collapseText": "Kolaps", diff --git a/src/lang/hu.json b/src/lang/hu.json index 24fa32162..7fd4f7e5b 100644 --- a/src/lang/hu.json +++ b/src/lang/hu.json @@ -63,7 +63,9 @@ "StakingSetPayee": "Kedvezményezett {address} beállítása", "OrderBookPlaceLimitOrder": "{side} {amount} {symbol} áron {price} {symbol2} elhelyezve", "OrderBookCancelLimitOrder": "Limit megbízás törölve", - "OrderBookCancelLimitOrders": "Limit megrendelések törölve" + "OrderBookCancelLimitOrders": "Limit megrendelések törölve", + "Burn": "Égetett {amount} {symbol}", + "Mint": "Verte {amount} {symbol} erre: {address}" }, "error": { "Transfer": "Nem sikerült {action} {amount} {symbol} {direction} {address}", @@ -98,7 +100,9 @@ "StakingSetPayee": "Nem sikerült beállítani a kedvezményezettet {address}", "OrderBookPlaceLimitOrder": "Nem sikerült elhelyezni {amount} {symbol} összegű limitrendelést {price} {symbol2} áron", "OrderBookCancelLimitOrders": "Nem sikerült törölni a limitált rendeléseket", - "OrderBookCancelLimitOrder": "Nem sikerült törölni a limitált rendelést" + "OrderBookCancelLimitOrder": "Nem sikerült törölni a limitált rendelést", + "Burn": "Nem sikerült égetni {amount} {symbol}", + "Mint": "Nem sikerült menteni {amount} {symbol} címet a következő címre {address}" }, "ReferralReserveXor": "XOR lekötése", "ReferralUnreserveXor": "XOR feloldása", @@ -125,7 +129,9 @@ "StakingSetPayee": "Kedvezményezett beállítása", "OrderBookPlaceLimitOrder": "Rendelés leadása", "OrderBookCancelLimitOrder": "Megrendelés törlése", - "OrderBookCancelLimitOrders": "Megrendelések törlése" + "OrderBookCancelLimitOrders": "Megrendelések törlése", + "Burn": "Éget", + "Mint": "Menta" }, "polkadotjs": { "noExtensions": "Nem találtunk {PolkadotJs} kiterjesztést. Kérjük, telepítsd és töltse be újra ezt az oldalt\nhttps:\/\/polkadot.js.org\/extension\/", @@ -1287,7 +1293,10 @@ "actions": { "claim": "Kérjen jutalmakat", "remove": "Távolítsa el a tétet", - "more": "Tételj többet" + "more": "Tételj többet", + "confirm": "Erősítse meg Staking-et", + "payout": "Kifizetés", + "withdraw": "Kivét" }, "overview": { "title": "{Sora} Staking", @@ -1312,10 +1321,10 @@ "noNominatedValidators": "Nincsenek kijelölt érvényesítői", "noValidators": "Nincsenek a megadott szűrőt kielégítő érvényesítők", "commission": "jutalék", - "commissionTooltip": "A jutalék arra a díjra vonatkozik, amelyet az érvényesítők felszámítanak a licitálási folyamat során nyújtott szolgáltatásaikért. Ezt a százalékban kifejezett díjat levonják a jelölők által a kiosztás előtt szerzett tét jutalmakból. Fontos megjegyezni, hogy az érvényesítők bármikor módosíthatják a jutalék mértékét" + "commissionTooltip": "A jutalék arra a díjra vonatkozik, amelyet az érvényesítők felszámítanak a licitálási folyamat során nyújtott szolgáltatásaikért. Ezt a százalékban kifejezett díjat levonják a jelölők által a kiosztás előtt szerzett tét jutalmakból. Fontos megjegyezni, hogy az érvényesítők bármikor módosíthatják a jutalék mértékét", + "return": "Visszatérés" }, "info": { - "redeemable": "Beváltható", "unstaking": "Unstaking", "stakingBalance": "Egyensúly kockáztatása", "rewarded": "Jutalmazott", @@ -1394,6 +1403,26 @@ "title": "Kérjen jutalmakat", "checkRewards": "Ellenőrizze a jutalmakat korszakonként és érvényesítőnként", "rewardsDestination": "Jutalmak célcíme" + }, + "selectedValidators": "{count} ( {Max} {max} )", + "withdraw": { + "withdrawable": "Kivonható", + "beingWithdrawn": "Visszahúzódó", + "seeAll": "Az összes megtekintése", + "nextWithdrawal": "Következő visszavonás", + "countdownLeft": "bal" + }, + "stakeDialog": { + "toStake": "A téthez", + "toRemove": "Eltávolítani" + }, + "withdrawDialog": { + "title": "Vonja ki a nem tét nélküli alapokat", + "showAllWithdraws": "Az összes visszavonás megjelenítése" + }, + "allWithdrawsDialog": { + "title": "Könnyű tevékenység", + "information": "Miután visszavonta a tokeneket, van egy kötelező 7 napos tétbevonási időszak. Ezen időszak után a tokenek nem kerülnek automatikusan vissza a pénztárcájába. A folyamatot be kell fejeznie a tokenek manuális visszavonásával." } }, "collapseText": "Összeomlás", diff --git a/src/lang/hy.json b/src/lang/hy.json index 58fa27afa..1915c68ac 100644 --- a/src/lang/hy.json +++ b/src/lang/hy.json @@ -63,7 +63,9 @@ "StakingSetPayee": "Սահմանել վճարողի {address}", "OrderBookPlaceLimitOrder": "Տեղադրված է {side} {amount} {symbol} {price} {symbol2} ով", "OrderBookCancelLimitOrder": "Սահմանափակման պատվերը չեղարկվել է", - "OrderBookCancelLimitOrders": "Սահմանափակ պատվերները չեղարկվել են" + "OrderBookCancelLimitOrders": "Սահմանափակ պատվերները չեղարկվել են", + "Burn": "Այրված {amount} {symbol}", + "Mint": "Նշված է {amount} {symbol} {address} -ին" }, "error": { "Transfer": "Չհաջողվեց {action} {amount} {symbol} {direction} {address}", @@ -98,7 +100,9 @@ "StakingSetPayee": "Չհաջողվեց սահմանել վճարողի {address}", "OrderBookPlaceLimitOrder": "Չհաջողվեց սահմանել {amount} {symbol} ի սահմանային պատվեր {price} {symbol2} ով", "OrderBookCancelLimitOrders": "Չհաջողվեց չեղարկել սահմանափակ պատվերները", - "OrderBookCancelLimitOrder": "Չհաջողվեց չեղարկել սահմանաչափի պատվերը" + "OrderBookCancelLimitOrder": "Չհաջողվեց չեղարկել սահմանաչափի պատվերը", + "Burn": "Չհաջողվեց այրել {amount} {symbol}", + "Mint": "Չհաջողվեց հատել {amount} {symbol} {address} -ին" }, "ReferralReserveXor": "Բոնդ XOR", "ReferralUnreserveXor": "Ունբոնդ XOR", @@ -125,7 +129,9 @@ "StakingSetPayee": "Սահմանել վճարողին", "OrderBookPlaceLimitOrder": "Պատվիրել", "OrderBookCancelLimitOrder": "Չեղարկել պատվերը", - "OrderBookCancelLimitOrders": "Չեղարկել պատվերները" + "OrderBookCancelLimitOrders": "Չեղարկել պատվերները", + "Burn": "Այրվել", + "Mint": "անանուխ" }, "polkadotjs": { "noExtensions": "{PolkadotJs} ի ոչ մի ընդլայնում չի գտնվել: Տեղադրեք և վերաբեռնեք այս էջը\n https:\/\/polkadot.js.org\/extension\/", @@ -1287,7 +1293,10 @@ "actions": { "claim": "Պահանջեք պարգևներ", "remove": "Հեռացնել ցցը", - "more": "Ավելի շատ խաղադրույք կատարեք" + "more": "Ավելի շատ խաղադրույք կատարեք", + "confirm": "Հաստատեք խաղադրույքը", + "payout": "Վճարել", + "withdraw": "Հանել" }, "overview": { "title": "{Sora} Սաթ", @@ -1312,10 +1321,10 @@ "noNominatedValidators": "Դուք առաջադրված վավերացնողներ չունեք", "noValidators": "Նշված ֆիլտրը բավարարող վավերացնողներ չկան", "commission": "հանձնաժողով", - "commissionTooltip": "Հանձնաժողովը վերաբերում է այն վճարին, որը գանձվում է վավերացնողների կողմից խաղադրույքի գործընթացում իրենց ծառայությունների համար: Այս վճարը, արտահայտված որպես տոկոս, հանվում է խաղադրույքի պարգևներից, որոնք վաստակել են առաջադրողները մինչև բաշխումը: Կարևոր է նշել, որ վավերացնողները ցանկացած պահի կարող են հարմարեցնել իրենց միջնորդավճարները" + "commissionTooltip": "Հանձնաժողովը վերաբերում է այն վճարին, որը գանձվում է վավերացնողների կողմից խաղադրույքի գործընթացում իրենց ծառայությունների համար: Այս վճարը, արտահայտված որպես տոկոս, հանվում է խաղադրույքի պարգևներից, որոնք վաստակել են առաջադրողները մինչև բաշխումը: Կարևոր է նշել, որ վավերացնողները ցանկացած պահի կարող են հարմարեցնել իրենց միջնորդավճարները", + "return": "Վերադարձ" }, "info": { - "redeemable": "Հետգնելի", "unstaking": "Անցանկալի", "stakingBalance": "Խաղադրույքի մնացորդը", "rewarded": "Պարգևատրվել է", @@ -1394,6 +1403,26 @@ "title": "Պահանջեք պարգևներ", "checkRewards": "Ստուգեք պարգեւատրումը մեկ դարաշրջանում եւ վավերական", "rewardsDestination": "Պարգևատրման նպատակակետ հասցե" + }, + "selectedValidators": "{count} ( {Max} {max} )", + "withdraw": { + "withdrawable": "Հետ կանչելի", + "beingWithdrawn": "Հեռացված լինելը", + "seeAll": "Տեսնել բոլորը", + "nextWithdrawal": "Հաջորդ դուրսբերումը", + "countdownLeft": "ձախ" + }, + "stakeDialog": { + "toStake": "Խաղադրույք կատարել", + "toRemove": "Հեռացնելու համար" + }, + "withdrawDialog": { + "title": "Հանեք չստացված միջոցները", + "showAllWithdraws": "Ցուցադրել բոլոր դուրսբերումները" + }, + "allWithdrawsDialog": { + "title": "Բացասական գործունեություն", + "information": "Նշանները հանելուց հետո կա պարտադիր 7-օրյա ժամկետ: Այս ժամանակահատվածից հետո ձեր նշանները ավտոմատ կերպով չեն վերադարձվի ձեր դրամապանակ: Դուք պետք է ավարտեք գործընթացը՝ ձեռքով հանելով ձեր նշանները:" } }, "collapseText": "Փլուզվել", diff --git a/src/lang/id.json b/src/lang/id.json index 6e07696cc..cf9e4ad17 100644 --- a/src/lang/id.json +++ b/src/lang/id.json @@ -63,7 +63,9 @@ "StakingSetPayee": "Tetapkan penerima pembayaran {address}", "OrderBookPlaceLimitOrder": "{side} {amount} {symbol} pada {price} {symbol2} ditempatkan", "OrderBookCancelLimitOrder": "Batas pesanan dibatalkan", - "OrderBookCancelLimitOrders": "Batasi pesanan dibatalkan" + "OrderBookCancelLimitOrders": "Batasi pesanan dibatalkan", + "Burn": "Terbakar {amount} {symbol}", + "Mint": "Dicetak {amount} {symbol} ke {address}" }, "error": { "Transfer": "Gagal {action} {amount} {symbol} {direction} {address}", @@ -98,7 +100,9 @@ "StakingSetPayee": "Gagal menetapkan penerima pembayaran {address}", "OrderBookPlaceLimitOrder": "Gagal menempatkan limit order {amount} {symbol} pada {price} {symbol2}", "OrderBookCancelLimitOrders": "Gagal membatalkan pesanan batas", - "OrderBookCancelLimitOrder": "Gagal membatalkan pesanan batas" + "OrderBookCancelLimitOrder": "Gagal membatalkan pesanan batas", + "Burn": "Gagal membakar {amount} {symbol}", + "Mint": "Gagal mencetak {amount} {symbol} ke {address}" }, "ReferralReserveXor": "Ikatan XOR", "ReferralUnreserveXor": "Lepaskan ikatan XOR", @@ -125,7 +129,9 @@ "StakingSetPayee": "Tetapkan Penerima Pembayaran", "OrderBookPlaceLimitOrder": "Tempatkan Pesanan", "OrderBookCancelLimitOrder": "Batalkan pesanan", - "OrderBookCancelLimitOrders": "Batalkan Pesanan" + "OrderBookCancelLimitOrders": "Batalkan Pesanan", + "Burn": "Membakar", + "Mint": "daun mint" }, "polkadotjs": { "noExtensions": "Tidak ada ekstensi {PolkadotJs} yang ditemukan. Silakan instal dan muat ulang halaman ini\n https:\/\/polkadot.js.org\/extension\/", @@ -1287,7 +1293,10 @@ "actions": { "claim": "Klaim hadiah", "remove": "Hapus taruhan", - "more": "Taruhan lebih banyak" + "more": "Taruhan lebih banyak", + "confirm": "Konfirmasikan Taruhan", + "payout": "Pembayaran", + "withdraw": "Withdraw" }, "overview": { "title": "{Sora} Mempertaruhkan", @@ -1312,10 +1321,10 @@ "noNominatedValidators": "Anda tidak memiliki validator yang dinominasikan", "noValidators": "Tidak ada validator yang memenuhi filter yang ditentukan", "commission": "Komisi", - "commissionTooltip": "Komisi mengacu pada biaya yang dibebankan oleh validator atas layanan mereka dalam proses staking. Biaya ini, yang dinyatakan dalam persentase, dipotong dari imbalan staking yang diperoleh nominator sebelum didistribusikan. Penting untuk diperhatikan bahwa validator dapat menyesuaikan tarif komisinya kapan saja" + "commissionTooltip": "Komisi mengacu pada biaya yang dibebankan oleh validator atas layanan mereka dalam proses staking. Biaya ini, yang dinyatakan dalam persentase, dipotong dari imbalan staking yang diperoleh nominator sebelum didistribusikan. Penting untuk diperhatikan bahwa validator dapat menyesuaikan tarif komisinya kapan saja", + "return": "Kembali" }, "info": { - "redeemable": "Dapat ditukarkan", "unstaking": "Tidak mempertaruhkan", "stakingBalance": "Saldo taruhan", "rewarded": "Dihargai", @@ -1394,6 +1403,26 @@ "title": "Klaim hadiah", "checkRewards": "Periksa hadiah per era dan validator", "rewardsDestination": "Alamat tujuan hadiah" + }, + "selectedValidators": "{count} ( {Max} {max} )", + "withdraw": { + "withdrawable": "Dapat ditarik", + "beingWithdrawn": "Ditarik", + "seeAll": "Lihat semua", + "nextWithdrawal": "Penarikan berikutnya", + "countdownLeft": "kiri" + }, + "stakeDialog": { + "toStake": "Untuk mempertaruhkan", + "toRemove": "Untuk menghapus" + }, + "withdrawDialog": { + "title": "Tarik dana yang belum dipertaruhkan", + "showAllWithdraws": "Tampilkan semua penarikan" + }, + "allWithdrawsDialog": { + "title": "Aktivitas yang tidak mempertaruhkan", + "information": "Setelah Anda membatalkan staking token, ada periode wajib unstaking selama 7 hari. Setelah periode ini, token Anda tidak akan otomatis dikembalikan ke dompet Anda. Anda harus menyelesaikan prosesnya dengan menarik token Anda secara manual." } }, "collapseText": "Runtuh", diff --git a/src/lang/it.json b/src/lang/it.json index 5add68dc2..8b63f2884 100644 --- a/src/lang/it.json +++ b/src/lang/it.json @@ -63,7 +63,9 @@ "StakingSetPayee": "Imposta beneficiario {address}", "OrderBookPlaceLimitOrder": "{side} {amount} {symbol} a {price} {symbol2} piazzato", "OrderBookCancelLimitOrder": "Ordine limite annullato", - "OrderBookCancelLimitOrders": "Ordini limite annullati" + "OrderBookCancelLimitOrders": "Ordini limite annullati", + "Burn": "{amount} {symbol} bruciato", + "Mint": "Coniato {amount} {symbol} a {address}" }, "error": { "Transfer": "Impossibile {action} {amount} {symbol} {direction} {address}", @@ -98,7 +100,9 @@ "StakingSetPayee": "Impossibile impostare il beneficiario {address}", "OrderBookPlaceLimitOrder": "Impossibile effettuare un ordine limite di {amount} {symbol} a {price} {symbol2}", "OrderBookCancelLimitOrders": "Impossibile annullare gli ordini limite", - "OrderBookCancelLimitOrder": "Impossibile annullare l'ordine limite" + "OrderBookCancelLimitOrder": "Impossibile annullare l'ordine limite", + "Burn": "Impossibile masterizzare {amount} {symbol}", + "Mint": "Impossibile coniare {amount} {symbol} su {address}" }, "ReferralReserveXor": "Legame XOR", "ReferralUnreserveXor": "Svincola XOR", @@ -125,7 +129,9 @@ "StakingSetPayee": "Imposta beneficiario", "OrderBookPlaceLimitOrder": "Invia ordine", "OrderBookCancelLimitOrder": "Annulla Ordine", - "OrderBookCancelLimitOrders": "Annulla ordini" + "OrderBookCancelLimitOrders": "Annulla ordini", + "Burn": "Bruciare", + "Mint": "menta" }, "polkadotjs": { "noExtensions": "Nessuna estensione {PolkadotJs} trovata. Si prega di installarla e ricaricare questa pagina\nhttps:\/\/polkadot.js.org\/extension\/", @@ -1287,7 +1293,10 @@ "actions": { "claim": "Richiedi premi", "remove": "Rimuovi il paletto", - "more": "Punta di più" + "more": "Punta di più", + "confirm": "Conferma puntata", + "payout": "Payout", + "withdraw": "Ritirare" }, "overview": { "title": "{Sora} Picchettamento", @@ -1312,10 +1321,10 @@ "noNominatedValidators": "Non hai validatori nominati", "noValidators": "Non sono presenti validatori che soddisfano il filtro specificato", "commission": "Commissione", - "commissionTooltip": "La commissione si riferisce alla commissione addebitata dai validatori per i loro servizi nel processo di staking. Questa commissione, espressa in percentuale, viene detratta dai premi di staking guadagnati dai nominatori prima della distribuzione. È importante notare che i validatori possono modificare le loro tariffe di commissione in qualsiasi momento" + "commissionTooltip": "La commissione si riferisce alla commissione addebitata dai validatori per i loro servizi nel processo di staking. Questa commissione, espressa in percentuale, viene detratta dai premi di staking guadagnati dai nominatori prima della distribuzione. È importante notare che i validatori possono modificare le loro tariffe di commissione in qualsiasi momento", + "return": "Ritorno" }, "info": { - "redeemable": "Riscattabile", "unstaking": "Instabile", "stakingBalance": "Saldo della puntata", "rewarded": "Premiato", @@ -1394,6 +1403,26 @@ "title": "Richiedi premi", "checkRewards": "Controlla i premi per epoca e validatore", "rewardsDestination": "Indirizzo di destinazione del premio" + }, + "selectedValidators": "{count} ( {Max} {max} )", + "withdraw": { + "withdrawable": "Estraibile", + "beingWithdrawn": "Essere ritirato", + "seeAll": "Vedi tutto", + "nextWithdrawal": "Prossimo ritiro", + "countdownLeft": "Sinistra" + }, + "stakeDialog": { + "toStake": "Puntare", + "toRemove": "Rimuovere" + }, + "withdrawDialog": { + "title": "Prelevare i fondi non prelevati", + "showAllWithdraws": "Mostra tutti i prelievi" + }, + "allWithdrawsDialog": { + "title": "Attività non impegnativa", + "information": "Una volta annullati i token, è previsto un periodo obbligatorio di annullamento dello staking di 7 giorni. Dopo questo periodo, i tuoi token non verranno automaticamente restituiti al tuo portafoglio. È necessario completare il processo ritirando manualmente i token." } }, "collapseText": "Crollo", diff --git a/src/lang/nl.json b/src/lang/nl.json index 49589fbe9..f50c2cada 100644 --- a/src/lang/nl.json +++ b/src/lang/nl.json @@ -63,7 +63,9 @@ "StakingSetPayee": "Begunstigde {address} instellen", "OrderBookPlaceLimitOrder": "{side} {amount} {symbol} voor {price} {symbol2} geplaatst", "OrderBookCancelLimitOrder": "Limietorder geannuleerd", - "OrderBookCancelLimitOrders": "Limietorders geannuleerd" + "OrderBookCancelLimitOrders": "Limietorders geannuleerd", + "Burn": "Verbrand {amount} {symbol}", + "Mint": "Geslagen {amount} {symbol} naar {address}" }, "error": { "Transfer": "Kon {amount} {symbol} {action} {direction} {address}", @@ -98,7 +100,9 @@ "StakingSetPayee": "Kan begunstigde {address} niet instellen", "OrderBookPlaceLimitOrder": "Het plaatsen van een limietorder van {amount} {symbol} bij {price} {symbol2} is niet gelukt", "OrderBookCancelLimitOrders": "Kan limietorders niet annuleren", - "OrderBookCancelLimitOrder": "Kan limietorder niet annuleren" + "OrderBookCancelLimitOrder": "Kan limietorder niet annuleren", + "Burn": "Kan {amount} {symbol} niet verbranden", + "Mint": "Kan {amount} {symbol} niet aan {address} toevoegen" }, "ReferralReserveXor": "Bond XOR", "ReferralUnreserveXor": "Ontbonden XOR", @@ -125,7 +129,9 @@ "StakingSetPayee": "Begunstigde instellen", "OrderBookPlaceLimitOrder": "Plaats bestelling", "OrderBookCancelLimitOrder": "Annuleer bestelling", - "OrderBookCancelLimitOrders": "Bestellingen annuleren" + "OrderBookCancelLimitOrders": "Bestellingen annuleren", + "Burn": "Brandwond", + "Mint": "Munt" }, "polkadotjs": { "noExtensions": "Er is geen {PolkadotJs} extensie gevonden. Installeer het en laad deze pagina opnieuw\n https:\/\/polkadot.js.org\/extension\/", @@ -1287,7 +1293,10 @@ "actions": { "claim": "Claim beloningen", "remove": "Staak verwijderen", - "more": "Zet meer in" + "more": "Zet meer in", + "confirm": "Bevestig het uitzetten", + "payout": "Uitbetaling", + "withdraw": "Opnemen" }, "overview": { "title": "{Sora} Uitzetten", @@ -1312,10 +1321,10 @@ "noNominatedValidators": "U heeft geen genomineerde validators", "noValidators": "Er zijn geen validators die aan het opgegeven filter voldoen", "commission": "Commissie", - "commissionTooltip": "Commissie verwijst naar de vergoeding die validators in rekening brengen voor hun diensten in het stakingproces. Deze vergoeding, uitgedrukt als een percentage, wordt afgetrokken van de inzetoefeningen die de nominatoren vóór distributie hebben verdiend. Het is belangrijk op te merken dat validators hun commissietarieven op elk moment kunnen aanpassen" + "commissionTooltip": "Commissie verwijst naar de vergoeding die validators in rekening brengen voor hun diensten in het stakingproces. Deze vergoeding, uitgedrukt als een percentage, wordt afgetrokken van de inzetoefeningen die de nominatoren vóór distributie hebben verdiend. Het is belangrijk op te merken dat validators hun commissietarieven op elk moment kunnen aanpassen", + "return": "Opbrengst" }, "info": { - "redeemable": "Inwisselbaar", "unstaking": "Niet uitzetten", "stakingBalance": "Balans uitzetten", "rewarded": "Beloond", @@ -1394,6 +1403,26 @@ "title": "Claim beloningen", "checkRewards": "Controleer beloningen per tijdperk en validator", "rewardsDestination": "Bestemmingsadres van beloningen" + }, + "selectedValidators": "{count} ( {Max} {max} )", + "withdraw": { + "withdrawable": "Opneembaar", + "beingWithdrawn": "Teruggetrokken zijn", + "seeAll": "Alles zien", + "nextWithdrawal": "Volgende terugtrekking", + "countdownLeft": "links" + }, + "stakeDialog": { + "toStake": "Om in te zetten", + "toRemove": "Verwijderen" + }, + "withdrawDialog": { + "title": "Niet-uitgezette gelden opnemen", + "showAllWithdraws": "Toon alle opnames" + }, + "allWithdrawsDialog": { + "title": "Niet-uitzettende activiteit", + "information": "Zodra u tokens ongedaan maakt, is er een verplichte periode van zeven dagen. Na deze periode worden uw tokens niet automatisch teruggestuurd naar uw portemonnee. U moet het proces voltooien door uw tokens handmatig in te trekken." } }, "collapseText": "Instorten", diff --git a/src/lang/no.json b/src/lang/no.json index 5baa19aae..8a239c246 100644 --- a/src/lang/no.json +++ b/src/lang/no.json @@ -63,7 +63,9 @@ "StakingSetPayee": "Angi betalingsmottaker {address}", "OrderBookPlaceLimitOrder": "{side} {amount} {symbol} til {price} {symbol2} plassert", "OrderBookCancelLimitOrder": "Begrensningsbestilling kansellert", - "OrderBookCancelLimitOrders": "Limit bestillinger kansellert" + "OrderBookCancelLimitOrders": "Limit bestillinger kansellert", + "Burn": "Brent {amount} {symbol}", + "Mint": "Preget {amount} {symbol} til {address}" }, "error": { "Transfer": "Kunne ikke {action} {amount} {symbol} {direction} {address}", @@ -98,7 +100,9 @@ "StakingSetPayee": "Kunne ikke angi betalingsmottaker {address}", "OrderBookPlaceLimitOrder": "Kunne ikke legge inn grensebestilling på {amount} {symbol} til {price} {symbol2}", "OrderBookCancelLimitOrders": "Kunne ikke kansellere begrensede bestillinger", - "OrderBookCancelLimitOrder": "Kunne ikke kansellere begrenset ordre" + "OrderBookCancelLimitOrder": "Kunne ikke kansellere begrenset ordre", + "Burn": "Kunne ikke brenne {amount} {symbol}", + "Mint": "Kunne ikke prege {amount} {symbol} til {address}" }, "ReferralReserveXor": "Knytte bånd XOR", "ReferralUnreserveXor": "Koble ut XOR", @@ -125,7 +129,9 @@ "StakingSetPayee": "Angi betalingsmottaker", "OrderBookPlaceLimitOrder": "Legg inn bestilling", "OrderBookCancelLimitOrder": "Avbryt bestillingen", - "OrderBookCancelLimitOrders": "Kanseller bestillinger" + "OrderBookCancelLimitOrders": "Kanseller bestillinger", + "Burn": "Brenne", + "Mint": "Mynte" }, "polkadotjs": { "noExtensions": "Finner ingen {PolkadotJs} utvidelse. Installer den og last inn denne siden på nytt\nhttps:\/\/polkadot.js.org\/extension\/", @@ -1287,7 +1293,10 @@ "actions": { "claim": "Gjør krav på belønninger", "remove": "Fjern innsatsen", - "more": "Sats mer" + "more": "Sats mer", + "confirm": "Bekreft staking", + "payout": "Utbetaling", + "withdraw": "Ta ut" }, "overview": { "title": "{Sora} Staking", @@ -1312,10 +1321,10 @@ "noNominatedValidators": "Du har ingen nominerte validatorer", "noValidators": "Det er ingen validatorer som tilfredsstiller det angitte filteret", "commission": "Kommisjon", - "commissionTooltip": "Provisjon refererer til gebyret som kreves av validatorer for deres tjenester i innsatsprosessen. Denne avgiften, uttrykt som en prosentandel, trekkes fra innsatsbelønningene opptjent av nominatorer før utdeling. Det er viktig å merke seg at validatorer kan justere sine provisjonssatser når som helst" + "commissionTooltip": "Provisjon refererer til gebyret som kreves av validatorer for deres tjenester i innsatsprosessen. Denne avgiften, uttrykt som en prosentandel, trekkes fra innsatsbelønningene opptjent av nominatorer før utdeling. Det er viktig å merke seg at validatorer kan justere sine provisjonssatser når som helst", + "return": "Komme tilbake" }, "info": { - "redeemable": "Innløselig", "unstaking": "Unstaking", "stakingBalance": "Staking balanse", "rewarded": "Belønnet", @@ -1394,6 +1403,26 @@ "title": "Gjør krav på belønninger", "checkRewards": "Sjekk belønninger per epoke og validator", "rewardsDestination": "Destinasjonsadresse for belønninger" + }, + "selectedValidators": "{count} ( {Max} {max} )", + "withdraw": { + "withdrawable": "Uttrekkbar", + "beingWithdrawn": "Blir trukket tilbake", + "seeAll": "Se alt", + "nextWithdrawal": "Neste uttak", + "countdownLeft": "venstre" + }, + "stakeDialog": { + "toStake": "Å satse", + "toRemove": "Å fjerne" + }, + "withdrawDialog": { + "title": "Ta ut uinnsatte midler", + "showAllWithdraws": "Vis alle uttak" + }, + "allWithdrawsDialog": { + "title": "Ustabil aktivitet", + "information": "Når du har trukket ut tokens, er det en obligatorisk 7-dagers utsettingsperiode. Etter denne perioden vil ikke tokens automatisk bli returnert til lommeboken din. Du må fullføre prosessen ved å trekke ut tokens manuelt." } }, "collapseText": "Kollapse", diff --git a/src/lang/pl.json b/src/lang/pl.json index 84d019f13..75fecc5b0 100644 --- a/src/lang/pl.json +++ b/src/lang/pl.json @@ -63,7 +63,9 @@ "StakingSetPayee": "Ustaw odbiorcę płatności {address}", "OrderBookPlaceLimitOrder": "{side} {amount} {symbol} po {price} {symbol2}", "OrderBookCancelLimitOrder": "Zlecenie limitowane anulowane", - "OrderBookCancelLimitOrders": "Zamówienia z limitem anulowane" + "OrderBookCancelLimitOrders": "Zamówienia z limitem anulowane", + "Burn": "Spalony {amount} {symbol}", + "Mint": "Wybito {amount} {symbol} na {address}" }, "error": { "Transfer": "Nie udało się {action} {amount} {symbol} {direction} {address}", @@ -98,7 +100,9 @@ "StakingSetPayee": "Nie udało się ustawić odbiorcy płatności {address}", "OrderBookPlaceLimitOrder": "Nie udało się złożyć zamówienia z limitem {amount} {symbol} po {price} {symbol2}", "OrderBookCancelLimitOrders": "Nie udało się anulować zleceń z limitem", - "OrderBookCancelLimitOrder": "Nie udało się anulować zamówienia z limitem" + "OrderBookCancelLimitOrder": "Nie udało się anulować zamówienia z limitem", + "Burn": "Nie udało się nagrać {amount} {symbol}", + "Mint": "Nie udało się wybić {amount} {symbol} na {address}" }, "ReferralReserveXor": "Utwórz rezerwy XOR", "ReferralUnreserveXor": "Uwolnij rezerwy XOR", @@ -125,7 +129,9 @@ "StakingSetPayee": "Ustaw odbiorcę", "OrderBookPlaceLimitOrder": "Złożyć zamówienie", "OrderBookCancelLimitOrder": "Anuluj zamówienie", - "OrderBookCancelLimitOrders": "Anuluj zamówienia" + "OrderBookCancelLimitOrders": "Anuluj zamówienia", + "Burn": "Oparzenie", + "Mint": "Mennica" }, "polkadotjs": { "noExtensions": "Nie znaleziono rozszerzenia {PolkadotJs}. Zainstaluj je i odśwież tę stronę\nhttps:\/\/polkadot.js.org\/extension\/", @@ -1287,7 +1293,10 @@ "actions": { "claim": "Odbieraj nagrody", "remove": "Usuń stawkę", - "more": "Stawiaj więcej" + "more": "Stawiaj więcej", + "confirm": "Potwierdź stakowanie", + "payout": "Wypłaty", + "withdraw": "Wypłacanie" }, "overview": { "title": "{Sora} Wytyczania", @@ -1312,10 +1321,10 @@ "noNominatedValidators": "Nie masz żadnych wyznaczonych walidatorów", "noValidators": "Brak walidatorów spełniających określony filtr", "commission": "Zamawiać", - "commissionTooltip": "Prowizja odnosi się do opłaty pobieranej przez walidatorów za ich usługi w procesie obstawiania. Opłata ta, wyrażona procentowo, jest odejmowana od nagród za obstawianie zdobytych przez nominatorów przed dystrybucją. Należy pamiętać, że walidatorzy mogą w dowolnym momencie dostosować stawki prowizji" + "commissionTooltip": "Prowizja odnosi się do opłaty pobieranej przez walidatorów za ich usługi w procesie obstawiania. Opłata ta, wyrażona procentowo, jest odejmowana od nagród za obstawianie zdobytych przez nominatorów przed dystrybucją. Należy pamiętać, że walidatorzy mogą w dowolnym momencie dostosować stawki prowizji", + "return": "Powrót" }, "info": { - "redeemable": "Odkupny", "unstaking": "Odstawienie", "stakingBalance": "Bilans stawek", "rewarded": "Wynagrodzony", @@ -1394,6 +1403,26 @@ "title": "Odbieraj nagrody", "checkRewards": "Sprawdź nagrody według epoki i walidatora", "rewardsDestination": "Adres docelowy nagród" + }, + "selectedValidators": "{count} ( {Max} {max} )", + "withdraw": { + "withdrawable": "Możliwość wypłaty", + "beingWithdrawn": "Będąc wycofanym", + "seeAll": "Widzieć wszystko", + "nextWithdrawal": "Następne wycofanie", + "countdownLeft": "lewy" + }, + "stakeDialog": { + "toStake": "Stawiać", + "toRemove": "Usuwać" + }, + "withdrawDialog": { + "title": "Wypłać niepostawione środki", + "showAllWithdraws": "Pokaż wszystkie wypłaty" + }, + "allWithdrawsDialog": { + "title": "Bezinteresowna aktywność", + "information": "Po odstawieniu tokenów następuje obowiązkowy 7-dniowy okres odstawiania. Po tym okresie Twoje tokeny nie zostaną automatycznie zwrócone do Twojego portfela. Musisz zakończyć proces, ręcznie wycofując swoje tokeny." } }, "collapseText": "Zawalić się", diff --git a/src/lang/ru.json b/src/lang/ru.json index 687d6835b..207878378 100644 --- a/src/lang/ru.json +++ b/src/lang/ru.json @@ -63,7 +63,9 @@ "StakingSetPayee": "Установить получателя платежа {address}", "OrderBookPlaceLimitOrder": "{side} {amount} {symbol} по {price} {symbol2} размещено", "OrderBookCancelLimitOrder": "Лимитный ордер отменен", - "OrderBookCancelLimitOrders": "Лимитные ордера отменены" + "OrderBookCancelLimitOrders": "Лимитные ордера отменены", + "Burn": "Сожжено {amount} {symbol}", + "Mint": "Отчеканено {amount} {symbol} на {address}" }, "error": { "Transfer": "Не удалось {action} {amount} {symbol} {direction} {address}", @@ -98,7 +100,9 @@ "StakingSetPayee": "Не удалось установить получателя платежа {address}", "OrderBookPlaceLimitOrder": "Не удалось разместить лимитный ордер на {amount} {symbol} по {price} {symbol2}", "OrderBookCancelLimitOrders": "Не удалось отменить лимитные ордера", - "OrderBookCancelLimitOrder": "Не удалось отменить лимитный ордер" + "OrderBookCancelLimitOrder": "Не удалось отменить лимитный ордер", + "Burn": "Не удалось сжечь {amount} {symbol}", + "Mint": "Не удалось отчеканить {amount} {symbol} на {address}" }, "ReferralReserveXor": "Зарезервировать XOR", "ReferralUnreserveXor": "Вывести XOR из резерва", @@ -125,7 +129,9 @@ "StakingSetPayee": "Установить получателя платежа", "OrderBookPlaceLimitOrder": "Разместить заказ", "OrderBookCancelLimitOrder": "Отменить заказ", - "OrderBookCancelLimitOrders": "Отменить заказы" + "OrderBookCancelLimitOrders": "Отменить заказы", + "Burn": "Сжигание", + "Mint": "Чеканка" }, "polkadotjs": { "noExtensions": "Расширение {PolkadotJs} не найдено. Пожалуйста, установите его и перезагрузите эту страницу\n https:\/\/polkadot.js.org\/extension\/", @@ -1287,7 +1293,10 @@ "actions": { "claim": "Получите награды", "remove": "Удалить стейкинг", - "more": "Застейкать ещё" + "more": "Застейкать ещё", + "confirm": "Подтвердить ставку", + "payout": "Выплаты", + "withdraw": "Вывод" }, "overview": { "title": "{Sora} Стейкинг", @@ -1312,10 +1321,10 @@ "noNominatedValidators": "У вас нет номинированных валидаторов", "noValidators": "Нет валидаторов, удовлетворяющих указанному фильтру", "commission": "Комиссия", - "commissionTooltip": "Комиссия — это плата, взимаемая валидаторами за свои услуги в процессе размещения стейкинга. Эта комиссия, выраженная в процентах, вычитается из вознаграждений за стейкинг, полученных номинаторами перед распределением. Важно отметить, что валидаторы могут корректировать стейкинг комиссии в любое время." + "commissionTooltip": "Комиссия — это плата, взимаемая валидаторами за свои услуги в процессе размещения стейкинга. Эта комиссия, выраженная в процентах, вычитается из вознаграждений за стейкинг, полученных номинаторами перед распределением. Важно отметить, что валидаторы могут корректировать стейкинг комиссии в любое время.", + "return": "Возвращаться" }, "info": { - "redeemable": "Можно забрать", "unstaking": "В процессе вывода", "stakingBalance": "Баланс стейкинга", "rewarded": "Заработано", @@ -1394,6 +1403,26 @@ "title": "Получите награды", "checkRewards": "Проверьте награды за эпоху и валидаторов", "rewardsDestination": "Адрес для получения наград" + }, + "selectedValidators": "{count} ( {Max} {max} )", + "withdraw": { + "withdrawable": "Выкатной", + "beingWithdrawn": "Будучи отозванным", + "seeAll": "Увидеть все", + "nextWithdrawal": "Следующий вывод", + "countdownLeft": "левый" + }, + "stakeDialog": { + "toStake": "Ставить", + "toRemove": "Удалять" + }, + "withdrawDialog": { + "title": "Вывод анстейкнутых средств", + "showAllWithdraws": "Показать все выплаты" + }, + "allWithdrawsDialog": { + "title": "Незакрепленная деятельность", + "information": "После анстейкинга токенов наступает обязательный 7-дневный период анстейкинга. По истечении этого периода ваши токены не будут автоматически возвращены на ваш кошелек. Вы должны завершить процесс, выведя свои токены вручную." } }, "collapseText": "Свернуть", diff --git a/src/lang/sk.json b/src/lang/sk.json index 5d9184fdb..b93d75173 100644 --- a/src/lang/sk.json +++ b/src/lang/sk.json @@ -63,7 +63,9 @@ "StakingSetPayee": "Nastaviť príjemcu platby {address}", "OrderBookPlaceLimitOrder": "{side} {amount} {symbol} za {price} {symbol2} umiestnený", "OrderBookCancelLimitOrder": "Limitovaná objednávka bola zrušená", - "OrderBookCancelLimitOrders": "Limitné objednávky boli zrušené" + "OrderBookCancelLimitOrders": "Limitné objednávky boli zrušené", + "Burn": "Spálené {amount} {symbol}", + "Mint": "Vyrazené {amount} {symbol} na {address}" }, "error": { "Transfer": "Nepodarilo sa {action} {amount} {symbol} {direction} {address}", @@ -98,7 +100,9 @@ "StakingSetPayee": "Nepodarilo sa nastaviť príjemcu platby {address}", "OrderBookPlaceLimitOrder": "Nepodarilo sa zadať limitnú objednávku {amount} {symbol} za {price} {symbol2}", "OrderBookCancelLimitOrders": "Limitné objednávky sa nepodarilo zrušiť", - "OrderBookCancelLimitOrder": "Limitovanú objednávku sa nepodarilo zrušiť" + "OrderBookCancelLimitOrder": "Limitovanú objednávku sa nepodarilo zrušiť", + "Burn": "Nepodarilo sa napáliť {amount} {symbol}", + "Mint": "Nepodarilo sa vyraziť {amount} {symbol} na {address}" }, "ReferralReserveXor": "Bond XOR", "ReferralUnreserveXor": "Unbond XOR", @@ -125,7 +129,9 @@ "StakingSetPayee": "Nastaviť príjemcu platby", "OrderBookPlaceLimitOrder": "Zadať objednávku", "OrderBookCancelLimitOrder": "Zrušiť objednávku", - "OrderBookCancelLimitOrders": "Zrušte objednávky" + "OrderBookCancelLimitOrders": "Zrušte objednávky", + "Burn": "Spáliť", + "Mint": "mäta" }, "polkadotjs": { "noExtensions": "Rozšírenie {PolkadotJs} nebolo nájdené. Nainštalujte ho a znova načítajte túto stránku https:\/\/polkadot.js.org\/extension\/", @@ -1287,7 +1293,10 @@ "actions": { "claim": "Nárokujte si odmeny", "remove": "Odstráňte kolík", - "more": "Stavte viac" + "more": "Stavte viac", + "confirm": "Potvrďte Staking", + "payout": "Výplata", + "withdraw": "Výber" }, "overview": { "title": "{Sora} Staking", @@ -1312,10 +1321,10 @@ "noNominatedValidators": "Nemáte žiadnych nominovaných overovateľov", "noValidators": "Neexistujú žiadne validátory, ktoré by vyhovovali zadanému filtru", "commission": "Komisia", - "commissionTooltip": "Provízia sa vzťahuje na poplatok, ktorý účtujú validátori za svoje služby v procese stávkovania. Tento poplatok, vyjadrený v percentách, sa odpočítava od odmien za stávky, ktoré získali nominanti pred distribúciou. Je dôležité poznamenať, že overovatelia môžu svoje sadzby provízií kedykoľvek upraviť" + "commissionTooltip": "Provízia sa vzťahuje na poplatok, ktorý účtujú validátori za svoje služby v procese stávkovania. Tento poplatok, vyjadrený v percentách, sa odpočítava od odmien za stávky, ktoré získali nominanti pred distribúciou. Je dôležité poznamenať, že overovatelia môžu svoje sadzby provízií kedykoľvek upraviť", + "return": "Návrat" }, "info": { - "redeemable": "Splatný", "unstaking": "Neurčenie", "stakingBalance": "Stavať rovnováhu", "rewarded": "Odmenený", @@ -1394,6 +1403,26 @@ "title": "Nárokujte si odmeny", "checkRewards": "Skontrolujte odmeny za éru a validátor", "rewardsDestination": "Cieľová adresa odmien" + }, + "selectedValidators": "{count} ( {Max} {max} )", + "withdraw": { + "withdrawable": "Stiahnuteľné", + "beingWithdrawn": "Byť stiahnutý", + "seeAll": "Vidieť všetko", + "nextWithdrawal": "Ďalší odber", + "countdownLeft": "vľavo" + }, + "stakeDialog": { + "toStake": "Vsadiť", + "toRemove": "Odobrať" + }, + "withdrawDialog": { + "title": "Vyberte nevložené prostriedky", + "showAllWithdraws": "Zobraziť všetky výbery" + }, + "allWithdrawsDialog": { + "title": "Neúnavná aktivita", + "information": "Po odstavení tokenov nasleduje povinné 7-dňové obdobie na vyradenie. Po uplynutí tejto doby sa vaše žetóny automaticky nevrátia do vašej peňaženky. Proces musíte dokončiť ručným výberom svojich tokenov." } }, "collapseText": "Kolaps", diff --git a/src/lang/sr.json b/src/lang/sr.json index 799c49362..76c37c648 100644 --- a/src/lang/sr.json +++ b/src/lang/sr.json @@ -63,7 +63,9 @@ "StakingSetPayee": "Подесите примаоца уплате {address}", "OrderBookPlaceLimitOrder": "{side} {amount} {symbol} по {price} {symbol2} постављено", "OrderBookCancelLimitOrder": "Лимит налог је отказан", - "OrderBookCancelLimitOrders": "Ограничени налози су отказани" + "OrderBookCancelLimitOrders": "Ограничени налози су отказани", + "Burn": "Спаљено {amount} {symbol}", + "Mint": "Исковано {amount} {symbol} на {address}" }, "error": { "Transfer": "Није успело {action} {amount} {symbol} {direction} {address}", @@ -98,7 +100,9 @@ "StakingSetPayee": "Подешавање примаоца уплате {address} није успело", "OrderBookPlaceLimitOrder": "Постављање ограничене поруџбине од {amount} {symbol} по {price} {symbol2} није успело", "OrderBookCancelLimitOrders": "Отказивање ограничених налога није успело", - "OrderBookCancelLimitOrder": "Отказивање ограничене поруџбине није успело" + "OrderBookCancelLimitOrder": "Отказивање ограничене поруџбине није успело", + "Burn": "{amount} {symbol} није успело", + "Mint": "Није успело испоручивање {amount} {symbol} на {address}" }, "ReferralReserveXor": "Veži XOR", "ReferralUnreserveXor": "Razveži XOR", @@ -125,7 +129,9 @@ "StakingSetPayee": "Подесите примаоца уплате", "OrderBookPlaceLimitOrder": "Наручите", "OrderBookCancelLimitOrder": "Откажи наруџбу", - "OrderBookCancelLimitOrders": "Откажите поруџбине" + "OrderBookCancelLimitOrders": "Откажите поруџбине", + "Burn": "Горети", + "Mint": "Нана" }, "polkadotjs": { "noExtensions": "Није пронађена ниједна екстензија {PolkadotJs}. Инсталирајте га и поново учитајте ову страницу\nhttps:\/\/polkadot.js.org\/extension\/", @@ -1287,7 +1293,10 @@ "actions": { "claim": "Захтевајте награде", "remove": "Уклоните улог", - "more": "Уложите више" + "more": "Уложите више", + "confirm": "Цонфирм Стакинг", + "payout": "Isplata", + "withdraw": "Podizanje" }, "overview": { "title": "{Sora} Staking", @@ -1312,10 +1321,10 @@ "noNominatedValidators": "Nemaš nominovane validatore", "noValidators": "Nema validatora koji zadovoljavaju navedeni filter", "commission": "Комисија", - "commissionTooltip": "Провизија се односи на накнаду коју наплаћују валидатори за своје услуге у процесу стекинга. Ова накнада, изражена у процентима, одбија се од награда за улагање које су номинатори зарадили пре дистрибуције. Важно је напоменути да валидатори могу прилагодити своје стопе провизије у било ком тренутку" + "commissionTooltip": "Провизија се односи на накнаду коју наплаћују валидатори за своје услуге у процесу стекинга. Ова накнада, изражена у процентима, одбија се од награда за улагање које су номинатори зарадили пре дистрибуције. Важно је напоменути да валидатори могу прилагодити своје стопе провизије у било ком тренутку", + "return": "Повратак" }, "info": { - "redeemable": "Откупљив", "unstaking": "Унстакинг", "stakingBalance": "Стакинг баланце", "rewarded": "Награђени", @@ -1394,6 +1403,26 @@ "title": "Захтевајте награде", "checkRewards": "Proverite nagrade po eri i validatoru", "rewardsDestination": "Nagradna odredišna adresa" + }, + "selectedValidators": "{count} ( {Max} {max} )", + "withdraw": { + "withdrawable": "Извлачење", + "beingWithdrawn": "Бити повучен", + "seeAll": "Видети све", + "nextWithdrawal": "Следеће повлачење", + "countdownLeft": "лево" + }, + "stakeDialog": { + "toStake": "Заложити", + "toRemove": "Уклонити" + }, + "withdrawDialog": { + "title": "Повуците неуложена средства", + "showAllWithdraws": "Прикажи све повлачења" + }, + "allWithdrawsDialog": { + "title": "Унстакинг ацтивити", + "information": "Када поништите токене, постоји обавезан период од 7 дана. Након овог периода, ваши токени неће бити аутоматски враћени у ваш новчаник. Морате да завршите процес ручним повлачењем ваших токена." } }, "collapseText": "Skupi", diff --git a/src/lang/sv.json b/src/lang/sv.json index ba1f800fa..d52d6d552 100644 --- a/src/lang/sv.json +++ b/src/lang/sv.json @@ -63,7 +63,9 @@ "StakingSetPayee": "Ange betalningsmottagare {address}", "OrderBookPlaceLimitOrder": "{side} {amount} {symbol} till {price} {symbol2} placerad", "OrderBookCancelLimitOrder": "Limit order annullerad", - "OrderBookCancelLimitOrders": "Limit order annullerade" + "OrderBookCancelLimitOrders": "Limit order annullerade", + "Burn": "Brände {amount} {symbol}", + "Mint": "Minskade {amount} {symbol} till {address}" }, "error": { "Transfer": "Det gick inte att {action} {amount} {symbol} {direction} {address}", @@ -98,7 +100,9 @@ "StakingSetPayee": "Det gick inte att ange betalningsmottagaren {address}", "OrderBookPlaceLimitOrder": "Det gick inte att lägga en gränsbeställning på {amount} {symbol} till {price} {symbol2}", "OrderBookCancelLimitOrders": "Det gick inte att avbryta limiterade beställningar", - "OrderBookCancelLimitOrder": "Det gick inte att avbryta begränsningsordern" + "OrderBookCancelLimitOrder": "Det gick inte att avbryta begränsningsordern", + "Burn": "Det gick inte att bränna {amount} {symbol}", + "Mint": "Det gick inte att prägla {amount} {symbol} till {address}" }, "ReferralReserveXor": "Bond XOR", "ReferralUnreserveXor": "Unbond XOR", @@ -125,7 +129,9 @@ "StakingSetPayee": "Ange betalningsmottagare", "OrderBookPlaceLimitOrder": "Beställa", "OrderBookCancelLimitOrder": "Avbryt beställning", - "OrderBookCancelLimitOrders": "Avbryt beställningar" + "OrderBookCancelLimitOrders": "Avbryt beställningar", + "Burn": "Bränna", + "Mint": "Mynta" }, "polkadotjs": { "noExtensions": "Inget {PolkadotJs} tillägg hittades. Vänligen installera det och ladda om den här sidan.\nhttps:\/\/polkadot.js.org\/extension\/", @@ -1287,7 +1293,10 @@ "actions": { "claim": "Gör anspråk på belöningar", "remove": "Ta bort insatsen", - "more": "Satsa mer" + "more": "Satsa mer", + "confirm": "Bekräfta utsättning", + "payout": "Utbetalning", + "withdraw": "Dra tillbaka" }, "overview": { "title": "{Sora} Staking", @@ -1312,10 +1321,10 @@ "noNominatedValidators": "Du har inga nominerade validerare", "noValidators": "Det finns inga validerare som uppfyller det angivna filtret", "commission": "Provision", - "commissionTooltip": "Kommissionen hänvisar till den avgift som tas ut av validerare för sina tjänster i insatsprocessen. Denna avgift, uttryckt i procent, dras av från insatsbelöningarna som intjänats av nominatorer före utdelning. Det är viktigt att notera att validerare kan justera sina provisionssatser när som helst" + "commissionTooltip": "Kommissionen hänvisar till den avgift som tas ut av validerare för sina tjänster i insatsprocessen. Denna avgift, uttryckt i procent, dras av från insatsbelöningarna som intjänats av nominatorer före utdelning. Det är viktigt att notera att validerare kan justera sina provisionssatser när som helst", + "return": "Lämna tillbaka" }, "info": { - "redeemable": "Inlösbar", "unstaking": "Unstaking", "stakingBalance": "Satsa balans", "rewarded": "Belönad", @@ -1394,6 +1403,26 @@ "title": "Gör anspråk på belöningar", "checkRewards": "Kontrollera belöningar per era och validator", "rewardsDestination": "Destinationsadress för belöningar" + }, + "selectedValidators": "{count} ( {Max} {max} )", + "withdraw": { + "withdrawable": "Uttagbar", + "beingWithdrawn": "Att bli tillbakadragen", + "seeAll": "Se allt", + "nextWithdrawal": "Nästa uttag", + "countdownLeft": "vänster" + }, + "stakeDialog": { + "toStake": "Att satsa", + "toRemove": "Att ta bort" + }, + "withdrawDialog": { + "title": "Ta ut oinsatta medel", + "showAllWithdraws": "Visa alla uttag" + }, + "allWithdrawsDialog": { + "title": "Enastående aktivitet", + "information": "När du har avsatt tokens finns det en obligatorisk 7-dagars utsättningsperiod. Efter denna period kommer dina tokens inte automatiskt att returneras till din plånbok. Du måste slutföra processen genom att manuellt dra ut dina tokens." } }, "collapseText": "Kollaps", diff --git a/src/lang/vi.json b/src/lang/vi.json index 4a111a9fc..92f3f8bf7 100644 --- a/src/lang/vi.json +++ b/src/lang/vi.json @@ -63,7 +63,9 @@ "StakingSetPayee": "Đặt người nhận thanh toán {address}", "OrderBookPlaceLimitOrder": "{side} {amount} {symbol} ở mức {price} {symbol2} đã đặt", "OrderBookCancelLimitOrder": "Lệnh giới hạn bị hủy", - "OrderBookCancelLimitOrders": "Lệnh giới hạn bị hủy" + "OrderBookCancelLimitOrders": "Lệnh giới hạn bị hủy", + "Burn": "Đã đốt {amount} {symbol}", + "Mint": "Đã đúc {amount} {symbol} thành {address}" }, "error": { "Transfer": "Không gửi được {action} {amount} {symbol} {direction} {address}", @@ -98,7 +100,9 @@ "StakingSetPayee": "Không thể đặt người nhận thanh toán {address}", "OrderBookPlaceLimitOrder": "Không đặt được lệnh giới hạn {amount} {symbol} ở {price} {symbol2}", "OrderBookCancelLimitOrders": "Không thể hủy lệnh giới hạn", - "OrderBookCancelLimitOrder": "Không hủy được lệnh giới hạn" + "OrderBookCancelLimitOrder": "Không hủy được lệnh giới hạn", + "Burn": "Không ghi được {amount} {symbol}", + "Mint": "Không đúc được {amount} {symbol} cho {address}" }, "ReferralReserveXor": "Bond XOR", "ReferralUnreserveXor": "Unbond XOR", @@ -125,7 +129,9 @@ "StakingSetPayee": "Đặt người nhận thanh toán", "OrderBookPlaceLimitOrder": "Đặt hàng", "OrderBookCancelLimitOrder": "Hủy đơn hàng", - "OrderBookCancelLimitOrders": "Hủy đơn hàng" + "OrderBookCancelLimitOrders": "Hủy đơn hàng", + "Burn": "Đốt cháy", + "Mint": "cây bạc hà" }, "polkadotjs": { "noExtensions": "Không tìm thấy tiện ích (extension) {PolkadotJs}. Vui lòng cài đặt và tải lại trang này\nhttps:\/\/polkadot.js.org\/extension\/", @@ -1287,7 +1293,10 @@ "actions": { "claim": "Yêu cầu phần thưởng", "remove": "Xóa cổ phần", - "more": "Đặt cược nhiều hơn" + "more": "Đặt cược nhiều hơn", + "confirm": "Xác nhận đặt cược", + "payout": "Thanh toán", + "withdraw": "Rút tiền" }, "overview": { "title": "{Sora} Staking", @@ -1312,10 +1321,10 @@ "noNominatedValidators": "Bạn không có bất kỳ người xác thực nào được chỉ định", "noValidators": "Không có trình xác thực nào đáp ứng bộ lọc được chỉ định", "commission": "Nhiệm vụ", - "commissionTooltip": "Hoa hồng đề cập đến khoản phí mà người xác nhận tính cho các dịch vụ của họ trong quá trình đặt cược. Khoản phí này, được biểu thị bằng phần trăm, được khấu trừ từ phần thưởng đặt cược mà người đề cử kiếm được trước khi phân phối. Điều quan trọng cần lưu ý là người xác thực có thể điều chỉnh tỷ lệ hoa hồng của họ bất cứ lúc nào" + "commissionTooltip": "Hoa hồng đề cập đến khoản phí mà người xác nhận tính cho các dịch vụ của họ trong quá trình đặt cược. Khoản phí này, được biểu thị bằng phần trăm, được khấu trừ từ phần thưởng đặt cược mà người đề cử kiếm được trước khi phân phối. Điều quan trọng cần lưu ý là người xác thực có thể điều chỉnh tỷ lệ hoa hồng của họ bất cứ lúc nào", + "return": "Trở lại" }, "info": { - "redeemable": "Có thể đổi được", "unstaking": "Hủy đặt cược", "stakingBalance": "Số dư đặt cược", "rewarded": "Được khen thưởng", @@ -1394,6 +1403,26 @@ "title": "Yêu cầu phần thưởng", "checkRewards": "Kiểm tra phần thưởng theo thời đại và trình xác nhận", "rewardsDestination": "Địa chỉ đích thưởng" + }, + "selectedValidators": "{count} ( {Max} {max} )", + "withdraw": { + "withdrawable": "Có thể rút", + "beingWithdrawn": "Bị rút tiền", + "seeAll": "Nhìn thấy tất cả", + "nextWithdrawal": "Lần rút tiền tiếp theo", + "countdownLeft": "bên trái" + }, + "stakeDialog": { + "toStake": "Để cổ phần", + "toRemove": "Để loại bỏ" + }, + "withdrawDialog": { + "title": "Rút tiền chưa đặt cọc", + "showAllWithdraws": "Hiển thị tất cả các lần rút tiền" + }, + "allWithdrawsDialog": { + "title": "Hoạt động unstake", + "information": "Khi bạn hủy đặt cược mã thông báo, sẽ có khoảng thời gian hủy đặt cược bắt buộc là 7 ngày. Sau khoảng thời gian này, token của bạn sẽ không được tự động trả về ví của bạn. Bạn phải hoàn tất quy trình bằng cách rút token theo cách thủ công." } }, "collapseText": "Sụp đổ", diff --git a/src/lang/yo.json b/src/lang/yo.json index 094b79230..24d2ed606 100644 --- a/src/lang/yo.json +++ b/src/lang/yo.json @@ -63,7 +63,9 @@ "StakingSetPayee": "Ṣeto payee {address}", "OrderBookPlaceLimitOrder": "{side} {amount} {symbol} ni {price} {symbol2} gbe", "OrderBookCancelLimitOrder": "Ti fagile aṣẹ opin", - "OrderBookCancelLimitOrders": "Awọn aṣẹ aropin parẹ" + "OrderBookCancelLimitOrders": "Awọn aṣẹ aropin parẹ", + "Burn": "jona {amount} {symbol}", + "Mint": "Minted {amount} {symbol} si {address}" }, "error": { "Transfer": "Kuna lati {action} {amount} {symbol} {direction} {address}", @@ -98,7 +100,9 @@ "StakingSetPayee": "Kuna lati ṣeto payee {address}", "OrderBookPlaceLimitOrder": "O kuna lati gbe aṣẹ iye to fun {symbol} {amount} {price} {symbol2}", "OrderBookCancelLimitOrders": "Kuna lati fagilee awọn ibere opin", - "OrderBookCancelLimitOrder": "Kuna lati fagilee aṣẹ opin" + "OrderBookCancelLimitOrder": "Kuna lati fagilee aṣẹ opin", + "Burn": "Kuna lati sun {amount} {symbol}", + "Mint": "Kuna lati mint {amount} {symbol} si {address}" }, "ReferralReserveXor": "Iwe adehun XOR", "ReferralUnreserveXor": "Yọ XOR kuro", @@ -125,7 +129,9 @@ "StakingSetPayee": "Ṣeto Payee", "OrderBookPlaceLimitOrder": "Ibi Bere fun", "OrderBookCancelLimitOrder": "Fagilee Bere fun", - "OrderBookCancelLimitOrders": "Fagilee Awọn aṣẹ" + "OrderBookCancelLimitOrders": "Fagilee Awọn aṣẹ", + "Burn": "Iná", + "Mint": "Mint" }, "polkadotjs": { "noExtensions": "A ko rii itẹsiwaju {PolkadotJs}. Jọwọ fi sii ki o tun gbe oju-iwe yii pada\n https:\/\/polkadot.js.org\/extension\/", @@ -1287,7 +1293,10 @@ "actions": { "claim": "Awọn ere ẹtọ", "remove": "Yọ igi kuro", - "more": "Gbero diẹ sii" + "more": "Gbero diẹ sii", + "confirm": "Jẹrisi Staking", + "payout": "Owó ìsanwó", + "withdraw": "Yiyọ kuro" }, "overview": { "title": "{Sora} Staking", @@ -1312,10 +1321,10 @@ "noNominatedValidators": "O ko ni eyikeyi ti yan afọwọsi", "noValidators": "Ko si awọn olufọwọsi ti o ni itẹlọrun àlẹmọ pàtó kan", "commission": "Igbimọ", - "commissionTooltip": "Igbimọ tọka si ọya ti o gba agbara nipasẹ awọn afọwọsi fun awọn iṣẹ wọn ni ilana isamisi. Ọya yii, ti a ṣalaye bi ipin kan, ni a yọkuro lati awọn ere isinmọ ti o jẹ nipasẹ awọn yiyan ṣaaju pinpin. O ṣe pataki lati ṣe akiyesi pe awọn olufọwọsi le ṣatunṣe awọn oṣuwọn igbimọ wọn nigbakugba" + "commissionTooltip": "Igbimọ tọka si ọya ti o gba agbara nipasẹ awọn afọwọsi fun awọn iṣẹ wọn ni ilana isamisi. Ọya yii, ti a ṣalaye bi ipin kan, ni a yọkuro lati awọn ere isinmọ ti o jẹ nipasẹ awọn yiyan ṣaaju pinpin. O ṣe pataki lati ṣe akiyesi pe awọn olufọwọsi le ṣatunṣe awọn oṣuwọn igbimọ wọn nigbakugba", + "return": "Pada" }, "info": { - "redeemable": "O le rapada", "unstaking": "Unstaking", "stakingBalance": "Staking iwontunwonsi", "rewarded": "Esan", @@ -1394,6 +1403,26 @@ "title": "Awọn ere ẹtọ", "checkRewards": "Ṣayẹwo awọn ere fun akoko ati afọwọsi", "rewardsDestination": "Èrè àdírẹ́sì ibi tí wọ́n ń lọ" + }, + "selectedValidators": "{count} ( {Max} {max} )", + "withdraw": { + "withdrawable": "Yiyọ kuro", + "beingWithdrawn": "Ti yọkuro", + "seeAll": "Wo gbogbo e", + "nextWithdrawal": "Iyọkuro ti o tẹle", + "countdownLeft": "osi" + }, + "stakeDialog": { + "toStake": "Si igi", + "toRemove": "Lati yọ kuro" + }, + "withdrawDialog": { + "title": "Yiyọ awọn owo ti a ko pin kuro", + "showAllWithdraws": "Ṣe afihan gbogbo awọn yiyọ kuro" + }, + "allWithdrawsDialog": { + "title": "Iṣẹ ṣiṣe aiṣedeede", + "information": "Ni kete ti o ba yọ awọn ami-ami kuro, akoko aiṣiṣẹ ọjọ meje ti o jẹ dandan wa. Lẹhin asiko yii, awọn ami rẹ kii yoo da pada laifọwọyi si apamọwọ rẹ. O gbọdọ pari ilana naa nipa yiyọ awọn ami rẹ kuro pẹlu ọwọ." } }, "collapseText": "Subu", diff --git a/src/lang/zh_CN.json b/src/lang/zh_CN.json index 21e20d174..878af7764 100644 --- a/src/lang/zh_CN.json +++ b/src/lang/zh_CN.json @@ -63,7 +63,9 @@ "StakingSetPayee": "设置收款人{address}", "OrderBookPlaceLimitOrder": "{side} {amount} {symbol}以{price} {symbol2}放置", "OrderBookCancelLimitOrder": "限价订单已取消", - "OrderBookCancelLimitOrders": "限价订单已取消" + "OrderBookCancelLimitOrders": "限价订单已取消", + "Burn": "烧毁{amount} {symbol}", + "Mint": "铸造了{amount} {symbol}到{address}" }, "error": { "Transfer": "{action} {amount} {symbol} {direction} {address}失败", @@ -98,7 +100,9 @@ "StakingSetPayee": "无法设置收款人{address}", "OrderBookPlaceLimitOrder": "未能以{price} } {symbol2}下达{amount} {symbol}限价单", "OrderBookCancelLimitOrders": "取消限价单失败", - "OrderBookCancelLimitOrder": "取消限价单失败" + "OrderBookCancelLimitOrder": "取消限价单失败", + "Burn": "刻录{amount} {symbol}失败", + "Mint": "无法将{amount} {symbol}铸造到{address}" }, "ReferralReserveXor": "绑定XOR", "ReferralUnreserveXor": "解绑XOR", @@ -125,7 +129,9 @@ "StakingSetPayee": "设置收款人", "OrderBookPlaceLimitOrder": "下订单", "OrderBookCancelLimitOrder": "取消订单", - "OrderBookCancelLimitOrders": "取消订单" + "OrderBookCancelLimitOrders": "取消订单", + "Burn": "烧伤", + "Mint": "薄荷" }, "polkadotjs": { "noExtensions": "没有找到 {PolkadotJs} 的扩展。请安装它并重新加载此页面\nhttps:\/\/polkadot.js.org\/extension\/", @@ -1287,7 +1293,10 @@ "actions": { "claim": "领取奖励", "remove": "移除桩", - "more": "质押更多" + "more": "质押更多", + "confirm": "确认质押", + "payout": "支付", + "withdraw": "提现" }, "overview": { "title": "{Sora}质押", @@ -1312,10 +1321,10 @@ "noNominatedValidators": "您没有任何指定的验证人", "noValidators": "没有满足指定过滤器的验证器", "commission": "委员会", - "commissionTooltip": "佣金是指验证者在质押过程中为其提供的服务收取的费用。该费用以百分比表示,在分配前从提名人获得的质押奖励中扣除。需要注意的是,验证者可以随时调整佣金率" + "commissionTooltip": "佣金是指验证者在质押过程中为其提供的服务收取的费用。该费用以百分比表示,在分配前从提名人获得的质押奖励中扣除。需要注意的是,验证者可以随时调整佣金率", + "return": "返回" }, "info": { - "redeemable": "可赎回", "unstaking": "取消质押", "stakingBalance": "质押余额", "rewarded": "奖励", @@ -1394,6 +1403,26 @@ "title": "领取奖励", "checkRewards": "检查每个时代和验证者的奖励", "rewardsDestination": "奖励目标地址" + }, + "selectedValidators": "{count} ( {Max} {max} )", + "withdraw": { + "withdrawable": "可抽出式", + "beingWithdrawn": "被撤回", + "seeAll": "查看全部", + "nextWithdrawal": "下次提款", + "countdownLeft": "左边" + }, + "stakeDialog": { + "toStake": "质押", + "toRemove": "去除" + }, + "withdrawDialog": { + "title": "提取未抵押的资金", + "showAllWithdraws": "显示所有提款" + }, + "allWithdrawsDialog": { + "title": "取消质押活动", + "information": "一旦您取消质押代币,就有一个强制性的 7 天取消质押期。在此期限之后,您的代币将不会自动返回您的钱包。您必须通过手动提取代币来完成该过程。" } }, "collapseText": "崩溃", diff --git a/src/router/index.ts b/src/router/index.ts index 91895841f..b4b12eaec 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -275,6 +275,11 @@ const routes: Array = [ name: PageNames.OrderBook, component: lazyView(PageNames.OrderBook), }, + { + path: '/kensetsu', + name: PageNames.Kensetsu, + component: lazyView(PageNames.Kensetsu), + }, { path: '*', redirect: '/swap', diff --git a/src/store/orderBook/actions.ts b/src/store/orderBook/actions.ts index 5fa5fdf14..2b8a34dc4 100644 --- a/src/store/orderBook/actions.ts +++ b/src/store/orderBook/actions.ts @@ -3,14 +3,43 @@ import { defineActions } from 'direct-vuex'; import { combineLatest } from 'rxjs'; import { subscribeOnOrderBookUpdates, fetchOrderBooks } from '@/indexer/queries/orderBook'; +import { TokenBalanceSubscriptions } from '@/utils/subscriptions'; import { orderBookActionContext } from '.'; import type { OrderBook } from '@sora-substrate/liquidity-proxy'; +import type { AccountBalance } from '@sora-substrate/util/build/assets/types'; import type { LimitOrder } from '@sora-substrate/util/build/orderBook/types'; import type { Subscription } from 'rxjs'; +const balanceSubscriptions = new TokenBalanceSubscriptions(); + const actions = defineActions({ + updateBalanceSubscription(context, reset: boolean): void { + const { commit, getters, rootGetters } = orderBookActionContext(context); + + const { baseAsset: token } = getters; + const { setBaseAssetBalance } = commit; + const field = token?.address as string; + + if (reset) { + balanceSubscriptions.resetSubscriptions(); + return; + } + + const updateBalance = (balance: Nullable) => setBaseAssetBalance(balance); + + balanceSubscriptions.remove(field); + + if ( + rootGetters.wallet.account.isLoggedIn && + token?.address && + !(token.address in rootGetters.wallet.account.accountAssetsAddressTable) + ) { + balanceSubscriptions.add(field, { updateBalance, token }); + } + }, + async getOrderBooksInfo(context): Promise { const { commit, rootGetters } = orderBookActionContext(context); const { whitelist } = rootGetters.wallet.account; @@ -37,7 +66,7 @@ const actions = defineActions({ stats, } = item; - const key = api.orderBook.serializedKey(base, quote); + const key = api.orderBook.serializeKey(base, quote); buffer[key] = stats; return buffer; }, {}); @@ -105,7 +134,7 @@ const actions = defineActions({ stats, deals, } = data; - const key = api.orderBook.serializedKey(base, quote); + const key = api.orderBook.serializeKey(base, quote); commit.setDeals(deals); commit.setStats({ [key]: stats }); }, diff --git a/src/store/orderBook/getters.ts b/src/store/orderBook/getters.ts index 0344e7b45..4c87a3286 100644 --- a/src/store/orderBook/getters.ts +++ b/src/store/orderBook/getters.ts @@ -15,7 +15,12 @@ const getters = defineGetters()({ baseAsset(...args): Nullable { const { state, rootGetters } = orderBookGetterContext(args); if (!state.baseAssetAddress) return null; - return rootGetters.assets.assetDataByAddress(state.baseAssetAddress); + const token = rootGetters.assets.assetDataByAddress(state.baseAssetAddress); + const balance = state.baseAssetBalance; + if (balance) { + return { ...token, balance } as RegisteredAccountAsset; + } + return token; }, quoteAsset(...args): Nullable { const { state, rootGetters } = orderBookGetterContext(args); @@ -28,7 +33,7 @@ const getters = defineGetters()({ if (!(baseAsset && quoteAsset)) return ''; - return api.orderBook.serializedKey(baseAsset.address, quoteAsset.address); + return api.orderBook.serializeKey(baseAsset.address, quoteAsset.address); }, currentOrderBook(...args): Nullable { const { getters, state } = orderBookGetterContext(args); diff --git a/src/store/orderBook/mutations.ts b/src/store/orderBook/mutations.ts index b36673708..12f2c6c83 100644 --- a/src/store/orderBook/mutations.ts +++ b/src/store/orderBook/mutations.ts @@ -6,6 +6,7 @@ import type { OrderBookDealData, OrderBookStats } from '@/types/orderBook'; import type { OrderBookState } from './types'; import type { OrderBookId, OrderBookPriceVolume, OrderBook } from '@sora-substrate/liquidity-proxy'; +import type { AccountBalance } from '@sora-substrate/util/build/assets/types'; import type { LimitOrder } from '@sora-substrate/util/build/orderBook/types'; import type { Subscription } from 'rxjs'; @@ -79,6 +80,9 @@ const mutations = defineMutations()({ setAmountSliderValue(state, percent: number) { state.amountSliderValue = percent; }, + setBaseAssetBalance(state, balance: Nullable) { + state.baseAssetBalance = balance; + }, }); export default mutations; diff --git a/src/store/orderBook/state.ts b/src/store/orderBook/state.ts index 8cfea5703..e7d0078a1 100644 --- a/src/store/orderBook/state.ts +++ b/src/store/orderBook/state.ts @@ -26,6 +26,7 @@ function initialState(): OrderBookState { pagedUserLimitOrdersSubscription: null, ordersToBeCancelled: [], amountSliderValue: 0, + baseAssetBalance: null, }; } diff --git a/src/store/orderBook/types.ts b/src/store/orderBook/types.ts index 765bfcb6d..30e137bca 100644 --- a/src/store/orderBook/types.ts +++ b/src/store/orderBook/types.ts @@ -2,6 +2,7 @@ import type { LimitOrderType } from '@/consts'; import type { OrderBookStats, OrderBookDealData } from '@/types/orderBook'; import type { PriceVariant, OrderBookPriceVolume, OrderBook } from '@sora-substrate/liquidity-proxy'; +import type { AccountBalance } from '@sora-substrate/util/build/assets/types'; import type { DexId } from '@sora-substrate/util/build/dex/consts'; import type { LimitOrder } from '@sora-substrate/util/build/orderBook/types'; import type { Subscription } from 'rxjs'; @@ -26,4 +27,5 @@ export type OrderBookState = { pagedUserLimitOrdersSubscription: Nullable; ordersToBeCancelled: Array; amountSliderValue: number; + baseAssetBalance: Nullable; }; diff --git a/src/store/removeLiquidity/actions.ts b/src/store/removeLiquidity/actions.ts index ca8153856..dedddf47a 100644 --- a/src/store/removeLiquidity/actions.ts +++ b/src/store/removeLiquidity/actions.ts @@ -14,11 +14,11 @@ function updateFirstTokenAmount(context: ActionContext): void { const value = state.secondTokenAmount; if (value && Number.isFinite(+value)) { - const part = new FPNumber(value).div(getters.secondTokenBalance); + const part = new FPNumber(value).div(getters.secondTokenBalance as FPNumber); commit.setRemovePart(Math.round(part.mul(FPNumber.HUNDRED).toNumber()).toString()); - commit.setLiquidityAmount(part.mul(getters.liquidityBalance).toString()); - commit.setFirstTokenAmount(part.mul(getters.firstTokenBalance).toString()); + commit.setLiquidityAmount(part.mul(getters.liquidityBalance as FPNumber).toString()); + commit.setFirstTokenAmount(part.mul(getters.firstTokenBalance as FPNumber).toString()); } else { commit.setRemovePart(); commit.setLiquidityAmount(); @@ -32,11 +32,13 @@ function updateSecondTokenAmount(context: ActionContext): void { const value = state.firstTokenAmount; if (value && Number.isFinite(+value)) { - const part = Number.isFinite(+value) ? new FPNumber(value).div(getters.firstTokenBalance) : FPNumber.ZERO; + const part = Number.isFinite(+value) + ? new FPNumber(value).div(getters.firstTokenBalance as FPNumber) + : FPNumber.ZERO; commit.setRemovePart(Math.round(part.mul(FPNumber.HUNDRED).toNumber()).toString()); - commit.setLiquidityAmount(part.mul(getters.liquidityBalance).toString()); - commit.setSecondTokenAmount(part.mul(getters.secondTokenBalance).toString()); + commit.setLiquidityAmount(part.mul(getters.liquidityBalance as FPNumber).toString()); + commit.setSecondTokenAmount(part.mul(getters.secondTokenBalance as FPNumber).toString()); } else { commit.setRemovePart(); commit.setLiquidityAmount(); @@ -50,9 +52,9 @@ function updateRemovePart(context: ActionContext): void { const part = new FPNumber(state.removePart).div(FPNumber.HUNDRED); if (!part.isZero()) { - commit.setLiquidityAmount(part.mul(getters.liquidityBalance).toString()); - commit.setFirstTokenAmount(part.mul(getters.firstTokenBalance).toString()); - commit.setSecondTokenAmount(part.mul(getters.secondTokenBalance).toString()); + commit.setLiquidityAmount(part.mul(getters.liquidityBalance as FPNumber).toString()); + commit.setFirstTokenAmount(part.mul(getters.firstTokenBalance as FPNumber).toString()); + commit.setSecondTokenAmount(part.mul(getters.secondTokenBalance as FPNumber).toString()); } else { commit.setLiquidityAmount(); commit.setFirstTokenAmount(); diff --git a/src/store/removeLiquidity/getters.ts b/src/store/removeLiquidity/getters.ts index 2fae226d6..67a70d316 100644 --- a/src/store/removeLiquidity/getters.ts +++ b/src/store/removeLiquidity/getters.ts @@ -51,7 +51,7 @@ const getters = defineGetters()({ const baseAsset = getters.liquidity.firstAddress; const poolAsset = getters.liquidity.secondAddress; - const balance = getters.liquidityBalanceFull; + const balance = getters.liquidityBalanceFull as FPNumber; const lockedBalance = rootGetters.demeterFarming.getLockedAmount(baseAsset, poolAsset, true); const maxLocked = FPNumber.min(balance, lockedBalance) as FPNumber; @@ -66,7 +66,7 @@ const getters = defineGetters()({ const baseAsset = getters.liquidity.firstAddress; const poolAsset = getters.liquidity.secondAddress; - const balance = getters.liquidityBalanceFull; + const balance = getters.liquidityBalanceFull as FPNumber; const lockedBalance = rootGetters.pool.getLockedAmount(baseAsset, poolAsset); const maxLocked = FPNumber.min(balance, lockedBalance) as FPNumber; @@ -78,8 +78,8 @@ const getters = defineGetters()({ const { getters } = removeLiquidityGetterContext(args); const balance = getters.liquidityBalanceFull; - const demeterLockedBalance = getters.demeterLockedBalance; - const ceresLockedBalance = getters.ceresLockedBalance; + const demeterLockedBalance = getters.demeterLockedBalance as FPNumber; + const ceresLockedBalance = getters.ceresLockedBalance as FPNumber; const maxLocked = FPNumber.max(demeterLockedBalance, ceresLockedBalance) as FPNumber; return balance.sub(maxLocked); @@ -108,7 +108,7 @@ const getters = defineGetters()({ const tokenBalance = FPNumber.fromCodecValue(getters.liquidity.firstBalance, getters.firstToken?.decimals); - return tokenBalance.mul(getters.liquidityBalance).div(getters.liquidityBalanceFull); + return tokenBalance.mul(getters.liquidityBalance as FPNumber).div(getters.liquidityBalanceFull as FPNumber); }, // Second token free balance secondTokenBalance(...args): FPNumber { @@ -118,7 +118,7 @@ const getters = defineGetters()({ const tokenBalance = FPNumber.fromCodecValue(getters.liquidity.secondBalance, getters.secondToken?.decimals); - return tokenBalance.mul(getters.liquidityBalance).div(getters.liquidityBalanceFull); + return tokenBalance.mul(getters.liquidityBalance as FPNumber).div(getters.liquidityBalanceFull as FPNumber); }, shareOfPool(...args): string { const { state, getters } = removeLiquidityGetterContext(args); diff --git a/src/store/removeLiquidity/state.ts b/src/store/removeLiquidity/state.ts index 1675f8b4a..7cd70fbfa 100644 --- a/src/store/removeLiquidity/state.ts +++ b/src/store/removeLiquidity/state.ts @@ -1,5 +1,3 @@ -import { ZeroStringValue } from '@/consts'; - import type { RemoveLiquidityState } from './types'; function initialState(): RemoveLiquidityState { diff --git a/src/store/removeLiquidity/types.ts b/src/store/removeLiquidity/types.ts index ac4715816..b7895511d 100644 --- a/src/store/removeLiquidity/types.ts +++ b/src/store/removeLiquidity/types.ts @@ -1,5 +1,3 @@ -import type { CodecString } from '@sora-substrate/util'; - export enum FocusedField { First = 'firstTokenAmount', Second = 'secondTokenAmount', diff --git a/src/utils/bridge/eth/classes/reducers.ts b/src/utils/bridge/eth/classes/reducers.ts index 935a0565c..6367f6011 100644 --- a/src/utils/bridge/eth/classes/reducers.ts +++ b/src/utils/bridge/eth/classes/reducers.ts @@ -128,7 +128,7 @@ export class EthBridgeOutgoingReducer extends EthBridgeReducer { // signed sora transaction has to be parsed by subquery if (tx.txId && !tx.blockId) { // format account address to sora format - const address = ethBridgeApi.formatAddress(ethBridgeApi.account.pair.address); + const address = ethBridgeApi.formatAddress(ethBridgeApi.account!.pair.address); const bridgeHistory = await this.getBridgeHistoryInstance(); const historyItem = first(await bridgeHistory.fetchHistoryElements(address, 0, [tx.txId])); diff --git a/src/utils/bridge/sub/classes/adapter.ts b/src/utils/bridge/sub/classes/adapter.ts index 3a9fb4393..20afcbff0 100644 --- a/src/utils/bridge/sub/classes/adapter.ts +++ b/src/utils/bridge/sub/classes/adapter.ts @@ -106,7 +106,7 @@ export class SubAdapter { const extrinsic = this.getTransferExtrinsic(asset, recipient, amount); - await subBridgeApi.submitApiExtrinsic(this.api, extrinsic, subBridgeApi.account.pair, historyItem); + await subBridgeApi.submitApiExtrinsic(this.api, extrinsic, subBridgeApi.account!.pair, historyItem); } /* [Substrate 5] Runtime call transactionPaymentApi */ diff --git a/src/utils/bridge/sub/classes/reducers.ts b/src/utils/bridge/sub/classes/reducers.ts index da4a9f281..af272fd8a 100644 --- a/src/utils/bridge/sub/classes/reducers.ts +++ b/src/utils/bridge/sub/classes/reducers.ts @@ -404,6 +404,8 @@ export class SubBridgeOutgoingReducer extends SubBridgeReducer { this.asset = { ...asset }; if (tx.txId) return; + // transaction not signed + await this.beforeSign(id); // open connections await this.connector.start(); // sign transaction diff --git a/src/utils/subscriptions.ts b/src/utils/subscriptions.ts index cdce42cd4..71672c55a 100644 --- a/src/utils/subscriptions.ts +++ b/src/utils/subscriptions.ts @@ -36,4 +36,13 @@ export class TokenBalanceSubscriptions { this.subscriptions.delete(key); } + + resetSubscriptions(): void { + for (const [key, item] of this.subscriptions.entries()) { + item?.subscription?.unsubscribe(); + item?.updateBalance?.(null); + + this.subscriptions.delete(key); + } + } } diff --git a/src/views/Bridge.vue b/src/views/Bridge.vue index 9f69c557a..490123692 100644 --- a/src/views/Bridge.vue +++ b/src/views/Bridge.vue @@ -293,7 +293,7 @@ import { } from '@/utils'; import type { IBridgeTransaction, CodecString } from '@sora-substrate/util'; -import type { AccountAsset, RegisteredAccountAsset } from '@sora-substrate/util/build/assets/types'; +import type { RegisteredAccountAsset } from '@sora-substrate/util/build/assets/types'; @Component({ components: { diff --git a/src/views/Explore/Container.vue b/src/views/Explore/Container.vue index 7c8747dec..8ebd9270c 100644 --- a/src/views/Explore/Container.vue +++ b/src/views/Explore/Container.vue @@ -1,13 +1,29 @@