From c230c4d81a4b017abd033f5a862cf2b542707368 Mon Sep 17 00:00:00 2001
From: CM
Date: Sun, 28 Jan 2024 16:48:15 +0000
Subject: [PATCH 01/27] Reintroduce BTS blockchains and change protocol
Add BTS & Tusc back
Change protocol from beet to beeteos so that beeteos and beet don't both try to process a beeteos deeplink
---
README.md | 11 +-
src/background.js | 12 +-
src/components/add-account.vue | 18 +
.../blockchains/bitshares/ImportBinFile.vue | 284 ++
.../blockchains/bitshares/ImportCloudPass.vue | 179 +
.../blockchains/bitshares/ImportMemo.vue | 128 +
src/components/qr.vue | 4 +-
src/components/raw-link.vue | 16 +-
src/components/totp.vue | 8 +-
src/config/config.js | 116 +-
src/lib/assetUtils.js | 1 +
src/lib/blockchains/BitShares.js | 1936 ++++++++
src/lib/blockchains/TUSC.js | 68 +
.../blockchains/bitshares/BTSWalletHandler.js | 174 +
src/lib/blockchains/bitshares/beautify.js | 4208 +++++++++++++++++
src/lib/blockchains/blockchainFactory.js | 24 +-
src/scripts/EOS/README.md | 2 +-
src/scripts/EOS/buyrambytes.js | 2 +-
src/scripts/EOS/delegatebw.js | 2 +-
src/store/modules/SettingsStore.js | 3 +
src/translations/operations/da.json | 1438 ++++++
src/translations/operations/de.json | 1438 ++++++
src/translations/operations/en.json | 1439 ++++++
src/translations/operations/es.json | 1438 ++++++
src/translations/operations/et.json | 1438 ++++++
src/translations/operations/fr.json | 1438 ++++++
src/translations/operations/it.json | 1438 ++++++
src/translations/operations/ja.json | 1438 ++++++
src/translations/operations/ko.json | 1438 ++++++
src/translations/operations/pt.json | 1438 ++++++
src/translations/operations/th.json | 1438 ++++++
31 files changed, 22952 insertions(+), 63 deletions(-)
create mode 100644 src/components/blockchains/bitshares/ImportBinFile.vue
create mode 100644 src/components/blockchains/bitshares/ImportCloudPass.vue
create mode 100644 src/components/blockchains/bitshares/ImportMemo.vue
create mode 100644 src/lib/blockchains/BitShares.js
create mode 100644 src/lib/blockchains/TUSC.js
create mode 100644 src/lib/blockchains/bitshares/BTSWalletHandler.js
create mode 100644 src/lib/blockchains/bitshares/beautify.js
diff --git a/README.md b/README.md
index 7085f10f..6af81470 100644
--- a/README.md
+++ b/README.md
@@ -4,13 +4,13 @@ Interacting with any blockchain can be cumbersome if you are not familiar with h
In general, every action on a blockchain requires a cryptographic signature of the required private keys for the action, and when you are using third party tools (especially closed source ones), the question about trust quickly arises ("Are they gonna steal my private keys?").
-BeetEOS aims to solve these trust concerns, whilst additionally facilitating private key managament for the everyday EOS user.
+BeetEOS aims to solve these trust concerns, whilst additionally facilitating private key managament for the everyday EOS/Bitshares based blockchain user.
A general rule of thumb for the inexperienced: Never ever expose your private keys on the internet, and if that is ever needed, stay vigilant and do your due diligence.
# BeetEOS - Your EOS blockchain companion
-BeetEOS is a locally installed stand-alone key and identity manager and signing app for EOS based blockchains, originally evolved from the BitShares Blockchains and influenced by the [Beet](https://github.com/bitshares/beet) and [Scatter](https://github.com/GetScatter) wallets.
+BeetEOS is a locally installed stand-alone key and identity manager and signing app for both Bitshares and EOS based blockchains influenced by the [Beet](https://github.com/bitshares/beet) and [Scatter](https://github.com/GetScatter) wallets.
BeetEOS allows separate account management while being in full control of what data to expose to third parties.
@@ -44,11 +44,11 @@ Releases are bundled as installers and are available at https://github.com/bitsh
ATTENTION
-Beet binaries will never be hosted anywhere but within GitHub releases. If you find Beet binaries anywhere else, it is likely a phishing attempt.
+BeetEOS binaries will never be hosted anywhere but within GitHub releases. If you find Beet binaries anywhere else, it is likely a phishing attempt.
## For developers
-Beet is an [electron-based app](https://www.electronjs.org) for [cross-platform compatibility](https://www.electron.build), utilising the [VueJS framework](https://blog.vuejs.org/posts/vue-3-as-the-new-default.html), [BalmUI design system](https://material.balmjs.com) and the [Socket.IO](https://socket.io) libraries.
+BeetEOS is an [electron-based app](https://www.electronjs.org) for [cross-platform compatibility](https://www.electron.build), utilising the [VueJS framework](https://blog.vuejs.org/posts/vue-3-as-the-new-default.html), [BalmUI design system](https://material.balmjs.com) and the [Socket.IO](https://socket.io) libraries.
To run Beet it's simply a case of
@@ -68,7 +68,8 @@ If you are in linux you may need to do: `sudo apt-get install libudev-dev` befor
## Current Limitations
-BeetEOS currently only supports single-sig accounts (one private key to unlock the blockchain action), and depending on the blockchain different import options may be available.
+BeetEOS currently only supports single-signature accounts (one private key to unlock the blockchain action), and depending on the blockchain different import options may be available.
+
Please open an issue to add support for your desired way.
## Encountered an issue? Want a new feature?
diff --git a/src/background.js b/src/background.js
index 25213bd2..f9e9122f 100644
--- a/src/background.js
+++ b/src/background.js
@@ -572,7 +572,7 @@ if (currentOS == 'win32') {
let urlType = args[3].includes('raw') ? 'rawdeeplink' : 'deeplink';
let deeplinkingUrl = args[3].replace(
- urlType === 'deeplink' ? 'beet://api/' : 'rawbeet://api/',
+ urlType === 'deeplink' ? 'beeteos://api/' : 'rawbeeteos://api/',
''
);
@@ -599,16 +599,16 @@ if (currentOS == 'win32') {
console.log(error)
}
- app.setAsDefaultProtocolClient('beet', process.execPath, [defaultPath])
- app.setAsDefaultProtocolClient('rawbeet', process.execPath, [defaultPath])
+ app.setAsDefaultProtocolClient('beeteos', process.execPath, [defaultPath])
+ app.setAsDefaultProtocolClient('rawbeeteos', process.execPath, [defaultPath])
app.whenReady().then(() => {
createWindow();
});
}
} else {
- app.setAsDefaultProtocolClient('beet')
- app.setAsDefaultProtocolClient('rawbeet')
+ app.setAsDefaultProtocolClient('beeteos')
+ app.setAsDefaultProtocolClient('rawbeeteos')
// mac or linux
app.whenReady().then(() => {
@@ -620,7 +620,7 @@ if (currentOS == 'win32') {
let urlType = urlString.contains('raw') ? 'rawdeeplink' : 'deeplink';
let deeplinkingUrl = urlString.replace(
- urlType === 'deeplink' ? 'beet://api/' : 'rawbeet://api/',
+ urlType === 'deeplink' ? 'beeteos://api/' : 'rawbeeteos://api/',
''
);
diff --git a/src/components/add-account.vue b/src/components/add-account.vue
index 4dc95434..b5889831 100644
--- a/src/components/add-account.vue
+++ b/src/components/add-account.vue
@@ -3,6 +3,9 @@
import { ipcRenderer } from 'electron';
import { useI18n } from 'vue-i18n';
+ import ImportCloudPass from "./blockchains/bitshares/ImportCloudPass";
+ import ImportBinFile from "./blockchains/bitshares/ImportBinFile";
+ import ImportMemo from "./blockchains/bitshares/ImportMemo";
import ImportKeys from "./blockchains/ImportKeys";
import store from '../store/index';
@@ -388,6 +391,21 @@
v-model="importMethod"
:chain="selectedChain"
/>
+
+
+
No import option found
diff --git a/src/components/blockchains/bitshares/ImportBinFile.vue b/src/components/blockchains/bitshares/ImportBinFile.vue
new file mode 100644
index 00000000..b0a0b95c
--- /dev/null
+++ b/src/components/blockchains/bitshares/ImportBinFile.vue
@@ -0,0 +1,284 @@
+
+
+
+
+
+
+
+
+ {{ t('common.import_bin_progress') }}
+
+
+
+
+ {{ t('common.import_bin_file') }}
+
+
+
+ {{ t('common.import_bin_pass') }}
+
+
+
+
+ {{ t('common.next_btn') }}
+
+
+
+ {{ t('common.back_btn') }}
+
+
+
+
+
+
+
+
+ Account Name
+
+
+ Active Authority
+
+
+ Owner Authority
+
+
+ Memo
+
+
+ Import?
+
+
+
+
+ Propose
+
+
+ Remove?
+
+
+
+
+
+
+ {{ account.name }} ({{ account.id }})
+
+
+ {{ account.active.canPropose ? 'Y' : 'N' }}
+
+
+ {{ account.active.canTransact ? 'Y' : 'N' }}
+
+
+ {{ account.owner.canPropose ? 'Y' : 'N' }}
+
+
+ {{ account.owner.canTransact ? 'Y' : 'N' }}
+
+
+ {{ account.memo.canSend ? 'Y' : 'N' }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ t('common.back_btn') }}
+
+
+
+ {{ t('common.next_btn') }}
+
+
+
+ {{ t('common.next_btn') }}
+
+
+
+ {{ t('common.next_btn') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/blockchains/bitshares/ImportCloudPass.vue b/src/components/blockchains/bitshares/ImportCloudPass.vue
new file mode 100644
index 00000000..a98c4d95
--- /dev/null
+++ b/src/components/blockchains/bitshares/ImportCloudPass.vue
@@ -0,0 +1,179 @@
+
+
+
+
+
+ {{ t('common.account_name', { 'chain' : chain}) }}
+
+
+
+ {{ t('common.btspass_cta') }}
+
+
+
+
+
+
+ Legacy key mode
+
+
+
+
+ {{ t('common.back_btn') }}
+
+
+ {{ t('common.next_btn') }}
+
+
+
+ {{ t('common.next2_btn') }}
+
+
+
+ {{ t('common.error_text') }}
+
+
+
+
+
+ Connecting to blockchain
+
+
+ {{ t('common.next_btn') }}
+
+
+
+
+
diff --git a/src/components/blockchains/bitshares/ImportMemo.vue b/src/components/blockchains/bitshares/ImportMemo.vue
new file mode 100644
index 00000000..01a9baf5
--- /dev/null
+++ b/src/components/blockchains/bitshares/ImportMemo.vue
@@ -0,0 +1,128 @@
+
+
+
+
+
+ {{ t('common.account_name', { 'chain' : chain}) }}
+
+
+
+ {{ t('common.keys_cta') }}
+
+
+
+ {{ t('common.memo_authority') }}
+
+
+
+
+ {{ t('common.use_only_for_messages_and_proof') }}
+
+
+
+
+
+ {{ t('common.back_btn') }}
+
+
+
+ {{ t('common.next_btn') }}
+
+
+ {{ t('common.next_btn') }}
+
+
+
+
+
diff --git a/src/components/qr.vue b/src/components/qr.vue
index fe788fce..e062ad45 100644
--- a/src/components/qr.vue
+++ b/src/components/qr.vue
@@ -44,9 +44,9 @@
qrInProgress.value = false;
return;
}
-
+
let authorizedUse = false;
- if (refChain === "BTS") {
+ if (!["BTS", "BTS_TEST", "TUSC"].includes(refChain)) {
for (let i = 0; i < qrTX.operations.length; i++) {
let operation = qrTX.operations[i];
if (settingsRows.value && settingsRows.value.includes(operation[0])) {
diff --git a/src/components/raw-link.vue b/src/components/raw-link.vue
index 01cc6cb8..06a3c951 100644
--- a/src/components/raw-link.vue
+++ b/src/components/raw-link.vue
@@ -166,13 +166,9 @@
if (apiobj.type === Actions.INJECTED_CALL) {
let tr;
try {
- if (chain === "BTS") {
+ if (["BTS", "BTS_TEST", "TUSC"].includes(chain)) {
tr = blockchain._parseTransactionBuilder(request.payload.params);
- } else if (
- chain === "EOS" ||
- chain === "BEOS" ||
- chain === "TLOS"
- ) {
+ } else if (["EOS", "BEOS", "TLOS"].includes(chain)) {
tr = JSON.parse(request.payload.params[1]);
}
} catch (error) {
@@ -180,7 +176,7 @@
}
let authorizedUse = false;
- if (chain === "BTS") {
+ if (["BTS", "BTS_TEST", "TUSC"].includes(chain)) {
for (let i = 0; i < tr.operations.length; i++) {
let operation = tr.operations[i];
if (settingsRows.value && settingsRows.value.includes(operation[0])) {
@@ -188,11 +184,7 @@
break;
}
}
- } else if (
- chain === "EOS" ||
- chain === "BEOS" ||
- chain === "TLOS"
- ) {
+ } else if (["EOS", "BEOS", "TLOS"].includes(chain)) {
for (let i = 0; i < tr.actions.length; i++) {
let operation = tr.actions[i];
if (settingsRows.value && settingsRows.value.includes(operation.name)) {
diff --git a/src/components/totp.vue b/src/components/totp.vue
index 4bcb7bda..b4bb34e9 100644
--- a/src/components/totp.vue
+++ b/src/components/totp.vue
@@ -263,7 +263,7 @@
}
let authorizedUse = false;
- if (chain === "BTS") {
+ if (["BTS", "BTS_TEST", "TUSC"].includes(chain)) {
for (let i = 0; i < tr.operations.length; i++) {
let operation = tr.operations[i];
if (settingsRows.value && settingsRows.value.includes(operation[0])) {
@@ -271,11 +271,7 @@
break;
}
}
- } else if (
- chain === "EOS" ||
- chain === "BEOS" ||
- chain === "TLOS"
- ) {
+ } else if (["EOS", "BEOS", "TLOS"].includes(chain)) {
for (let i = 0; i < tr.actions.length; i++) {
let operation = tr.actions[i];
if (settingsRows.value && settingsRows.value.includes(operation.name)) {
diff --git a/src/config/config.js b/src/config/config.js
index deac0fc9..b4d23464 100644
--- a/src/config/config.js
+++ b/src/config/config.js
@@ -1,8 +1,82 @@
let _blockchains = {
+ BTS: {
+ coreSymbol: "BTS",
+ name: "BitShares",
+ chainId:
+ "4018d7844c78f6a6c41c6a552b898022310fc5dec06da467ee7905a8dad512c8",
+ nodeList: [
+ {
+ url: "wss://node.xbts.io/ws",
+ },
+ {
+ url: "wss://api.bts.mobi/ws",
+ },
+ {
+ url: "wss://nexus01.co.uk/ws",
+ },
+ {
+ url: "wss://dex.iobanker.com/ws",
+ },
+ {
+ url: "wss://api.dex.trading/",
+ },
+ {
+ url: "wss://api.bitshares.bhuz.info/ws",
+ },
+ {
+ url: "wss://btsws.roelandp.nl/ws",
+ },
+ ],
+ },
+ BTS_TEST: {
+ coreSymbol: "TEST",
+ name: "BitShares",
+ testnet: true,
+ chainId:
+ "39f5e2ede1f8bc1a3a54a7914414e3779e33193f1f5693510e73cb7a87617447",
+ nodeList: [
+ {
+ url: "wss://testnet.xbts.io/ws",
+ },
+ {
+ url: "wss://testnet.dex.trading/",
+ },
+ {
+ url: "wss://api-testnet.61bts.com/ws",
+ },
+ {
+ url: "wss://testnet.bitshares.im/ws",
+ },
+ {
+ url: "wss://eu.nodes.testnet.bitshares.ws/",
+ },
+ ],
+ },
+ TUSC: {
+ coreSymbol: "TUSC",
+ name: "The Universal Settlement Coin",
+ chainId:
+ "eb938e2a955e39e335120d0a99f3b9f8c04a9ed5690275ea5037d6bbadfc6cf3",
+ nodeList: [
+ {
+ url: "wss://api.tusc.network/wallet",
+ },
+ {
+ url: "wss://api.cryptotusc.com",
+ },
+ {
+ url: "wss://tuscapi.gambitweb.com",
+ },
+ {
+ url: "wss://api.readyrhino.one",
+ },
+ ],
+ },
EOS: {
- coreSymbol: 'EOS',
- name: 'EOSmainnet',
- chainId: 'aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906',
+ coreSymbol: "EOS",
+ name: "EOSmainnet",
+ chainId:
+ "aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906",
nodeList: [
{
url: "https://eos.greymass.com",
@@ -10,14 +84,15 @@ let _blockchains = {
region: "Unknown",
country: "Unknown",
operator: "Greymass",
- contact: "Greymass"
- }
- ]
+ contact: "Greymass",
+ },
+ ],
},
BEOS: {
- coreSymbol: 'BEOS',
- name: 'BEOSmainnet',
- chainId: 'cbef47b0b26d2b8407ec6a6f91284100ec32d288a39d4b4bbd49655f7c484112',
+ coreSymbol: "BEOS",
+ name: "BEOSmainnet",
+ chainId:
+ "cbef47b0b26d2b8407ec6a6f91284100ec32d288a39d4b4bbd49655f7c484112",
nodeList: [
{
url: "https://api.beos.world",
@@ -25,14 +100,15 @@ let _blockchains = {
region: "Unknown",
country: "Unknown",
operator: "BEOS",
- contact: "BEOS"
- }
- ]
+ contact: "BEOS",
+ },
+ ],
},
TLOS: {
- coreSymbol: 'TLOS',
- name: 'Telos',
- chainId: '4667b205c6838ef70ff7988f6e8257e8be0e1284a2f59699054a018f743b1d11',
+ coreSymbol: "TLOS",
+ name: "Telos",
+ chainId:
+ "4667b205c6838ef70ff7988f6e8257e8be0e1284a2f59699054a018f743b1d11",
nodeList: [
{
url: "https://api.theteloscope.io",
@@ -40,13 +116,13 @@ let _blockchains = {
region: "Unknown",
country: "Unknown",
operator: "Greymass",
- contact: "Greymass"
- }
- ]
- }
+ contact: "Greymass",
+ },
+ ],
+ },
};
-Object.keys(_blockchains).forEach(key => {
+Object.keys(_blockchains).forEach((key) => {
_blockchains[key].identifier = key;
});
diff --git a/src/lib/assetUtils.js b/src/lib/assetUtils.js
index 2b2a0f2f..656f75d0 100644
--- a/src/lib/assetUtils.js
+++ b/src/lib/assetUtils.js
@@ -2,6 +2,7 @@ const lookupPrecision = {
"EOS": 4,
"TLOS": 4,
"BEOS": 4,
+ "BTS": 5,
};
export function humanReadableFloat(satoshis, precision) {
diff --git a/src/lib/blockchains/BitShares.js b/src/lib/blockchains/BitShares.js
new file mode 100644
index 00000000..60f294fc
--- /dev/null
+++ b/src/lib/blockchains/BitShares.js
@@ -0,0 +1,1936 @@
+import BlockchainAPI from "./BlockchainAPI";
+import { Apis } from "bitsharesjs-ws";
+import {
+ Aes,
+ TransactionHelper,
+ PrivateKey,
+ PublicKey,
+ TransactionBuilder,
+ Signature,
+} from "bitsharesjs";
+import * as Socket from "simple-websocket";
+
+import * as Actions from "../Actions";
+
+import beautify from "./bitshares/beautify";
+import RendererLogger from "../RendererLogger";
+import { humanReadableFloat } from "../assetUtils";
+const logger = new RendererLogger();
+
+/**
+ * Returns the value of a nested property within an object, given a string path.
+ * @param {Object} obj - The object to search for the property.
+ * @param {string} path - The string path of the property to retrieve.
+ * @param {*} defaultValue - The default value to return if the property is not found.
+ * @returns {*} The value of the property, or the default value if the property is not found.
+ */
+const get = (obj, path, defaultValue = undefined) => {
+ const result = path
+ .split(".")
+ .reduce(
+ (res, key) => (res !== null && res !== undefined ? res[key] : res),
+ obj
+ );
+ return result !== undefined && result !== obj ? result : defaultValue;
+};
+
+/**
+ * Splits an array into smaller arrays of a specified size.
+ * @param {Array} input - The array to split.
+ * @param {number} size - The size of each chunk.
+ * @returns {Array} An array of smaller arrays, each of size 'size'.
+ */
+const chunk = (input, size) => {
+ return input.reduce((arr, item, idx) => {
+ return idx % size === 0
+ ? [...arr, [item]]
+ : [...arr.slice(0, -1), [...arr.slice(-1)[0], item]];
+ }, []);
+};
+
+export default class BitShares extends BlockchainAPI {
+ /*
+ * Signing a Bitshares NFT with the user's account.
+ * @param {string} key
+ * @param {String} nft_object
+ * @returns {Promise}
+ */
+ signNFT(key, nft_object) {
+ return new Promise((resolve, reject) => {
+ let updatedObject = JSON.parse(nft_object);
+ updatedObject.sig_pubkey_or_address = this.getPublicKey(key);
+ try {
+ resolve({
+ key: this.getPublicKey(key),
+ signed: updatedObject,
+ signature: this._signString(
+ key,
+ JSON.stringify(updatedObject)
+ ),
+ });
+ } catch (error) {
+ console.log(error);
+ reject(error);
+ }
+ });
+ }
+
+ /**
+ * Returning the list of injectable operations
+ * @returns {Array}
+ */
+ getOperationTypes() {
+ // No virtual operations included
+ return [
+ // Beet based
+ {
+ id: Actions.GET_ACCOUNT,
+ from: "",
+ method: Actions.GET_ACCOUNT,
+ },
+ {
+ id: Actions.REQUEST_SIGNATURE,
+ from: "",
+ method: Actions.REQUEST_SIGNATURE,
+ },
+ {
+ id: Actions.INJECTED_CALL,
+ from: "",
+ method: Actions.INJECTED_CALL,
+ },
+ {
+ id: Actions.VOTE_FOR,
+ from: "",
+ method: Actions.VOTE_FOR,
+ },
+ {
+ id: Actions.SIGN_MESSAGE,
+ from: "",
+ method: Actions.SIGN_MESSAGE,
+ },
+ {
+ id: Actions.SIGN_NFT,
+ from: "",
+ method: Actions.SIGN_NFT,
+ },
+ {
+ id: Actions.VERIFY_MESSAGE,
+ from: "",
+ method: Actions.VERIFY_MESSAGE,
+ },
+ {
+ id: Actions.TRANSFER,
+ from: "",
+ method: Actions.TRANSFER,
+ },
+ // Blockchain based:
+ {
+ id: 0,
+ from: "",
+ method: "transfer",
+ },
+ {
+ id: 1,
+ from: "seller",
+ method: "limit_order_create",
+ },
+ {
+ id: 2,
+ from: "fee_paying_account",
+ method: "limit_order_cancel",
+ },
+ {
+ id: 3,
+ from: "funding_account",
+ method: "call_order_update",
+ },
+ {
+ id: 5,
+ from: "registrar",
+ method: "account_create",
+ },
+ {
+ id: 6,
+ from: "account",
+ method: "account_update",
+ },
+ {
+ id: 7,
+ from: "authorizing_account",
+ method: "account_whitelist",
+ },
+ {
+ id: 8,
+ from: "account_to_upgrade",
+ method: "account_upgrade",
+ },
+ {
+ id: 9,
+ from: "account_id",
+ method: "account_transfer",
+ },
+ {
+ id: 10,
+ from: "issuer",
+ method: "asset_create",
+ },
+ {
+ id: 11,
+ from: "issuer",
+ method: "asset_update",
+ },
+ {
+ id: 12,
+ from: "issuer",
+ method: "asset_update_bitasset",
+ },
+ {
+ id: 13,
+ from: "issuer",
+ method: "asset_update_feed_producers",
+ },
+ {
+ id: 14,
+ from: "issuer",
+ method: "asset_issue",
+ },
+ {
+ id: 15,
+ from: "payer",
+ method: "asset_reserve",
+ },
+ {
+ id: 16,
+ from: "from_account",
+ method: "asset_fund_fee_pool",
+ },
+ {
+ id: 17,
+ from: "account",
+ method: "asset_settle",
+ },
+ {
+ id: 18,
+ from: "issuer",
+ method: "asset_global_settle",
+ },
+ {
+ id: 19,
+ from: "publisher",
+ method: "asset_publish_feed",
+ },
+ {
+ id: 20,
+ from: "witness_account",
+ method: "witness_create",
+ },
+ {
+ id: 21,
+ from: "witness_account",
+ method: "witness_update",
+ },
+ {
+ id: 22,
+ from: "fee_paying_account",
+ method: "proposal_create",
+ },
+ {
+ id: 23,
+ from: "fee_paying_account",
+ method: "proposal_update",
+ },
+ {
+ id: 24,
+ from: "fee_paying_account",
+ method: "proposal_delete",
+ },
+ {
+ id: 25,
+ from: "withdraw_from_account",
+ method: "withdraw_permission_create",
+ },
+ {
+ id: 26,
+ from: "withdraw_from_account",
+ method: "withdraw_permission_update",
+ },
+ {
+ id: 27,
+ from: "withdraw_from_account",
+ method: "withdraw_permission_claim",
+ },
+ {
+ id: 28,
+ from: "withdraw_from_account",
+ method: "withdraw_permission_delete",
+ },
+ {
+ id: 29,
+ from: "committee_member_account",
+ method: "committee_member_create",
+ },
+ {
+ id: 30,
+ from: "",
+ method: "committee_member_update",
+ },
+ {
+ id: 31,
+ from: "committee_member_account",
+ method: "committee_member_update_global_parameters",
+ },
+ {
+ id: 32,
+ from: "",
+ method: "vesting_balance_create",
+ },
+ {
+ id: 33,
+ from: "owner",
+ method: "vesting_balance_withdraw",
+ },
+ {
+ id: 34,
+ from: "owner",
+ method: "worker_create",
+ },
+ {
+ id: 35,
+ from: "payer",
+ method: "custom",
+ },
+ {
+ id: 36,
+ from: "fee_paying_account",
+ method: "assert",
+ },
+ {
+ id: 37,
+ from: "deposit_to_account",
+ method: "balance_claim",
+ },
+ {
+ id: 38,
+ from: "from",
+ method: "override_transfer",
+ },
+ {
+ id: 39,
+ from: "from",
+ method: "transfer_to_blind",
+ },
+ {
+ id: 40,
+ from: "",
+ method: "blind_transfer",
+ },
+ {
+ id: 41,
+ from: "",
+ method: "transfer_from_blind",
+ },
+ {
+ id: 43,
+ from: "issuer",
+ method: "asset_claim_fees",
+ },
+ {
+ id: 45,
+ from: "bidder",
+ method: "bid_collateral",
+ },
+ {
+ id: 47,
+ from: "issuer",
+ method: "asset_claim_pool",
+ },
+ {
+ id: 48,
+ from: "issuer",
+ method: "asset_update_issuer",
+ },
+ {
+ id: 49,
+ from: "from",
+ method: "htlc_create",
+ },
+ {
+ id: 50,
+ from: "redeemer",
+ method: "htlc_redeem",
+ },
+ {
+ id: 52,
+ from: "update_issuer",
+ method: "htlc_extend",
+ },
+ {
+ id: 54,
+ from: "account",
+ method: "custom_authority_create",
+ },
+ {
+ id: 55,
+ from: "account",
+ method: "custom_authority_update",
+ },
+ {
+ id: 56,
+ from: "account",
+ method: "custom_authority_delete",
+ },
+ {
+ id: 57,
+ from: "account",
+ method: "ticket_create",
+ },
+ {
+ id: 58,
+ from: "account",
+ method: "ticket_update",
+ },
+ {
+ id: 59,
+ from: "account",
+ method: "liquidity_pool_create",
+ },
+ {
+ id: 60,
+ from: "account",
+ method: "liquidity_pool_delete",
+ },
+ {
+ id: 61,
+ from: "account",
+ method: "liquidity_pool_deposit",
+ },
+ {
+ id: 62,
+ from: "account",
+ method: "liquidity_pool_withdraw",
+ },
+ {
+ id: 63,
+ from: "account",
+ method: "liquidity_pool_exchange",
+ },
+ {
+ id: 64,
+ from: "owner_account",
+ method: "samet_fund_create",
+ },
+ {
+ id: 65,
+ from: "owner_account",
+ method: "samet_fund_delete",
+ },
+ {
+ id: 66,
+ from: "owner_account",
+ method: "samet_fund_update",
+ },
+ {
+ id: 67,
+ from: "borrower",
+ method: "samet_fund_borrow",
+ },
+ {
+ id: 68,
+ from: "account",
+ method: "samt_fund_repay",
+ },
+ {
+ id: 69,
+ from: "owner_account",
+ method: "credit_offer_create",
+ },
+ {
+ id: 70,
+ from: "owner_account",
+ method: "credit_offer_delete",
+ },
+ {
+ id: 71,
+ from: "owner_account",
+ method: "credit_offer_update",
+ },
+ {
+ id: 72,
+ from: "borrower",
+ method: "credit_offer_accept",
+ },
+ {
+ id: 73,
+ from: "account",
+ method: "credit_deal_repay",
+ },
+ {
+ id: 75,
+ from: "account",
+ method: "liquidity_pool_update_operation",
+ },
+ {
+ id: 76,
+ from: "account",
+ method: "credit_deal_update_operation",
+ },
+ {
+ id: 77,
+ from: "seller",
+ method: "limit_order_update_operation",
+ },
+ ];
+ }
+
+ /**
+ * Test a wss url for successful connection.
+ * @param {String} url
+ * @returns {Object}
+ */
+ _testConnection(url) {
+ let timeoutPromise = new Promise((resolve) => {
+ setTimeout(() => {
+ resolve(null);
+ }, 2000);
+ });
+
+ let connectionPromise = new Promise(async (resolve, reject) => {
+ //console.log(`Testing: ${url}`);
+ let before = new Date();
+ let beforeTS = before.getTime();
+
+ let socket = new Socket(url);
+ socket.on("connect", () => {
+ let now = new Date();
+ let nowTS = now.getTime();
+ socket.destroy();
+ //console.log(`Success: ${url} (${nowTS - beforeTS}ms)`);
+ return resolve({ url: url, lag: nowTS - beforeTS });
+ });
+
+ socket.on("error", (error) => {
+ //console.log(`Failure: ${url}`);
+ socket.destroy();
+ return resolve(null);
+ });
+ });
+
+ const fastestPromise = Promise.race([
+ connectionPromise,
+ timeoutPromise,
+ ]).catch((error) => {
+ return null;
+ });
+
+ return fastestPromise;
+ }
+
+ /**
+ * Test the wss nodes, return latencies and fastest url.
+ * @returns {Promise}
+ */
+ async _testNodes() {
+ return new Promise(async (resolve, reject) => {
+ let urls = this.getNodes().map((node) => node.url);
+
+ let filteredURLS = urls.filter((url) => {
+ if (!this._tempBanned || !this._tempBanned.includes(url)) {
+ return true;
+ }
+ });
+
+ return Promise.all(
+ filteredURLS.map((url) => this._testConnection(url))
+ )
+ .then((validNodes) => {
+ let filteredNodes = validNodes.filter((x) => x);
+ if (filteredNodes.length) {
+ let sortedNodes = filteredNodes.sort(
+ (a, b) => a.lag - b.lag
+ );
+ let now = new Date();
+ return resolve({
+ node: sortedNodes[0].url,
+ latencies: sortedNodes,
+ timestamp: now.getTime(),
+ });
+ } else {
+ console.error(
+ "No valid BTS WSS connections established; Please check your internet connection."
+ );
+ return reject();
+ }
+ })
+ .catch((error) => {
+ console.log(error);
+ });
+ });
+ }
+
+ /*
+ * Fetch account/address list to warn users about
+ * List is maintained by the Bitshares committee
+ * @returns {Array}
+ */
+ getBlockedAccounts() {
+ return new Promise(async (resolve, reject) => {
+ if (this._config.identifier === "BTS_TEST") {
+ console.log("testnet - no blocked accounts");
+ return resolve([]);
+ }
+
+ let committeeAccountDetails;
+ try {
+ committeeAccountDetails = await this.getAccount(
+ "committee-blacklist-manager"
+ );
+ } catch (error) {
+ console.log(error);
+ return reject(error);
+ }
+
+ if (!committeeAccountDetails) {
+ return reject("Committee account details not found");
+ }
+
+ let blockedAccounts = committeeAccountDetails.blacklisted_accounts;
+ return resolve(blockedAccounts);
+ });
+ }
+
+ /**
+ * Fetch a working node to connect to, using bitsharesws-js manager class
+ * Unused code - manager class failed to disconnect fast enough.
+ * @returns {Promise}
+ */
+ /*
+ _fetchValidNode() {
+ return new Promise((resolve, reject) => {
+ let urls = this.getNodes().map(node => node.url);
+
+ let filteredURLS = urls.filter(url => {
+ if (!this._tempBanned || !this._tempBanned.includes(url)) {
+ return true;
+ }
+ });
+
+ let connectionManager = new Manager({
+ url: filteredURLS[0],
+ urls: filteredURLS,
+ closeCb: res => {
+ console.log(res);
+ },
+ optionalApis: {enableOrders: true},
+ urlChangeCallback: url => {
+ console.log("urlChangeCallback:", url);
+ }
+ })
+
+ connectionManager
+ .checkConnections()
+ .then(res => {
+ let urls = Object.keys(res);
+ let ascLagNodes = urls.map(url => {
+ return { url: url, lag: res[url] };
+ }).sort((a, b) => a.lag - b.lag);
+ //console.log("best node: ", ascLagNodes[0]);
+ let now = new Date();
+ resolve({
+ node: ascLagNodes[0].url,
+ latencies: ascLagNodes,
+ timestamp: now.getTime()
+ })
+ })
+ .catch(err => {
+ console.log("doLatencyUpdate error", err);
+ reject();
+ })
+ });
+ }
+ */
+
+ /*
+ * Check if the connection needs reestablished (placeholder replacement)
+ * @returns {Boolean}
+ */
+ async _needsNewConnection() {
+ return new Promise(async (resolve, reject) => {
+ if (
+ !this._isConnected ||
+ !this._isConnectedToNode ||
+ !this._nodeLatencies
+ ) {
+ return resolve(true);
+ }
+
+ if (this._isTestnet()) {
+ let _isConnectedToTestnet =
+ Apis.instance().url.indexOf("testnet") !== -1;
+ return resolve(_isConnectedToTestnet !== this._isTestnet());
+ }
+
+ let testConnection = await this._testConnection(
+ this._isConnectedToNode
+ );
+ let connectionResult =
+ testConnection && testConnection.url ? false : true;
+ return resolve(connectionResult);
+ });
+ }
+
+ /*
+ * Establish a connection
+ * @param {String} nodeToConnect
+ * @param {Promise} resolve
+ * @param {Promise} reject
+ * @returns {String}
+ */
+ _establishConnection(nodeToConnect, resolve, reject) {
+ if (!nodeToConnect) {
+ this._connectionFailed(reject, "", "No node url");
+ }
+
+ Apis.instance(
+ nodeToConnect,
+ true,
+ 4000,
+ { enableCrypto: false, enableOrders: false },
+ console.log("Initial WSS Connection closed")
+ )
+ .init_promise.then((res) => {
+ console.log({ msg: "established connection", res });
+ this._connectionEstablished(resolve, nodeToConnect);
+ })
+ .catch((error) => {
+ console.log(error);
+ this._connectionFailed(reject, nodeToConnect, error);
+ });
+ }
+
+ /*
+ * Connect to the Bitshares blockchain. (placeholder replacement)
+ * @param {String||null} nodeToConnect
+ * @returns {String}
+ */
+ _connect(nodeToConnect = null) {
+ return new Promise((resolve, reject) => {
+ if (nodeToConnect) {
+ //console.log(`nodetoconnect: ${nodeToConnect}`)
+ return this._establishConnection(
+ nodeToConnect,
+ resolve,
+ reject
+ );
+ }
+
+ if (
+ this._isConnected &&
+ this._isConnectedToNode &&
+ !nodeToConnect
+ ) {
+ //console.log(`isConnected: ${this._isConnectedToNode}`)
+ return this._connectionEstablished(
+ resolve,
+ this._isConnectedToNode
+ );
+ }
+
+ let diff;
+ if (this._nodeCheckTime) {
+ let now = new Date();
+ let nowTS = now.getTime();
+ diff = Math.abs(
+ Math.round((nowTS - this._nodeCheckTime) / 1000)
+ );
+ }
+
+ if (
+ !nodeToConnect &&
+ (!this._nodeLatencies || (diff && diff > 360))
+ ) {
+ // initializing the blockchain
+ return this._testNodes()
+ .then((res) => {
+ this._node = res.node;
+ this._nodeLatencies = res.latencies;
+ this._nodeCheckTime = res.timestamp;
+ console.log(`Establishing connection to ${res.node}`);
+ return this._establishConnection(
+ res.node,
+ resolve,
+ reject
+ );
+ })
+ .catch((error) => {
+ console.log(error);
+ return this._connectionFailed(
+ reject,
+ "",
+ "Node test fail"
+ );
+ });
+ } else if (!nodeToConnect && this._nodeLatencies) {
+ // blockchain has previously been initialized
+ let filteredNodes = this._nodeLatencies.filter((item) => {
+ if (!this._tempBanned.includes(item.url)) {
+ return true;
+ }
+ });
+
+ this._nodeLatencies = filteredNodes;
+ if (!filteredNodes || !filteredNodes.length) {
+ return this._connectionFailed(
+ reject,
+ "",
+ "No working nodes"
+ );
+ }
+
+ this._node = filteredNodes[0].url;
+ return this._establishConnection(
+ filteredNodes[0].url,
+ resolve,
+ reject
+ );
+ }
+ });
+ }
+
+ /*
+ * Returns an array of default import options. (placeholder replacement)
+ * @returns {Array}
+ */
+ getImportOptions() {
+ return [
+ {
+ type: "ImportKeys",
+ translate_key: "import_keys",
+ },
+ {
+ type: "bitshares/ImportBinFile",
+ translate_key: "import_bin",
+ },
+ {
+ type: "bitshares/ImportCloudPass",
+ translate_key: "import_pass",
+ },
+ {
+ type: "bitshares/ImportMemo",
+ translate_key: "import_only_memo",
+ },
+ ];
+ }
+
+ /*
+ * Retrieve the contents of the provided account name from the blockchain API
+ * @param {String} accountName
+ * @returns {Object} parsedAccount
+ */
+ async getAccount(accountName) {
+ let timeoutPromise = new Promise((resolve) => {
+ setTimeout(() => {
+ resolve(null);
+ }, 3000);
+ });
+
+ let timeLimitedPromise = new Promise(async (resolve, reject) => {
+ this.ensureConnection()
+ .then(() => {
+ Apis.instance()
+ .db_api()
+ .exec("get_full_accounts", [[accountName], false])
+ .then((response) => {
+ if (
+ !response ||
+ !response.length ||
+ !response[0].length
+ ) {
+ console.log({
+ error: "Failed to query blockchain",
+ apiURL: Apis.instance().url,
+ response: response,
+ accountName: accountName,
+ });
+ return reject("Failed to query BTS blockchain");
+ }
+
+ let parsedAccount = response[0][1].account;
+ parsedAccount.active.public_keys =
+ parsedAccount.active.key_auths;
+ parsedAccount.owner.public_keys =
+ parsedAccount.owner.key_auths;
+ parsedAccount.memo = {
+ public_key: parsedAccount.options.memo_key,
+ };
+ parsedAccount.balances = response[0][1].balances;
+ return resolve(parsedAccount);
+ })
+ .catch((error) => {
+ console.log(`get_full_accounts: ${error}`);
+ return this._connectionFailed(
+ reject,
+ this._node,
+ error
+ );
+ });
+ })
+ .catch((error) => {
+ console.log(`ensureConnection: ${error}`);
+ reject(error);
+ });
+ });
+
+ const fastestPromise = Promise.race([
+ timeLimitedPromise,
+ timeoutPromise,
+ ]).catch((error) => {
+ return null;
+ });
+
+ return fastestPromise;
+ }
+
+ /*
+ * Get the associated Bitshares account name from the provided account ID
+ * @param {String} accountId
+ * @returns {String}
+ */
+ _getAccountName(accountId) {
+ return new Promise((resolve, reject) => {
+ this.ensureConnection()
+ .then(() => {
+ Apis.instance()
+ .db_api()
+ .exec("get_objects", [[accountId]])
+ .then((asset_objects) => {
+ if (asset_objects.length && asset_objects[0]) {
+ resolve(asset_objects[0].name);
+ }
+ })
+ .catch(reject);
+ })
+ .catch(reject);
+ });
+ }
+
+ /**
+ * Given an array of account IDs, retrieve their account names
+ * @param {Array} accountIDs
+ * @param {Object}
+ */
+ _getMultipleAccountNames(accountIDs) {
+ return new Promise((resolve, reject) => {
+ this.ensureConnection()
+ .then(() => {
+ if (!accountIDs) {
+ resolve([]);
+ return;
+ }
+
+ Apis.instance()
+ .db_api()
+ .exec("get_objects", [accountIDs, false])
+ .then((results) => {
+ if (results && results.length) {
+ const filteredResults = results.filter(
+ (result) => result !== null
+ );
+ resolve(filteredResults);
+ return;
+ }
+ })
+ .catch((error) => {
+ console.error(
+ "Error fetching account details:",
+ error
+ );
+ reject(error);
+ });
+ })
+ .catch(reject);
+ });
+ }
+
+ /*
+ * Retrieve multiple asset objects from an array of asset IDs
+ * @param {Array} assetIDs
+ * @returns {Object}
+ */
+ _resolveMultipleAssets(assetIDs) {
+ let timeoutPromise = new Promise((resolve) => {
+ setTimeout(() => {
+ console.log("timed out");
+ resolve(null);
+ }, 3000);
+ });
+
+ let timeLimitedPromise = new Promise(async (resolve, reject) => {
+ this.ensureConnection()
+ .then(() => {
+ Apis.instance()
+ .db_api()
+ .exec("lookup_asset_symbols", [assetIDs])
+ .then((asset_objects) => {
+ if (asset_objects && asset_objects.length) {
+ resolve(asset_objects);
+ }
+ })
+ .catch((error) => {
+ console.log(error);
+ reject(error);
+ });
+ })
+ .catch((error) => {
+ console.log(error);
+ reject(error);
+ });
+ });
+
+ const fastestPromise = Promise.race([
+ timeLimitedPromise,
+ timeoutPromise,
+ ]).catch((error) => {
+ return null;
+ });
+
+ return fastestPromise;
+ }
+
+ /*
+ * Retrieve an asset object from a provided asset symbol or ID
+ * @param {String} assetSymbolOrId
+ * @returns {Object}
+ */
+ _resolveAsset(assetSymbolOrId) {
+ let timeoutPromise = new Promise((resolve) => {
+ setTimeout(() => {
+ console.log("timed out");
+ resolve(null);
+ }, 3000);
+ });
+
+ let timeLimitedPromise = new Promise(async (resolve, reject) => {
+ this.ensureConnection()
+ .then(() => {
+ Apis.instance()
+ .db_api()
+ .exec("lookup_asset_symbols", [[assetSymbolOrId]])
+ .then((asset_objects) => {
+ if (asset_objects.length && asset_objects[0]) {
+ resolve(asset_objects[0]);
+ }
+ })
+ .catch((error) => {
+ console.log(error);
+ reject(error);
+ });
+ })
+ .catch((error) => {
+ console.log(error);
+ reject(error);
+ });
+ });
+
+ const fastestPromise = Promise.race([
+ timeLimitedPromise,
+ timeoutPromise,
+ ]).catch((error) => {
+ return null;
+ });
+
+ return fastestPromise;
+ }
+
+ /*
+ * Retrieve an asset object from a provided asset symbol or ID
+ * @param {String} assetSymbolOrId
+ * @returns {Object}
+ */
+ getAsset(assetSymbolOrId) {
+ let timeoutPromise = new Promise((resolve) => {
+ setTimeout(() => {
+ resolve(null);
+ }, 3000);
+ });
+
+ let timeLimitedPromise = new Promise(async (resolve, reject) => {
+ if (this._isTestnet()) {
+ if (assetSymbolOrId == "1.3.0") {
+ return resolve({
+ asset_id: "1.3.0",
+ symbol: "TEST",
+ precision: 5,
+ });
+ } else {
+ // TODO: Provide testnet bitshares lookup
+ return reject(null);
+ }
+ }
+
+ this.ensureConnection()
+ .then(() => {
+ Apis.instance()
+ .db_api()
+ .exec("lookup_asset_symbols", [[assetSymbolOrId]])
+ .then((asset_objects) => {
+ if (!asset_objects.length || !asset_objects[0]) {
+ return resolve(null);
+ }
+
+ let retrievedAsset = asset_objects[0];
+ return resolve({
+ asset_id: retrievedAsset.id,
+ symbol: retrievedAsset.symbol,
+ precision: retrievedAsset.precision,
+ });
+ })
+ .catch((error) => {
+ console.log(error);
+ reject(error);
+ });
+ })
+ .catch((error) => {
+ console.log(error);
+ reject(error);
+ });
+ });
+
+ const fastestPromise = Promise.race([
+ timeLimitedPromise,
+ timeoutPromise,
+ ]).catch((error) => {
+ return null;
+ });
+
+ return fastestPromise;
+ }
+
+ /*
+ * Retrieve the Bitshares balances for the provided account name.
+ * @param {String} accountName
+ * @returns {Array} balances
+ */
+ getBalances(accountName) {
+ let timeoutPromise = new Promise((resolve) => {
+ setTimeout(() => {
+ resolve(null);
+ }, 5000);
+ });
+
+ let timeLimitedPromise = new Promise(async (resolve, reject) => {
+ // getAccount has already ensureConnection
+ this.getAccount(accountName)
+ .then((account) => {
+ let neededAssets = [];
+ for (let i = 0; i < account.balances.length; i++) {
+ neededAssets.push(account.balances[i].asset_type);
+ }
+ Apis.instance()
+ .db_api()
+ .exec("get_objects", [neededAssets])
+ .then((assets) => {
+ let balances = [];
+ for (let i = 0; i < account.balances.length; i++) {
+ balances[i] = {
+ asset_type: account.balances[i].asset_type,
+ asset_name: assets[i].symbol,
+ rawbalance: account.balances[i].balance,
+ balance: humanReadableFloat(
+ account.balances[i].balance,
+ assets[i].precision
+ ),
+ precision: assets[i].precision,
+ owner: assets[i].issuer,
+ prefix:
+ assets[i].issuer == "1.2.0"
+ ? "bit"
+ : "",
+ };
+ }
+ resolve(balances);
+ });
+ })
+ .catch((error) => {
+ console.log(error);
+ reject(error);
+ });
+ });
+
+ const fastestPromise = Promise.race([
+ timeLimitedPromise,
+ timeoutPromise,
+ ]).catch((error) => {
+ return null;
+ });
+
+ return fastestPromise;
+ }
+
+ /*
+ * Retrieve the pubkey from a provided BTS private key
+ * @param {String} privateKey
+ * @returns {String} publicKey
+ */
+ getPublicKey(privateKey) {
+ return PrivateKey.fromWif(privateKey)
+ .toPublicKey()
+ .toString(this._getCoreSymbol());
+ }
+
+ /*
+ * Map operational data for incoming Bitshares vote actions
+ * Retrieves committee members, witnesses and worker proposal objects.
+ * @param {Object} incoming
+ * @returns {Object}
+ */
+ mapOperationData(incoming) {
+ return new Promise((resolve, reject) => {
+ this.ensureConnection()
+ .then(() => {
+ if (incoming.action == "vote") {
+ let entity_id = incoming.params.id.split(".");
+ if (entity_id[0] != "1") {
+ reject("ID format unknown");
+ }
+ if (
+ entity_id[1] != "5" &&
+ entity_id[1] != "6" &&
+ entity_id[1] != "14"
+ ) {
+ reject("Given object does not support voting");
+ }
+ Apis.instance()
+ .db_api()
+ .exec("get_objects", [[incoming.params.id]])
+ .then((objdata) => {
+ switch (entity_id[1]) {
+ case "5":
+ Apis.instance()
+ .db_api()
+ .exec("get_objects", [
+ [
+ objdata[0]
+ .committee_member_account,
+ ],
+ ])
+ .then((objextradata) => {
+ resolve({
+ entity: "committee member",
+ description:
+ "Commitee member: " +
+ objextradata[0].name +
+ "\nCommittee Member ID: " +
+ incoming.params.id,
+ vote_id: objdata[0].vote_id,
+ });
+ })
+ .catch((error) => {
+ console.log(error);
+ reject(error);
+ });
+ break;
+ case "6":
+ Apis.instance()
+ .db_api()
+ .exec("get_objects", [
+ [objdata[0].witness_account],
+ ])
+ .then((objextradata) => {
+ resolve({
+ entity: "witness",
+ description:
+ "Witness: " +
+ objextradata[0].name +
+ "\nWitness ID: " +
+ incoming.params.id,
+ vote_id: objdata[0].vote_id,
+ });
+ })
+ .catch((error) => {
+ console.log(error);
+ reject(error);
+ });
+ break;
+ case "14":
+ Apis.instance()
+ .db_api()
+ .exec("get_objects", [
+ [objdata[0].worker_account],
+ ])
+ .then((objextradata) => {
+ let dailyPay =
+ objdata[0].daily_pay /
+ Math.pow(10, 5);
+ resolve({
+ entity: "worker proposal",
+ description:
+ "Proposal: " +
+ objdata[0].name +
+ "\nProposal ID: " +
+ incoming.params.id +
+ "\nDaily Pay: " +
+ dailyPay +
+ "BTS\nWorker Account: " +
+ objextradata[0].name,
+ vote_id:
+ objdata[0].vote_for,
+ });
+ })
+ .catch((error) => {
+ console.log(error);
+ reject(error);
+ });
+ break;
+ }
+ })
+ .catch((error) => {
+ console.log(error);
+ reject(error);
+ });
+ }
+ })
+ .catch((error) => {
+ console.log(error);
+ reject(error);
+ });
+ });
+ }
+
+ /**
+ * Bitshares blockchain implementation of QR code scanning
+ * Supported QR codes: Bitshares-ui reference QRs
+ * @param {Object} contents
+ */
+ handleQR(contents) {
+ let parsedTransaction;
+ try {
+ parsedTransaction = this._parseTransactionBuilder(
+ JSON.parse(contents)
+ );
+ } catch (error) {
+ console.log(error);
+ return;
+ }
+
+ return parsedTransaction;
+ }
+
+ /**
+ * Bitshares supports TOTP codes
+ * @returns Boolean
+ */
+ supportsTOTP() {
+ return true;
+ }
+
+ /**
+ * Bitshares supports QR scanning
+ * @returns Boolean
+ */
+ supportsQR() {
+ return true;
+ }
+
+ /**
+ * Bitshares supports local file processing
+ * @returns Boolean
+ */
+ supportsLocal() {
+ return true;
+ }
+
+ /*
+ * Parse incoming and return a readied transaction builder instance
+ * @param {Class||Object} incoming
+ * @returns {Class} TransactionBuilder
+ */
+ _parseTransactionBuilder(incoming) {
+ if (incoming instanceof TransactionBuilder) {
+ return incoming;
+ } else if (
+ typeof incoming == "object" &&
+ incoming.length > 1 &&
+ (incoming[0] == "signAndBroadcast" ||
+ incoming[0] == "sign" ||
+ incoming[0] == "broadcast")
+ ) {
+ if (incoming.length <= 3) {
+ return new TransactionBuilder(JSON.parse(incoming[1]));
+ } else {
+ console.warn(
+ "This way of parsing TransactionBuilder is deprecated, use new constructor"
+ );
+ let tr = new TransactionBuilder();
+ tr.ref_block_num = incoming[1];
+ tr.ref_block_prefix = incoming[2];
+ tr.expiration = incoming[3];
+ incoming[4].forEach((op) => {
+ tr.add_operation(tr.get_type_operation(op[0], op[1]));
+ });
+ return tr;
+ }
+ } else if (typeof incoming == "object" && incoming.operations) {
+ let tr = new TransactionBuilder();
+
+ tr.expiration = incoming.expiration;
+ tr.extensions = incoming.extensions;
+ tr.signatures = incoming.signatures;
+ tr.operations = incoming.operations;
+
+ if (incoming.ref_block_num && incoming.ref_block_prefix) {
+ tr.ref_block_num = incoming.ref_block_num;
+ tr.ref_block_prefix = incoming.ref_block_prefix;
+ } else {
+ tr.finalize();
+ }
+
+ return tr;
+ } else if (incoming.type) {
+ let tr = new TransactionBuilder();
+ tr.add_type_operation(incoming.type, incoming.data);
+ return tr;
+ }
+ throw "Reconstruction of TransactionBuilder failed";
+ }
+
+ /*
+ * Parse incoming and return a readied transaction builder instance
+ * @param {Class||Object} operation
+ * @param {String} key
+ * @returns {Class} TransactionBuilder
+ */
+ sign(operation, key) {
+ return new Promise((resolve, reject) => {
+ this.ensureConnection()
+ .then(() => {
+ let tr = this._parseTransactionBuilder(operation);
+ Promise.all([
+ tr.set_required_fees(),
+ tr.update_head_block(),
+ ]).then(() => {
+ let privateKey = PrivateKey.fromWif(key);
+ tr.add_signer(
+ privateKey,
+ privateKey
+ .toPublicKey()
+ .toPublicKeyString(this._getCoreSymbol())
+ );
+ tr.finalize()
+ .then(() => {
+ tr.sign();
+ resolve(tr);
+ })
+ .catch((error) => {
+ console.log(error);
+ reject(error);
+ });
+ });
+ })
+ .catch((error) => {
+ console.log(error);
+ reject(error);
+ });
+ });
+ }
+
+ /*
+ * Broadcast a transaction on the Bitshares blockchain.
+ * @param {Class||Object} transaction
+ * @returns {Object} broadcastResult
+ */
+ broadcast(transaction) {
+ return new Promise((resolve, reject) => {
+ this.ensureConnection()
+ .then(() => {
+ transaction = this._parseTransactionBuilder(transaction);
+ transaction
+ .broadcast()
+ .then((id) => {
+ resolve(id);
+ })
+ .catch((error) => {
+ console.log(error);
+ reject(error);
+ });
+ })
+ .catch((error) => {
+ console.log(error);
+ reject(error);
+ });
+ });
+ }
+
+ /*
+ * Retrieve operation from input data and account combination
+ * @param {Object} data
+ * @param {Object} account
+ * @returns {Object}
+ */
+ getOperation(data, account) {
+ let timeoutPromise = new Promise((resolve) => {
+ setTimeout(() => {
+ resolve(null);
+ }, 5000);
+ });
+
+ let timeLimitedPromise = new Promise(async (resolve, reject) => {
+ this.ensureConnection()
+ .then(() => {
+ if (data.action === "vote") {
+ let accountID;
+ try {
+ accountID = account.accountID;
+ } catch (error) {
+ console.log(error);
+ }
+
+ Apis.instance()
+ .db_api()
+ .exec("get_objects", [[accountID]])
+ .then((accounts) => {
+ let new_options = accounts[0].options;
+ if (
+ new_options.votes.findIndex(
+ (item) => item == data.vote_id
+ ) !== -1
+ ) {
+ resolve({
+ vote_id: data.vote_id,
+ nothingToDo: true,
+ });
+ }
+
+ new_options.votes.push(data.vote_id);
+ new_options.votes = new_options.votes.sort(
+ (a, b) => {
+ let a_split = a.split(":");
+ let b_split = b.split(":");
+ return (
+ parseInt(a_split[1], 10) -
+ parseInt(b_split[1], 10)
+ );
+ }
+ );
+ resolve({
+ data: {
+ account: accountID,
+ new_options: new_options,
+ },
+ type: "account_update",
+ });
+ })
+ .catch((error) => {
+ console.log(error);
+ reject(error);
+ });
+ } else {
+ resolve({ data: data, type: "transfer" });
+ }
+ })
+ .catch((error) => {
+ console.log(error);
+ reject(error);
+ });
+ });
+
+ const fastestPromise = Promise.race([
+ timeLimitedPromise,
+ timeoutPromise,
+ ]).catch((error) => {
+ return null;
+ });
+
+ return fastestPromise;
+ }
+
+ /*
+ * Signs a string using a provided private key.
+ * @param {String} key
+ * @param {String} string
+ * @returns {String} hexString
+ */
+ _signString(key, string) {
+ let signature = Signature.signBuffer(string, PrivateKey.fromWif(key));
+ return signature.toHex();
+ }
+
+ /*
+ * Verifies that the signature is the BTS public key signed string.
+ * @param {String} signature (hex)
+ * @param {String} publicKey
+ * @param {String} string
+ * @returns {Boolean}
+ */
+ _verifyString(signature, publicKey, string) {
+ let _PublicKey = PublicKey;
+ let sig = Signature.fromHex(signature);
+ let pkey = PublicKey.fromPublicKeyString(
+ publicKey,
+ this._getCoreSymbol()
+ );
+ return sig.verifyBuffer(string, pkey);
+ }
+
+ /**
+ * Create an encrypted memo for transfer operations
+ * @param {Object} from
+ * @param {Object} to
+ * @param {Object} memo
+ * @param {String} optionalNonce
+ * @param {Boolean} encryptMemo
+ * @returns {Object}
+ */
+ _createMemoObject(
+ from,
+ to,
+ memo,
+ optionalNonce = null,
+ encryptMemo = true
+ ) {
+ let nonce = optionalNonce ?? TransactionHelper.unique_nonce_uint64();
+
+ return {
+ from: from.memo.public_key,
+ to: to.memo.public_key,
+ nonce,
+ message: encryptMemo
+ ? Aes.encrypt_with_checksum(
+ PrivateKey.fromWif(memo.key),
+ to.memo.public_key,
+ nonce,
+ memo.memo
+ )
+ : Buffer.isBuffer(memo)
+ ? memo.toString("utf-8")
+ : memo.memo,
+ };
+ }
+
+ /*
+ * Broadcast a transfer operation on the Bitshares blockchain.
+ * @param {String} key
+ * @param {String} from
+ * @param {String} to
+ * @param {String} amount
+ * @param {String} memo
+ * @returns {Object} transfer result
+ */
+ async transfer(
+ key,
+ from,
+ to,
+ amount,
+ memo = null,
+ optionalNonce = null,
+ encryptMemo = true
+ ) {
+ if (!amount.amount || !amount.asset_id) {
+ throw "Amount must be a dict with amount and asset_id as keys";
+ }
+
+ try {
+ from = await this.getAccount(from);
+ } catch (error) {
+ console.log(error);
+ }
+
+ try {
+ to = await this.getAccount(to);
+ } catch (error) {
+ console.log(error);
+ }
+
+ let memoObject;
+ if (memo) {
+ try {
+ memoObject = this._createMemoObject(
+ from,
+ to,
+ memo,
+ optionalNonce,
+ encryptMemo
+ );
+ } catch (error) {
+ console.log(error);
+ }
+ }
+
+ let transaction;
+ try {
+ transaction = await this.sign(
+ {
+ type: "transfer",
+ data: {
+ fee: {
+ amount: 0,
+ asset_id: "1.3.0",
+ },
+ from: from.id,
+ to: to.id,
+ amount: amount,
+ memo: memoObject ?? undefined,
+ },
+ },
+ key
+ );
+ } catch (error) {
+ console.log(error);
+ throw "Could not sign operation with Bitshares key";
+ }
+
+ let broadcastResult;
+ try {
+ broadcastResult = await this.broadcast(transaction);
+ } catch (error) {
+ console.log(error);
+ throw "Could not broadcast signed Bitshares transaction";
+ }
+
+ return broadcastResult;
+ }
+
+ /*
+ * Return an appropriate Bitshares blockchain explorer link.
+ * Warning: Opens dangerously, be cautious adding alt explorers.
+ * @param {Object} object
+ * @returns {String}
+ */
+ getExplorer(object) {
+ if (object.accountName) {
+ return "https://blocksights.info/#/accounts/" + object.accountID;
+ } else if (object.opid) {
+ // 1.11.833380474
+ return "https://blocksights.info/#/operations/" + object.opid;
+ } else if (object.txid) {
+ // e94404a94b4bb160601241ffb78ad0e615a9636b
+ return "https://blocksights.info/#/txs/" + object.txid;
+ } else {
+ return false;
+ }
+ }
+
+ /*
+ * Returns the required keys for sign up input forms
+ * @returns {Object}
+ */
+ getSignUpInput() {
+ return {
+ active: false,
+ memo: true,
+ owner: false,
+ };
+ }
+
+ /*
+ * Returns the remaining nodes sorted by asc latency
+ * @returns {Array}
+ */
+ getLatencies() {
+ return this._nodeLatencies ?? [];
+ }
+
+ /*
+ * Returns a visualization for the input data.
+ * TODO: Requires refactor
+ * @param {String||Class||Object} thing
+ * @returns {String}
+ */
+ async visualize(thing) {
+ if (typeof thing == "string" && thing.startsWith("1.2.")) {
+ return await this._getAccountName(thing);
+ }
+
+ if (!thing) {
+ console.log("Nothing to visualize");
+ return;
+ }
+
+ let tr;
+ try {
+ tr = await this._parseTransactionBuilder(thing);
+ } catch (error) {
+ console.log(error);
+ return;
+ }
+
+ // iterate over to get the operations
+ // summarize the details we need to query from the blockchain
+ // try to reduce duplicate calls
+ let accountsToFetch = [];
+ let assetsToFetch = [];
+ for (let i = 0; i < tr.operations.length; i++) {
+ let operation = tr.operations[i];
+ const op = operation[1];
+ const idKeys = [
+ "account_id_type",
+ "from",
+ "from_account",
+ "to",
+ "witness_account",
+ "fee_paying_account",
+ "funding_account",
+ "seller",
+ "registrar",
+ "referrer",
+ "account",
+ "authorizing_account",
+ "account_to_list",
+ "account_to_upgrade",
+ "account_id",
+ "issuer",
+ "issue_to_account",
+ "payer",
+ "publisher",
+ "fee_paying_account",
+ "authorized_account",
+ "withdraw_from_account",
+ "committee_member_account",
+ "creator",
+ "owner",
+ "owner_account",
+ "new_owner",
+ "deposit_to_account",
+ "bidder",
+ "new_issuer",
+ "redeemer",
+ "update_issuer",
+ "borrower",
+ ];
+
+ const assetKeys = [
+ "amount.asset_id",
+ "min_to_receive.asset_id",
+ "amount_to_sell.asset_id",
+ "delta_collateral.asset_id",
+ "delta_debt.asset_id",
+ "asset_to_update",
+ "new_options.short_backing_asset",
+ "asset_to_issue.asset_id",
+ "asset_to_reserve.asset_id",
+ "asset_id",
+ "asset_to_settle",
+ "settle_price.base.asset_id",
+ "settle_price.quote.asset_id",
+ "withdrawal_limit.asset_id",
+ "asset_to_withdraw.asset_id",
+ "amount_to_claim.asset_id",
+ "additional_collateral.asset_id",
+ "debtCovered.asset_id",
+ "amount_for_new_target.asset_id",
+ "asset_a",
+ "asset_b",
+ "share_asset",
+ "amount_a.asset_id",
+ "amount_b.asset_id",
+ "share_amount.asset_id",
+ "delta_amount.asset_id",
+ "borrow_amount.asset_id",
+ "repay_amount.asset_id",
+ "fund_fee.asset_id",
+ "collateral.asset_id",
+ "credit_fee.asset_id",
+ "delta_amount_to_sell.asset_id",
+ "fee.asset_id",
+ ];
+
+ for (let k = 0; k < idKeys.length; k++) {
+ const id = get(op, idKeys[k]);
+ if (id && !accountsToFetch.includes(id)) {
+ accountsToFetch.push(id);
+ }
+ }
+
+ for (let z = 0; z < assetKeys.length; z++) {
+ const id = get(op, assetKeys[z]);
+ if (id && !assetsToFetch.includes(id)) {
+ assetsToFetch.push(id);
+ }
+ }
+ }
+
+ let accountResults = [];
+ let accountBatches = chunk(accountsToFetch, 100);
+ for (let i = 0; i < accountBatches.length; i++) {
+ let fetchedAccountNames;
+ try {
+ fetchedAccountNames = await this._getMultipleAccountNames(
+ accountBatches[i]
+ );
+ } catch (error) {
+ console.log(error);
+ }
+
+ if (fetchedAccountNames && fetchedAccountNames.length) {
+ let finalNames = fetchedAccountNames.map((user) => {
+ return { id: user.id, accountName: user.name };
+ });
+
+ accountResults.push(...finalNames);
+ }
+ }
+
+ let assetResults = [];
+ let assetBatches = chunk(assetsToFetch, this._isTestnet() ? 9 : 49);
+ for (let i = 0; i < assetBatches.length; i++) {
+ let fetchedAssets;
+ try {
+ fetchedAssets = await this._resolveMultipleAssets(
+ assetBatches[i]
+ );
+ } catch (error) {
+ console.log(error);
+ }
+
+ if (fetchedAssets && fetchedAssets.length) {
+ assetResults.push(...fetchedAssets);
+ }
+ }
+
+ let beautifiedOpPromises = [];
+ // https://github.com/bitshares/bitsharesjs/blob/master/lib/serializer/src/operations.js#L1551
+ for (let i = 0; i < tr.operations.length; i++) {
+ let operationArray = tr.operations[i]; // extract operation i from transaction
+ const opType = operationArray[0]; // type id
+ const opContents = operationArray[1]; // operation object
+ const btsOperationTypes = this.getOperationTypes();
+
+ let relevantOperationType = btsOperationTypes.find(
+ (op) => op.id === opType
+ );
+ beautifiedOpPromises.push(
+ beautify(
+ accountResults, // fetched accounts
+ assetResults, // fetched assets
+ opContents,
+ operationArray,
+ opType,
+ relevantOperationType
+ )
+ );
+ }
+
+ return Promise.all(beautifiedOpPromises)
+ .then((operations) => {
+ if (
+ operations.some(
+ (op) =>
+ !Object.prototype.hasOwnProperty.call(op, "rows")
+ )
+ ) {
+ /*
+ console.log({
+ invalid: operations.filter(op => !Object.prototype.hasOwnProperty.call(op, 'rows')),
+ valid: operations.filter(op => Object.prototype.hasOwnProperty.call(op, 'rows'))
+ });
+ */
+ throw new Error(
+ "There's an issue with the format of an operation!"
+ );
+ }
+ return operations;
+ })
+ .catch((error) => {
+ console.log(error);
+ });
+ }
+}
diff --git a/src/lib/blockchains/TUSC.js b/src/lib/blockchains/TUSC.js
new file mode 100644
index 00000000..ce424a6a
--- /dev/null
+++ b/src/lib/blockchains/TUSC.js
@@ -0,0 +1,68 @@
+import BitShares from "./BitShares";
+//import {Apis} from "bitsharesjs-ws";
+
+export default class TUSC extends BitShares {
+
+ /*
+ _connect(nodeToConnect = null) {
+ return new Promise((resolve, reject) => {
+ if (nodeToConnect == null) {
+ nodeToConnect = this.getNodes()[0].url;
+ }
+ if (this._isConnected) {
+ Apis.close().then(() => {
+ this._isConnected = false;
+ Apis.instance(
+ nodeToConnect,
+ true,
+ 10000,
+ {enableCrypto: false, enableOrders: false},
+ // no use in firing reject because it might happen at any time in the future after connecting!
+ this._connectionFailed.bind(this, null, nodeToConnect, "Connection closed")
+ ).init_promise.then(() => {
+ this._connectionEstablished(resolve, nodeToConnect);
+ }).catch(this._connectionFailed.bind(this, reject, nodeToConnect));
+ });
+ } else {
+ Apis.instance(
+ nodeToConnect,
+ true,
+ 10000,
+ {enableCrypto: false, enableOrders: false},
+ // no use in firing reject because it might happen at any time in the future after connecting!
+ this._connectionFailed.bind(this, null, nodeToConnect, "Connection closed")
+ ).init_promise.then(() => {
+ this._connectionEstablished(resolve, nodeToConnect);
+ }).catch(this._connectionFailed.bind(this, reject, nodeToConnect));
+ }
+ });
+ }
+
+ _needsNewConnection() {
+ if (this._isConnected) {
+ // is this tusc node?
+ if (Apis.instance().url.indexOf("testnet") === -1) {
+ return true;
+ }
+ }
+ return super._needsNewConnection();
+ }
+ */
+
+ getAsset(assetSymbolOrId) {
+ if (assetSymbolOrId == "1.3.0") {
+ return {
+ asset_id: "1.3.0",
+ symbol: "TUSC",
+ precision: 5
+ };
+ } else {
+ return null;
+ }
+ }
+
+ getExplorer(object) {
+ return "https://wallet.tusc.network/wallet/explorer";
+ }
+
+}
diff --git a/src/lib/blockchains/bitshares/BTSWalletHandler.js b/src/lib/blockchains/bitshares/BTSWalletHandler.js
new file mode 100644
index 00000000..cb69bd03
--- /dev/null
+++ b/src/lib/blockchains/bitshares/BTSWalletHandler.js
@@ -0,0 +1,174 @@
+import {
+ PrivateKey,
+ PublicKey,
+ Aes
+} from "bitsharesjs";
+import {
+ decompress
+} from "lzma";
+import {
+ Apis
+} from "bitsharesjs-ws";
+
+import getBlockchainAPI from "../blockchainFactory";
+import store from '../../../store/index.js';
+
+class BTSWalletHandler {
+
+ constructor(backup) {
+ this.wallet_buffer = Buffer.from(backup, "binary");
+ }
+ unlock(wallet_pass) {
+ try {
+ this.wallet_pass = wallet_pass;
+ let private_key = PrivateKey.fromSeed(this.wallet_pass);
+ let public_key = PublicKey.fromBuffer(this.wallet_buffer.slice(0, 33));
+ this.wallet_buffer = this.wallet_buffer.slice(33);
+ this.wallet_buffer = Aes.decrypt_with_checksum(
+ private_key,
+ public_key,
+ null /*nonce*/ ,
+ this.wallet_buffer
+ );
+ let wallet_string = decompress(this.wallet_buffer);
+ this.wallet_object = JSON.parse(wallet_string);
+ let password_aes = Aes.fromSeed(this.wallet_pass);
+ let encryption_plainbuffer = password_aes.decryptHexToBuffer(
+ this.wallet_object.wallet[0].encryption_key
+ );
+ this.aes_private = Aes.fromSeed(encryption_plainbuffer);
+ this.keypairs = [];
+ for (let i = 0; i < this.wallet_object.private_keys.length; i++) {
+ let private_key_hex = this.aes_private.decryptHex(
+ this.wallet_object.private_keys[i].encrypted_key
+ );
+ let pkey = PrivateKey.fromBuffer(Buffer.from(private_key_hex, "hex"));
+ let keypair = {
+ 'priv': pkey.toWif(),
+ 'pub': this.wallet_object.private_keys[i].pubkey
+ };
+ this.keypairs.push(keypair);
+ }
+ this.public = [];
+ this.keypairs.forEach(keypair => {
+ this.public.push(keypair.pub);
+ });
+ return true;
+ } catch (e) {
+ throw new Error('Could not decrypt wallet');
+ }
+ }
+
+ async lookupAccounts() {
+
+ let blockchain = getBlockchainAPI('BTS');
+ await blockchain.ensureConnection().then((connectedNode) => {
+ store.dispatch("SettingsStore/setNode", {
+ chain: 'BTS',
+ node: connectedNode
+ });
+ });
+ let account_ids = await Apis.instance()
+ .db_api()
+ .exec("get_key_references", [this.public])
+ .then(res => {
+ return res;
+ });
+ this.accounts = new Set();
+ for (let i = 0; i < account_ids.length; i++) {
+ for (let j = 0; j < account_ids[i].length; j++) {
+ this.accounts.add(account_ids[i][j]);
+ }
+ }
+ let refs = [];
+ this.accounts.forEach((account) => {
+ refs.push(
+ Apis.instance()
+ .db_api()
+ .exec("get_account_references", [account])
+ .then(res => {
+ if (res.length > 0) {
+ res.forEach((ref) => {
+ this.accounts.add(ref);
+ })
+ }
+ })
+ );
+ });
+ await Promise.all(refs);
+ let accounts = Array.from(this.accounts);
+ let account_matrix = await Apis.instance()
+ .db_api()
+ .exec("get_accounts", [accounts])
+ .then(res => {
+ return this.buildMatrix(res);
+ });
+ return account_matrix;
+ }
+ buildMatrix(account_data) {
+ let account_matrix = [];
+ let active_controlled_accounts = [];
+ let owner_controlled_accounts = [];
+ for (let i = 0; i < account_data.length; i++) {
+ let account_details = {
+ 'id': account_data[i].id,
+ 'name': account_data[i].name
+ };
+ let active = {};
+ let importable = false;
+ //Check active
+ active.availWeight = 0;
+ active.canPropose = false;
+ for (let j = 0; j < account_data[i].active.key_auths.length; j++) {
+ if (this.public.includes(account_data[i].active.key_auths[j][0])) {
+ active.canPropose = true;
+ active.availWeight = active.availWeight + account_data[i].active.key_auths[j][1];
+ if (account_data[i].active.key_auths[j][1] >= account_data[i].active.weight_threshold) {
+ importable = true;
+ active.key = this.keypairs.filter(x => x.pub == account_data[i].active.key_auths[j][0])[0].priv;
+ }
+ }
+ }
+ if (active.availWeight >= account_data[i].active.weight_threshold) {
+ active.canTransact = true;
+ active_controlled_accounts.push(account_data[i].id);
+ } else {
+ active.canTransact = false;
+ }
+ account_details.active = active;
+
+ let owner = {}
+ //Check owner
+ owner.availWeight = 0;
+ owner.canPropose = false;
+ for (let j = 0; j < account_data[i].owner.key_auths.length; j++) {
+ if (this.public.includes(account_data[i].owner.key_auths[j][0])) {
+ owner.canPropose = true;
+ owner.availWeight = owner.availWeight + account_data[i].owner.key_auths[j][1];
+ if (account_data[i].owner.key_auths[j][1] >= account_data[i].owner.weight_threshold) {
+ owner.key = this.keypairs.filter(x => x.pub == account_data[i].owner.key_auths[j][0])[0].priv;
+ }
+ }
+ }
+ if (owner.availWeight >= account_data[i].owner.weight_threshold) {
+ owner.canTransact = true;
+ owner_controlled_accounts.push(account_data[i].id);
+ } else {
+ owner.canTransact = false;
+ }
+ account_details.owner = owner;
+
+ let memo = {};
+ memo.canSend = false;
+ if (this.public.includes(account_data[i].options.memo_key)) {
+ memo.key = this.keypairs.filter(x => x.pub == account_data[i].options.memo_key)[0].priv;
+ memo.canSend = true;
+ }
+ account_details.importable = importable;
+ account_details.memo = memo;
+ account_matrix[i] = account_details;
+ }
+ return account_matrix;
+ }
+}
+export default BTSWalletHandler;
diff --git a/src/lib/blockchains/bitshares/beautify.js b/src/lib/blockchains/bitshares/beautify.js
new file mode 100644
index 00000000..cc8382eb
--- /dev/null
+++ b/src/lib/blockchains/bitshares/beautify.js
@@ -0,0 +1,4208 @@
+import { formatAsset, humanReadableFloat } from "../../assetUtils";
+
+const permission_flags = {
+ charge_market_fee: 0x01 /**< an issuer-specified percentage of all market trades in this asset is paid to the issuer */,
+ white_list: 0x02 /**< accounts must be whitelisted in order to hold this asset */,
+ override_authority: 0x04 /**< issuer may transfer asset back to himself */,
+ transfer_restricted: 0x08 /**< require the issuer to be one party to every transfer */,
+ disable_force_settle: 0x10 /**< disable force settling */,
+ global_settle: 0x20 /**< allow the bitasset issuer to force a global settling -- this may be set in permissions, but not flags */,
+ disable_confidential: 0x40 /**< allow the asset to be used with confidential transactions */,
+ witness_fed_asset: 0x80 /**< allow the asset to be fed by witnesses */,
+ committee_fed_asset: 0x100 /**< allow the asset to be fed by the committee */,
+ lock_max_supply: 0x200, ///< the max supply of the asset can not be updated
+ disable_new_supply: 0x400, ///< unable to create new supply for the asset
+ disable_mcr_update: 0x800, ///< the bitasset owner can not update MCR, permission only
+ disable_icr_update: 0x1000, ///< the bitasset owner can not update ICR, permission only
+ disable_mssr_update: 0x2000, ///< the bitasset owner can not update MSSR, permission only
+ disable_bsrm_update: 0x4000, ///< the bitasset owner can not update BSRM, permission only
+ disable_collateral_bidding: 0x8000, ///< Can not bid collateral after a global settlement
+};
+
+const uia_permission_mask = [
+ "charge_market_fee",
+ "white_list",
+ "override_authority",
+ "transfer_restricted",
+ "disable_confidential",
+];
+
+/**
+ *
+ * @param {String} mask
+ * @param {Boolean} isBitAsset
+ * @returns Object
+ */
+function getFlagBooleans(mask, isBitAsset = false) {
+ let booleans = {
+ charge_market_fee: false,
+ white_list: false,
+ override_authority: false,
+ transfer_restricted: false,
+ disable_force_settle: false,
+ global_settle: false,
+ disable_confidential: false,
+ witness_fed_asset: false,
+ committee_fed_asset: false,
+ lock_max_supply: false,
+ disable_new_supply: false,
+ disable_mcr_update: false,
+ disable_icr_update: false,
+ disable_mssr_update: false,
+ disable_bsrm_update: false,
+ disable_collateral_bidding: false,
+ };
+
+ if (mask === "all") {
+ for (let flag in booleans) {
+ if (!isBitAsset && uia_permission_mask.indexOf(flag) === -1) {
+ delete booleans[flag];
+ } else {
+ booleans[flag] = true;
+ }
+ }
+ return booleans;
+ }
+
+ for (let flag in booleans) {
+ if (!isBitAsset && uia_permission_mask.indexOf(flag) === -1) {
+ delete booleans[flag];
+ } else {
+ if (mask & permission_flags[flag]) {
+ booleans[flag] = true;
+ }
+ }
+ }
+
+ return booleans;
+}
+
+/**
+ *
+ * @param {Array} accountResults
+ * @param {Array} assetResults
+ * @param {Object} opContents
+ * @param {Array} operationArray // [0, {...}]
+ * @param {Number} opType
+ * @param {*} relevantOperationType
+ * @returns
+ */
+export default async function beautify(
+ accountResults, // fetched accounts
+ assetResults, // fetched assets
+ opContents,
+ operationArray,
+ opType,
+ relevantOperationType
+) {
+ const currentOperation = {
+ title: `operations.injected.BTS.${relevantOperationType.method}.title`,
+ opType: opType,
+ method: relevantOperationType.method,
+ op: opContents,
+ operation: operationArray,
+ };
+
+ if (opType == 0) {
+ // transfer
+ let from = accountResults.find(
+ (resAcc) => resAcc.id === opContents.from
+ );
+ let to = accountResults.find((resAcc) => resAcc.id === opContents.to);
+ let asset = assetResults.find(
+ (assRes) => assRes.id === opContents.amount.asset_id
+ );
+
+ if (from && to && asset) {
+ currentOperation["rows"] = [
+ {
+ key: "from",
+ params: { from: from.accountName, opFrom: opContents.from },
+ },
+ {
+ key: "to",
+ params: { to: to.accountName, opTo: opContents.to },
+ },
+ {
+ key: "amount",
+ params: {
+ amount: formatAsset(
+ opContents.amount.amount,
+ asset.symbol,
+ asset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 1) {
+ // limit_order_create
+ let seller = accountResults.find(
+ (resAcc) => resAcc.id === opContents.seller
+ ).accountName;
+ let buy = assetResults.find(
+ (assRes) => assRes.id === opContents.min_to_receive.asset_id
+ );
+ let sell = assetResults.find(
+ (assRes) => assRes.id === opContents.amount_to_sell.asset_id
+ );
+
+ if (seller && buy && sell) {
+ let fillOrKill = opContents.amount_to_sell.fill_or_kill;
+
+ let price =
+ humanReadableFloat(
+ opContents.amount_to_sell.amount,
+ sell.precision
+ ) /
+ humanReadableFloat(
+ opContents.min_to_receive.amount,
+ buy.precision
+ );
+
+ currentOperation["rows"] = [
+ { key: fillOrKill ? "tradeFK" : "trade" },
+ {
+ key: "seller",
+ params: { seller: seller, opSeller: opContents.seller },
+ },
+ {
+ key: "selling",
+ params: {
+ amount: formatAsset(
+ opContents.amount_to_sell.amount,
+ sell.symbol,
+ sell.precision
+ ),
+ },
+ },
+ {
+ key: "buying",
+ params: {
+ amount: formatAsset(
+ opContents.min_to_receive.amount,
+ buy.symbol,
+ buy.precision
+ ),
+ },
+ },
+ {
+ key: "price",
+ params: {
+ price:
+ sell.precision > 0
+ ? price.toPrecision(sell.precision)
+ : parseInt(price),
+ sellSymbol: sell.symbol,
+ buySymbol: buy.symbol,
+ },
+ },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ ];
+ }
+ } else if (opType == 2) {
+ // limit_order_cancel
+ let feePayingAccount = accountResults.find(
+ (resAcc) => resAcc.id === opContents.fee_paying_account
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (feePayingAccount) {
+ currentOperation["rows"] = [
+ { key: "id", params: { id: opContents.order } },
+ {
+ key: "fees",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ {
+ key: "account",
+ params: {
+ account:
+ feePayingAccount ??
+ "" + " (" + opContents.fee_paying_account + ")",
+ },
+ },
+ ];
+ }
+ } else if (opType == 3) {
+ // call_order_update
+ let fundingAccount = accountResults.find(
+ (resAcc) => resAcc.id === opContents.funding_account
+ ).accountName;
+ let deltaCollateral = assetResults.find(
+ (assRes) => assRes.id === opContents.delta_collateral.asset_id
+ );
+ let deltaDebt = assetResults.find(
+ (assRes) => assRes.id === opContents.delta_debt.asset_id
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (fundingAccount && deltaCollateral && deltaDebt) {
+ currentOperation["rows"] = [
+ {
+ key: "funding_account",
+ params: {
+ funding_account:
+ fundingAccount ??
+ "" + " (" + opContents.funding_account + ")",
+ },
+ },
+ {
+ key: "delta_collateral",
+ params: {
+ delta_collateral: formatAsset(
+ opContents.delta_collateral.amount,
+ deltaCollateral.symbol,
+ deltaCollateral.precision
+ ),
+ id: opContents.delta_collateral.asset_id,
+ },
+ },
+ {
+ key: "delta_debt",
+ params: {
+ delta_debt: formatAsset(
+ opContents.delta_debt.amount,
+ deltaDebt.symbol,
+ deltaDebt.precision
+ ),
+ id: opContents.delta_debt.asset_id,
+ },
+ },
+ {
+ key: "fees",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ,
+ ];
+ }
+ } else if (opType == 5) {
+ // account_create
+ let registrar = accountResults.find(
+ (resAcc) => resAcc.id === opContents.registrar
+ ).accountName;
+ let referrer = accountResults.find(
+ (resAcc) => resAcc.id === opContents.referrer
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (registrar && referrer) {
+ currentOperation["rows"] = [
+ {
+ key: "registrar",
+ params: {
+ registrar: registrar ?? "",
+ opRegistrar: opContents.registrar,
+ },
+ },
+ {
+ key: "referrer",
+ params: {
+ referrer: referrer ?? "",
+ opReferrer: opContents.referrer,
+ },
+ },
+ {
+ key: "referrer_percent",
+ params: { referrer_percent: opContents.referrer_percent },
+ },
+ { key: "name", params: { name: opContents.name } },
+ { key: "ownerHeader", params: {} },
+ {
+ key: "weight_threshold",
+ params: {
+ weight_threshold: opContents.owner.weight_threshold,
+ },
+ },
+ {
+ key: "account_auths",
+ params: {
+ account_auths: JSON.stringify(
+ opContents.owner.account_auths
+ ),
+ },
+ },
+ {
+ key: "key_auths",
+ params: {
+ key_auths: JSON.stringify(opContents.owner.key_auths),
+ },
+ },
+ {
+ key: "address_auths",
+ params: {
+ address_auths: JSON.stringify(
+ opContents.owner.address_auths
+ ),
+ },
+ },
+ { key: "activeHeader", params: {} },
+ {
+ key: "weight_threshold",
+ params: {
+ weight_threshold: opContents.active.weight_threshold,
+ },
+ },
+ {
+ key: "account_auths",
+ params: {
+ account_auths: JSON.stringify(
+ opContents.active.account_auths
+ ),
+ },
+ },
+ {
+ key: "key_auths",
+ params: {
+ key_auths: JSON.stringify(opContents.active.key_auths),
+ },
+ },
+ {
+ key: "address_auths",
+ params: {
+ address_auths: JSON.stringify(
+ opContents.active.address_auths
+ ),
+ },
+ },
+ { key: "optionsHeader", params: {} },
+ {
+ key: "memo_key",
+ params: { memo_key: opContents.options.memo_key },
+ },
+ {
+ key: "voting_account",
+ params: {
+ voting_account: opContents.options.voting_account,
+ },
+ },
+ {
+ key: "num_witness",
+ params: { num_witness: opContents.options.num_witness },
+ },
+ {
+ key: "num_committee",
+ params: { num_committee: opContents.options.num_committee },
+ },
+ {
+ key: "votes",
+ params: { votes: JSON.stringify(opContents.options.votes) },
+ },
+ {
+ key: "extensions",
+ params: {
+ extensions: JSON.stringify(
+ opContents.options.extensions
+ ),
+ },
+ },
+ {
+ key: "fees",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ,
+ ];
+ }
+ } else if (opType == 6) {
+ // account_update
+ let targetAccount = accountResults.find(
+ (resAcc) => resAcc.id === opContents.account
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+ if (targetAccount) {
+ currentOperation["rows"] = [
+ { key: "warning", params: {} },
+ {
+ key: "account",
+ params: {
+ account: targetAccount ?? "",
+ opAccount: opContents.account,
+ },
+ },
+ {
+ key: "owner",
+ params: { owner: JSON.stringify(opContents.owner) },
+ },
+ {
+ key: "active",
+ params: { active: JSON.stringify(opContents.active) },
+ },
+ {
+ key: "new_options",
+ params: {
+ new_options: JSON.stringify(opContents.new_options),
+ },
+ },
+ {
+ key: "extensions",
+ params: {
+ extensions: JSON.stringify(opContents.extensions),
+ },
+ },
+ {
+ key: "fees",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ,
+ ];
+ }
+ } else if (opType == 7) {
+ // account_whitelist
+ let authorizingAccount = accountResults.find(
+ (resAcc) => resAcc.id === opContents.authorizing_account
+ ).accountName;
+ let accountToList = accountResults.find(
+ (resAcc) => resAcc.id === opContents.account_to_list
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (authorizingAccount && accountToList) {
+ currentOperation["rows"] = [
+ {
+ key: "authorizing_account",
+ params: {
+ authorizingAccount: authorizingAccount ?? "",
+ authorizingAccountOP: opContents.authorizing_account,
+ },
+ },
+ {
+ key: "account_to_list",
+ params: {
+ accountToList: accountToList ?? "",
+ accountToListOP: opContents.account_to_list,
+ },
+ },
+ {
+ key: "new_listing",
+ params: { new_listing: opContents.new_listing },
+ },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 8) {
+ // account_upgrade
+ let accountToUpgrade = accountResults.find(
+ (resAcc) => resAcc.id === opContents.account_to_upgrade
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+ if (accountToUpgrade) {
+ currentOperation["rows"] = [
+ {
+ key: "account_to_upgrade",
+ params: {
+ accountToUpgrade: accountToUpgrade ?? "",
+ accountToUpgradeOP: opContents.account_to_upgrade,
+ },
+ },
+ {
+ key: "upgrade_to_lifetime_member",
+ params: {
+ upgradeToLifetimeMember:
+ opContents.upgrade_to_lifetime_member,
+ },
+ },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 9) {
+ // account_transfer
+ let originalOwner = accountResults.find(
+ (resAcc) => resAcc.id === opContents.account_id
+ ).accountName;
+ let newOwner = accountResults.find(
+ (resAcc) => resAcc.id === opContents.new_owner
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (originalOwner && newOwner) {
+ currentOperation["rows"] = [
+ { key: "warning", params: {} },
+ {
+ key: "account_id",
+ params: {
+ originalOwner: originalOwner ?? "",
+ account_id: opContents.account_id,
+ },
+ },
+ {
+ key: "new_owner",
+ params: {
+ newOwner: newOwner ?? "",
+ newOwnerOP: opContents.new_owner,
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 10 || opType == 11) {
+ // Create or Update an asset
+ let asset =
+ opType === 11
+ ? assetResults.find(
+ (assRes) => assRes.id === opContents.asset_to_update
+ ) // fetch asset to update
+ : null;
+
+ let symbol = asset ? asset.symbol : opContents.symbol;
+ let precision = asset ? asset.precision : opContents.precision;
+ let is_prediction_market = asset
+ ? asset.is_prediction_market
+ : opContents.is_prediction_market;
+ let options =
+ opType === 10 ? opContents.common_options : opContents.new_options;
+ let max_supply = options.max_supply;
+ let market_fee_percent = options.market_fee_percent;
+ let max_market_fee = options.max_market_fee;
+ let isBitasset = opContents.bitasset_opts ? true : false;
+ let issuer_permissions = getFlagBooleans(
+ options.issuer_permissions,
+ isBitasset
+ );
+ let flags = getFlagBooleans(options.flags, isBitasset);
+ let cer_base_amount = options.core_exchange_rate.base.amount;
+ let cer_base_asset_id = options.core_exchange_rate.base.asset_id;
+ let cer_quote_amount = options.core_exchange_rate.quote.amount;
+ let cer_quote_asset_id = options.core_exchange_rate.quote.asset_id;
+ let whitelist_authorities = options.whitelist_authorities;
+ let blacklist_authorities = options.blacklist_authorities;
+ let whitelist_markets = options.whitelist_markets;
+ let blacklist_markets = options.blacklist_markets;
+ let description = JSON.parse(options.description);
+ let nft_object = description ? description.nft_object : null;
+
+ let tempRows = [
+ { key: "symbol", params: { symbol: symbol } },
+ { key: "main", params: { main: description.main } },
+ { key: "market", params: { market: description.market } },
+ {
+ key: "short_name",
+ params: { short_name: description.short_name },
+ },
+ { key: "precision", params: { precision: precision } },
+ { key: "max_supply", params: { max_supply: max_supply } },
+ {
+ key: "market_fee_percent",
+ params: { market_fee_percent: market_fee_percent },
+ },
+ {
+ key: "max_market_fee",
+ params: { max_market_fee: max_market_fee },
+ },
+ { key: "cer", params: {} },
+ {
+ key: "cer_base_amount",
+ params: { cer_base_amount: cer_base_amount },
+ },
+ { key: "cer_base_id", params: { cer_base_id: cer_base_asset_id } },
+ {
+ key: "cer_quote_amount",
+ params: { cer_quote_amount: cer_quote_amount },
+ },
+ {
+ key: "cer_quote_id",
+ params: { cer_quote_id: cer_quote_asset_id },
+ },
+ {
+ key: "whitelist_authorities",
+ params: { whitelist_authorities: whitelist_authorities },
+ },
+ {
+ key: "blacklist_authorities",
+ params: { blacklist_authorities: blacklist_authorities },
+ },
+ {
+ key: "whitelist_markets",
+ params: { whitelist_markets: whitelist_markets },
+ },
+ {
+ key: "blacklist_markets",
+ params: { blacklist_markets: blacklist_markets },
+ },
+ {
+ key: "is_prediction_market",
+ params: { is_prediction_market: is_prediction_market },
+ },
+ { key: "permissions", params: {} },
+ {
+ key: "perm_charge_market_fee",
+ params: {
+ charge_market_fee: issuer_permissions["charge_market_fee"],
+ },
+ },
+ {
+ key: "perm_white_list",
+ params: { white_list: issuer_permissions["white_list"] },
+ },
+ {
+ key: "perm_override_authority",
+ params: {
+ override_authority:
+ issuer_permissions["override_authority"],
+ },
+ },
+ {
+ key: "perm_transfer_restricted",
+ params: {
+ transfer_restricted:
+ issuer_permissions["transfer_restricted"],
+ },
+ },
+ {
+ key: "perm_disable_confidential",
+ params: {
+ disable_confidential:
+ issuer_permissions["disable_confidential"],
+ },
+ },
+ { key: "flags", params: {} },
+ {
+ key: "flag_charge_market_fee",
+ params: { charge_market_fee: flags["charge_market_fee"] },
+ },
+ {
+ key: "flag_white_list",
+ params: { white_list: flags["white_list"] },
+ },
+ {
+ key: "flag_override_authority",
+ params: { override_authority: flags["override_authority"] },
+ },
+ {
+ key: "flag_transfer_restricted",
+ params: { transfer_restricted: flags["transfer_restricted"] },
+ },
+ {
+ key: "flag_disable_confidential",
+ params: { disable_confidential: flags["disable_confidential"] },
+ },
+ { key: "bitasset", params: {} },
+ ];
+
+ if (isBitasset) {
+ tempRows = tempRows.concat([
+ { key: "bitasset_opts", params: {} },
+ {
+ key: "feed_lifetime_sec",
+ params: {
+ feed_lifetime_sec:
+ opContents.bitasset_opts.feed_lifetime_sec,
+ },
+ },
+ {
+ key: "force_settlement_delay_sec",
+ params: {
+ force_settlement_delay_sec:
+ opContents.bitasset_opts.force_settlement_delay_sec,
+ },
+ },
+ {
+ key: "force_settlement_offset_percent",
+ params: {
+ force_settlement_offset_percent:
+ opContents.bitasset_opts
+ .force_settlement_offset_percent,
+ },
+ },
+ {
+ key: "maximum_force_settlement_volume",
+ params: {
+ maximum_force_settlement_volume:
+ opContents.bitasset_opts
+ .maximum_force_settlement_volume,
+ },
+ },
+ {
+ key: "minimum_feeds",
+ params: {
+ minimum_feeds: opContents.bitasset_opts.minimum_feeds,
+ },
+ },
+ {
+ key: "short_backing_asset",
+ params: {
+ short_backing_asset:
+ opContents.bitasset_opts.short_backing_asset,
+ },
+ },
+ ]);
+ }
+
+ if (nft_object) {
+ tempRows = tempRows.concat([
+ { key: "nft", params: {} },
+ {
+ key: "acknowledgements",
+ params: { acknowledgements: nft_object.acknowledgements },
+ },
+ {
+ key: "artist",
+ params: { artist: nft_object.artist },
+ },
+ {
+ key: "attestation",
+ params: { attestation: nft_object.attestation },
+ },
+ {
+ key: "holder_license",
+ params: { holder_license: nft_object.holder_license },
+ },
+ {
+ key: "license",
+ params: { license: nft_object.license },
+ },
+ {
+ key: "narrative",
+ params: { narrative: nft_object.narrative },
+ },
+ {
+ key: "title",
+ params: { title: nft_object.title },
+ },
+ {
+ key: "tags",
+ params: { tags: nft_object.tags },
+ },
+ {
+ key: "type",
+ params: { type: nft_object.type },
+ },
+ ]);
+ }
+
+ currentOperation["rows"] = tempRows;
+ } else if (opType == 12) {
+ // asset_update_bitasset
+ let shortBackingAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.new_options.short_backing_asset
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (shortBackingAsset) {
+ currentOperation["rows"] = [
+ { key: "issuer", params: { issuer: opContents.issuer } },
+ {
+ key: "asset_to_update",
+ params: { asset_to_update: opContents.asset_to_update },
+ },
+ { key: "new_options", params: {} },
+ {
+ key: "feed_lifetime_sec",
+ params: {
+ feed_lifetime_sec:
+ opContents.new_options.feed_lifetime_sec,
+ },
+ },
+ {
+ key: "minimum_feeds",
+ params: {
+ minimum_feeds: opContents.new_options.minimum_feeds,
+ },
+ },
+ {
+ key: "force_settlement_delay_sec",
+ params: {
+ force_settlement_delay_sec:
+ opContents.new_options.force_settlement_delay_sec,
+ },
+ },
+ {
+ key: "force_settlement_offset_percent",
+ params: {
+ force_settlement_offset_percent:
+ opContents.new_options
+ .force_settlement_offset_percent,
+ },
+ },
+ {
+ key: "maximum_force_settlement_volume",
+ params: {
+ maximum_force_settlement_volume:
+ opContents.new_options
+ .maximum_force_settlement_volume,
+ },
+ },
+ {
+ key: "short_backing_asset",
+ params: { short_backing_asset: shortBackingAsset.symbol },
+ },
+ opContents.new_options.extensions
+ ? {
+ key: "extensions",
+ params: {
+ extensions: opContents.new_options.extensions,
+ },
+ }
+ : { key: "noExtensions", params: {} },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(opContents.fee.amount, "BTS", 5),
+ id: opContents.fee.asset_id,
+ },
+ },
+ ];
+ }
+ } else if (opType == 13) {
+ // asset_update_feed_producers
+ let issuer = accountResults.find(
+ (resAcc) => resAcc.id === opContents.issuer
+ ).accountName;
+ let assetToUpdate = assetResults.find(
+ (assRes) => assRes.id === opContents.new_options.short_backing_asset
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (issuer && assetToUpdate) {
+ currentOperation["rows"] = [
+ {
+ key: "issuer",
+ params: { issuer: issuer, issuerOP: opContents.issuer },
+ },
+ {
+ key: "asset_to_update",
+ params: {
+ symbol: assetToUpdate.symbol,
+ asset_to_update: opContents.asset_to_update,
+ },
+ },
+ {
+ key: "new_feed_producers",
+ params: {
+ new_feed_producers: JSON.stringify(
+ opContents.new_feed_producers
+ ),
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 14) {
+ // asset_issue
+ //let issuer = accountResults.find((resAcc) => resAcc.id === opContents.issuer).accountName;
+ let targetAccount = accountResults.find(
+ (resAcc) => resAcc.id === opContents.issue_to_account
+ ).accountName;
+ let assetToIssue = assetResults.find(
+ (assRes) => assRes.id === opContents.asset_to_issue.asset_id
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (targetAccount && assetToIssue) {
+ currentOperation["rows"] = [
+ {
+ key: "prompt",
+ params: {
+ amount: opContents.asset_to_issue.amount,
+ symbol: assetToIssue.symbol,
+ asset_id: opContents.asset_to_issue.asset_id,
+ to: targetAccount,
+ toID: opContents.issue_to_account,
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: JSON.stringify(opContents.fee).amount,
+ id: opContents.fee.asset_id,
+ },
+ },
+ ];
+ }
+ } else if (opType == 15) {
+ // asset_reserve
+ let payer = accountResults.find(
+ (resAcc) => resAcc.id === opContents.payer
+ ).accountName;
+ let assetToReserve = assetResults.find(
+ (assRes) => assRes.id === opContents.amount_to_reserve.asset_id
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (payer && assetToReserve) {
+ currentOperation["rows"] = [
+ {
+ key: "payer",
+ params: { payer: payer, payerOP: opContents.payer },
+ },
+ {
+ key: "amount_to_reserve",
+ params: {
+ amount_to_reserve: formatAsset(
+ opContents.amount_to_reserve.amount,
+ assetToReserve.symbol,
+ assetToReserve.precision
+ ),
+ asset_id: opContents.amount_to_reserve.asset_id,
+ },
+ },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 16) {
+ // asset_fund_fee_pool
+ let fromAccount = accountResults.find(
+ (resAcc) => resAcc.id === opContents.from_account
+ ).accountName;
+ let assetToFund = assetResults.find(
+ (assRes) => assRes.id === opContents.asset_id
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (fromAccount && assetToFund) {
+ currentOperation["rows"] = [
+ {
+ key: "from_account",
+ params: {
+ from_account: fromAccount,
+ from_accountOP: opContents.from_account,
+ },
+ },
+ {
+ key: "asset",
+ params: {
+ from_account: assetToFund.symbol,
+ from_accountOP: opContents.asset_id,
+ },
+ },
+ {
+ key: "amount",
+ params: {
+ amount: formatAsset(
+ opContents.amount,
+ assetToFund.symbol,
+ assetToFund.precision
+ ),
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 17) {
+ // asset_settle
+ let account = accountResults.find(
+ (resAcc) => resAcc.id === opContents.account
+ ).accountName;
+ let assetToSettle = assetResults.find(
+ (assRes) => assRes.id === opContents.amount.asset_id
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (account && assetToSettle) {
+ currentOperation["rows"] = [
+ {
+ key: "account",
+ params: { account: account, accountOP: opContents.account },
+ },
+ {
+ key: "amount",
+ params: {
+ amount: formatAsset(
+ opContents.amount.amount,
+ assetToSettle.symbol,
+ assetToSettle.precision
+ ),
+ assetID: opContents.amount.asset_id,
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 18) {
+ // asset_global_settle
+ let issuer = accountResults.find(
+ (resAcc) => resAcc.id === opContents.account
+ ).accountName;
+ let assetToSettle = assetResults.find(
+ (assRes) => assRes.id === opContents.asset_to_settle
+ );
+ let baseAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.settle_price.base.asset_id
+ );
+ let quoteAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.settle_price.quote.asset_id
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (issuer && assetToSettle && baseAsset && quoteAsset) {
+ let price =
+ humanReadableFloat(
+ opContents.settle_price.base.amount,
+ baseAsset.precision
+ ) /
+ humanReadableFloat(
+ opContents.settle_price.quote.amount,
+ quoteAsset.precision
+ );
+
+ currentOperation["rows"] = [
+ {
+ key: "issuer",
+ params: { issuer: issuer, issuerOP: opContents.account },
+ },
+ {
+ key: "asset_to_settle",
+ params: {
+ asset_to_settle: assetToSettle.symbol,
+ asset_to_settleOP: opContents.asset_to_settle,
+ },
+ },
+ { key: "settle_price", params: { settle_price: price } },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 19) {
+ // asset_publish_feed
+ let publisher = accountResults.find(
+ (resAcc) => resAcc.id === opContents.publisher
+ ).accountName;
+ let baseAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.settle_price.base.asset_id
+ ); // backing e.g. BTS
+ let quoteAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.settle_price.quote.asset_id
+ ); // same as asset_id
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (publisher && baseAsset && quoteAsset) {
+ let coreExchangeRate =
+ humanReadableFloat(
+ opContents.feed.core_exchange_rate.base.amount,
+ baseAsset.precision
+ ) /
+ humanReadableFloat(
+ opContents.feed.core_exchange_rate.quote.amount,
+ quoteAsset.precision
+ );
+
+ let settlementPrice =
+ humanReadableFloat(
+ opContents.feed.settlement_price.base.amount,
+ baseAsset.precision
+ ) /
+ humanReadableFloat(
+ opContents.feed.settlement_price.quote.amount,
+ quoteAsset.precision
+ );
+
+ currentOperation["rows"] = [
+ {
+ key: "publisher",
+ params: {
+ publisher: publisher,
+ publisherOP: opContents.publisher,
+ },
+ },
+ {
+ key: "asset_id",
+ params: {
+ symbol: quoteAsset.symbol,
+ asset_idOP: opContents.asset_id,
+ },
+ },
+ { key: "feed", params: {} },
+ {
+ key: "core_exchange_rate",
+ params: { core_exchange_rate: coreExchangeRate },
+ },
+ {
+ key: "settlement_price",
+ params: { settlement_price: settlementPrice },
+ },
+ {
+ key: "maintenance_collateral_ratio",
+ params: {
+ maintenance_collateral_ratio:
+ opContents.feed.maintenance_collateral_ratio,
+ },
+ },
+ {
+ key: "maximum_short_squeeze_ratio",
+ params: {
+ maximum_short_squeeze_ratio:
+ opContents.feed.maximum_short_squeeze_ratio,
+ },
+ },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 20) {
+ // witness_create
+ let witnessAccount = accountResults.find(
+ (resAcc) => resAcc.id === opContents.witness_account
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+ if (witnessAccount) {
+ currentOperation["rows"] = [
+ {
+ key: "witness_account",
+ params: {
+ witness_account: witnessAccount,
+ witness_accountOP: opContents.witness_account,
+ },
+ },
+ { key: "url", params: { url: opContents.url } },
+ {
+ key: "block_signing_key",
+ params: { block_signing_key: opContents.block_signing_key },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 21) {
+ // witness_update
+ let witnessAccount = accountResults.find(
+ (resAcc) => resAcc.id === opContents.witness_account
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+ if (witnessAccount) {
+ currentOperation["rows"] = [
+ {
+ key: "witness",
+ params: {
+ witness: opContents.witness,
+ },
+ },
+ {
+ key: "witness_account",
+ params: {
+ witness_account: witnessAccount,
+ witness_accountOP: opContents.witness_account,
+ },
+ },
+ { key: "new_url", params: { new_url: opContents.new_url } },
+ {
+ key: "new_signing_key",
+ params: { new_signing_key: opContents.new_signing_key },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 22) {
+ // proposal_create
+ let feePayingAccount = accountResults.find(
+ (resAcc) => resAcc.id === opContents.fee_paying_account
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+ if (feePayingAccount) {
+ currentOperation["rows"] = [
+ {
+ key: "expiration_time",
+ params: { expiration_time: opContents.expiration_time },
+ },
+ {
+ key: "proposed_ops",
+ params: {
+ proposed_ops: JSON.stringify(opContents.proposed_ops),
+ },
+ },
+ {
+ key: "review_period_seconds",
+ params: {
+ review_period_seconds: opContents.review_period_seconds,
+ },
+ },
+ {
+ key: "fee_paying_account",
+ params: {
+ fee_paying_account: feePayingAccount,
+ fee_paying_accountOP: opContents.fee_paying_account,
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 23) {
+ // proposal_update
+ let feePayingAccount = accountResults.find(
+ (resAcc) => resAcc.id === opContents.fee_paying_account
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+ if (feePayingAccount) {
+ currentOperation["rows"] = [
+ { key: "proposal", params: { proposal: opContents.proposal } },
+ {
+ key: "active_approvals_to_add",
+ params: {
+ active_approvals_to_add: JSON.stringify(
+ opContents.active_approvals_to_add
+ ),
+ },
+ },
+ {
+ key: "active_approvals_to_remove",
+ params: {
+ active_approvals_to_remove: JSON.stringify(
+ opContents.active_approvals_to_remove
+ ),
+ },
+ },
+ {
+ key: "owner_approvals_to_add",
+ params: {
+ owner_approvals_to_add: JSON.stringify(
+ opContents.owner_approvals_to_add
+ ),
+ },
+ },
+ {
+ key: "owner_approvals_to_remove",
+ params: {
+ owner_approvals_to_remove: JSON.stringify(
+ opContents.owner_approvals_to_remove
+ ),
+ },
+ },
+ {
+ key: "key_approvals_to_add",
+ params: {
+ key_approvals_to_add: JSON.stringify(
+ opContents.key_approvals_to_add
+ ),
+ },
+ },
+ {
+ key: "key_approvals_to_remove",
+ params: {
+ key_approvals_to_remove: JSON.stringify(
+ opContents.key_approvals_to_remove
+ ),
+ },
+ },
+ {
+ key: "fee_paying_account",
+ params: {
+ fee_paying_account: feePayingAccount,
+ fee_paying_accountOP: opContents.fee_paying_account,
+ },
+ },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 24) {
+ // proposal_delete
+ let feePayingAccount = accountResults.find(
+ (resAcc) => resAcc.id === opContents.fee_paying_account
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+ if (feePayingAccount) {
+ currentOperation["rows"] = [
+ {
+ key: "using_owner_authority",
+ params: {
+ using_owner_authority: opContents.using_owner_authority,
+ },
+ },
+ { key: "proposal", params: { proposal: opContents.proposal } },
+ {
+ key: "fee_paying_account",
+ params: {
+ fee_paying_account: feePayingAccount,
+ fee_paying_accountOP: opContents.fee_paying_account,
+ },
+ },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 25) {
+ // withdraw_permission_create
+ let to = accountResults.find(
+ (resAcc) => resAcc.id === opContents.authorized_account
+ ).accountName;
+ let from = accountResults.find(
+ (resAcc) => resAcc.id === opContents.withdraw_from_account
+ ).accountName;
+ let asset = assetResults.find(
+ (assRes) => assRes.id === opContents.withdrawal_limit.asset_id
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (to && from && asset) {
+ currentOperation["rows"] = [
+ {
+ key: "recipient",
+ params: {
+ recipient: to,
+ recipientOP: opContents.authorized_account,
+ },
+ },
+ {
+ key: "withdraw_from",
+ params: {
+ withdraw_from: from,
+ withdraw_fromOP: opContents.withdraw_from_account,
+ },
+ },
+ {
+ key: "taking",
+ params: {
+ amount: formatAsset(
+ opContents.withdrawal_limit.amount,
+ asset.symbol,
+ asset.precision
+ ),
+ period_sec: opContents.withdrawal_period_sec,
+ period_qty: opContents.periods_until_expiration,
+ },
+ },
+ ];
+ }
+ } else if (opType == 26) {
+ // withdraw_permission_update
+ let withdrawFromAccount = accountResults.find(
+ (resAcc) => resAcc.id === opContents.withdraw_from_account
+ ).accountName;
+ let authorizedAccount = accountResults.find(
+ (resAcc) => resAcc.id === opContents.authorized_account
+ ).accountName;
+ let withdrawalLimit = assetResults.find(
+ (assRes) => assRes.id === opContents.withdrawal_limit.asset_id
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (withdrawFromAccount && authorizedAccount && withdrawalLimit) {
+ currentOperation["rows"] = [
+ {
+ key: "withdraw_from_account",
+ params: {
+ withdraw_from_account: withdrawFromAccount,
+ withdraw_from_accountOP:
+ opContents.withdraw_from_account,
+ },
+ },
+ {
+ key: "authorized_account",
+ params: {
+ authorized_account: authorizedAccount,
+ authorized_accountOP: opContents.authorized_account,
+ },
+ },
+ {
+ key: "permission_to_update",
+ params: {
+ permission_to_update: opContents.permission_to_update,
+ },
+ },
+ withdrawalLimit
+ ? {
+ key: "withdrawal_limited",
+ params: {
+ withdrawal_limit: formatAsset(
+ opContents.withdrawal_limit.amount,
+ withdrawalLimit.symbol,
+ withdrawalLimit.precision
+ ),
+ },
+ }
+ : {
+ key: "withdrawal_unlimited",
+ params: {
+ withdrawal_limit:
+ opContents.withdrawal_limit.amount,
+ withdrawal_limitOP:
+ opContents.withdrawal_limit.asset_id,
+ },
+ },
+ {
+ key: "withdrawal_period_sec",
+ params: {
+ withdrawal_period_sec: opContents.withdrawal_period_sec,
+ },
+ },
+ {
+ key: "period_start_time",
+ params: { period_start_time: opContents.period_start_time },
+ },
+ {
+ key: "periods_until_expiration",
+ params: {
+ periods_until_expiration:
+ opContents.periods_until_expiration,
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 27) {
+ // withdraw_permission_claim
+ let from = accountResults.find(
+ (resAcc) => resAcc.id === opContents.withdraw_from_account
+ ).accountName;
+ let to = accountResults.find(
+ (resAcc) => resAcc.id === opContents.withdraw_to_account
+ ).accountName;
+ let withdrawnAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.amount_to_withdraw.asset_id
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (from && to && withdrawnAsset) {
+ currentOperation["rows"] = [
+ {
+ key: "withdraw_permission",
+ params: {
+ withdraw_permission: opContents.withdraw_permission,
+ },
+ },
+ {
+ key: "withdraw_from_account",
+ params: {
+ withdraw_from_account: from ?? "",
+ withdraw_from_accountOP:
+ opContents.withdraw_from_account,
+ },
+ },
+ {
+ key: "withdraw_to_account",
+ params: {
+ withdraw_to_account: to ?? "",
+ withdraw_to_accountOP: opContents.withdraw_to_account,
+ },
+ },
+ {
+ key: "amount_to_withdraw",
+ params: {
+ amount_to_withdraw: withdrawnAsset
+ ? formatAsset(
+ opContents.amount_to_withdraw.amount,
+ withdrawnAsset.symbol,
+ withdrawnAsset.precision
+ )
+ : opContents.amount_to_withdraw.amount,
+ amount_to_withdrawOP:
+ opContents.amount_to_withdraw.asset_id,
+ },
+ },
+ { key: "memo", params: { memo: opContents.memo } },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 28) {
+ // withdraw_permission_delete
+ let withdrawFromAccount = accountResults.find(
+ (resAcc) => resAcc.id === opContents.withdraw_from_account
+ ).accountName;
+ let authorizedAccount = accountResults.find(
+ (resAcc) => resAcc.id === opContents.authorized_account
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (withdrawFromAccount && authorizedAccount) {
+ currentOperation["rows"] = [
+ {
+ key: "withdraw_from_account",
+ params: {
+ withdraw_from_account: withdrawFromAccount,
+ withdraw_from_accountOP:
+ opContents.withdraw_from_account,
+ },
+ },
+ {
+ key: "authorized_account",
+ params: {
+ authorized_account: authorizedAccount,
+ authorized_accountOP: opContents.authorized_account,
+ },
+ },
+ {
+ key: "withdrawal_permission",
+ params: {
+ withdrawal_permission: opContents.withdrawal_permission,
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 29) {
+ // committee_member_create
+ let committeeMemberAccount = accountResults.find(
+ (resAcc) => resAcc.id === opContents.committee_member_account
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+ if (committeeMemberAccount) {
+ currentOperation["rows"] = [
+ {
+ key: "committee_member_account",
+ params: {
+ committee_member_account: committeeMemberAccount,
+ committee_member_accountOP:
+ opContents.committee_member_account,
+ },
+ },
+ { key: "url", params: { url: opContents.url } },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 30) {
+ // committee_member_update
+ let committeeMemberAccount = accountResults.find(
+ (resAcc) => resAcc.id === opContents.committee_member_account
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+ if (committeeMemberAccount) {
+ currentOperation["rows"] = [
+ {
+ key: "committee_member",
+ params: { committee_member: opContents.committee_member },
+ },
+ {
+ key: "committee_member_account",
+ params: {
+ committee_member_account: committeeMemberAccount,
+ committee_member_accountOP:
+ opContents.committee_member_account,
+ },
+ },
+ { key: "new_url", params: { new_url: opContents.new_url } },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 31) {
+ // committee_member_update_global_parameters
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+ currentOperation["rows"] = [
+ { key: "new_parameters", params: {} },
+ {
+ key: "current_fees",
+ params: {
+ current_fees: JSON.stringify(
+ opContents.new_parameters.current_fees
+ ),
+ },
+ },
+ {
+ key: "block_interval",
+ params: { block_interval: opContents.block_interval },
+ },
+ {
+ key: "maintenance_interval",
+ params: {
+ maintenance_interval: opContents.maintenance_interval,
+ },
+ },
+ {
+ key: "maintenance_skip_slots",
+ params: {
+ maintenance_skip_slots: opContents.maintenance_skip_slots,
+ },
+ },
+ {
+ key: "committee_proposal_review_period",
+ params: {
+ committee_proposal_review_period:
+ opContents.committee_proposal_review_period,
+ },
+ },
+ {
+ key: "maximum_transaction_size",
+ params: {
+ maximum_transaction_size:
+ opContents.maximum_transaction_size,
+ },
+ },
+ {
+ key: "maximum_block_size",
+ params: { maximum_block_size: opContents.maximum_block_size },
+ },
+ {
+ key: "maximum_time_until_expiration",
+ params: {
+ maximum_time_until_expiration:
+ opContents.maximum_time_until_expiration,
+ },
+ },
+ {
+ key: "maximum_proposal_lifetime",
+ params: {
+ maximum_proposal_lifetime:
+ opContents.maximum_proposal_lifetime,
+ },
+ },
+ {
+ key: "maximum_asset_whitelist_authorities",
+ params: {
+ maximum_asset_whitelist_authorities:
+ opContents.maximum_asset_whitelist_authorities,
+ },
+ },
+ {
+ key: "maximum_asset_feed_publishers",
+ params: {
+ maximum_asset_feed_publishers:
+ opContents.maximum_asset_feed_publishers,
+ },
+ },
+ {
+ key: "maximum_witness_count",
+ params: {
+ maximum_witness_count: opContents.maximum_witness_count,
+ },
+ },
+ {
+ key: "maximum_committee_count",
+ params: {
+ maximum_committee_count: opContents.maximum_committee_count,
+ },
+ },
+ {
+ key: "maximum_authority_membership",
+ params: {
+ maximum_authority_membership:
+ opContents.maximum_authority_membership,
+ },
+ },
+ {
+ key: "reserve_percent_of_fee",
+ params: {
+ reserve_percent_of_fee: opContents.reserve_percent_of_fee,
+ },
+ },
+ {
+ key: "network_percent_of_fee",
+ params: {
+ network_percent_of_fee: opContents.network_percent_of_fee,
+ },
+ },
+ {
+ key: "lifetime_referrer_percent_of_fee",
+ params: {
+ lifetime_referrer_percent_of_fee:
+ opContents.lifetime_referrer_percent_of_fee,
+ },
+ },
+ {
+ key: "cashback_vesting_period_seconds",
+ params: {
+ cashback_vesting_period_seconds:
+ opContents.cashback_vesting_period_seconds,
+ },
+ },
+ {
+ key: "cashback_vesting_threshold",
+ params: {
+ cashback_vesting_threshold:
+ opContents.cashback_vesting_threshold,
+ },
+ },
+ {
+ key: "count_non_member_votes",
+ params: {
+ count_non_member_votes: opContents.count_non_member_votes,
+ },
+ },
+ {
+ key: "allow_non_member_whitelists",
+ params: {
+ allow_non_member_whitelists:
+ opContents.allow_non_member_whitelists,
+ },
+ },
+ {
+ key: "witness_pay_per_block",
+ params: {
+ witness_pay_per_block: opContents.witness_pay_per_block,
+ },
+ },
+ {
+ key: "worker_budget_per_day",
+ params: {
+ worker_budget_per_day: opContents.worker_budget_per_day,
+ },
+ },
+ {
+ key: "max_predicate_opcode",
+ params: {
+ max_predicate_opcode: opContents.max_predicate_opcode,
+ },
+ },
+ {
+ key: "fee_liquidation_threshold",
+ params: {
+ fee_liquidation_threshold:
+ opContents.fee_liquidation_threshold,
+ },
+ },
+ {
+ key: "accounts_per_fee_scale",
+ params: {
+ accounts_per_fee_scale: opContents.accounts_per_fee_scale,
+ },
+ },
+ {
+ key: "account_fee_scale_bitshifts",
+ params: {
+ account_fee_scale_bitshifts:
+ opContents.account_fee_scale_bitshifts,
+ },
+ },
+ {
+ key: "max_authority_depth",
+ params: { max_authority_depth: opContents.max_authority_depth },
+ },
+ {
+ key: "extensions",
+ params: { extensions: JSON.stringify(opContents.extensions) },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ,
+ ];
+ } else if (opType == 32) {
+ // vesting_balance_create
+ let creator = accountResults.find(
+ (resAcc) => resAcc.id === opContents.creator
+ ).accountName;
+ let owner = accountResults.find(
+ (resAcc) => resAcc.id === opContents.owner
+ ).accountName;
+ let amount = assetResults.find(
+ (assRes) => assRes.id === opContents.amount.asset_id
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (creator && owner && amount) {
+ let tempRows = [
+ {
+ key: "creator",
+ params: { creator: creator, creatorOP: opContents.creator },
+ },
+ {
+ key: "owner",
+ params: { owner: owner, ownerOP: opContents.owner },
+ },
+ {
+ key: "amount",
+ params: {
+ amount: formatAsset(
+ opContents.amount.amount,
+ amount.symbol,
+ amount.precision
+ ),
+ amount_id: opContents.amount.asset_id,
+ },
+ },
+ { key: "policy", params: {} },
+ ];
+
+ let policy = opContents.policy;
+ if (policy[0] == 0) {
+ tempRows.push({
+ key: "begin_timestamp",
+ params: { begin_timestamp: policy[1].begin_timestamp },
+ });
+ tempRows.push({
+ key: "vesting_cliff_seconds",
+ params: {
+ vesting_cliff_seconds: policy[1].vesting_cliff_seconds,
+ },
+ });
+ tempRows.push({
+ key: "vesting_duration_seconds",
+ params: {
+ vesting_duration_seconds:
+ policy[1].vesting_duration_seconds,
+ },
+ });
+ } else {
+ tempRows.push({
+ key: "start_claim",
+ params: { start_claim: policy[1].start_claim },
+ });
+ tempRows.push({
+ key: "vesting_seconds",
+ params: { vesting_seconds: policy[1].vesting_seconds },
+ });
+ }
+
+ tempRows.push({
+ key: "fee",
+ params: { fee: JSON.stringify(opContents.fee) },
+ });
+ return tempRows;
+ }
+ } else if (opType == 33) {
+ // vesting_balance_withdraw
+ let owner = accountResults.find(
+ (resAcc) => resAcc.id === opContents.owner
+ ).accountName;
+ let asset = assetResults.find(
+ (assRes) => assRes.id === opContents.amount.asset_id
+ );
+
+ if (owner && asset) {
+ currentOperation["rows"] = [
+ {
+ key: "owner",
+ params: { owner: owner, ownerOP: opContents.owner },
+ },
+ {
+ key: "claim",
+ params: {
+ claim: formatAsset(
+ opContents.amount.amount,
+ asset.symbol,
+ asset.precision
+ ),
+ asset_id: opContents.amount.asset_id,
+ },
+ },
+ ];
+ }
+ } else if (opType == 34) {
+ // worker_create
+ let owner = accountResults.find(
+ (resAcc) => resAcc.id === opContents.owner
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+ if (owner) {
+ currentOperation["rows"] = [
+ {
+ key: "owner",
+ params: { owner: owner, ownerOP: opContents.owner },
+ },
+ {
+ key: "work_begin_date",
+ params: { work_begin_date: opContents.work_begin_date },
+ },
+ {
+ key: "work_end_date",
+ params: { work_end_date: opContents.work_end_date },
+ },
+ {
+ key: "daily_pay",
+ params: { daily_pay: opContents.daily_pay },
+ },
+ { key: "name", params: { name: opContents.name } },
+ { key: "url", params: { url: opContents.url } },
+ {
+ key: "initializer",
+ params: {
+ initializer: JSON.stringify(opContents.initializer),
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 35) {
+ // custom
+ let payer = accountResults.find(
+ (resAcc) => resAcc.id === opContents.payer
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+ if (payer) {
+ currentOperation["rows"] = [
+ {
+ key: "payer",
+ params: { payer: payer, payerOP: opContents.payer },
+ },
+ {
+ key: "required_auths",
+ params: {
+ required_auths: JSON.stringify(
+ opContents.required_auths
+ ),
+ },
+ },
+ { key: "id", params: { id: opContents.id } },
+ {
+ key: "data",
+ params: { data: JSON.stringify(opContents.data) },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 36) {
+ // assert
+ let feePayingAccount = accountResults.find(
+ (resAcc) => resAcc.id === opContents.fee_paying_account
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+ if (feePayingAccount) {
+ currentOperation["rows"] = [
+ {
+ key: "fee_paying_account",
+ params: {
+ fee_paying_account: feePayingAccount,
+ fee_paying_accountOP: opContents.fee_paying_account,
+ },
+ },
+ {
+ key: "predicates",
+ params: {
+ predicates: JSON.stringify(opContents.predicates),
+ },
+ },
+ {
+ key: "required_auths",
+ params: {
+ required_auths: JSON.stringify(
+ opContents.required_auths
+ ),
+ },
+ },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 37) {
+ // balance_claim
+ let depositToAccount = accountResults.find(
+ (resAcc) => resAcc.id === opContents.deposit_to_account
+ ).accountName;
+ let claimedAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.amount.asset_id
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (depositToAccount && claimedAsset) {
+ currentOperation["rows"] = [
+ {
+ key: "deposit_to_account",
+ params: {
+ deposit_to_account: depositToAccount,
+ deposit_to_accountOP: opContents.deposit_to_account,
+ },
+ },
+ {
+ key: "balance_to_claim",
+ params: { balance_to_claim: opContents.balance_to_claim },
+ },
+ {
+ key: "balance_owner_key",
+ params: { balance_owner_key: opContents.balance_owner_key },
+ },
+ {
+ key: "total_claimed",
+ params: {
+ total_claimed: formatAsset(
+ opContents.amount.amount,
+ claimedAsset.symbol,
+ claimedAsset.precision
+ ),
+ asset_id: opContents.amount.asset_id,
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 38) {
+ // override_transfer
+ let issuer = accountResults.find(
+ (resAcc) => resAcc.id === opContents.issuer
+ ).accountName;
+ let from = accountResults.find(
+ (resAcc) => resAcc.id === opContents.from
+ ).accountName;
+ let to = accountResults.find(
+ (resAcc) => resAcc.id === opContents.to
+ ).accountName;
+ let overridenAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.amount.asset_id
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (issuer && from && to && overridenAsset) {
+ currentOperation["rows"] = [
+ {
+ key: "issuer",
+ params: { issuer: issuer, issuerOP: opContents.issuer },
+ },
+ {
+ key: "from",
+ params: { from: from, fromOP: opContents.from },
+ },
+ { key: "to", params: { to: to, toOP: opContents.to } },
+ {
+ key: "amount",
+ params: {
+ amount: formatAsset(
+ opContents.amount.amount,
+ overridenAsset.symbol,
+ overridenAsset.precision
+ ),
+ asset_id: opContents.amount.asset_id,
+ },
+ },
+ { key: "memo", params: { memo: opContents.memo } },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 39) {
+ // transfer_to_blind
+ let from = accountResults.find(
+ (resAcc) => resAcc.id === opContents.from
+ ).accountName;
+ let assetToTransfer = assetResults.find(
+ (assRes) => assRes.id === opContents.amount.asset_id
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (from && assetToTransfer) {
+ currentOperation["rows"] = [
+ {
+ key: "amount",
+ params: {
+ amount: formatAsset(
+ opContents.amount.amount,
+ assetToTransfer.symbol,
+ assetToTransfer.precision
+ ),
+ },
+ },
+ {
+ key: "from",
+ params: { from: from, fromOP: opContents.from },
+ },
+ {
+ key: "blinding_factor",
+ params: { blinding_factor: opContents.blinding_factor },
+ },
+ {
+ key: "outputs",
+ params: { outputs: JSON.stringify(opContents.outputs) },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 40) {
+ // blind_transfer
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+ currentOperation["rows"] = [
+ {
+ key: "inputs",
+ params: { inputs: JSON.stringify(opContents.inputs) },
+ },
+ {
+ key: "outputs",
+ params: { outputs: JSON.stringify(opContents.outputs) },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ,
+ ];
+ } else if (opType == 41) {
+ // transfer_from_blind
+ let to = accountResults.find(
+ (resAcc) => resAcc.id === opContents.to
+ ).accountName;
+ let assetToTransfer = assetResults.find(
+ (assRes) => assRes.id === opContents.amount.asset_id
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (to && assetToTransfer) {
+ currentOperation["rows"] = [
+ {
+ key: "amount",
+ params: {
+ amount: formatAsset(
+ opContents.amount.amount,
+ assetToTransfer.symbol,
+ assetToTransfer.precision
+ ),
+ },
+ },
+ { key: "to", params: { to: to, toOP: opContents.to } },
+ {
+ key: "blinding_factor",
+ params: { blinding_factor: opContents.blinding_factor },
+ },
+ {
+ key: "inputs",
+ params: { inputs: JSON.stringify(opContents.inputs) },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 43) {
+ // asset_claim_fees
+ let issuer = accountResults.find(
+ (resAcc) => resAcc.id === opContents.issuer
+ ).accountName;
+ let assetToClaim = assetResults.find(
+ (assRes) => assRes.id === opContents.amount_to_claim.asset_id
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (issuer && assetToClaim) {
+ currentOperation["rows"] = [
+ {
+ key: "issuer",
+ params: { issuer: issuer, issuerOP: opContents.issuer },
+ },
+ {
+ key: "amount_to_claim",
+ params: {
+ amount_to_claim: formatAsset(
+ opContents.amount_to_claim.amount,
+ assetToClaim.symbol,
+ assetToClaim.precision
+ ),
+ asset_id: opContents.amount_to_claim.asset_id,
+ },
+ },
+ {
+ key: "extensions",
+ params: {
+ extensions: JSON.stringify(opContents.extensions),
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 45) {
+ // bid_collateral
+ let bidder = accountResults.find(
+ (resAcc) => resAcc.id === opContents.bidder
+ ).accountName;
+ let collateral = assetResults.find(
+ (assRes) => assRes.id === opContents.additional_collateral.asset_id
+ );
+ let debtCovered = assetResults.find(
+ (assRes) => assRes.id === opContents.debtCovered.asset_id
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (bidder && collateral && debtCovered) {
+ currentOperation["rows"] = [
+ {
+ key: "bidder",
+ params: { bidder: bidder, bidderOP: opContents.bidder },
+ },
+ {
+ key: "additional_collateral",
+ params: {
+ additional_collateral: formatAsset(
+ opContents.additional_collateral.amount,
+ collateral.symbol,
+ collateral.precision
+ ),
+ },
+ },
+ {
+ key: "debt_covered",
+ params: {
+ debt_covered: formatAsset(
+ opContents.debt_covered.amount,
+ debtCovered.symbol,
+ debtCovered.precision
+ ),
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 47) {
+ // asset_claim_pool
+ let issuer = accountResults.find(
+ (resAcc) => resAcc.id === opContents.issuer
+ ).accountName;
+ let relevantAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.asset_id
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (issuer && relevantAsset) {
+ currentOperation["rows"] = [
+ {
+ key: "issuer",
+ params: { issuer: issuer, issuerOP: opContents.issuer },
+ },
+ { key: "asset_id", params: { asset_id: opContents.asset_id } },
+ {
+ key: "amount_to_claim",
+ params: {
+ amount_to_claim: formatAsset(
+ opContents.amount_to_claim.amount,
+ relevantAsset.symbol,
+ relevantAsset.precision
+ ),
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 48) {
+ // asset_update_issuer
+ let issuer = accountResults.find(
+ (resAcc) => resAcc.id === opContents.issuer
+ ).accountName;
+ let new_issuer = accountResults.find(
+ (resAcc) => resAcc.id === opContents.new_issuer
+ ).accountName;
+ let assetToUpdate = assetResults.find(
+ (assRes) => assRes.id === opContents.asset_to_update
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (issuer && new_issuer && assetToUpdate) {
+ currentOperation["rows"] = [
+ {
+ key: "issuer",
+ params: { issuer: issuer, issuerOP: opContents.issuer },
+ },
+ {
+ key: "asset_to_update",
+ params: { asset_to_update: assetToUpdate.symbol },
+ },
+ {
+ key: "new_issuer",
+ params: {
+ new_issuer: new_issuer,
+ new_issuerOP: opContents.new_issuer,
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 49) {
+ // htlc_create
+ let from = accountResults.find(
+ (resAcc) => resAcc.id === opContents.from
+ ).accountName;
+ let to = accountResults.find(
+ (resAcc) => resAcc.id === opContents.to
+ ).accountName;
+ let htlcAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.amount.asset_id
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (from && to && htlcAsset) {
+ currentOperation["rows"] = [
+ {
+ key: "from",
+ params: { from: from, fromOP: opContents.from },
+ },
+ { key: "to", params: { to: to, toOP: opContents.to } },
+ {
+ key: "amount",
+ params: {
+ amount: formatAsset(
+ opContents.amount.amount,
+ htlcAsset.symbol,
+ htlcAsset.precision
+ ),
+ },
+ },
+ {
+ key: "preimage_hash",
+ params: { preimage_hash: opContents.preimage_hash },
+ },
+ {
+ key: "preimage_size",
+ params: { preimage_size: opContents.preimage_size },
+ },
+ {
+ key: "claim_period_seconds",
+ params: {
+ claim_period_seconds: opContents.claim_period_seconds,
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 50) {
+ // htlc_redeem
+ let redeemer = accountResults.find(
+ (resAcc) => resAcc.id === opContents.redeemer
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+ if (redeemer) {
+ currentOperation["rows"] = [
+ { key: "htlc_id", params: { htlc_id: opContents.htlc_id } },
+ {
+ key: "redeemer",
+ params: {
+ redeemer: redeemer,
+ redeemerOP: opContents.redeemer,
+ },
+ },
+ { key: "preimage", params: { preimage: opContents.preimage } },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 52) {
+ // htlc_extend
+ let update_issuer = accountResults.find(
+ (resAcc) => resAcc.id === opContents.update_issuer
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+ if (update_issuer) {
+ currentOperation["rows"] = [
+ { key: "htlc_id", params: { htlc_id: opContents.htlc_id } },
+ {
+ key: "update_issuer",
+ params: {
+ update_issuer: update_issuer,
+ update_issuerOP: opContents.update_issuer,
+ },
+ },
+ {
+ key: "seconds_to_add",
+ params: { seconds_to_add: opContents.seconds_to_add },
+ },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 54) {
+ // custom_authority_create
+ let account = accountResults.find(
+ (resAcc) => resAcc.id === opContents.account
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+ if (account) {
+ currentOperation["rows"] = [
+ {
+ key: "account",
+ params: { account: account, accountOP: opContents.account },
+ },
+ { key: "enabled", params: { enabled: opContents.enabled } },
+ {
+ key: "valid_from",
+ params: { valid_from: opContents.valid_from },
+ },
+ { key: "valid_to", params: { valid_to: opContents.valid_to } },
+ {
+ key: "operation_type",
+ params: { operation_type: opContents.operation_type },
+ },
+ {
+ key: "auth",
+ params: { auth: JSON.stringify(opContents.auth) },
+ },
+ {
+ key: "restrictions",
+ params: {
+ restrictions: JSON.stringify(opContents.restrictions),
+ },
+ },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 55) {
+ // custom_authority_update
+ let account = accountResults.find(
+ (resAcc) => resAcc.id === opContents.account
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (account) {
+ currentOperation["rows"] = [
+ {
+ key: "account",
+ params: { account: account, accountOP: opContents.account },
+ },
+ {
+ key: "authority_to_update",
+ params: {
+ authority_to_update: opContents.authority_to_update,
+ },
+ },
+ {
+ key: "new_enabled",
+ params: { new_enabled: opContents.new_enabled },
+ },
+ {
+ key: "new_valid_from",
+ params: { new_valid_from: opContents.new_valid_from },
+ },
+ {
+ key: "new_valid_to",
+ params: { new_valid_to: opContents.new_valid_to },
+ },
+ {
+ key: "new_auth",
+ params: { new_auth: JSON.stringify(opContents.new_auth) },
+ },
+ {
+ key: "restrictions_to_remove",
+ params: {
+ restrictions_to_remove: JSON.stringify(
+ opContents.restrictions_to_remove
+ ),
+ },
+ },
+ {
+ key: "restrictions_to_add",
+ params: {
+ restrictions_to_add: JSON.stringify(
+ opContents.restrictions_to_add
+ ),
+ },
+ },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 56) {
+ // custom_authority_delete
+ let account = accountResults.find(
+ (resAcc) => resAcc.id === opContents.account
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+ if (account) {
+ currentOperation["rows"] = [
+ {
+ key: "account",
+ params: { account: account, accountOP: opContents.account },
+ },
+ {
+ key: "authority_to_delete",
+ params: {
+ authority_to_delete: opContents.authority_to_delete,
+ },
+ },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 57) {
+ // ticket_create
+ let account = accountResults.find(
+ (resAcc) => resAcc.id === opContents.account
+ ).accountName;
+ let ticketAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.amount.asset_id
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (account && ticketAsset) {
+ currentOperation["rows"] = [
+ {
+ key: "account",
+ params: { account: account, accountOP: opContents.account },
+ },
+ {
+ key: "target_type",
+ params: { target_type: opContents.target_type },
+ },
+ {
+ key: "amount",
+ params: {
+ amount: formatAsset(
+ opContents.amount.amount,
+ ticketAsset.symbol,
+ ticketAsset.precision
+ ),
+ },
+ },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 58) {
+ // ticket_update
+ let account = accountResults.find(
+ (resAcc) => resAcc.id === opContents.account
+ ).accountName;
+ let ticketAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.amount_for_new_target.asset_id
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (account && ticketAsset) {
+ currentOperation["rows"] = [
+ { key: "ticket", params: { ticket: opContents.ticket } },
+ {
+ key: "account",
+ params: { account: account, accountOP: opContents.account },
+ },
+ {
+ key: "target_type",
+ params: { target_type: opContents.target_type },
+ },
+ {
+ key: "amount_for_new_target",
+ params: {
+ amount_for_new_target: formatAsset(
+ opContents.amount_for_new_target.amount,
+ ticketAsset.symbol,
+ ticketAsset.precision
+ ),
+ },
+ },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ ];
+ }
+ } else if (opType == 59) {
+ // liquidity_pool_create
+ let account = accountResults.find(
+ (resAcc) => resAcc.id === opContents.account
+ ).accountName;
+ let assetA = assetResults.find(
+ (assRes) => assRes.id === opContents.asset_a
+ );
+ let assetB = assetResults.find(
+ (assRes) => assRes.id === opContents.asset_b
+ );
+ let shareAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.share_asset
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (account && assetA && assetB && shareAsset) {
+ currentOperation["rows"] = [
+ {
+ key: "account",
+ params: { account: account, accountOP: opContents.account },
+ },
+ {
+ key: "asset_a",
+ params: {
+ asset_a: assetA.symbol,
+ asset_aOP: opContents.asset_a,
+ },
+ },
+ {
+ key: "asset_b",
+ params: {
+ asset_b: assetB.symbol,
+ asset_bOP: opContents.asset_b,
+ },
+ },
+ {
+ key: "share_asset",
+ params: {
+ share_asset: shareAsset.symbol,
+ share_assetOP: opContents.share_asset,
+ },
+ },
+ {
+ key: "taker_fee_percent",
+ params: { taker_fee_percent: opContents.taker_fee_percent },
+ },
+ {
+ key: "withdrawal_fee_percent",
+ params: {
+ withdrawal_fee_percent:
+ opContents.withdrawal_fee_percent,
+ },
+ },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 60) {
+ // liquidity_pool_delete
+ let account = accountResults.find(
+ (resAcc) => resAcc.id === opContents.account
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+ if (account) {
+ currentOperation["rows"] = [
+ {
+ key: "account",
+ params: { account: account, accountOP: opContents.account },
+ },
+ { key: "pool_id", params: { pool_id: opContents.pool } },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 61) {
+ // liquidity_pool_deposit
+ let account = accountResults.find(
+ (resAcc) => resAcc.id === opContents.account
+ ).accountName;
+ let amountA = assetResults.find(
+ (assRes) => assRes.id === opContents.amount_a.asset_id
+ );
+ let amountB = assetResults.find(
+ (assRes) => assRes.id === opContents.amount_b.asset_id
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (account && amountA && amountB) {
+ currentOperation["rows"] = [
+ {
+ key: "account",
+ params: { account: account, accountOP: opContents.account },
+ },
+ { key: "pool", params: { pool: opContents.pool } },
+ {
+ key: "amount_a",
+ params: {
+ amount_a: formatAsset(
+ opContents.amount_a.amount,
+ amountA.symbol,
+ amountA.precision
+ ),
+ amount_aOP: opContents.amount_a.asset_id,
+ },
+ },
+ {
+ key: "amount_b",
+ params: {
+ amount_b: formatAsset(
+ opContents.amount_b.amount,
+ amountB.symbol,
+ amountB.precision
+ ),
+ amount_bOP: opContents.amount_b.asset_id,
+ },
+ },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 62) {
+ // liquidity_pool_withdraw
+ let account = accountResults.find(
+ (resAcc) => resAcc.id === opContents.account
+ ).accountName;
+ let shareAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.share_amount.asset_id
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (account && shareAsset) {
+ currentOperation["rows"] = [
+ {
+ key: "account",
+ params: { account: account, accountOP: opContents.account },
+ },
+ { key: "pool", params: { pool: opContents.pool } },
+ {
+ key: "share_amount",
+ params: {
+ share_amount: formatAsset(
+ opContents.share_amount.amount,
+ shareAsset.symbol,
+ shareAsset.precision
+ ),
+ share_amountOP: opContents.share_amount.asset_id,
+ },
+ },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 63) {
+ // liquidity_pool_exchange
+ let account = accountResults.find(
+ (resAcc) => resAcc.id === opContents.account
+ ).accountName;
+ let soldAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.amount_to_sell.asset_id
+ );
+ let receivedAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.min_to_receive.asset_id
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (account && soldAsset && receivedAsset) {
+ currentOperation["rows"] = [
+ {
+ key: "account",
+ params: { account: account, accountOP: opContents.account },
+ },
+ { key: "pool", params: { pool: opContents.pool } },
+ {
+ key: "amount_to_sell",
+ params: {
+ amount_to_sell: formatAsset(
+ opContents.amount_to_sell.amount,
+ soldAsset.symbol,
+ soldAsset.precision
+ ),
+ },
+ },
+ {
+ key: "min_to_receive",
+ params: {
+ min_to_receive: formatAsset(
+ opContents.min_to_receive.amount,
+ receivedAsset.symbol,
+ receivedAsset.precision
+ ),
+ },
+ },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 64) {
+ // samet_fund_create
+ let ownerAccount = accountResults.find(
+ (resAcc) => resAcc.id === opContents.owner_account
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+ if (ownerAccount) {
+ currentOperation["rows"] = [
+ {
+ key: "owner_account",
+ params: {
+ owner_account: ownerAccount,
+ owner_accountOP: opContents.owner_account,
+ },
+ },
+ {
+ key: "asset_type",
+ params: { asset_type: opContents.asset_type },
+ },
+ { key: "balance", params: { balance: opContents.balance } },
+ { key: "fee_rate", params: { fee_rate: opContents.fee_rate } },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 65) {
+ // samet_fund_delete
+ let ownerAccount = accountResults.find(
+ (resAcc) => resAcc.id === opContents.owner_account
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+ if (ownerAccount) {
+ currentOperation["rows"] = [
+ {
+ key: "owner_account",
+ params: {
+ owner_account: ownerAccount,
+ owner_accountOP: opContents.owner_account,
+ },
+ },
+ { key: "fund_id", params: { fund_id: opContents.fund_id } },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 66) {
+ // samet_fund_update
+ let ownerAccount = accountResults.find(
+ (resAcc) => resAcc.id === opContents.owner_account
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ let deltaAmount = opContents.delta_amount
+ ? assetResults.find(
+ (assRes) => assRes.id === opContents.delta_amount.asset_id
+ )
+ : null;
+ if (ownerAccount) {
+ currentOperation["rows"] = [
+ {
+ key: "owner_account",
+ params: {
+ owner_account: ownerAccount,
+ owner_accountOP: opContents.owner_account,
+ },
+ },
+ { key: "fund_id", params: { fund_id: opContents.fund_id } },
+ {
+ key: "delta_amount",
+ params: {
+ delta_amount: deltaAmount
+ ? formatAsset(
+ opContents.delta_amount.amount,
+ deltaAmount.symbol,
+ deltaAmount.precision
+ )
+ : "{}",
+ },
+ },
+ {
+ key: "new_fee_rate",
+ params: { new_fee_rate: opContents.new_fee_rate },
+ },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 67) {
+ // samet_fund_borrow
+ let borrower = accountResults.find(
+ (resAcc) => resAcc.id === opContents.borrower
+ ).accountName;
+ let borrowAmount = assetResults.find(
+ (assRes) => assRes.id === opContents.borrow_amount.asset_id
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (borrower && borrowAmount) {
+ currentOperation["rows"] = [
+ {
+ key: "borrower",
+ params: {
+ borrower: borrower,
+ borrowerOP: opContents.borrower,
+ },
+ },
+ { key: "fund_id", params: { fund_id: opContents.fund_id } },
+ {
+ key: "borrow_amount",
+ params: {
+ borrow_amount: formatAsset(
+ opContents.borrow_amount.amount,
+ borrowAmount.symbol,
+ borrowAmount.precision
+ ),
+ },
+ },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 68) {
+ // samet_fund_repay
+ let account = accountResults.find(
+ (resAcc) => resAcc.id === opContents.account
+ ).accountName;
+ let repayAmount = assetResults.find(
+ (assRes) => assRes.id === opContents.repay_amount.asset_id
+ );
+ let fundFee = assetResults.find(
+ (assRes) => assRes.id === opContents.fund_fee.asset_id
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (account && repayAmount && fundFee) {
+ currentOperation["rows"] = [
+ {
+ key: "account",
+ params: { account: account, accountOP: opContents.account },
+ },
+ { key: "fund_id", params: { fund_id: opContents.fund_id } },
+ {
+ key: "repay_amount",
+ params: {
+ repay_amount: formatAsset(
+ opContents.repay_amount.amount,
+ repayAmount.symbol,
+ repayAmount.precision
+ ),
+ },
+ },
+ {
+ key: "fund_fee",
+ params: {
+ fund_fee: formatAsset(
+ opContents.fund_fee.amount,
+ fundFee.symbol,
+ fundFee.precision
+ ),
+ },
+ },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 69) {
+ // credit_offer_create
+ let ownerAccount = accountResults.find(
+ (resAcc) => resAcc.id === opContents.owner_account
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+ if (ownerAccount) {
+ currentOperation["rows"] = [
+ {
+ key: "owner_account",
+ params: {
+ owner_account: ownerAccount,
+ owner_accountOP: opContents.owner_account,
+ },
+ },
+ {
+ key: "asset_type",
+ params: { asset_type: opContents.asset_type },
+ },
+ { key: "balance", params: { balance: opContents.balance } },
+ { key: "fee_rate", params: { fee_rate: opContents.fee_rate } },
+ {
+ key: "max_duration_seconds",
+ params: {
+ max_duration_seconds: opContents.max_duration_seconds,
+ },
+ },
+ {
+ key: "min_deal_amount",
+ params: { min_deal_amount: opContents.min_deal_amount },
+ },
+ { key: "enabled", params: { enabled: opContents.enabled } },
+ {
+ key: "auto_disable_time",
+ params: { auto_disable_time: opContents.auto_disable_time },
+ },
+ {
+ key: "acceptable_collateral",
+ params: {
+ acceptable_collateral: JSON.stringify(
+ opContents.acceptable_collateral
+ ),
+ },
+ },
+ {
+ key: "acceptable_borrowers",
+ params: {
+ acceptable_borrowers: JSON.stringify(
+ opContents.acceptable_borrowers
+ ),
+ },
+ },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 70) {
+ // credit_offer_delete
+ let ownerAccount = accountResults.find(
+ (resAcc) => resAcc.id === opContents.owner_account
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+ if (ownerAccount) {
+ currentOperation["rows"] = [
+ {
+ key: "owner_account",
+ params: {
+ owner_account: ownerAccount,
+ owner_accountOP: opContents.owner_account,
+ },
+ },
+ { key: "offer_id", params: { offer_id: opContents.offer_id } },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 71) {
+ // credit_offer_update
+ let ownerAccount = accountResults.find(
+ (resAcc) => resAcc.id === opContents.owner_account
+ ).accountName;
+
+ let deltaAmount = opContents.delta_amount
+ ? assetResults.find(
+ (assRes) => assRes.id === opContents.delta_amount.asset_id
+ )
+ : null;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (ownerAccount && deltaAmount) {
+ currentOperation["rows"] = [
+ {
+ key: "owner_account",
+ params: {
+ owner_account: ownerAccount,
+ owner_accountOP: opContents.owner_account,
+ },
+ },
+ { key: "offer_id", params: { offer_id: opContents.offer_id } },
+ {
+ key: "delta_amount",
+ params: {
+ delta_amount: formatAsset(
+ opContents.delta_amount.amount,
+ deltaAmount.symbol,
+ deltaAmount.precision
+ ),
+ },
+ },
+ { key: "fee_rate", params: { fee_rate: opContents.fee_rate } },
+ {
+ key: "max_duration_seconds",
+ params: {
+ max_duration_seconds: opContents.max_duration_seconds,
+ },
+ },
+ {
+ key: "min_deal_amount",
+ params: { min_deal_amount: opContents.min_deal_amount },
+ },
+ { key: "enabled", params: { enabled: opContents.enabled } },
+ {
+ key: "auto_disable_time",
+ params: { auto_disable_time: opContents.auto_disable_time },
+ },
+ {
+ key: "acceptable_collateral",
+ params: {
+ acceptable_collateral: JSON.stringify(
+ opContents.acceptable_collateral
+ ),
+ },
+ },
+ {
+ key: "acceptable_borrowers",
+ params: {
+ acceptable_borrowers: JSON.stringify(
+ opContents.acceptable_borrowers
+ ),
+ },
+ },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 72) {
+ // credit_offer_accept
+ let borrower = accountResults.find(
+ (resAcc) => resAcc.id === opContents.borrower
+ ).accountName;
+ let borrowAmount = assetResults.find(
+ (assRes) => assRes.id === opContents.borrow_amount.asset_id
+ );
+ let collateral = assetResults.find(
+ (assRes) => assRes.id === opContents.collateral.asset_id
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (borrower && borrowAmount && collateral) {
+ currentOperation["rows"] = [
+ {
+ key: "borrower",
+ params: {
+ borrower: borrower,
+ borrowerOP: opContents.borrower,
+ },
+ },
+ { key: "offer_id", params: { offer_id: opContents.offer_id } },
+ {
+ key: "borrow_amount",
+ params: {
+ borrow_amount: formatAsset(
+ opContents.borrow_amount.amount,
+ borrowAmount.symbol,
+ borrowAmount.precision
+ ),
+ },
+ },
+ {
+ key: "collateral",
+ params: {
+ collateral: formatAsset(
+ opContents.collateral.amount,
+ collateral.symbol,
+ collateral.precision
+ ),
+ },
+ },
+ {
+ key: "max_fee_rate",
+ params: { max_fee_rate: opContents.max_fee_rate },
+ },
+ {
+ key: "min_duration_seconds",
+ params: {
+ min_duration_seconds: opContents.min_duration_seconds,
+ },
+ },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 73) {
+ // credit_deal_repay
+ let account = accountResults.find(
+ (resAcc) => resAcc.id === opContents.account
+ ).accountName;
+ let repayAmount = assetResults.find(
+ (assRes) => assRes.id === opContents.repay_amount.asset_id
+ );
+ let creditFee = assetResults.find(
+ (assRes) => assRes.id === opContents.credit_fee.asset_id
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ if (account && repayAmount && creditFee) {
+ currentOperation["rows"] = [
+ {
+ key: "account",
+ params: { account: account, accountOP: opContents.account },
+ },
+ { key: "deal_id", params: { deal_id: opContents.deal_id } },
+ {
+ key: "repay_amount",
+ params: {
+ repay_amount: formatAsset(
+ opContents.repay_amount.amount,
+ repayAmount.symbol,
+ repayAmount.precision
+ ),
+ },
+ },
+ {
+ key: "credit_fee",
+ params: {
+ credit_fee: formatAsset(
+ opContents.credit_fee.amount,
+ creditFee.symbol,
+ creditFee.precision
+ ),
+ },
+ },
+ {
+ key: "extensions",
+ params: {
+ extensions: opContents.extensions
+ ? JSON.stringify(opContents.extensions)
+ : "[]",
+ },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ }
+ } else if (opType == 75) {
+ // liquidity_pool_update_operation
+ let _ownerAccount = accountResults.find(
+ (resAcc) => resAcc.id === opContents.account
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+ currentOperation["rows"] = [
+ {
+ key: "account",
+ params: {
+ owner_account: _ownerAccount,
+ owner_accountOP: opContents.account,
+ },
+ },
+ { key: "pool", params: { pool_id: opContents.pool } },
+ {
+ key: "taker_fee_percent",
+ params: { taker_fee_percent: opContents.taker_fee_percent },
+ },
+ {
+ key: "withdrawal_fee_percent",
+ params: {
+ withdrawal_fee_percent: opContents.withdrawal_fee_percent,
+ },
+ },
+ {
+ key: "extensions",
+ params: { extensions: JSON.stringify(opContents.extensions) },
+ },
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ ];
+ } else if (opType == 76) {
+ // credit_deal_update_operation
+ let _borrowerAccount = accountResults.find(
+ (resAcc) => resAcc.id === opContents.account
+ ).accountName;
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+ currentOperation["rows"] = [
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ {
+ key: "account",
+ params: {
+ account: _borrowerAccount,
+ accountOP: opContents.account,
+ },
+ },
+ { key: "deal_id", params: { deal_id: opContents.deal_id } },
+ {
+ key: "auto_repay",
+ params: { auto_repay: opContents.auto_repay },
+ },
+ ];
+ } else if (opType == 77) {
+ // limit_order_update_operation
+ let _sellerAccount = accountResults.find(
+ (resAcc) => resAcc.id === opContents.seller
+ ).accountName;
+
+ let _assetToSell = assetResults.find(
+ (assRes) => assRes.id === opContents.delta_amount_to_sell.asset_id
+ );
+
+ let _feeAsset = assetResults.find(
+ (assRes) => assRes.id === opContents.fee.asset_id
+ );
+
+ const rowContents = [
+ {
+ key: "fee",
+ params: {
+ fee: formatAsset(
+ opContents.fee.amount,
+ _feeAsset.symbol,
+ _feeAsset.precision
+ ),
+ },
+ },
+ {
+ key: "seller",
+ params: {
+ seller: _sellerAccount,
+ sellerOP: opContents.seller,
+ },
+ },
+ { key: "order", params: { order: opContents.order } },
+ ];
+
+ if (opContents.new_price) {
+ rowContents.push({
+ key: "new_price",
+ params: { new_price: opContents.new_price },
+ });
+ }
+
+ if (opContents.delta_amount_to_sell) {
+ rowContents.push({
+ key: "delta_amount_to_sell",
+ params: {
+ delta_amount_to_sell: formatAsset(
+ opContents.delta_amount_to_sell.amount,
+ _assetToSell.symbol,
+ _assetToSell.precision
+ ),
+ },
+ });
+ }
+
+ if (opContents.new_expiration) {
+ rowContents.push({
+ key: "new_expiration",
+ params: { new_expiration: opContents.new_expiration },
+ });
+ }
+
+ if (opContents.on_fill) {
+ rowContents.push({
+ key: "on_fill",
+ params: { on_fill: JSON.stringify(opContents.on_fill) },
+ });
+ }
+
+ if (opContents.extensions) {
+ rowContents.push({
+ key: "extensions",
+ params: {
+ extensions: JSON.stringify(opContents.extensions),
+ },
+ });
+ }
+
+ currentOperation["rows"] = rowContents;
+ }
+
+ return currentOperation; // No matching operation
+}
diff --git a/src/lib/blockchains/blockchainFactory.js b/src/lib/blockchains/blockchainFactory.js
index e410e824..0a5faa8e 100644
--- a/src/lib/blockchains/blockchainFactory.js
+++ b/src/lib/blockchains/blockchainFactory.js
@@ -2,6 +2,8 @@ import { blockchains } from "../../config/config.js";
import store from "../../store";
+import BitShares from "./BitShares";
+import TUSC from "./TUSC";
import EOSmainnet from "./EOSmainnet";
import TLOS from "./TLOS";
import BEOS from "./BEOS";
@@ -11,34 +13,38 @@ let lastChain;
export default function getBlockchainAPI(chain = null, node = null) {
if (chain == null) {
- chain = store.getters['AccountStore/getChain'];
+ chain = store.getters["AccountStore/getChain"];
}
if (!lastChain) {
lastChain = chain;
} else if (lastChain && lastChain !== chain) {
- console.log("Switching blockchain!")
+ console.log("Switching blockchain!");
storedChain = undefined;
lastChain = chain;
}
let config;
try {
- config = blockchains[chain];
+ config = blockchains[chain];
} catch (error) {
- console.log(error);
- return;
+ console.log(error);
+ return;
}
if (!storedChain) {
try {
- if (chain == "EOS") {
+ if (chain === "EOS") {
storedChain = new EOSmainnet(config, node);
- } else if (chain == "BEOS") {
+ } else if (chain === "BEOS") {
storedChain = new BEOS(config, node);
- } else if (chain == "TLOS") {
+ } else if (chain === "TLOS") {
storedChain = new TLOS(config, node);
- }
+ } else if (chain === "BTS" || chain === "BTS_TEST") {
+ storedChain = new BitShares(config, node);
+ } else if (chain === "TUSC") {
+ storedChain = new TUSC(config, node);
+ }
} catch (error) {
console.log(error);
return;
diff --git a/src/scripts/EOS/README.md b/src/scripts/EOS/README.md
index 9bbd106e..2752a80e 100644
--- a/src/scripts/EOS/README.md
+++ b/src/scripts/EOS/README.md
@@ -24,7 +24,7 @@ node ./buyrambytes.js
This will output the raw deeplink in your console window like the following:
```
-rawbeet://api?chain=EOS&request=DATA
+rawbeeteos://api?chain=EOS&request=DATA
```
Copy the entire URL and paste it into a web browser URL bar & hit enter.
diff --git a/src/scripts/EOS/buyrambytes.js b/src/scripts/EOS/buyrambytes.js
index e59d5eb0..42156435 100644
--- a/src/scripts/EOS/buyrambytes.js
+++ b/src/scripts/EOS/buyrambytes.js
@@ -40,7 +40,7 @@ let run = async function () {
console.log(error);
}
- console.log(`rawbeet://api?chain=EOS&request=${encodedPayload}`);
+ console.log(`rawbeeteos://api?chain=EOS&request=${encodedPayload}`);
process.exit(0);
}
diff --git a/src/scripts/EOS/delegatebw.js b/src/scripts/EOS/delegatebw.js
index c4e70203..a044e9ef 100644
--- a/src/scripts/EOS/delegatebw.js
+++ b/src/scripts/EOS/delegatebw.js
@@ -42,7 +42,7 @@ let run = async function () {
console.log(error);
}
- console.log(`rawbeet://api?chain=EOS&request=${encodedPayload}`);
+ console.log(`rawbeeteos://api?chain=EOS&request=${encodedPayload}`);
process.exit(0);
}
diff --git a/src/store/modules/SettingsStore.js b/src/store/modules/SettingsStore.js
index 9f4d37e3..fe258fa7 100644
--- a/src/store/modules/SettingsStore.js
+++ b/src/store/modules/SettingsStore.js
@@ -151,6 +151,9 @@ const initialState = {
chainPermissions: {
BTS: [],
BTS_TEST: [],
+ EOS: [],
+ BEOS: [],
+ TLOS: [],
TUSC: [],
BTC: [],
BTC_TEST: []
diff --git a/src/translations/operations/da.json b/src/translations/operations/da.json
index cc7d70b6..342b3b1c 100644
--- a/src/translations/operations/da.json
+++ b/src/translations/operations/da.json
@@ -100,6 +100,1444 @@
"reject_btn": "Ignorere"
},
"injected": {
+ "BTS": {
+ "getAccount": {
+ "method": "få konto",
+ "title": "Anmodning om kontooplysninger",
+ "result": "Resultatet af kontooplysninger",
+ "headers": {
+ "request": "Vil du dele dine kontooplysninger?",
+ "result": "Dine kontooplysninger blev delt."
+ },
+ "tooltip": "Spørger din tegnebog om blockchain-kontooplysninger"
+ },
+ "requestSignature": {
+ "method": "anmodningSignatur",
+ "title": "Underskriftsanmodning",
+ "result": "Signatur resultat",
+ "headers": {
+ "request": "Vil du dele din signatur?",
+ "result": "Din signatur blev delt:"
+ },
+ "tooltip": "Spørger din tegnebog om blockchain-signaturer"
+ },
+ "injectedCall": {
+ "method": "injiceretCall",
+ "title": "Injiceret opkaldsanmodning",
+ "result": "Injiceret opkaldsresultat",
+ "headers": {
+ "request": "Godkende følgende indsprøjtede opkald?",
+ "result": "Følgende indsprøjtede opkald blev godkendt:"
+ },
+ "tooltip": "Beder din tegnebog om at håndtere en indsprøjtet blockchain-operation"
+ },
+ "voteFor": {
+ "method": "Stem på",
+ "title": "Afstemningsanmodning",
+ "result": "Afstemningsresultat",
+ "headers": {
+ "request": "Godkende følgende stemmeanmodning?",
+ "result": "Nedenstående afstemningsanmodning blev godkendt"
+ },
+ "tooltip": "Udfør en blockchain-afstemning"
+ },
+ "signMessage": {
+ "method": "tegnBesked",
+ "title": "Underskriv beskedanmodning",
+ "result": "Signer besked resultat",
+ "headers": {
+ "request": "Vil du godkende at underskrive følgende meddelelse?",
+ "result": "Følgende besked blev underskrevet:"
+ },
+ "tooltip": "Underskriv en blockchain-baseret besked"
+ },
+ "signNFT": {
+ "method": "tegnNFT",
+ "title": "Underskriv NFT-anmodning",
+ "result": "Underskriv NFT-resultat",
+ "headers": {
+ "request": "Vil du godkende at underskrive følgende NFT?",
+ "result": "Følgende NFT blev underskrevet:"
+ },
+ "tooltip": "Underskriv en NFTs indhold"
+ },
+ "verifyMessage": {
+ "method": "verifyMessage",
+ "title": "Bekræft meddelelsesanmodning",
+ "result": "Bekræft beskedresultat",
+ "headers": {
+ "request": "Vil du bekræfte følgende meddelelse?",
+ "result": "Følgende besked blev bekræftet:"
+ },
+ "tooltip": "Bekræft en blockchain-baseret signeret besked"
+ },
+ "transfer": {
+ "method": "Overførsel",
+ "title": "Overførselsanmodning",
+ "result": "Overførselsresultat",
+ "headers": {
+ "request": "Vil du godkende følgende overførselsanmodning?",
+ "result": "Følgende anmodning om overførsel blev godkendt:"
+ },
+ "rows": {
+ "from": "Fra: {from} ({opFrom})",
+ "to": "Til: {to} ({opTo})",
+ "amount": "Beløb: {amount}"
+ },
+ "tooltip": "Send aktiver fra en konto til en anden"
+ },
+ "limit_order_create": {
+ "method": "Opret grænserækkefølge",
+ "title": "Begræns ordre oprette anmodning",
+ "result": "Begræns rækkefølge skabe resultat",
+ "headers": {
+ "request": "Vil du godkende følgende anmodning om oprettelse af grænseordrer?",
+ "result": "Følgende grænseordre blev oprettet:"
+ },
+ "rows": {
+ "trade": "Handle",
+ "tradeFK": "Handel (fyld eller dræb)",
+ "seller": "Sælger: {seller} ({opSeller})",
+ "selling": "Sælger: {amount}",
+ "buying": "Køber: {amount}",
+ "price": "Pris: {price} {sellSymbol}/{buySymbol}"
+ },
+ "tooltip": "Et tilbud om at sælge et beløb af et aktiv til en bestemt valutakurs inden for et bestemt tidspunkt"
+ },
+ "limit_order_cancel": {
+ "method": "Begræns ordre annulleret",
+ "title": "Begræns ordre annullering anmodning",
+ "result": "Begræns ordreannulleringsresultat",
+ "headers": {
+ "request": "Vil du annullere følgende grænseordre?",
+ "result": "Følgende limiterede ordre blev annulleret:"
+ },
+ "rows": {
+ "id": "Ordre-id: {id}",
+ "fees": "Anslåede gebyrer: {fees}",
+ "account": "Gebyrbetalingskonto: {account}"
+ },
+ "tooltip": "Annullering af en limiteret ordreoperation"
+ },
+ "call_order_update": {
+ "method": "Ring ordreopdatering",
+ "title": "Anmodning om opdatering af opkaldsordre",
+ "result": "Opkaldsordreopdateringsresultat",
+ "headers": {
+ "request": "Vil du opdatere din opkaldsordre til følgende?",
+ "result": "Følgende opkaldsordre blev opdateret:"
+ },
+ "rows": {
+ "funding_account": "Finansieringskonto: {funding_account}",
+ "delta_collateral": "Deltasikkerhed: {delta_collateral} ({id})",
+ "delta_debt": "Deltagæld: {delta_debt} ({id})",
+ "fees": "Anslåede gebyrer: {fees}"
+ },
+ "tooltip": "Opdatering af en eksisterende opkaldsordre"
+ },
+ "account_create": {
+ "method": "Konto oprettes",
+ "title": "Anmodning om oprettelse af konto",
+ "result": "Resultat af oprettelse af konto",
+ "headers": {
+ "request": "Vil du oprette følgende konto?",
+ "result": "Følgende konto blev oprettet:"
+ },
+ "rows": {
+ "registrar": "Registrator: {registrar} ({opRegistrar})",
+ "referrer": "Henviser: {referrer} ({opReferrer})",
+ "referrer_percent": "Referrer procent: {referrer_percent}",
+ "name": "Navn: {name}",
+ "ownerHeader": "Ejer:",
+ "activeHeader": "Aktiv:",
+ "weight_threshold": "Vægtgrænse: {weight_threshold}",
+ "account_auths": "Kontogodkendelser: {account_auths}",
+ "key_auths": "Nøglegodkendelser: {key_auths}",
+ "address_auths": "Adressegodkendelser: {address_auths}",
+ "optionsHeader": "Muligheder:",
+ "memo_key": "Memonøgle: {memo_key}",
+ "voting_account": "Stemmekonto: {voting_account} ({opVotingAccount})",
+ "num_witness": "Antal vidner: {num_witness}",
+ "num_committee": "Antal udvalgsmedlemmer: {num_committee}",
+ "votes": "Stemmer: {votes}",
+ "extensions": "Udvidelser: {extensions}",
+ "fees": "Anslåede gebyrer: {fees}"
+ },
+ "tooltip": "Oprettelse af en ny konto"
+ },
+ "account_update": {
+ "method": "Kontoopdatering",
+ "title": "Anmodning om kontoopdatering",
+ "result": "Resultat af kontoopdatering",
+ "headers": {
+ "request": "Vil du opdatere følgende konto?",
+ "result": "Følgende konto blev opdateret:"
+ },
+ "rows": {
+ "warning": "Advarsel: Denne operation er irreversibel!",
+ "account": "Konto: {account} ({opAccount})",
+ "owner": "Ejer: {owner}",
+ "active": "Aktiv: {active}",
+ "new_options": "Nye muligheder: {new_options}",
+ "extensions": "Udvidelser: {extensions}",
+ "fees": "Estimeret gebyr: {fees}"
+ },
+ "tooltip": "Denne handling bruges til at opdatere en eksisterende konto. "
+ },
+ "account_whitelist": {
+ "method": "Kontohvidliste",
+ "title": "Anmodning om kontohvidliste",
+ "result": "Resultat af kontohvidliste",
+ "headers": {
+ "request": "Vil du opdatere din kontohvidliste til følgende?",
+ "result": "Din kontohvidliste blev opdateret til følgende:"
+ },
+ "rows": {
+ "authorizing_account": "Godkender konto: {authorizingAccount} (authorizingAccountOP)",
+ "account_to_list": "Konto til liste: {accountToList} (accountToListOP)",
+ "new_listing": "Ny fortegnelse: {newListing}",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Gebyr: {fee}"
+ },
+ "tooltip": "Denne handling bruges til at hvidliste og sortliste konti, primært til at handle med hvidlistede aktiver"
+ },
+ "account_upgrade": {
+ "method": "Kontoopgradering",
+ "title": "Anmodning om kontoopgradering",
+ "result": "Resultat af kontoopgradering",
+ "headers": {
+ "request": "Opgradere din konto til livstidsmedlem?",
+ "result": "Din konto blev opgraderet til livstidsmedlem!"
+ },
+ "rows": {
+ "account_to_upgrade": "Konto, der skal opgraderes: {accountToUpgrade} (accountToUpgradeOP)",
+ "upgrade_to_lifetime_member": "Opgrader til livstidsmedlem: {upgradeToLifetimeMember}",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Denne handling bruges til at opgradere en konto til et medlem eller forny dets abonnement."
+ },
+ "account_transfer": {
+ "method": "Kontooverførsel",
+ "title": "Anmodning om kontooverførsel",
+ "result": "Resultat af kontooverførsel",
+ "headers": {
+ "request": "Vil du overføre konto til en ny ejer?",
+ "result": "Følgende konto blev overført til en ny ejer:"
+ },
+ "rows": {
+ "warning": "Advarsel: Denne handling er irreversibel!",
+ "account_id": "Konto-id: {originalOwner} ({account_id})",
+ "new_owner": "Ny ejer: {newOwner} ({newOwnerOP})",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Overfører kontoen til en anden konto, mens hvidlisten ryddes"
+ },
+ "asset_create": {
+ "method": "Aktiv oprettes",
+ "title": "Anmodning om oprettelse af aktiv",
+ "result": "Asset skabe resultat",
+ "headers": {
+ "request": "Vil du oprette følgende aktiv?",
+ "result": "Følgende aktiv blev oprettet:"
+ },
+ "rows": {
+ "symbol": "Symbol: {symbol}",
+ "main": "Hoved: {main}",
+ "market": "Marked: {market}",
+ "short_name": "Kort navn: {short_name}",
+ "precision": "Præcision: {precision}",
+ "max_supply": "Maks. forsyning: {max_supply}",
+ "market_fee_percent": "Markedsgebyrprocent: {market_fee_percent}",
+ "max_market_fee": "Maks. markedsgebyr: {max_market_fee}",
+ "cer": "Kernevalutakurser:",
+ "cer_base_amount": "Basisbeløb: {cer_base_amount}",
+ "cer_base_id": "Basisaktiv-id: {cer_base_id}",
+ "cer_quote_amount": "Tilbudsbeløb: {cer_quote_amount}",
+ "cer_quote_id": "Citat aktiv-id: {cer_quote_id}",
+ "whitelist_authorities": "Hvidliste myndigheder: {whitelist_authorities}",
+ "blacklist_authorities": "Sortliste myndigheder: {blacklist_authorities}",
+ "whitelist_markets": "Whitelist-markeder: {whitelist_markets}",
+ "blacklist_markets": "Sortliste markeder: {blacklist_markets}",
+ "is_prediction_market": "Er forudsigelsesmarked: {is_prediction_market}",
+ "permissions": "Tilladelser:",
+ "perm_charge_market_fee": "Opkræve markedsgebyr: {charge_market_fee}",
+ "perm_white_list": "Hvidliste: {white_list}",
+ "perm_override_authority": "Tilsidesæt autoritet: {override_authority}",
+ "perm_transfer_restricted": "Overførsel begrænset: {transfer_restricted}",
+ "perm_disable_confidential": "Deaktiver fortroligt: {disable_confidential}",
+ "flags": "Flag:",
+ "flag_charge_market_fee": "Opkræve markedsgebyr: {charge_market_fee}",
+ "flag_white_list": "Hvidliste: {white_list}",
+ "flag_override_authority": "Tilsidesæt autoritet: {override_authority}",
+ "flag_transfer_restricted": "Overførsel begrænset: {transfer_restricted}",
+ "flag_disable_confidential": "Deaktiver fortroligt: {disable_confidential}",
+ "bitasset": "Bitasset info:",
+ "feed_lifetime_sec": "Feeds levetid (sekunder): {feed_lifetime_sec}",
+ "force_settlement_delay_sec": "Tving afviklingsforsinkelse (sekunder): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "Gennemtvings udligningsforskydning i procent: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "Maksimal kraftafregningsvolumen: {maximum_force_settlement_volume}",
+ "minimum_feeds": "Minimum feeds: {minimum_feeds}",
+ "short_backing_asset": "Kort støtteaktiv: {short_backing_asset}",
+ "nft": "NFT-indhold:",
+ "acknowledgements": "Anerkendelser: {acknowledgements}",
+ "artist": "Kunstner: {artist}",
+ "attestation": "Attestation: {attestation}",
+ "holder_license": "Indehaverlicens: {holder_license}",
+ "license": "Licens: {license}",
+ "narrative": "Fortælling: {narrative}",
+ "title": "Titel: {title}",
+ "tags": "Tags: {tags}",
+ "type": "Type: {type}"
+ },
+ "tooltip": "Opretter et aktiv på Bitshares blockchain"
+ },
+ "asset_update": {
+ "method": "Aktivopdatering",
+ "title": "Anmodning om aktivopdatering",
+ "result": "Resultat af aktivopdatering",
+ "headers": {
+ "request": "Vil du opdatere følgende aktiv?",
+ "result": "Aktivet blev opdateret med følgende detaljer:"
+ },
+ "rows": {
+ "symbol": "Symbol: {symbol}",
+ "main": "Hoved: {main}",
+ "market": "Marked: {market}",
+ "short_name": "Kort navn: {short_name}",
+ "precision": "Præcision: {precision}",
+ "max_supply": "Maks. forsyning: {max_supply}",
+ "market_fee_percent": "Markedsgebyrprocent: {market_fee_percent}",
+ "max_market_fee": "Maks. markedsgebyr: {max_market_fee}",
+ "cer": "Kernevalutakurser:",
+ "cer_base_amount": "Basisbeløb: {cer_base_amount}",
+ "cer_base_id": "Basisaktiv-id: {cer_base_id}",
+ "cer_quote_amount": "Tilbudsbeløb: {cer_quote_amount}",
+ "cer_quote_id": "Citat aktiv-id: {cer_quote_id}",
+ "whitelist_authorities": "Hvidliste myndigheder: {whitelist_authorities}",
+ "blacklist_authorities": "Sortliste myndigheder: {blacklist_authorities}",
+ "whitelist_markets": "Whitelist-markeder: {whitelist_markets}",
+ "blacklist_markets": "Sortliste markeder: {blacklist_markets}",
+ "is_prediction_market": "Er forudsigelsesmarked: {is_prediction_market}",
+ "permissions": "Tilladelser:",
+ "perm_charge_market_fee": "Opkræve markedsgebyr: {charge_market_fee}",
+ "perm_white_list": "Hvidliste: {white_list}",
+ "perm_override_authority": "Tilsidesæt autoritet: {override_authority}",
+ "perm_transfer_restricted": "Overførsel begrænset: {transfer_restricted}",
+ "perm_disable_confidential": "Deaktiver fortroligt: {disable_confidential}",
+ "flags": "Flag:",
+ "flag_charge_market_fee": "Opkræve markedsgebyr: {charge_market_fee}",
+ "flag_white_list": "Hvidliste: {white_list}",
+ "flag_override_authority": "Tilsidesæt autoritet: {override_authority}",
+ "flag_transfer_restricted": "Overførsel begrænset: {transfer_restricted}",
+ "flag_disable_confidential": "Deaktiver fortroligt: {disable_confidential}",
+ "bitasset": "Bitasset info:",
+ "feed_lifetime_sec": "Feeds levetid (sekunder): {feed_lifetime_sec}",
+ "force_settlement_delay_sec": "Tving afviklingsforsinkelse (sekunder): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "Gennemtvings udligningsforskydning i procent: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "Maksimal kraftafregningsvolumen: {maximum_force_settlement_volume}",
+ "minimum_feeds": "Minimum feeds: {minimum_feeds}",
+ "short_backing_asset": "Kort støtteaktiv: {short_backing_asset}",
+ "nft": "NFT-indhold:",
+ "acknowledgements": "Anerkendelser: {acknowledgements}",
+ "artist": "Kunstner: {artist}",
+ "attestation": "Attestation: {attestation}",
+ "holder_license": "Indehaverlicens: {holder_license}",
+ "license": "Licens: {license}",
+ "narrative": "Fortælling: {narrative}",
+ "title": "Titel: {title}",
+ "tags": "Tags: {tags}",
+ "type": "Type: {type}"
+ },
+ "tooltip": "Opdaterer et aktivs indstillinger"
+ },
+ "asset_update_bitasset": {
+ "method": "Asset update bitasset",
+ "title": "Bitasset-anmodning om opdatering af aktiv",
+ "result": "Asset update bitasset resultat",
+ "headers": {
+ "request": "Vil du godkende bitasset-opdatering?",
+ "result": "Følgende bitasset-opdatering blev godkendt:"
+ },
+ "rows": {
+ "issuer": "Udsteder: {issuer}",
+ "asset_to_update": "Aktiv, der skal opdateres: {asset_to_update}",
+ "new_options": "Nye muligheder:",
+ "feed_lifetime_sec": "Feeds levetid (sekunder): {feed_lifetime_sec}",
+ "minimum_feeds": "Minimum feeds: {minimum_feeds}",
+ "force_settlement_delay_sec": "Tving afviklingsforsinkelse (sekunder): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "Gennemtvings udligningsforskydning i procent: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "Maksimal kraftafregningsvolumen: {maximum_force_settlement_volume}",
+ "short_backing_asset": "Kort støtteaktiv: {symbol} ({short_backing_asset})",
+ "extensions": "Udvidelser: {extensions}",
+ "noExtensions": "Ingen udvidelser",
+ "fee": "Estimeret gebyr: {fee} ({id})"
+ },
+ "tooltip": "Opdater oprettede bitasset-indstillinger"
+ },
+ "asset_update_feed_producers": {
+ "method": "Foderproducenter til opdatering af aktiv",
+ "title": "Fedeproducenter anmoder om aktivopdatering",
+ "result": "Resultat af feedproducenter til opdatering af aktiv",
+ "headers": {
+ "request": "Godkende ændring til producenter af bitasset-foder?",
+ "result": "Følgende ændring af bitasset-foderproducenter blev godkendt:"
+ },
+ "rows": {
+ "issuer": "Udsteder: {issuer} ({issuerOP})",
+ "asset_to_update": "Aktiv, der skal opdateres: {symbol} ({asset_to_update})",
+ "new_feed_producers": "Nye feedproducenter: {new_feed_producers}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Opdater listen over godkendte foderproducenter for oprettet bitasset"
+ },
+ "asset_issue": {
+ "method": "Asset problem",
+ "title": "Anmodning om aktivudstedelse",
+ "result": "Resultat af aktivudstedelse",
+ "headers": {
+ "request": "Godkende følgende aktivudstedelse?",
+ "result": "Følgende aktivudstedelse blev godkendt:"
+ },
+ "rows": {
+ "prompt": "Udsted {amount} {symbol} ({assetID}) til {to} ({toID})?",
+ "fee": "Estimeret gebyr: {fee} ({id})"
+ },
+ "tooltip": "Udsted dine oprettede aktiver til enkeltpersoner"
+ },
+ "asset_reserve": {
+ "method": "Aktivreserve",
+ "title": "Anmodning om aktivreserve",
+ "result": "Resultat af aktivreserve",
+ "headers": {
+ "request": "Godkende følgende aktivreservation?",
+ "result": "Følgende aktivreservation blev godkendt:"
+ },
+ "rows": {
+ "payer": "Betaler: {payer} ({payerOP})",
+ "amount_to_reserve": "Beløb at reservere: {amount_to_reserve} ({amount_to_reserveOP})",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Reserver dine oprettede aktiver"
+ },
+ "asset_fund_fee_pool": {
+ "method": "Aktivfondens gebyrpulje",
+ "title": "Anmodning om pool for aktivfonde",
+ "result": "Resultat af aktivfondens gebyrpulje",
+ "headers": {
+ "request": "Finansiere følgende aktivs gebyrpulje?",
+ "result": "Følgende aktivs gebyrpuljefinansiering blev godkendt:"
+ },
+ "rows": {
+ "from_account": "Fra konto: {from_account} ({from_accountOP})",
+ "asset": "Aktiv: {asset} ({assetOP})",
+ "amount": "Beløb: {amount}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Finansier gebyrpuljen for dit oprettede aktiv"
+ },
+ "asset_settle": {
+ "method": "Aktivafregning",
+ "title": "Anmodning om afregning af aktiver",
+ "result": "Resultat af afregning af aktiver",
+ "headers": {
+ "request": "Afregne følgende aktiv for dets sikkerhedsstillelse?",
+ "result": "Følgende aktiv blev afregnet for dets sikkerhedsstillelse:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "amount": "Beløb: {amount} ({assetID})",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Afregn et aktiv i din portefølje"
+ },
+ "asset_global_settle": {
+ "method": "Global afregning af aktiver",
+ "title": "Anmodning om global afregning af aktiv",
+ "result": "Globalt afregningsresultat for aktiver",
+ "headers": {
+ "request": "Udføre global afregning på følgende aktiv?",
+ "result": "Følgende aktiv blev afviklet globalt:"
+ },
+ "rows": {
+ "issuer": "Udsteder: {issuer} ({issuerOP})",
+ "asset_to_settle": "Aktiv, der skal afregnes: {asset_to_settle} ({asset_to_settleOP})",
+ "settle_price": "Afregn pris: {settle_price}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Globalt afregn et af dine oprettede bitassets"
+ },
+ "asset_publish_feed": {
+ "method": "Aktiv publiceringsfeed",
+ "title": "Anmodning om feedudgivelse af aktiv",
+ "result": "Resultat af feed-udgivelse af aktiv",
+ "headers": {
+ "request": "Vil du offentliggøre et prisfeed for følgende aktiv?",
+ "result": "Følgende feed-opdatering for aktivpriser blev offentliggjort:"
+ },
+ "rows": {
+ "publisher": "Udgiver: {publisher} ({publisherOP})",
+ "asset_id": "Aktiv-id: {symbol} ({asset_idOP})",
+ "feed": "Foder:",
+ "core_exchange_rate": "Kernekurs: {core_exchange_rate}",
+ "settlement_price": "Afregningspris: {settlement_price}",
+ "maintenance_collateral_ratio": "Vedligeholdelsessikkerhedsforhold: {maintenance_collateral_ratio}",
+ "maximum_short_squeeze_ratio": "Maksimalt kort squeeze-forhold: {maximum_short_squeeze_ratio}",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Udgiv et prisfeed for et bitasset"
+ },
+ "witness_create": {
+ "method": "Vidne skabe",
+ "title": "Vidne oprette anmodning",
+ "result": "Vidne skaber resultat",
+ "headers": {
+ "request": "Vil du oprette et vidne med følgende detaljer?",
+ "result": "Følgende vidne blev oprettet:"
+ },
+ "rows": {
+ "witness_account": "Vidnekonto: {witness_account} ({witness_accountOP})",
+ "url": "URL: {url}",
+ "block_signing_key": "Bloker signaturnøgle: {block_signing_key}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Opret en vidneberetning"
+ },
+ "witness_update": {
+ "method": "Vidneopdatering",
+ "title": "Anmodning om opdatering af vidne",
+ "result": "Vidneopdateringsresultat",
+ "headers": {
+ "request": "Opdatere vidneoplysninger til følgende?",
+ "result": "Følgende vidneoplysninger blev opdateret:"
+ },
+ "rows": {
+ "witness": "Vidne: {witness}",
+ "witness_account": "Vidnekonto: {witness_account} ({witness_accountOP})",
+ "new_url": "Ny webadresse: {new_url}",
+ "new_signing_key": "Ny signeringsnøgle: {new_signing_key}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Opdater din vidnekonto"
+ },
+ "proposal_create": {
+ "method": "Forslag oprettes",
+ "title": "Forslag oprette anmodning",
+ "result": "Forslag skaber resultat",
+ "headers": {
+ "request": "Opret følgende forslag?",
+ "result": "Følgende forslag blev lavet:"
+ },
+ "rows": {
+ "expiration_time": "Udløbstid: {expiration_time}",
+ "proposed_ops": "Foreslåede operationer: {proposed_ops}",
+ "review_period_seconds": "Sekunder for gennemgangsperiode: {review_period_seconds}",
+ "fee_paying_account": "Gebyrbetalingskonto: {fee_paying_account} ({fee_paying_accountOP})",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Opret et forslag til blockchain-operation"
+ },
+ "proposal_update": {
+ "method": "Opdatering af forslag",
+ "title": "Anmodning om opdatering af forslag",
+ "result": "Resultat af opdatering af forslag",
+ "headers": {
+ "request": "Vil du opdatere følgende forslag?",
+ "result": "Følgende forslag blev opdateret:"
+ },
+ "rows": {
+ "proposal": "Forslag: {proposal}",
+ "active_approvals_to_add": "Aktive godkendelser at tilføje: {active_approvals_to_add}",
+ "active_approvals_to_remove": "Aktive godkendelser, der skal fjernes: {active_approvals_to_remove}",
+ "owner_approvals_to_add": "Ejergodkendelser, der skal tilføjes: {owner_approvals_to_add}",
+ "owner_approvals_to_remove": "Ejergodkendelser, der skal fjernes: {owner_approvals_to_remove}",
+ "key_approvals_to_add": "Nøglegodkendelser at tilføje: {key_approvals_to_add}",
+ "key_approvals_to_remove": "Nøglegodkendelser, der skal fjernes: {key_approvals_to_remove}",
+ "fee_paying_account": "Gebyrbetalingskonto: {fee_paying_account} ({fee_paying_accountOP})",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Opdater et forslag til blockchain-operation"
+ },
+ "proposal_delete": {
+ "method": "Forslaget slettes",
+ "title": "Anmodning om sletning af forslag",
+ "result": "Resultat af forslag til sletning",
+ "headers": {
+ "request": "Vil du slette følgende forslag?",
+ "result": "Følgende forslag blev slettet:"
+ },
+ "rows": {
+ "using_owner_authority": "Brug af ejerautoritet: {using_owner_authority}",
+ "proposal": "Forslag: {proposal}",
+ "fee_paying_account": "Gebyrbetalingskonto: {fee_paying_account} ({fee_paying_accountOP})",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Slet et forslag til blockchain-operation"
+ },
+ "withdraw_permission_create": {
+ "method": "Tilbagekald oprettelsestilladelse",
+ "title": "Tilbagekald tilladelse oprettelsesanmodning",
+ "result": "Tilbagekald tilladelse oprette resultat",
+ "headers": {
+ "request": "Autorisation af direkte debitering",
+ "result": "Følgende autorisation til direkte debitering blev godkendt:"
+ },
+ "rows": {
+ "recipient": "Modtager: {recipient} ({recipientOP})",
+ "withdraw_from": "Konto at trække fra: {withdraw_from} ({withdraw_fromOP})",
+ "taking": "Tag {amount} hvert {period_sec} sekund i {period_qty} perioder",
+ "start": "Start: {start}"
+ },
+ "tooltip": "Opret en tilbagetrækningstilladelse"
+ },
+ "withdraw_permission_update": {
+ "method": "Træk tilladelsesopdatering tilbage",
+ "title": "Tilbagekald anmodning om opdatering af tilladelse",
+ "result": "Træk tilladelsesopdateringsresultatet tilbage",
+ "headers": {
+ "request": "Vil du opdatere vidnetilladelser til følgende?",
+ "result": "Følgende opdateringer af vidnetilladelser blev godkendt:"
+ },
+ "rows": {
+ "withrdaw_from_account": "Hæv fra konto: {withrdaw_from_account} ({withrdaw_from_accountOP})",
+ "authorized_account": "Autoriseret konto: {authorized_account} ({authorized_accountOP})",
+ "permission_to_update": "Tilladelse til at opdatere: {permission_to_update}",
+ "withdrawal_limited": "Udbetalingsgrænse: {withdrawal_limit}",
+ "withdrawal_unlimited": "Udbetalingsgrænse: {withdrawal_limit} ({withdrawal_limitOP})",
+ "withdrawal_period_sec": "Tilbagetrækningsperiode (sekunder): {withdrawal_period_sec}",
+ "period_start_time": "Periodens starttidspunkt: {period_start_time}",
+ "periods_until_expiration": "Perioder indtil udløb: {periods_until_expiration}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Opdater en tilbagetrækningstilladelse"
+ },
+ "withdraw_permission_claim": {
+ "method": "Træk krav om tilladelse tilbage",
+ "title": "Træk anmodning om tilladelse tilbage",
+ "result": "Tilbagekald tilladelseskrav resultatet",
+ "headers": {
+ "request": "Gør krav på følgende tilbagetrækningstilladelse",
+ "result": "Der blev anmodet om følgende tilbagetrækningstilladelse:"
+ },
+ "rows": {
+ "withdraw_permission": "Tilbagekald tilladelse: {withdraw_permission}",
+ "withdraw_from_account": "Hæv fra konto: {withdraw_from_account} ({withdraw_from_accountOP})",
+ "withdraw_to_account": "Hæv til konto: {withdraw_to_account} ({withdraw_to_accountOP})",
+ "amount_to_withdraw": "Beløb, der skal trækkes ud: {amount_to_withdraw} ({amount_to_withdrawOP})",
+ "memo": "Notat: {memo}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Krav fra en tilbagetrækningstilladelse"
+ },
+ "withdraw_permission_delete": {
+ "method": "Tilbagekald tilladelse sletning",
+ "title": "Tilbagekald anmodning om tilladelse til sletning",
+ "result": "Træk tilladelse til at slette resultat",
+ "headers": {
+ "request": "Vil du slette følgende tilbagetrækningstilladelse?",
+ "result": "Følgende tilbagetrækningstilladelse blev slettet:"
+ },
+ "rows": {
+ "withdraw_from_account": "Hæv fra konto: {withdraw_from_account} ({withdraw_from_accountOP})",
+ "authorized_account": "Autoriseret konto: {authorized_account} ({authorized_accountOP})",
+ "withdrawal_permission": "Tilbagetrækningstilladelse: {withdrawal_permission}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Slet en tilbagetrækningstilladelse"
+ },
+ "committee_member_create": {
+ "method": "Udvalgsmedlem oprette",
+ "title": "Udvalgsmedlem oprette anmodning",
+ "result": "Udvalgsmedlem skabe resultat",
+ "headers": {
+ "request": "Oprette et udvalgsmedlem?",
+ "result": "Følgende udvalgsmedlem blev oprettet:"
+ },
+ "rows": {
+ "committee_member_account": "Udvalgsmedlemskonto: {committee_member_account} ({committee_member_accountOP})",
+ "url": "URL: {url}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Opret en udvalgsmedlemskonto"
+ },
+ "committee_member_update": {
+ "method": "Opdatering af udvalgsmedlemmer",
+ "title": "Anmodning om opdatering af udvalgsmedlem",
+ "result": "Udvalgsmedlem opdateret resultat",
+ "headers": {
+ "request": "Opdater følgende udvalgsmedlems oplysninger?",
+ "result": "Følgende udvalgsmedlems detaljerede opdateringer blev godkendt:"
+ },
+ "rows": {
+ "committee_member": "Udvalgsmedlem: {committee_member}",
+ "committee_member_account": "Udvalgsmedlemskonto: {committee_member_account} ({committee_member_accountOP})",
+ "new_url": "Ny webadresse: {new_url}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Opdater dine udvalgsmedlemskontooplysninger"
+ },
+ "committee_member_update_global_parameters": {
+ "method": "Udvalgsmedlem opdaterer globale parametre",
+ "title": "Udvalgsmedlem opdatering af globale parametre anmodning",
+ "result": "Udvalgsmedlem opdatere globale parametre resultat",
+ "headers": {
+ "request": "Godkende at følge globale parametre som et udvalg?",
+ "result": "Følgende globale komitéparametre blev godkendt:"
+ },
+ "rows": {
+ "new_parameters": "Nye parametre:",
+ "current_fees": "Nuværende gebyrer: {current_fees}",
+ "block_interval": "Blokeringsinterval: {block_interval}",
+ "maintenance_interval": "Vedligeholdelsesinterval: {maintenance_interval}",
+ "maintenance_skip_slots": "Vedligeholdelses springpladser: {maintenance_skip_slots}",
+ "committee_proposal_review_period": "Gennemgangsperiode for udvalgsforslag: {committee_proposal_review_period}",
+ "maximum_transaction_size": "Maksimal transaktionsstørrelse: {maximum_transaction_size}",
+ "maximum_block_size": "Maksimal blokstørrelse: {maximum_block_size}",
+ "maximum_time_until_expiration": "Maksimal tid indtil udløb: {maximum_time_until_expiration}",
+ "maximum_proposal_lifetime": "Maksimal levetid for forslag: {maximum_proposal_lifetime}",
+ "maximum_asset_whitelist_authorities": "Autoriteter for maksimal hvidliste af aktiver: {maximum_asset_whitelist_authorities}",
+ "maximum_asset_feed_publishers": "Maksimalt antal aktivfeedudgivere: {maximum_asset_feed_publishers}",
+ "maximum_witness_count": "Maksimalt vidneantal: {maximum_witness_count}",
+ "maximum_committee_count": "Maksimalt antal udvalg: {maximum_committee_count}",
+ "maximum_authority_membership": "Maksimalt autoritetsmedlemskab: {maximum_authority_membership}",
+ "reserve_percent_of_fee": "Reserveprocent af gebyr: {reserve_percent_of_fee}",
+ "network_percent_of_fee": "Netværksprocent af gebyr: {network_percent_of_fee}",
+ "lifetime_referrer_percent_of_fee": "Livsvarig henvisningsprocent af gebyr: {lifetime_referrer_percent_of_fee}",
+ "cashback_vesting_period_seconds": "Cashback optjeningsperiode sekunder: {cashback_vesting_period_seconds}",
+ "cashback_vesting_threshold": "Cashback-vesting-tærskel: {cashback_vesting_threshold}",
+ "count_non_member_votes": "Tæl ikke-medlemmers stemmer: {count_non_member_votes}",
+ "allow_non_member_whitelists": "Tillad hvidlister, der ikke er medlemmer: {allow_non_member_whitelists}",
+ "witness_pay_per_block": "Vidnebetaling pr. blokering: {witness_pay_per_block}",
+ "worker_budget_per_day": "Medarbejderbudget pr. dag: {worker_budget_per_day}",
+ "max_predicate_opcode": "Maks. prædikatopkode: {max_predicate_opcode}",
+ "fee_liquidation_threshold": "Gebyrlikvidationsgrænse: {fee_liquidation_threshold}",
+ "accounts_per_fee_scale": "Konti pr. gebyrskala: {accounts_per_fee_scale}",
+ "account_fee_scale_bitshifts": "Kontogebyrskala bitshifts: {account_fee_scale_bitshifts}",
+ "max_authority_depth": "Maks. autoritetsdybde: {max_authority_depth}",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Offentliggør din komitémedlems holdning til Bitshares blockchain globale parameterværdier"
+ },
+ "vesting_balance_create": {
+ "method": "Vesting balance skabe",
+ "title": "Vesting balance oprette anmodning",
+ "result": "Vesting balance skaber resultat",
+ "headers": {
+ "request": "Oprette følgende optjeningssaldo?",
+ "result": "Følgende optjeningsbalance blev oprettet:"
+ },
+ "rows": {
+ "creator": "Skaber: {creator} ({creatorOP})",
+ "owner": "Ejer: {owner} ({ownerOP})",
+ "amount": "Beløb: {amount} ({asset_id})",
+ "policy": "Politik:",
+ "begin_timestamp": "Starttidsstempel: {begin_timestamp}",
+ "vesting_cliff_seconds": "Vesting cliff sekunder: {vesting_cliff_seconds}",
+ "vesting_duration_seconds": "Optjeningsvarighed sekunder: {vesting_duration_seconds}",
+ "start_claim": "Start krav: {start_claim}",
+ "vesting_seconds": "Optjening sekunder: {vesting_seconds}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Opret en optjeningsbalance"
+ },
+ "vesting_balance_withdraw": {
+ "method": "Opsigelsessaldo trækkes tilbage",
+ "title": "Anmodning om tilbagetrækning af optjeningssaldo",
+ "result": "Optjening balance tilbagetrækning resultat",
+ "headers": {
+ "request": "Tilbagekalde følgende optjeningssaldo?",
+ "result": "Følgende optjeningssaldo blev trukket tilbage:"
+ },
+ "rows": {
+ "owner": "Ejer: {owner} ({ownerOP})",
+ "claim": "Krav: {claim} ({asset_id})"
+ },
+ "tooltip": "Træk ud af en optjeningssaldo"
+ },
+ "worker_create": {
+ "method": "Arbejder skabe",
+ "title": "Arbejder oprette anmodning",
+ "result": "Arbejder skaber resultat",
+ "headers": {
+ "request": "Opret følgende arbejderforslag?",
+ "result": "Følgende arbejderforslag blev oprettet:"
+ },
+ "rows": {
+ "owner": "Ejer: {owner} ({ownerOP})",
+ "work_begin_date": "Startdato for arbejdet: {work_begin_date}",
+ "work_end_date": "Arbejdets slutdato: {work_end_date}",
+ "daily_pay": "Dagsløn: {daily_pay}",
+ "name": "Navn: {name}",
+ "url": "URL: {url}",
+ "initializer": "Initializer: {initializer}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Opret et medarbejderforslag"
+ },
+ "custom": {
+ "method": "Brugerdefinerede",
+ "title": "Brugerdefineret anmodning",
+ "result": "Tilpasset resultat",
+ "headers": {
+ "request": "Vil du oprette følgende brugerdefinerede handling?",
+ "result": "Følgende brugerdefinerede handling blev oprettet:"
+ },
+ "rows": {
+ "payer": "Betaler: {payer} ({payerOP})",
+ "required_auths": "Nødvendige myndigheder: {required_auths}",
+ "id": "Jeg {id}",
+ "data": "Data: {data}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Giver en generisk måde at tilføje protokoller på højere niveau oven på vidnekonsensus"
+ },
+ "assert": {
+ "method": "Hævde",
+ "title": "Påstå anmodning",
+ "result": "Påstå resultat",
+ "headers": {
+ "request": "Vil du godkende følgende hævningsanmodningsoperation?",
+ "result": "Følgende påstandsanmodningsoperation blev godkendt:"
+ },
+ "rows": {
+ "fee_paying_account": "Gebyrbetalingskonto: {fee_paying_account} ({fee_paying_accountOP})",
+ "predicates": "Prædikater: {predicates}",
+ "required_auths": "Nødvendige myndigheder: {required_auths}",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Påstå, at nogle forhold er sande."
+ },
+ "balance_claim": {
+ "method": "Saldokrav",
+ "title": "Anmodning om saldokrav",
+ "result": "Saldokrav resultat",
+ "headers": {
+ "request": "Gøre krav på følgende saldo?",
+ "result": "Der blev påstået følgende saldo:"
+ },
+ "rows": {
+ "deposit_to_account": "Indbetal til konto: {deposit_to_account} ({deposit_to_accountOP})",
+ "balance_to_claim": "Saldo at gøre krav på: {balance_to_claim} ({asset_id})",
+ "balance_owner_key": "Saldoejernøgle: {balance_owner_key}",
+ "total_claimed": "Samlet krav: {total_claimed} ({asset_id})",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Krav fra en balance"
+ },
+ "override_transfer": {
+ "method": "Tilsidesæt overførsel",
+ "title": "Tilsidesæt overførselsanmodning",
+ "result": "Tilsidesæt overførselsresultat",
+ "headers": {
+ "request": "Vil du tilsidesætte følgende overførsel?",
+ "result": "Følgende overførsel blev tilsidesat:"
+ },
+ "rows": {
+ "issuer": "Udsteder: {issuer} ({issuerOP})",
+ "from": "Fra: {from} ({fromOP})",
+ "to": "Til: {to} ({toOP})",
+ "amount": "Beløb: {amount} ({asset_id})",
+ "memo": "Notat: {memo}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Tilsidesæt en overførselshandling"
+ },
+ "transfer_to_blind": {
+ "method": "Overfør til blind",
+ "title": "Overførsel til blind anmodning",
+ "result": "Overfør til blind resultat",
+ "headers": {
+ "request": "Vil du overføre følgende til blind?",
+ "result": "Følgende blev overført til blind:"
+ },
+ "rows": {
+ "amount": "Beløb: {amount}",
+ "from": "Fra: {from} ({fromOP})",
+ "blinding_factor": "Blindingsfaktor: {blinding_factor}",
+ "outputs": "Udgange: {outputs}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Overfør aktiver til en blind destination"
+ },
+ "blind_transfer": {
+ "method": "Blind overførsel",
+ "title": "Blind anmodning om overførsel",
+ "result": "Blind overførselsresultat",
+ "headers": {
+ "request": "Godkend følgende blinde overførsel?",
+ "result": "Følgende blindoverførsel blev godkendt:"
+ },
+ "rows": {
+ "inputs": "Input: {inputs}",
+ "outputs": "Udgange: {outputs}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Overfør blinde aktiver på en blind måde"
+ },
+ "transfer_from_blind": {
+ "method": "Overførsel fra blind",
+ "title": "Overførsel fra blind anmodning",
+ "result": "Overførsel fra blind resultat",
+ "headers": {
+ "request": "Vil du overføre følgende fra blind?",
+ "result": "Følgende blev overført fra blind:"
+ },
+ "rows": {
+ "amount": "Beløb: {amount}",
+ "to": "Til: {to} ({toOP})",
+ "blinding_factor": "Blindingsfaktor: {blinding_factor}",
+ "inputs": "Input: {inputs}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Udtag aktiver fra en blind saldo"
+ },
+ "asset_claim_fees": {
+ "method": "Aktivkravsgebyrer",
+ "title": "Anmodning om gebyr for aktivkrav",
+ "result": "Resultat af gebyrer for aktivkrav",
+ "headers": {
+ "request": "Hæve gebyrerne fra følgende aktiv?",
+ "result": "Følgende aktivs gebyrer blev krævet:"
+ },
+ "rows": {
+ "issuer": "Udsteder: {issuer} ({issuerOP})",
+ "amount_to_claim": "Beløb til krav: {amount_to_claim} ({asset_id})",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Gør krav på gebyrerne fra et aktiv"
+ },
+ "bid_collateral": {
+ "method": "Byd sikkerhed",
+ "title": "Anmodning om budsikkerhed",
+ "result": "Budsikkerhedsresultat",
+ "headers": {
+ "request": "Godkend følgende sikkerhedsstillelsesbud?",
+ "result": "Følgende sikkerhedsstillelse blev godkendt:"
+ },
+ "rows": {
+ "bidder": "Budgiver: {bidder} ({bidderOP})",
+ "additional_collateral": "Yderligere sikkerhed: {additional_collateral}",
+ "debt_covered": "Gæld dækket: {debt_covered}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Byd på en sikkerhedsstillelse for bitassets, når den afvikles globalt"
+ },
+ "asset_claim_pool": {
+ "method": "Aktivkravspulje",
+ "title": "Anmodning om pool for aktivkrav",
+ "result": "Resultat af aktivkravspulje",
+ "headers": {
+ "request": "Gøre krav på følgende aktivpulje?",
+ "result": "Der blev gjort krav på følgende aktivpulje:"
+ },
+ "rows": {
+ "issuer": "Udsteder: {issuer} ({issuerOP})",
+ "asset_id": "Aktiv: {asset_id}",
+ "amount_to_claim": "Beløb til krav: {amount_to_claim}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Overfører BTS fra gebyrpuljen for et specificeret aktiv tilbage til udsteders saldo"
+ },
+ "asset_update_issuer": {
+ "method": "Udsteder af aktivopdatering",
+ "title": "Anmodning fra udsteder af aktivopdatering",
+ "result": "Resultat af aktivopdateringsudsteder",
+ "headers": {
+ "request": "Vil du opdatere udstederen af følgende aktiv?",
+ "result": "Følgende aktivs udsteder blev opdateret:"
+ },
+ "rows": {
+ "issuer": "Udsteder: {issuer} ({issuerOP})",
+ "asset_to_update": "Aktiv, der skal opdateres: {asset_to_update}",
+ "new_issuer": "Ny udsteder: {new_issuer} ({new_issuerOP})",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Opdater udsteder af et aktiv til en ny administratorkonto."
+ },
+ "htlc_create": {
+ "method": "HTC oprette",
+ "title": "HTTP oprette anmodning",
+ "result": "HTLC skabe resultat",
+ "headers": {
+ "request": "Opret følgende hashed timelock kontrakt operation?",
+ "result": "Oprettelsen af følgende hashed timelock-kontraktoperation blev godkendt:"
+ },
+ "rows": {
+ "from": "Fra: {from} ({fromOP})",
+ "to": "Til: {to} ({toOP})",
+ "amount": "Beløb: {amount}",
+ "preimage_hash": "Preimage hash: {preimage_hash}",
+ "preimage_size": "Preimage størrelse: {preimage_size}",
+ "claim_period_seconds": "Kravperiode (sekunder): {claim_period_seconds}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Opret en hash time locked contract (HTLC) operation"
+ },
+ "htlc_redeem": {
+ "method": "HTLC Indløs",
+ "title": "HTLC Indløs anmodning",
+ "result": "HTLC Indløs resultat",
+ "headers": {
+ "request": "Indløse følgende hash-tidslåste kontraktoperation?",
+ "result": "Indløsningen af følgende hash-tidslåste kontraktoperation blev godkendt:"
+ },
+ "rows": {
+ "htlc_id": "HTC ID: {htlc_id}",
+ "redeemer": "Redeemer: {redeemer} ({redeemerOP})",
+ "preimage": "Preimage: {preimage}",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Indløs indholdet af en HTLC-operation"
+ },
+ "htlc_extend": {
+ "method": "HTC Udvid",
+ "title": "HTLC Udvid anmodning",
+ "result": "HTLC Udvid resultatet",
+ "headers": {
+ "request": "Godkende følgende hash-tidslåste kontraktforlængelse?",
+ "result": "Forlængelsen af følgende hash-timelocked-kontrakt blev godkendt:"
+ },
+ "rows": {
+ "htlc_id": "HTC ID: {htlc_id}",
+ "update_issuer": "Opdater udsteder: {update_issuer} ({update_issuerOP})",
+ "seconds_to_add": "Sekunder at tilføje: {seconds_to_add}",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Forlæng varigheden af en HTLC-operation"
+ },
+ "custom_authority_create": {
+ "method": "Opret brugerdefineret autoritet",
+ "title": "Anmodning om oprettelse af brugerdefineret myndighed",
+ "result": "Brugerdefineret autoritet skabe resultat",
+ "headers": {
+ "request": "Vil du oprette følgende brugerdefinerede myndighed?",
+ "result": "Følgende brugerdefinerede autoritet blev oprettet:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "enabled": "Aktiveret: {enabled}",
+ "valid_from": "Gyldig fra: {valid_from}",
+ "valid_to": "Gyldig til: {valid_to}",
+ "operation_type": "Operationstype: {operation_type}",
+ "auth": "Autoritet: {auth}",
+ "restrictions": "Begrænsninger: {restrictions}",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Opret en ny brugerdefineret myndighed."
+ },
+ "custom_authority_update": {
+ "method": "Opdatering af tilpasset myndighed",
+ "title": "Anmodning om opdatering af tilpasset myndighed",
+ "result": "Resultat af opdatering af tilpasset myndighed",
+ "headers": {
+ "request": "Vil du opdatere følgende tilpassede autoritet?",
+ "result": "Følgende toldmyndighed blev opdateret:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "authority_to_update": "Bemyndigelse til at opdatere: {authority_to_update}",
+ "new_enabled": "Nyt aktiveret: {new_enabled}",
+ "new_valid_from": "Ny gyldig fra: {new_valid_from}",
+ "new_valid_to": "Ny gyldig til: {new_valid_to}",
+ "new_auth": "Ny myndighed: {new_auth}",
+ "restrictions_to_remove": "Begrænsninger, der skal fjernes: {restrictions_to_remove}",
+ "restrictions_to_add": "Begrænsninger at tilføje: {restrictions_to_add}",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Opdater en tilpasset myndighed."
+ },
+ "custom_authority_delete": {
+ "method": "Brugerdefineret autoritetssletning",
+ "title": "Anmodning om sletning af brugerdefineret myndighed",
+ "result": "Slet resultat for brugerdefineret autoritet",
+ "headers": {
+ "request": "Vil du slette følgende tilpassede autoritet?",
+ "result": "Følgende toldmyndighed blev slettet:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "authority_to_delete": "Bemyndigelse til at slette: {authority_to_delete}",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Slet en tilpasset myndighed."
+ },
+ "ticket_create": {
+ "method": "Billet oprettes",
+ "title": "Forespørgsel om oprettelse af billet",
+ "result": "Billet skabe resultat",
+ "headers": {
+ "request": "Opret følgende billet?",
+ "result": "Følgende billet blev oprettet:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "target_type": "Måltype: {target_type}",
+ "amount": "Beløb: {amount}",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Opret en ny billet."
+ },
+ "ticket_update": {
+ "method": "Billetopdatering",
+ "title": "Anmodning om billetopdatering",
+ "result": "Billetopdateringsresultat",
+ "headers": {
+ "request": "Opdater følgende billet?",
+ "result": "Følgende billet blev opdateret:"
+ },
+ "rows": {
+ "ticket": "Billet: {ticket}",
+ "account": "Konto: {account} ({accountOP})",
+ "target_type": "Måltype: {target_type}",
+ "amount_for_new_target": "Beløb for nyt mål: {amount_for_new_target}",
+ "extensions": "Udvidelser: {extensions}"
+ },
+ "tooltip": "Opdater en eksisterende billet."
+ },
+ "liquidity_pool_create": {
+ "method": "Opret likviditetspulje",
+ "title": "Opret anmodning om likviditetspulje",
+ "result": "Likviditetspulje skabe resultat",
+ "headers": {
+ "request": "Oprette en likviditetspulje med følgende detaljer?",
+ "result": "Følgende likviditetspulje blev oprettet:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "asset_a": "Aktiv A: {asset_a} ({asset_aOP})",
+ "asset_b": "Aktiv B: {asset_b} ({asset_bOP})",
+ "share_asset": "Del aktiv: {share_asset} ({share_assetOP})",
+ "taker_fee_percent": "Procent af takergebyr: {taker_fee_percent}",
+ "withdrawal_fee_percent": "Procent for tilbagetrækningsgebyr: {withdrawal_fee_percent}",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Opret en likviditetspulje"
+ },
+ "liquidity_pool_delete": {
+ "method": "Sletning af likviditetspulje",
+ "title": "Anmodning om sletning af likviditetspulje",
+ "result": "Resultat af sletning af likviditetspulje",
+ "headers": {
+ "request": "Vil du slette følgende likviditetspulje?",
+ "result": "Følgende likviditetspulje blev slettet:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "pool_id": "Pool-id: {pool_id}",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Slet en likviditetspulje"
+ },
+ "liquidity_pool_deposit": {
+ "method": "Likviditetspool depositum",
+ "title": "Anmodning om depositum for likviditetspool",
+ "result": "Resultat af likviditetspuljeindskud",
+ "headers": {
+ "request": "Deponere følgende aktiver i likviditetspuljen?",
+ "result": "Følgende aktiver blev indsat i likviditetspuljen:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "pool": "Pool: {pool}",
+ "asset_a": "Aktiv A: {asset_a} ({asset_aOP})",
+ "asset_b": "Aktiv B: {asset_b} ({asset_bOP})",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Indskyder midler i en likviditetspulje"
+ },
+ "liquidity_pool_withdraw": {
+ "method": "Udtræk af likviditetspulje",
+ "title": "Anmodning om tilbagetrækning af likviditetspulje",
+ "result": "Resultat af likviditetspuljetræk",
+ "headers": {
+ "request": "Træk følgende aktiver ud af likviditetspuljen?",
+ "result": "Følgende aktiver blev trukket ud af likviditetspuljen:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "pool": "Pool: {pool}",
+ "share_asset": "Del aktiv: {share_asset} ({share_assetOP})",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Hæve midler fra en likviditetspulje"
+ },
+ "liquidity_pool_exchange": {
+ "method": "Udveksling af likviditetspulje",
+ "title": "Anmodning om ombytning af likviditetspulje",
+ "result": "Resultat af udveksling af likviditetspulje",
+ "headers": {
+ "request": "Godkender følgende likviditetspuljeudveksling?",
+ "result": "Følgende likviditetspuljeudveksling blev godkendt:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "pool": "Pool: {pool}",
+ "amount_to_sell": "Salgsbeløb: {amount_to_sell}",
+ "min_to_receive": "Min. at modtage: {min_to_receive}",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Udveksling med en likviditetspulje."
+ },
+ "samet_fund_create": {
+ "method": "SameT fond oprette",
+ "title": "SameT fund oprette anmodning",
+ "result": "SameT fond skabe resultat",
+ "headers": {
+ "request": "Godkender følgende oprettelse af samme fond?",
+ "result": "Følgende samet-fond blev oprettet:"
+ },
+ "rows": {
+ "owner_account": "Ejerkonto: {owner_account} ({owner_accountOP})",
+ "asset_type": "Aktivtype: {asset_type}",
+ "balance": "Saldo: {balance}",
+ "fee_rate": "Gebyrsats: {fee_rate}",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Opret en ny SameT-fond. "
+ },
+ "samet_fund_delete": {
+ "method": "SameT fond sletning",
+ "title": "Anmodning om sletning af SameT-fond",
+ "result": "SameT fund sletningsresultat",
+ "headers": {
+ "request": "Vil du slette følgende samme fond?",
+ "result": "Følgende samet-fond blev slettet:"
+ },
+ "rows": {
+ "owner_account": "Ejerkonto: {owner_account} ({owner_accountOP})",
+ "fund_id": "Fonds-id: {fund_id}",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Slet et SameT-fondsobjekt."
+ },
+ "samet_fund_update": {
+ "method": "SameT-fondsopdatering",
+ "title": "SameT-fondsopdateringsanmodning",
+ "result": "SameT-fondsopdateringsresultat",
+ "headers": {
+ "request": "Opdater følgende samet-fond?",
+ "result": "Følgende samet-fond blev opdateret:"
+ },
+ "rows": {
+ "owner_account": "Ejerkonto: {owner_account} ({owner_accountOP})",
+ "fund_id": "Fonds-id: {fund_id}",
+ "delta_amount": "Deltabeløb: {delta_amount}",
+ "new_fee_rate": "Ny gebyrsats: {new_fee_rate}",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Opdater et SameT-fondsobjekt."
+ },
+ "samet_fund_borrow": {
+ "method": "SameT fund lån",
+ "title": "SameT fund låneanmodning",
+ "result": "SameT fund låneresultat",
+ "headers": {
+ "request": "Lån fra følgende samme fond?",
+ "result": "Lånet med succes fra følgende samet-fond:"
+ },
+ "rows": {
+ "borrower": "Låntager: {borrower} ({borrowerOP})",
+ "fund_id": "Fonds-id: {fund_id}",
+ "borrow_amount": "Lånebeløb: {borrow_amount}",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Lån fra en SameT-fond."
+ },
+ "samt_fund_repay": {
+ "method": "SameT fonds tilbagebetaling",
+ "title": "Anmodning om tilbagebetaling af SameT-fond",
+ "result": "SameT fonds tilbagebetalingsresultat",
+ "headers": {
+ "request": "Tilbagebetal følgende samme fond",
+ "result": "Tilbagebetalt følgende samme fond"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "fund_id": "Fonds-id: {fund_id}",
+ "repay_amount": "Tilbagebetalingsbeløb: {repay_amount}",
+ "fund_fee": "Fondsgebyr: {fund_fee}",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Indfri gæld til en SameT-fond."
+ },
+ "credit_offer_create": {
+ "method": "Kredit tilbud oprette",
+ "title": "Kredittilbud opret anmodning",
+ "result": "Kredittilbud skaber resultat",
+ "headers": {
+ "request": "Godkend oprettelsen af følgende kredittilbud?",
+ "result": "Følgende kredittilbud blev oprettet:"
+ },
+ "rows": {
+ "owner_account": "Ejerkonto: {owner_account} ({owner_accountOP})",
+ "asset_type": "Aktivtype: {asset_type}",
+ "balance": "Saldo: {balance}",
+ "fee_rate": "Gebyrsats: {fee_rate}",
+ "max_duration_seconds": "Maks. varighed sekunder: {max_duration_seconds}",
+ "min_deal_amount": "Minimum dealbeløb: {min_deal_amount}",
+ "enabled": "Aktiveret: {enabled}",
+ "auto_disable_time": "Automatisk deaktiveringstid: {auto_disable_time}",
+ "acceptable_collateral": "Acceptabel sikkerhed: {acceptable_collateral}",
+ "acceptable_borrowers": "Acceptable låntagere: {acceptable_borrowers}",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Opret et nyt kredittilbud. "
+ },
+ "credit_offer_delete": {
+ "method": "Kredittilbud slet",
+ "title": "Anmodning om sletning af kredittilbud",
+ "result": "Kredittilbud slet resultat",
+ "headers": {
+ "request": "Vil du slette følgende kredittilbud?",
+ "result": "Følgende kredittilbud blev slettet:"
+ },
+ "rows": {
+ "owner_account": "Ejerkonto: {owner_account} ({owner_accountOP})",
+ "offer_id": "Tilbuds-id: {offer_id}",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Slet et kredittilbud."
+ },
+ "credit_offer_update": {
+ "method": "Opdatering af kredittilbud",
+ "title": "Anmodning om opdatering af kredittilbud",
+ "result": "Resultat af opdatering af kredittilbud",
+ "headers": {
+ "request": "Vil du opdatere følgende kredittilbud?",
+ "result": "Følgende kredittilbud blev opdateret:"
+ },
+ "rows": {
+ "owner_account": "Ejerkonto: {owner_account} ({owner_accountOP})",
+ "offer_id": "Tilbuds-id: {offer_id}",
+ "delta_amount": "Deltabeløb: {delta_amount}",
+ "fee_rate": "Gebyrsats: {fee_rate}",
+ "max_duration_seconds": "Maks. varighed sekunder: {max_duration_seconds}",
+ "min_deal_amount": "Minimum dealbeløb: {min_deal_amount}",
+ "enabled": "Aktiveret: {enabled}",
+ "auto_disable_time": "Automatisk deaktiveringstid: {auto_disable_time}",
+ "acceptable_collateral": "Acceptabel sikkerhed: {acceptable_collateral}",
+ "acceptable_borrowers": "Acceptable låntagere: {acceptable_borrowers}",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Opdater et kredittilbud"
+ },
+ "credit_offer_accept": {
+ "method": "Kredittilbud accepteres",
+ "title": "Kredittilbud accepter anmodning",
+ "result": "Kredittilbud acceptere resultat",
+ "headers": {
+ "request": "Godkender du følgende kredittilbud?",
+ "result": "Følgende kredittilbud blev godkendt:"
+ },
+ "rows": {
+ "borrower": "Låntager: {borrower} ({borrowerOP})",
+ "offer_id": "Tilbuds-id: {offer_id}",
+ "borrow_amount": "Lånebeløb: {borrow_amount}",
+ "collateral": "Sikkerhed: {collateral}",
+ "max_fee_rate": "Maks. gebyrsats: {max_fee_rate}",
+ "min_duration_seconds": "Min. varighed sekunder: {min_duration_seconds}",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Accepter et kredittilbud og lav en kreditaftale."
+ },
+ "credit_deal_repay": {
+ "method": "Tilbagebetaling af kreditaftale",
+ "title": "Anmodning om tilbagebetaling af kreditaftale",
+ "result": "Resultat af tilbagebetaling af kreditaftale",
+ "headers": {
+ "request": "Tilbagebetale følgende kreditaftale?",
+ "result": "Du tilbagebetalte følgende kreditaftale"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "deal_id": "Aftale-id: {deal_id}",
+ "repay_amount": "Tilbagebetalingsbeløb: {repay_amount}",
+ "credit_fee": "Kreditgebyr: {credit_fee}",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Tilbagebetal en kreditaftale."
+ },
+ "liquidity_pool_update_operation": {
+ "method": "Opdatering af likviditetspulje",
+ "title": "Anmodning om opdatering af likviditetspulje",
+ "result": "Resultat af opdatering af likviditetspulje",
+ "headers": {
+ "request": "Opdatere følgende likviditetspulje?",
+ "result": "Følgende likviditetspulje blev opdateret:"
+ },
+ "rows": {
+ "owner_account": "Ejerkonto: {owner_account} ({owner_accountOP})",
+ "pool_id": "Pool-id: {pool_id}",
+ "new_parameters": "Nye parametre: {new_parameters}",
+ "extensions": "Udvidelser: {extensions}",
+ "fee": "Estimeret gebyr: {fee}"
+ },
+ "tooltip": "Opdater en likviditetspulje"
+ },
+ "credit_deal_update_operation": {
+ "method": "Opdatering af kreditaftale",
+ "title": "Anmodning om opdatering af kreditaftale",
+ "result": "Resultat af opdatering af kreditaftale",
+ "headers": {
+ "request": "Opdater følgende kreditaftale?",
+ "result": "Følgende kreditaftale blev opdateret:"
+ },
+ "rows": {
+ "fee": "Estimeret gebyr: {fee}",
+ "account": "Konto: {account} ({accountOP})",
+ "deal_id": "Aftale-id: {deal_id}",
+ "auto_repay": "Automatisk tilbagebetaling: {auto_repay}"
+ },
+ "tooltip": "Opdater en kreditaftale"
+ },
+ "limit_order_update_operation": {
+ "method": "Begræns ordreopdatering",
+ "title": "Begræns ordreopdateringsanmodning",
+ "result": "Resultat af opdatering af grænseordre",
+ "headers": {
+ "request": "Vil du opdatere følgende grænserækkefølge?",
+ "result": "Følgende grænserækkefølge blev opdateret:"
+ },
+ "rows": {
+ "fee": "Estimeret gebyr: {fee}",
+ "seller": "Sælger: {seller} ({sellerOP})",
+ "order": "Ordre: {order}",
+ "new_price": "Ny pris: {new_price}",
+ "delta_amount_to_sell": "Deltabeløb at sælge: {delta_amount_to_sell}",
+ "new_expiration": "Nyt udløb: {new_expiration}",
+ "on_fill": "På udfyldning: {on_fill}",
+ "extensions": "Udvidelser: {extensions}"
+ },
+ "tooltip": "Opdater en grænserækkefølge"
+ }
+ },
"EOS": {
"setalimits": {
"method": "Indstil kontogrænser",
diff --git a/src/translations/operations/de.json b/src/translations/operations/de.json
index c5dfc531..c699f7d8 100644
--- a/src/translations/operations/de.json
+++ b/src/translations/operations/de.json
@@ -100,6 +100,1444 @@
"reject_btn": "Ignorieren"
},
"injected": {
+ "BTS": {
+ "getAccount": {
+ "method": "getAccount",
+ "title": "Anfrage zu Kontodetails",
+ "result": "Ergebnis der Kontodetails",
+ "headers": {
+ "request": "Möchten Sie Ihre Kontodaten teilen?",
+ "result": "Ihre Kontodaten wurden weitergegeben."
+ },
+ "tooltip": "Fragt Ihr Wallet nach den Details Ihres Blockchain-Kontos"
+ },
+ "requestSignature": {
+ "method": "requestSignature",
+ "title": "Unterschriftsanfrage",
+ "result": "Signaturergebnis",
+ "headers": {
+ "request": "Möchten Sie Ihre Signatur teilen?",
+ "result": "Ihre Signatur wurde geteilt:"
+ },
+ "tooltip": "Fragt Ihr Wallet nach Blockchain-Signaturen"
+ },
+ "injectedCall": {
+ "method": "injiziertAnruf",
+ "title": "Eingefügte Anrufanfrage",
+ "result": "Eingefügtes Anrufergebnis",
+ "headers": {
+ "request": "Den folgenden injizierten Anruf genehmigen?",
+ "result": "Der folgende injizierte Anruf wurde genehmigt:"
+ },
+ "tooltip": "Fordert Ihr Wallet auf, einen injizierten Blockchain-Vorgang abzuwickeln"
+ },
+ "voteFor": {
+ "method": "voteFor",
+ "title": "Abstimmungsanfrage",
+ "result": "Abstimmungsergebnis",
+ "headers": {
+ "request": "Den folgenden Abstimmungsantrag genehmigen?",
+ "result": "Der folgende Abstimmungsantrag wurde angenommen"
+ },
+ "tooltip": "Führen Sie eine Blockchain-Abstimmung durch"
+ },
+ "signMessage": {
+ "method": "signMessage",
+ "title": "Nachrichtenanfrage signieren",
+ "result": "Ergebnis der Signierungsnachricht",
+ "headers": {
+ "request": "Mit der Unterzeichnung der folgenden Nachricht einverstanden sein?",
+ "result": "Die folgende Nachricht wurde signiert:"
+ },
+ "tooltip": "Signieren Sie eine Blockchain-basierte Nachricht"
+ },
+ "signNFT": {
+ "method": "signNFT",
+ "title": "Unterschreiben Sie die NFT-Anfrage",
+ "result": "NFT-Ergebnis unterschreiben",
+ "headers": {
+ "request": "Genehmigen Sie die Unterzeichnung des folgenden NFT?",
+ "result": "Der folgende NFT wurde unterzeichnet:"
+ },
+ "tooltip": "Signieren Sie den Inhalt eines NFTs"
+ },
+ "verifyMessage": {
+ "method": "VerifyMessage",
+ "title": "Nachrichtenanfrage überprüfen",
+ "result": "Überprüfen Sie das Nachrichtenergebnis",
+ "headers": {
+ "request": "Möchten Sie die folgende Nachricht überprüfen?",
+ "result": "Die folgende Nachricht wurde überprüft:"
+ },
+ "tooltip": "Überprüfen Sie eine Blockchain-basierte signierte Nachricht"
+ },
+ "transfer": {
+ "method": "Überweisen",
+ "title": "Transferanforderung",
+ "result": "Ergebnis übertragen",
+ "headers": {
+ "request": "Möchten Sie die folgende Übertragungsanfrage genehmigen?",
+ "result": "Der folgende Übertragungsantrag wurde genehmigt:"
+ },
+ "rows": {
+ "from": "Von: {from} ({opFrom})",
+ "to": "An: {to} ({opTo})",
+ "amount": "Betrag: {amount}"
+ },
+ "tooltip": "Senden Sie Vermögenswerte von einem Konto auf ein anderes"
+ },
+ "limit_order_create": {
+ "method": "Limit-Order erstellen",
+ "title": "Anfrage zur Erstellung einer Limitorder",
+ "result": "Ergebnis der Limit-Order-Erstellung",
+ "headers": {
+ "request": "Genehmigen Sie die folgende Anfrage zur Erstellung einer Limitorder?",
+ "result": "Die folgende Limit-Order wurde erstellt:"
+ },
+ "rows": {
+ "trade": "Handel",
+ "tradeFK": "Handel (Auffüllen oder Töten)",
+ "seller": "Verkäufer: {seller} ({opSeller})",
+ "selling": "Verkauf: {amount}",
+ "buying": "Kauf: {amount}",
+ "price": "Preis: {price} {sellSymbol}/{buySymbol}"
+ },
+ "tooltip": "Ein Angebot, eine bestimmte Menge eines Vermögenswerts zu einem bestimmten Wechselkurs zu einem bestimmten Zeitpunkt zu verkaufen"
+ },
+ "limit_order_cancel": {
+ "method": "Limit-Order stornieren",
+ "title": "Anfrage zur Stornierung einer Limit-Order",
+ "result": "Ergebnis der Stornierung der Limit-Order",
+ "headers": {
+ "request": "Folgende Limit-Order stornieren?",
+ "result": "Die folgende Limit-Order wurde storniert:"
+ },
+ "rows": {
+ "id": "Bestell-ID: {id}",
+ "fees": "Geschätzte Gebühren: {fees}",
+ "account": "Gebührenpflichtiges Konto: {account}"
+ },
+ "tooltip": "Stornieren eines Limit-Order-Vorgangs"
+ },
+ "call_order_update": {
+ "method": "Bestellaktualisierung aufrufen",
+ "title": "Rufen Sie eine Aktualisierungsanfrage für die Bestellung an",
+ "result": "Ergebnis der Aktualisierung des Aufrufauftrags",
+ "headers": {
+ "request": "Aktualisieren Sie Ihre Anrufreihenfolge wie folgt?",
+ "result": "Die folgende Aufrufreihenfolge wurde aktualisiert:"
+ },
+ "rows": {
+ "funding_account": "Finanzierungskonto: {funding_account}",
+ "delta_collateral": "Delta-Sicherheiten: {delta_collateral} ({id})",
+ "delta_debt": "Delta-Schulden: {delta_debt} ({id})",
+ "fees": "Geschätzte Gebühren: {fees}"
+ },
+ "tooltip": "Aktualisieren eines bestehenden Abrufauftrags"
+ },
+ "account_create": {
+ "method": "Konto erstellen",
+ "title": "Anfrage zur Kontoerstellung",
+ "result": "Ergebnis der Kontoerstellung",
+ "headers": {
+ "request": "Möchten Sie das folgende Konto erstellen?",
+ "result": "Das folgende Konto wurde erstellt:"
+ },
+ "rows": {
+ "registrar": "Registrar: {registrar} ({opRegistrar})",
+ "referrer": "Referrer: {referrer} ({opReferrer})",
+ "referrer_percent": "Refferrer-Prozentsatz: {referrer_percent}",
+ "name": "Name {name}",
+ "ownerHeader": "Eigentümer:",
+ "activeHeader": "Aktiv:",
+ "weight_threshold": "Gewichtsschwelle: {weight_threshold}",
+ "account_auths": "Kontoauthentifizierungen: {account_auths}",
+ "key_auths": "Schlüsselauthentifizierungen: {key_auths}",
+ "address_auths": "Adressauthentifizierungen: {address_auths}",
+ "optionsHeader": "Optionen:",
+ "memo_key": "Memo-Taste: {memo_key}",
+ "voting_account": "Abstimmungskonto: {voting_account} ({opVotingAccount})",
+ "num_witness": "Anzahl der Zeugen: {num_witness}",
+ "num_committee": "Anzahl der Ausschussmitglieder: {num_committee}",
+ "votes": "Stimmen: {votes}",
+ "extensions": "Erweiterungen: {extensions}",
+ "fees": "Geschätzte Gebühren: {fees}"
+ },
+ "tooltip": "Erstellen eines neuen Kontos"
+ },
+ "account_update": {
+ "method": "Kontoaktualisierung",
+ "title": "Anfrage zur Kontoaktualisierung",
+ "result": "Ergebnis der Kontoaktualisierung",
+ "headers": {
+ "request": "Möchten Sie das folgende Konto aktualisieren?",
+ "result": "Das folgende Konto wurde aktualisiert:"
+ },
+ "rows": {
+ "warning": "Achtung: Dieser Vorgang ist irreversibel!",
+ "account": "Konto: {account} ({opAccount})",
+ "owner": "Besitzer: {owner}",
+ "active": "Aktiv: {active}",
+ "new_options": "Neue Optionen: {new_options}",
+ "extensions": "Erweiterungen: {extensions}",
+ "fees": "Geschätzte Gebühr: {fees}"
+ },
+ "tooltip": "Mit diesem Vorgang wird ein bestehendes Konto aktualisiert. "
+ },
+ "account_whitelist": {
+ "method": "Konto-Whitelist",
+ "title": "Anfrage zur Konto-Whitelist",
+ "result": "Ergebnis der Konto-Whitelist",
+ "headers": {
+ "request": "Aktualisieren Sie die Whitelist Ihres Kontos wie folgt?",
+ "result": "Die Whitelist Ihres Kontos wurde wie folgt aktualisiert:"
+ },
+ "rows": {
+ "authorizing_account": "Autorisierendes Konto: {authorizingAccount} (authorizingAccountOP)",
+ "account_to_list": "Aufzulistendes Konto: {accountToList} (accountToListOP)",
+ "new_listing": "Neuer Eintrag: {newListing}",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Gebühr: {fee}"
+ },
+ "tooltip": "Dieser Vorgang wird verwendet, um Konten auf die Whitelist und Blacklist zu setzen, hauptsächlich für Transaktionen mit Assets auf der Whitelist"
+ },
+ "account_upgrade": {
+ "method": "Konto-Upgrade",
+ "title": "Anfrage zur Kontoaktualisierung",
+ "result": "Ergebnis der Kontoaktualisierung",
+ "headers": {
+ "request": "Upgraden Sie Ihr Konto auf ein lebenslanges Mitglied?",
+ "result": "Ihr Konto wurde auf ein lebenslanges Mitglied hochgestuft!"
+ },
+ "rows": {
+ "account_to_upgrade": "Zu aktualisierendes Konto: {accountToUpgrade} (accountToUpgradeOP)",
+ "upgrade_to_lifetime_member": "Upgrade auf lebenslanges Mitglied: {upgradeToLifetimeMember}",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Dieser Vorgang wird verwendet, um ein Konto auf ein Mitglied hochzustufen oder sein Abonnement zu erneuern."
+ },
+ "account_transfer": {
+ "method": "Kontoübertragung",
+ "title": "Antrag auf Kontoübertragung",
+ "result": "Ergebnis der Kontoübertragung",
+ "headers": {
+ "request": "Konto an einen neuen Eigentümer übertragen?",
+ "result": "Das folgende Konto wurde an einen neuen Eigentümer übertragen:"
+ },
+ "rows": {
+ "warning": "Achtung: Diese Aktion ist irreversibel!",
+ "account_id": "Konto-ID: {originalOwner} ({account_id})",
+ "new_owner": "Neuer Besitzer: {newOwner} ({newOwnerOP})",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Überträgt das Konto auf ein anderes Konto und löscht dabei die Whitelist"
+ },
+ "asset_create": {
+ "method": "Asset erstellen",
+ "title": "Anfrage zur Asset-Erstellung",
+ "result": "Ergebnis der Asset-Erstellung",
+ "headers": {
+ "request": "Das folgende Asset erstellen?",
+ "result": "Das folgende Asset wurde erstellt:"
+ },
+ "rows": {
+ "symbol": "Symbol: {symbol}",
+ "main": "Haupt {main}",
+ "market": "Markt: {market}",
+ "short_name": "Kurzname: {short_name}",
+ "precision": "Präzision: {precision}",
+ "max_supply": "Maximaler Vorrat: {max_supply}",
+ "market_fee_percent": "Prozentsatz der Marktgebühr: {market_fee_percent}",
+ "max_market_fee": "Maximale Marktgebühr: {max_market_fee}",
+ "cer": "Kernwechselkurse:",
+ "cer_base_amount": "Grundbetrag: {cer_base_amount}",
+ "cer_base_id": "Basis-Asset-ID: {cer_base_id}",
+ "cer_quote_amount": "Angebotsbetrag: {cer_quote_amount}",
+ "cer_quote_id": "Angebots-Asset-ID: {cer_quote_id}",
+ "whitelist_authorities": "Behörden auf die weiße Liste setzen: {whitelist_authorities}",
+ "blacklist_authorities": "Behörden auf die schwarze Liste setzen: {blacklist_authorities}",
+ "whitelist_markets": "Whitelist-Märkte: {whitelist_markets}",
+ "blacklist_markets": "Märkte auf der schwarzen Liste: {blacklist_markets}",
+ "is_prediction_market": "Ist Prognosemarkt: {is_prediction_market}",
+ "permissions": "Berechtigungen:",
+ "perm_charge_market_fee": "Marktgebühr berechnen: {charge_market_fee}",
+ "perm_white_list": "Weiße Liste: {white_list}",
+ "perm_override_authority": "Autorität außer Kraft setzen: {override_authority}",
+ "perm_transfer_restricted": "Übertragung eingeschränkt: {transfer_restricted}",
+ "perm_disable_confidential": "Vertraulich deaktivieren: {disable_confidential}",
+ "flags": "Flaggen:",
+ "flag_charge_market_fee": "Marktgebühr berechnen: {charge_market_fee}",
+ "flag_white_list": "Weiße Liste: {white_list}",
+ "flag_override_authority": "Autorität außer Kraft setzen: {override_authority}",
+ "flag_transfer_restricted": "Übertragung eingeschränkt: {transfer_restricted}",
+ "flag_disable_confidential": "Vertraulich deaktivieren: {disable_confidential}",
+ "bitasset": "Bitasset-Informationen:",
+ "feed_lifetime_sec": "Feed-Lebensdauer (Sekunden): {feed_lifetime_sec}",
+ "force_settlement_delay_sec": "Verzögerung der erzwungenen Abwicklung (Sekunden): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "Ausgleichsprozentsatz erzwingen: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "Maximales Force-Settlement-Volumen: {maximum_force_settlement_volume}",
+ "minimum_feeds": "Mindest-Feeds: {minimum_feeds}",
+ "short_backing_asset": "Short-Backing-Asset: {short_backing_asset}",
+ "nft": "NFT-Inhalte:",
+ "acknowledgements": "Danksagungen: {acknowledgements}",
+ "artist": "Künstler: {artist}",
+ "attestation": "Bescheinigung: {attestation}",
+ "holder_license": "Inhaberlizenz: {holder_license}",
+ "license": "Lizenz: {license}",
+ "narrative": "Erzählung: {narrative}",
+ "title": "Titel: {title}",
+ "tags": "Schlagworte: {tags}",
+ "type": "Typ: {type}"
+ },
+ "tooltip": "Erstellt einen Vermögenswert in der Bitshares-Blockchain"
+ },
+ "asset_update": {
+ "method": "Asset-Update",
+ "title": "Anfrage zur Asset-Aktualisierung",
+ "result": "Ergebnis der Asset-Aktualisierung",
+ "headers": {
+ "request": "Das folgende Asset aktualisieren?",
+ "result": "Das Asset wurde mit den folgenden Details aktualisiert:"
+ },
+ "rows": {
+ "symbol": "Symbol: {symbol}",
+ "main": "Haupt {main}",
+ "market": "Markt: {market}",
+ "short_name": "Kurzname: {short_name}",
+ "precision": "Präzision: {precision}",
+ "max_supply": "Maximaler Vorrat: {max_supply}",
+ "market_fee_percent": "Prozentsatz der Marktgebühr: {market_fee_percent}",
+ "max_market_fee": "Maximale Marktgebühr: {max_market_fee}",
+ "cer": "Kernwechselkurse:",
+ "cer_base_amount": "Grundbetrag: {cer_base_amount}",
+ "cer_base_id": "Basis-Asset-ID: {cer_base_id}",
+ "cer_quote_amount": "Angebotsbetrag: {cer_quote_amount}",
+ "cer_quote_id": "Angebots-Asset-ID: {cer_quote_id}",
+ "whitelist_authorities": "Behörden auf die weiße Liste setzen: {whitelist_authorities}",
+ "blacklist_authorities": "Behörden auf die schwarze Liste setzen: {blacklist_authorities}",
+ "whitelist_markets": "Whitelist-Märkte: {whitelist_markets}",
+ "blacklist_markets": "Märkte auf der schwarzen Liste: {blacklist_markets}",
+ "is_prediction_market": "Ist Prognosemarkt: {is_prediction_market}",
+ "permissions": "Berechtigungen:",
+ "perm_charge_market_fee": "Marktgebühr berechnen: {charge_market_fee}",
+ "perm_white_list": "Weiße Liste: {white_list}",
+ "perm_override_authority": "Autorität außer Kraft setzen: {override_authority}",
+ "perm_transfer_restricted": "Übertragung eingeschränkt: {transfer_restricted}",
+ "perm_disable_confidential": "Vertraulich deaktivieren: {disable_confidential}",
+ "flags": "Flaggen:",
+ "flag_charge_market_fee": "Marktgebühr berechnen: {charge_market_fee}",
+ "flag_white_list": "Weiße Liste: {white_list}",
+ "flag_override_authority": "Autorität außer Kraft setzen: {override_authority}",
+ "flag_transfer_restricted": "Übertragung eingeschränkt: {transfer_restricted}",
+ "flag_disable_confidential": "Vertraulich deaktivieren: {disable_confidential}",
+ "bitasset": "Bitasset-Informationen:",
+ "feed_lifetime_sec": "Feed-Lebensdauer (Sekunden): {feed_lifetime_sec}",
+ "force_settlement_delay_sec": "Verzögerung der erzwungenen Abwicklung (Sekunden): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "Ausgleichsprozentsatz erzwingen: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "Maximales Force-Settlement-Volumen: {maximum_force_settlement_volume}",
+ "minimum_feeds": "Mindest-Feeds: {minimum_feeds}",
+ "short_backing_asset": "Short-Backing-Asset: {short_backing_asset}",
+ "nft": "NFT-Inhalte:",
+ "acknowledgements": "Danksagungen: {acknowledgements}",
+ "artist": "Künstler: {artist}",
+ "attestation": "Bescheinigung: {attestation}",
+ "holder_license": "Inhaberlizenz: {holder_license}",
+ "license": "Lizenz: {license}",
+ "narrative": "Erzählung: {narrative}",
+ "title": "Titel: {title}",
+ "tags": "Schlagworte: {tags}",
+ "type": "Typ: {type}"
+ },
+ "tooltip": "Aktualisiert die Einstellungen eines Assets"
+ },
+ "asset_update_bitasset": {
+ "method": "Asset-Update-Bitasset",
+ "title": "Bitasset-Anfrage zur Asset-Aktualisierung",
+ "result": "Bitasset-Ergebnis der Asset-Aktualisierung",
+ "headers": {
+ "request": "Bitasset-Update genehmigen?",
+ "result": "Das folgende Bitasset-Update wurde genehmigt:"
+ },
+ "rows": {
+ "issuer": "Emittent: {issuer}",
+ "asset_to_update": "Zu aktualisierendes Asset: {asset_to_update}",
+ "new_options": "Neue Optionen:",
+ "feed_lifetime_sec": "Feed-Lebensdauer (Sekunden): {feed_lifetime_sec}",
+ "minimum_feeds": "Mindest-Feeds: {minimum_feeds}",
+ "force_settlement_delay_sec": "Verzögerung der erzwungenen Abwicklung (Sekunden): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "Ausgleichsprozentsatz erzwingen: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "Maximales Force-Settlement-Volumen: {maximum_force_settlement_volume}",
+ "short_backing_asset": "Short-Backing-Asset: {symbol} ({short_backing_asset})",
+ "extensions": "Erweiterungen: {extensions}",
+ "noExtensions": "Keine Erweiterungen",
+ "fee": "Geschätzte Gebühr: {fee} ({id})"
+ },
+ "tooltip": "Erstellte Bitasset-Einstellungen aktualisieren"
+ },
+ "asset_update_feed_producers": {
+ "method": "Produzenten von Asset-Update-Feeds",
+ "title": "Anfrage der Feed-Produzenten zur Asset-Aktualisierung",
+ "result": "Ergebnis der Asset-Update-Feed-Produzenten",
+ "headers": {
+ "request": "Änderung für Bitasset-Futtermittelhersteller genehmigen?",
+ "result": "Die folgende Änderung für Bitasset-Futtermittelhersteller wurde genehmigt:"
+ },
+ "rows": {
+ "issuer": "Emittent: {issuer} ({issuerOP})",
+ "asset_to_update": "Zu aktualisierendes Asset: {symbol} ({asset_to_update})",
+ "new_feed_producers": "Neue Feed-Produzenten: {new_feed_producers}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Aktualisieren Sie die Liste der zugelassenen Futtermittelhersteller für das erstellte Bitasset"
+ },
+ "asset_issue": {
+ "method": "Vermögensproblem",
+ "title": "Anfrage zur Vermögensausgabe",
+ "result": "Ergebnis der Vermögensausgabe",
+ "headers": {
+ "request": "Genehmigen Sie die folgende Vermögensausgabe?",
+ "result": "Die folgende Vermögensemission wurde genehmigt:"
+ },
+ "rows": {
+ "prompt": "{amount} {symbol} ({assetID}) an {to} ({toID}) ausgeben?",
+ "fee": "Geschätzte Gebühr: {fee} ({id})"
+ },
+ "tooltip": "Geben Sie Ihre geschaffenen Vermögenswerte an Einzelpersonen weiter"
+ },
+ "asset_reserve": {
+ "method": "Vermögensreserve",
+ "title": "Antrag auf Vermögensreserve",
+ "result": "Ergebnis der Vermögensreserve",
+ "headers": {
+ "request": "Genehmigen Sie die folgende Vermögensreservierung?",
+ "result": "Der folgende Vermögensvorbehalt wurde genehmigt:"
+ },
+ "rows": {
+ "payer": "Zahler: {payer} ({payerOP})",
+ "amount_to_reserve": "Zu reservierender Betrag: {amount_to_reserve} ({amount_to_reserveOP})",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Reservieren Sie Ihre erstellten Vermögenswerte"
+ },
+ "asset_fund_fee_pool": {
+ "method": "Gebührenpool für Vermögensfonds",
+ "title": "Anfrage zum Gebührenpool für Vermögensfonds",
+ "result": "Ergebnis des Gebührenpools des Anlagefonds",
+ "headers": {
+ "request": "Den Gebührenpool des folgenden Vermögenswerts finanzieren?",
+ "result": "Die Finanzierung des Gebührenpools des folgenden Vermögenswerts wurde genehmigt:"
+ },
+ "rows": {
+ "from_account": "Von Konto: {from_account} ({from_accountOP})",
+ "asset": "Vermögenswert: {asset} ({assetOP})",
+ "amount": "Betrag: {amount}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Finanzieren Sie den Gebührenpool für Ihr erstelltes Asset"
+ },
+ "asset_settle": {
+ "method": "Vermögenswert abrechnen",
+ "title": "Anfrage zur Vermögensabrechnung",
+ "result": "Ergebnis der Vermögensabrechnung",
+ "headers": {
+ "request": "Den folgenden Vermögenswert als Sicherungssicherheit abrechnen?",
+ "result": "Der folgende Vermögenswert wurde als Sicherungssicherheit beglichen:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "amount": "Betrag: {amount} ({assetID})",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Begleichen Sie einen Vermögenswert in Ihrem Portfolio"
+ },
+ "asset_global_settle": {
+ "method": "Globale Vermögensabwicklung",
+ "title": "Anfrage zur globalen Vermögensabwicklung",
+ "result": "Ergebnis der globalen Vermögensabrechnung",
+ "headers": {
+ "request": "Führen Sie eine globale Abrechnung für den folgenden Vermögenswert durch?",
+ "result": "Der folgende Vermögenswert wurde global abgewickelt:"
+ },
+ "rows": {
+ "issuer": "Emittent: {issuer} ({issuerOP})",
+ "asset_to_settle": "Zu begleichender Vermögenswert: {asset_to_settle} ({asset_to_settleOP})",
+ "settle_price": "Abrechnungspreis: {settle_price}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Rechnen Sie eines Ihrer erstellten Bitassets global ab"
+ },
+ "asset_publish_feed": {
+ "method": "Asset-Veröffentlichungs-Feed",
+ "title": "Feed-Anfrage zur Asset-Veröffentlichung",
+ "result": "Ergebnis des Asset-Veröffentlichungsfeeds",
+ "headers": {
+ "request": "Einen Preis-Feed für den folgenden Vermögenswert veröffentlichen?",
+ "result": "Das folgende Asset-Preis-Feed-Update wurde veröffentlicht:"
+ },
+ "rows": {
+ "publisher": "Herausgeber: {publisher} ({publisherOP})",
+ "asset_id": "Asset-ID: {symbol} ({asset_idOP})",
+ "feed": "Füttern:",
+ "core_exchange_rate": "Kernwechselkurs: {core_exchange_rate}",
+ "settlement_price": "Abrechnungspreis: {settlement_price}",
+ "maintenance_collateral_ratio": "Verhältnis der Wartungssicherheiten: {maintenance_collateral_ratio}",
+ "maximum_short_squeeze_ratio": "Maximales Short-Squeeze-Verhältnis: {maximum_short_squeeze_ratio}",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Veröffentlichen Sie einen Preis-Feed für ein Bitasset"
+ },
+ "witness_create": {
+ "method": "Zeuge erstellen",
+ "title": "Zeuge erstellt Anfrage",
+ "result": "Zeuge schafft Ergebnis",
+ "headers": {
+ "request": "Einen Zeugen mit folgenden Angaben erstellen?",
+ "result": "Der folgende Zeuge wurde erstellt:"
+ },
+ "rows": {
+ "witness_account": "Zeugenkonto: {witness_account} ({witness_accountOP})",
+ "url": "URL: {url}",
+ "block_signing_key": "Signaturschlüssel blockieren: {block_signing_key}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Erstellen Sie ein Zeugenkonto"
+ },
+ "witness_update": {
+ "method": "Zeugen-Update",
+ "title": "Bitte um Zeugenaktualisierung",
+ "result": "Ergebnis der Zeugenaktualisierung",
+ "headers": {
+ "request": "Zeugenangaben wie folgt aktualisieren?",
+ "result": "Die folgenden Zeugendaten wurden aktualisiert:"
+ },
+ "rows": {
+ "witness": "Zeuge: {witness}",
+ "witness_account": "Zeugenkonto: {witness_account} ({witness_accountOP})",
+ "new_url": "Neue URL: {new_url}",
+ "new_signing_key": "Neuer Signaturschlüssel: {new_signing_key}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Aktualisieren Sie Ihr Zeugenkonto"
+ },
+ "proposal_create": {
+ "method": "Vorschlag erstellen",
+ "title": "Anfrage zur Angebotserstellung",
+ "result": "Vorschlag erstellt Ergebnis",
+ "headers": {
+ "request": "Den folgenden Vorschlag erstellen?",
+ "result": "Es entstand folgender Vorschlag:"
+ },
+ "rows": {
+ "expiration_time": "Ablaufzeit: {expiration_time}",
+ "proposed_ops": "Vorgeschlagene Operationen: {proposed_ops}",
+ "review_period_seconds": "Sekunden des Überprüfungszeitraums: {review_period_seconds}",
+ "fee_paying_account": "Gebührenpflichtiges Konto: {fee_paying_account} ({fee_paying_accountOP})",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Erstellen Sie einen Blockchain-Betriebsvorschlag"
+ },
+ "proposal_update": {
+ "method": "Angebotsaktualisierung",
+ "title": "Anfrage zur Angebotsaktualisierung",
+ "result": "Ergebnis der Angebotsaktualisierung",
+ "headers": {
+ "request": "Den folgenden Vorschlag aktualisieren?",
+ "result": "Der folgende Vorschlag wurde aktualisiert:"
+ },
+ "rows": {
+ "proposal": "Vorschlag: {proposal}",
+ "active_approvals_to_add": "Aktive Genehmigungen zum Hinzufügen: {active_approvals_to_add}",
+ "active_approvals_to_remove": "Zu entfernende aktive Genehmigungen: {active_approvals_to_remove}",
+ "owner_approvals_to_add": "Hinzuzufügende Eigentümergenehmigungen: {owner_approvals_to_add}",
+ "owner_approvals_to_remove": "Zu entfernende Eigentümergenehmigungen: {owner_approvals_to_remove}",
+ "key_approvals_to_add": "Wichtige hinzuzufügende Genehmigungen: {key_approvals_to_add}",
+ "key_approvals_to_remove": "Zu entfernende Schlüsselgenehmigungen: {key_approvals_to_remove}",
+ "fee_paying_account": "Gebührenpflichtiges Konto: {fee_paying_account} ({fee_paying_accountOP})",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Aktualisieren Sie einen Blockchain-Betriebsvorschlag"
+ },
+ "proposal_delete": {
+ "method": "Vorschlag löschen",
+ "title": "Anfrage zum Löschen des Angebots",
+ "result": "Ergebnis der Angebotslöschung",
+ "headers": {
+ "request": "Den folgenden Vorschlag löschen?",
+ "result": "Der folgende Vorschlag wurde gelöscht:"
+ },
+ "rows": {
+ "using_owner_authority": "Eigentümerberechtigung verwenden: {using_owner_authority}",
+ "proposal": "Vorschlag: {proposal}",
+ "fee_paying_account": "Gebührenpflichtiges Konto: {fee_paying_account} ({fee_paying_accountOP})",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Löschen Sie einen Blockchain-Vorgangsvorschlag"
+ },
+ "withdraw_permission_create": {
+ "method": "Erlaubnis zum Erstellen entziehen",
+ "title": "Berechtigung zum Erstellen einer Anfrage zurückziehen",
+ "result": "Berechtigung zum Erstellen eines Ergebnisses entziehen",
+ "headers": {
+ "request": "Einzugsermächtigung",
+ "result": "Folgende Einzugsermächtigung wurde genehmigt:"
+ },
+ "rows": {
+ "recipient": "Empfänger: {recipient} ({recipientOP})",
+ "withdraw_from": "Konto, von dem abgehoben werden soll: {withdraw_from} ({withdraw_fromOP})",
+ "taking": "Nehmen Sie alle {period_sec} Sekunden {amount} für {period_qty} Zeiträume",
+ "start": "Beginn: {start}"
+ },
+ "tooltip": "Erstellen Sie eine Auszahlungsberechtigung"
+ },
+ "withdraw_permission_update": {
+ "method": "Berechtigungsaktualisierung zurückziehen",
+ "title": "Anfrage zur Berechtigungsaktualisierung zurückziehen",
+ "result": "Ergebnis der Berechtigungsaktualisierung zurückziehen",
+ "headers": {
+ "request": "Zeugenberechtigungen wie folgt aktualisieren?",
+ "result": "Die folgenden Zeugenerlaubnisaktualisierungen wurden genehmigt:"
+ },
+ "rows": {
+ "withrdaw_from_account": "Vom Konto abheben: {withrdaw_from_account} ({withrdaw_from_accountOP})",
+ "authorized_account": "Autorisiertes Konto: {authorized_account} ({authorized_accountOP})",
+ "permission_to_update": "Berechtigung zum Aktualisieren: {permission_to_update}",
+ "withdrawal_limited": "Auszahlungslimit: {withdrawal_limit}",
+ "withdrawal_unlimited": "Auszahlungslimit: {withdrawal_limit} ({withdrawal_limitOP})",
+ "withdrawal_period_sec": "Auszahlungszeitraum (Sekunden): {withdrawal_period_sec}",
+ "period_start_time": "Startzeit des Zeitraums: {period_start_time}",
+ "periods_until_expiration": "Zeiträume bis zum Ablauf: {periods_until_expiration}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Aktualisieren Sie eine Auszahlungsberechtigung"
+ },
+ "withdraw_permission_claim": {
+ "method": "Erlaubnisanspruch zurückziehen",
+ "title": "Antrag auf Genehmigungsanspruch zurückziehen",
+ "result": "Ergebnis des Berechtigungsanspruchs zurückziehen",
+ "headers": {
+ "request": "Fordern Sie die folgende Auszahlungserlaubnis an",
+ "result": "Folgende Auszahlungserlaubnis wurde beansprucht:"
+ },
+ "rows": {
+ "withdraw_permission": "Erlaubnis entziehen: {withdraw_permission}",
+ "withdraw_from_account": "Vom Konto abheben: {withdraw_from_account} ({withdraw_from_accountOP})",
+ "withdraw_to_account": "Auf Konto abheben: {withdraw_to_account} ({withdraw_to_accountOP})",
+ "amount_to_withdraw": "Abzuhebender Betrag: {amount_to_withdraw} ({amount_to_withdrawOP})",
+ "memo": "Notiz: {memo}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Anspruch aus einer Widerrufserlaubnis"
+ },
+ "withdraw_permission_delete": {
+ "method": "Erlaubnis zum Löschen entziehen",
+ "title": "Berechtigung zum Löschen der Anfrage zurückziehen",
+ "result": "Berechtigung zum Löschen des Ergebnisses entziehen",
+ "headers": {
+ "request": "Folgende Widerrufsberechtigung löschen?",
+ "result": "Die folgende Widerrufsberechtigung wurde gelöscht:"
+ },
+ "rows": {
+ "withdraw_from_account": "Vom Konto abheben: {withdraw_from_account} ({withdraw_from_accountOP})",
+ "authorized_account": "Autorisiertes Konto: {authorized_account} ({authorized_accountOP})",
+ "withdrawal_permission": "Auszahlungserlaubnis: {withdrawal_permission}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Löschen Sie eine Widerrufsberechtigung"
+ },
+ "committee_member_create": {
+ "method": "Ausschussmitglied erstellen",
+ "title": "Ausschussmitglied erstellt Antrag",
+ "result": "Ausschussmitglied erstellt Ergebnis",
+ "headers": {
+ "request": "Ein Ausschussmitglied erstellen?",
+ "result": "Es wurde folgendes Ausschussmitglied geschaffen:"
+ },
+ "rows": {
+ "committee_member_account": "Ausschussmitgliedskonto: {committee_member_account} ({committee_member_accountOP})",
+ "url": "URL: {url}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Erstellen Sie ein Ausschussmitgliedskonto"
+ },
+ "committee_member_update": {
+ "method": "Aktualisierung der Ausschussmitglieder",
+ "title": "Anfrage zur Aktualisierung der Ausschussmitglieder",
+ "result": "Aktualisierungsergebnis der Ausschussmitglieder",
+ "headers": {
+ "request": "Die Daten des folgenden Ausschussmitglieds aktualisieren?",
+ "result": "Die Detailaktualisierungen des folgenden Ausschussmitglieds wurden genehmigt:"
+ },
+ "rows": {
+ "committee_member": "Ausschussmitglied: {committee_member}",
+ "committee_member_account": "Ausschussmitgliedskonto: {committee_member_account} ({committee_member_accountOP})",
+ "new_url": "Neue URL: {new_url}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Aktualisieren Sie die Kontodaten Ihrer Ausschussmitglieder"
+ },
+ "committee_member_update_global_parameters": {
+ "method": "Ausschussmitglieder aktualisieren globale Parameter",
+ "title": "Anfrage eines Ausschussmitglieds zur Aktualisierung globaler Parameter",
+ "result": "Ausschussmitglied aktualisiert Ergebnis der globalen Parameter",
+ "headers": {
+ "request": "Sind Sie damit einverstanden, als Ausschuss globale Parameter zu befolgen?",
+ "result": "Die folgenden globalen Ausschussparameter wurden genehmigt:"
+ },
+ "rows": {
+ "new_parameters": "Neue Parameter:",
+ "current_fees": "Aktuelle Gebühren: {current_fees}",
+ "block_interval": "Blockintervall: {block_interval}",
+ "maintenance_interval": "Wartungsintervall: {maintenance_interval}",
+ "maintenance_skip_slots": "Wartungs-Skip-Slots: {maintenance_skip_slots}",
+ "committee_proposal_review_period": "Überprüfungszeitraum für Ausschussvorschläge: {committee_proposal_review_period}",
+ "maximum_transaction_size": "Maximale Transaktionsgröße: {maximum_transaction_size}",
+ "maximum_block_size": "Maximale Blockgröße: {maximum_block_size}",
+ "maximum_time_until_expiration": "Maximale Zeit bis zum Ablauf: {maximum_time_until_expiration}",
+ "maximum_proposal_lifetime": "Maximale Angebotsdauer: {maximum_proposal_lifetime}",
+ "maximum_asset_whitelist_authorities": "Maximale Berechtigungen für die Asset-Whitelist: {maximum_asset_whitelist_authorities}",
+ "maximum_asset_feed_publishers": "Maximale Anzahl an Asset-Feed-Publishern: {maximum_asset_feed_publishers}",
+ "maximum_witness_count": "Maximale Zeugenzahl: {maximum_witness_count}",
+ "maximum_committee_count": "Maximale Ausschussanzahl: {maximum_committee_count}",
+ "maximum_authority_membership": "Maximale Autoritätsmitgliedschaft: {maximum_authority_membership}",
+ "reserve_percent_of_fee": "Prozentsatz der Gebühr reservieren: {reserve_percent_of_fee}",
+ "network_percent_of_fee": "Netzwerkprozentsatz der Gebühr: {network_percent_of_fee}",
+ "lifetime_referrer_percent_of_fee": "Lebenslanger Empfehlungsprozentsatz der Gebühr: {lifetime_referrer_percent_of_fee}",
+ "cashback_vesting_period_seconds": "Cashback-Vesting-Zeitraum in Sekunden: {cashback_vesting_period_seconds}",
+ "cashback_vesting_threshold": "Cashback-Vestingschwelle: {cashback_vesting_threshold}",
+ "count_non_member_votes": "Stimmen von Nichtmitgliedern zählen: {count_non_member_votes}",
+ "allow_non_member_whitelists": "Whitelists für Nichtmitglieder zulassen: {allow_non_member_whitelists}",
+ "witness_pay_per_block": "Zeugenvergütung pro Block: {witness_pay_per_block}",
+ "worker_budget_per_day": "Arbeiterbudget pro Tag: {worker_budget_per_day}",
+ "max_predicate_opcode": "Max. Prädikat-Opcode: {max_predicate_opcode}",
+ "fee_liquidation_threshold": "Schwellenwert für die Gebührenliquidation: {fee_liquidation_threshold}",
+ "accounts_per_fee_scale": "Konten pro Gebührenstaffel: {accounts_per_fee_scale}",
+ "account_fee_scale_bitshifts": "Bitshifts der Kontogebührentabelle: {account_fee_scale_bitshifts}",
+ "max_authority_depth": "Maximale Autoritätstiefe: {max_authority_depth}",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Veröffentlichen Sie die Haltung Ihrer Ausschussmitglieder zu den globalen Parameterwerten der Bitshares-Blockchain"
+ },
+ "vesting_balance_create": {
+ "method": "Freizügigkeitsguthaben erstellen",
+ "title": "Anfrage zur Erstellung des Freizügigkeitsguthabens",
+ "result": "Vesting-Saldo schafft Ergebnis",
+ "headers": {
+ "request": "Erstellen Sie den folgenden Freizügigkeitssaldo?",
+ "result": "Es ergab sich folgender Vesting-Saldo:"
+ },
+ "rows": {
+ "creator": "Ersteller: {creator} ({creatorOP})",
+ "owner": "Besitzer: {owner} ({ownerOP})",
+ "amount": "Betrag: {amount} ({asset_id})",
+ "policy": "Politik:",
+ "begin_timestamp": "Beginnzeitstempel: {begin_timestamp}",
+ "vesting_cliff_seconds": "Vesting Cliff Sekunden: {vesting_cliff_seconds}",
+ "vesting_duration_seconds": "Sperrfrist in Sekunden: {vesting_duration_seconds}",
+ "start_claim": "Anspruch starten: {start_claim}",
+ "vesting_seconds": "Vesting-Sekunden: {vesting_seconds}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Erstellen Sie einen Freizügigkeitssaldo"
+ },
+ "vesting_balance_withdraw": {
+ "method": "Sperrguthaben abheben",
+ "title": "Antrag auf Abhebung des Sperrguthabens",
+ "result": "Auszahlungsergebnis des Vesting-Guthabens",
+ "headers": {
+ "request": "Den folgenden Freizügigkeitssaldo abheben?",
+ "result": "Der folgende Restbetrag wurde abgezogen:"
+ },
+ "rows": {
+ "owner": "Besitzer: {owner} ({ownerOP})",
+ "claim": "Anspruch: {claim} ({asset_id})"
+ },
+ "tooltip": "Von einem Freizügigkeitsguthaben abheben"
+ },
+ "worker_create": {
+ "method": "Arbeiter erstellen",
+ "title": "Worker-Erstellungsanforderung",
+ "result": "Arbeiter erstellt Ergebnis",
+ "headers": {
+ "request": "Den folgenden Arbeitnehmervorschlag erstellen?",
+ "result": "Der folgende Arbeitnehmervorschlag wurde erstellt:"
+ },
+ "rows": {
+ "owner": "Besitzer: {owner} ({ownerOP})",
+ "work_begin_date": "Arbeitsbeginndatum: {work_begin_date}",
+ "work_end_date": "Arbeitsenddatum: {work_end_date}",
+ "daily_pay": "Tageslohn: {daily_pay}",
+ "name": "Name {name}",
+ "url": "URL: {url}",
+ "initializer": "Initialisierer: {initializer}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Erstellen Sie einen Arbeitnehmervorschlag"
+ },
+ "custom": {
+ "method": "Brauch",
+ "title": "Individuelle Anfrage",
+ "result": "Benutzerdefiniertes Ergebnis",
+ "headers": {
+ "request": "Den folgenden benutzerdefinierten Vorgang erstellen?",
+ "result": "Der folgende benutzerdefinierte Vorgang wurde erstellt:"
+ },
+ "rows": {
+ "payer": "Zahler: {payer} ({payerOP})",
+ "required_auths": "Erforderliche Berechtigungen: {required_auths}",
+ "id": "Ich {id}",
+ "data": "Daten: {data}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Bietet eine generische Möglichkeit, Protokolle höherer Ebene zusätzlich zum Zeugenkonsens hinzuzufügen"
+ },
+ "assert": {
+ "method": "Behaupten",
+ "title": "Anfrage bestätigen",
+ "result": "Ergebnis bestätigen",
+ "headers": {
+ "request": "Den folgenden Assert-Anforderungsvorgang genehmigen?",
+ "result": "Der folgende Assert-Request-Vorgang wurde genehmigt:"
+ },
+ "rows": {
+ "fee_paying_account": "Gebührenpflichtiges Konto: {fee_paying_account} ({fee_paying_accountOP})",
+ "predicates": "Prädikate: {predicates}",
+ "required_auths": "Erforderliche Berechtigungen: {required_auths}",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Behaupten Sie, dass einige Bedingungen wahr sind."
+ },
+ "balance_claim": {
+ "method": "Saldoanspruch",
+ "title": "Antrag auf Restzahlung",
+ "result": "Ergebnis der Saldoforderung",
+ "headers": {
+ "request": "Den folgenden Restbetrag beanspruchen?",
+ "result": "Es wurde folgender Saldo geltend gemacht:"
+ },
+ "rows": {
+ "deposit_to_account": "Einzahlung auf Konto: {deposit_to_account} ({deposit_to_accountOP})",
+ "balance_to_claim": "Zu beanspruchender Saldo: {balance_to_claim} ({asset_id})",
+ "balance_owner_key": "Schlüssel des Kontoinhabers: {balance_owner_key}",
+ "total_claimed": "Insgesamt beansprucht: {total_claimed} ({asset_id})",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Anspruch aus einem Saldo"
+ },
+ "override_transfer": {
+ "method": "Übertragung außer Kraft setzen",
+ "title": "Übertragungsanforderung überschreiben",
+ "result": "Übertragungsergebnis überschreiben",
+ "headers": {
+ "request": "Folgende Übertragung überschreiben?",
+ "result": "Die folgende Übertragung wurde überschrieben:"
+ },
+ "rows": {
+ "issuer": "Emittent: {issuer} ({issuerOP})",
+ "from": "Von: {from} ({fromOP})",
+ "to": "An: {to} ({toOP})",
+ "amount": "Betrag: {amount} ({asset_id})",
+ "memo": "Notiz: {memo}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Überschreiben Sie einen Übertragungsvorgang"
+ },
+ "transfer_to_blind": {
+ "method": "Transfer zum Blinden",
+ "title": "Übertragen auf Blindanfrage",
+ "result": "Transfer zum Blindergebnis",
+ "headers": {
+ "request": "Folgendes auf Blind übertragen?",
+ "result": "Folgendes wurde auf Blind übertragen:"
+ },
+ "rows": {
+ "amount": "Betrag: {amount}",
+ "from": "Von: {from} ({fromOP})",
+ "blinding_factor": "Blendungsfaktor: {blinding_factor}",
+ "outputs": "Ausgaben: {outputs}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Übertragen Sie Vermögenswerte an ein blindes Ziel"
+ },
+ "blind_transfer": {
+ "method": "Blindübertragung",
+ "title": "Blinde Transferanfrage",
+ "result": "Ergebnis der Blindübertragung",
+ "headers": {
+ "request": "Folgende Blindübertragung genehmigen?",
+ "result": "Folgende Blindübertragung wurde genehmigt:"
+ },
+ "rows": {
+ "inputs": "Eingaben: {inputs}",
+ "outputs": "Ausgaben: {outputs}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Blinde Vermögenswerte blind übertragen"
+ },
+ "transfer_from_blind": {
+ "method": "Transfer vom Blinden",
+ "title": "Transfer aus Blindanfrage",
+ "result": "Übertragung vom Blindergebnis",
+ "headers": {
+ "request": "Folgendes von Blind übertragen?",
+ "result": "Folgendes wurde von Blind übertragen:"
+ },
+ "rows": {
+ "amount": "Betrag: {amount}",
+ "to": "An: {to} ({toOP})",
+ "blinding_factor": "Blendungsfaktor: {blinding_factor}",
+ "inputs": "Eingaben: {inputs}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Heben Sie Vermögenswerte von einem Blindguthaben ab"
+ },
+ "asset_claim_fees": {
+ "method": "Gebühren für Vermögensansprüche",
+ "title": "Anfrage zu Vermögensforderungsgebühren",
+ "result": "Es fallen Vermögensforderungsgebühren an",
+ "headers": {
+ "request": "Die Gebühren von folgendem Vermögenswert abheben?",
+ "result": "Es wurden folgende Vermögensgebühren geltend gemacht:"
+ },
+ "rows": {
+ "issuer": "Emittent: {issuer} ({issuerOP})",
+ "amount_to_claim": "Anspruchsbetrag: {amount_to_claim} ({asset_id})",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Fordern Sie die Gebühren von einem Vermögenswert an"
+ },
+ "bid_collateral": {
+ "method": "Bieten Sie Sicherheiten",
+ "title": "Anfrage zur Angebotssicherheit",
+ "result": "Ergebnis der Gebotssicherheit",
+ "headers": {
+ "request": "Das folgende Nebenangebot genehmigen?",
+ "result": "Folgendem Nebenangebot wurde zugestimmt:"
+ },
+ "rows": {
+ "bidder": "Bieter: {bidder} ({bidderOP})",
+ "additional_collateral": "Zusätzliche Sicherheiten: {additional_collateral}",
+ "debt_covered": "Schulden gedeckt: {debt_covered}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Bieten Sie bei globaler Abwicklung auf eine Bitassets-Besicherungssicherheit"
+ },
+ "asset_claim_pool": {
+ "method": "Pool von Vermögensansprüchen",
+ "title": "Anfrage für einen Asset-Claim-Pool",
+ "result": "Ergebnis des Asset-Claim-Pools",
+ "headers": {
+ "request": "Den folgenden Vermögenspool beanspruchen?",
+ "result": "Der folgende Vermögenspool wurde beansprucht:"
+ },
+ "rows": {
+ "issuer": "Emittent: {issuer} ({issuerOP})",
+ "asset_id": "Vermögenswert: {asset_id}",
+ "amount_to_claim": "Anspruchsbetrag: {amount_to_claim}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Überträgt BTS aus dem Gebührenpool eines bestimmten Vermögenswerts zurück auf das Guthaben des Emittenten"
+ },
+ "asset_update_issuer": {
+ "method": "Aussteller der Vermögensaktualisierung",
+ "title": "Anfrage des Emittenten zur Vermögensaktualisierung",
+ "result": "Ergebnis des Asset-Update-Emittenten",
+ "headers": {
+ "request": "Den Emittenten des folgenden Vermögenswerts aktualisieren?",
+ "result": "Der Emittent des folgenden Vermögenswerts wurde aktualisiert:"
+ },
+ "rows": {
+ "issuer": "Emittent: {issuer} ({issuerOP})",
+ "asset_to_update": "Zu aktualisierendes Asset: {asset_to_update}",
+ "new_issuer": "Neuer Emittent: {new_issuer} ({new_issuerOP})",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Aktualisieren Sie den Aussteller eines Vermögenswerts auf ein neues Administratorkonto."
+ },
+ "htlc_create": {
+ "method": "HTMLC erstellen",
+ "title": "HTTP-Erstellungsanforderung",
+ "result": "HTLC erstellt Ergebnis",
+ "headers": {
+ "request": "Den folgenden Hash-Timelock-Vertragsvorgang erstellen?",
+ "result": "Die Erstellung des folgenden Hash-Timelock-Vertragsvorgangs wurde genehmigt:"
+ },
+ "rows": {
+ "from": "Von: {from} ({fromOP})",
+ "to": "An: {to} ({toOP})",
+ "amount": "Betrag: {amount}",
+ "preimage_hash": "Vorbild-Hash: {preimage_hash}",
+ "preimage_size": "Größe des Vorbilds: {preimage_size}",
+ "claim_period_seconds": "Anspruchszeitraum (Sekunden): {claim_period_seconds}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Erstellen Sie einen HTLC-Vorgang (Hash Time Locked Contract)."
+ },
+ "htlc_redeem": {
+ "method": "HTLC einlösen",
+ "title": "HTLC-Einlösungsanfrage",
+ "result": "HTLC-Einlöseergebnis",
+ "headers": {
+ "request": "Den folgenden Hash-Time-Locked-Vertragsvorgang einlösen?",
+ "result": "Die Einlösung des folgenden Vertragsvorgangs mit Hash-Zeitsperre wurde genehmigt:"
+ },
+ "rows": {
+ "htlc_id": "HTLC-ID: {htlc_id}",
+ "redeemer": "Erlöser: {redeemer} ({redeemerOP})",
+ "preimage": "Vorbild: {preimage}",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Den Inhalt einer HTLC-Operation einlösen"
+ },
+ "htlc_extend": {
+ "method": "HTLC-Erweiterung",
+ "title": "HTLC-Erweiterungsanfrage",
+ "result": "HTLC-Extend-Ergebnis",
+ "headers": {
+ "request": "Genehmigen Sie die folgende Vertragsverlängerung mit Hash-Zeitsperre?",
+ "result": "Die Verlängerung des folgenden Hash-Timelock-Vertrags wurde genehmigt:"
+ },
+ "rows": {
+ "htlc_id": "HTLC-ID: {htlc_id}",
+ "update_issuer": "Update-Aussteller: {update_issuer} ({update_issuerOP})",
+ "seconds_to_add": "Sekunden zum Hinzufügen: {seconds_to_add}",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Verlängern Sie die Dauer eines HTLC-Vorgangs"
+ },
+ "custom_authority_create": {
+ "method": "Benutzerdefinierte Autorität erstellen",
+ "title": "Anforderung zur Erstellung einer benutzerdefinierten Behörde",
+ "result": "Ergebnis der benutzerdefinierten Autoritätserstellung",
+ "headers": {
+ "request": "Erstellen Sie die folgende benutzerdefinierte Autorität?",
+ "result": "Die folgende benutzerdefinierte Autorität wurde erstellt:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "enabled": "Aktiviert: {enabled}",
+ "valid_from": "Gültig ab: {valid_from}",
+ "valid_to": "Gültig bis: {valid_to}",
+ "operation_type": "Operationstyp: {operation_type}",
+ "auth": "Autorität: {auth}",
+ "restrictions": "Einschränkungen: {restrictions}",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Erstellen Sie eine neue benutzerdefinierte Autorität."
+ },
+ "custom_authority_update": {
+ "method": "Benutzerdefiniertes Autoritätsupdate",
+ "title": "Anfrage zur Aktualisierung einer benutzerdefinierten Autorität",
+ "result": "Ergebnis der benutzerdefinierten Autoritätsaktualisierung",
+ "headers": {
+ "request": "Die folgende benutzerdefinierte Autorität aktualisieren?",
+ "result": "Die folgende benutzerdefinierte Autorität wurde aktualisiert:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "authority_to_update": "Aktualisierungsberechtigung: {authority_to_update}",
+ "new_enabled": "Neu aktiviert: {new_enabled}",
+ "new_valid_from": "Neu gültig ab: {new_valid_from}",
+ "new_valid_to": "Neu gültig bis: {new_valid_to}",
+ "new_auth": "Neue Autorität: {new_auth}",
+ "restrictions_to_remove": "Zu entfernende Einschränkungen: {restrictions_to_remove}",
+ "restrictions_to_add": "Einschränkungen zum Hinzufügen: {restrictions_to_add}",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Aktualisieren Sie eine benutzerdefinierte Autorität."
+ },
+ "custom_authority_delete": {
+ "method": "Benutzerdefinierte Autorität löschen",
+ "title": "Löschanforderung einer benutzerdefinierten Behörde",
+ "result": "Ergebnis der benutzerdefinierten Autoritätslöschung",
+ "headers": {
+ "request": "Folgende benutzerdefinierte Autorität löschen?",
+ "result": "Die folgende benutzerdefinierte Behörde wurde gelöscht:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "authority_to_delete": "Löschberechtigung: {authority_to_delete}",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Löschen Sie eine benutzerdefinierte Autorität."
+ },
+ "ticket_create": {
+ "method": "Ticket erstellen",
+ "title": "Anfrage zur Ticketerstellung",
+ "result": "Ergebnis der Ticketerstellung",
+ "headers": {
+ "request": "Folgendes Ticket erstellen?",
+ "result": "Das folgende Ticket wurde erstellt:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "target_type": "Zieltyp: {target_type}",
+ "amount": "Betrag: {amount}",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Erstellen Sie ein neues Ticket."
+ },
+ "ticket_update": {
+ "method": "Ticketaktualisierung",
+ "title": "Anfrage zur Ticketaktualisierung",
+ "result": "Ergebnis der Ticketaktualisierung",
+ "headers": {
+ "request": "Das folgende Ticket aktualisieren?",
+ "result": "Das folgende Ticket wurde aktualisiert:"
+ },
+ "rows": {
+ "ticket": "Ticket: {ticket}",
+ "account": "Konto: {account} ({accountOP})",
+ "target_type": "Zieltyp: {target_type}",
+ "amount_for_new_target": "Betrag für neues Ziel: {amount_for_new_target}",
+ "extensions": "Erweiterungen: {extensions}"
+ },
+ "tooltip": "Aktualisieren Sie ein vorhandenes Ticket."
+ },
+ "liquidity_pool_create": {
+ "method": "Liquiditätspool erstellen",
+ "title": "Anfrage zur Erstellung eines Liquiditätspools",
+ "result": "Liquiditätspool schafft Ergebnis",
+ "headers": {
+ "request": "Einen Liquiditätspool mit den folgenden Angaben erstellen?",
+ "result": "Es entstand folgender Liquiditätspool:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "asset_a": "Anlage A: {asset_a} ({asset_aOP})",
+ "asset_b": "Vermögenswert B: {asset_b} ({asset_bOP})",
+ "share_asset": "Asset teilen: {share_asset} ({share_assetOP})",
+ "taker_fee_percent": "Prozentsatz der Abnehmergebühr: {taker_fee_percent}",
+ "withdrawal_fee_percent": "Auszahlungsgebühr in Prozent: {withdrawal_fee_percent}",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Erstellen Sie einen Liquiditätspool"
+ },
+ "liquidity_pool_delete": {
+ "method": "Liquiditätspool löschen",
+ "title": "Anfrage zum Löschen des Liquiditätspools",
+ "result": "Ergebnis der Löschung des Liquiditätspools",
+ "headers": {
+ "request": "Den folgenden Liquiditätspool löschen?",
+ "result": "Der folgende Liquiditätspool wurde gelöscht:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "pool_id": "Pool-ID: {pool_id}",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Löschen Sie einen Liquiditätspool"
+ },
+ "liquidity_pool_deposit": {
+ "method": "Liquiditätspooleinlage",
+ "title": "Antrag auf Einzahlung in den Liquiditätspool",
+ "result": "Ergebnis der Einzahlung des Liquiditätspools",
+ "headers": {
+ "request": "Folgende Vermögenswerte in den Liquiditätspool einzahlen?",
+ "result": "Folgende Vermögenswerte wurden in den Liquiditätspool eingezahlt:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "pool": "Pool: {pool}",
+ "asset_a": "Anlage A: {asset_a} ({asset_aOP})",
+ "asset_b": "Vermögenswert B: {asset_b} ({asset_bOP})",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Zahlen Sie Gelder in einen Liquiditätspool ein"
+ },
+ "liquidity_pool_withdraw": {
+ "method": "Liquiditätspool zurückziehen",
+ "title": "Anfrage zum Abheben des Liquiditätspools",
+ "result": "Ergebnis des Abzugs des Liquiditätspools",
+ "headers": {
+ "request": "Folgende Vermögenswerte aus dem Liquiditätspool entnehmen?",
+ "result": "Folgende Vermögenswerte wurden aus dem Liquiditätspool entnommen:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "pool": "Pool: {pool}",
+ "share_asset": "Asset teilen: {share_asset} ({share_assetOP})",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Ziehen Sie Gelder aus einem Liquiditätspool ab"
+ },
+ "liquidity_pool_exchange": {
+ "method": "Liquiditätspool-Austausch",
+ "title": "Anfrage zum Austausch des Liquiditätspools",
+ "result": "Ergebnis des Liquiditätspool-Austauschs",
+ "headers": {
+ "request": "Genehmigen Sie den folgenden Liquiditätspool-Austausch?",
+ "result": "Der folgende Liquiditätspool-Austausch wurde genehmigt:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "pool": "Pool: {pool}",
+ "amount_to_sell": "Zu verkaufender Betrag: {amount_to_sell}",
+ "min_to_receive": "Min. bis zum Empfang: {min_to_receive}",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Austausch mit einem Liquiditätspool."
+ },
+ "samet_fund_create": {
+ "method": "SameT-Fonds erstellen",
+ "title": "SameT-Fondserstellungsanfrage",
+ "result": "SameT-Fonds schafft Ergebnis",
+ "headers": {
+ "request": "Genehmigen Sie die folgende Schaffung eines Samet-Fonds?",
+ "result": "Es wurde folgender Samet-Fonds geschaffen:"
+ },
+ "rows": {
+ "owner_account": "Eigentümerkonto: {owner_account} ({owner_accountOP})",
+ "asset_type": "Asset-Typ: {asset_type}",
+ "balance": "Kontostand: {balance}",
+ "fee_rate": "Gebührensatz: {fee_rate}",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Erstellen Sie einen neuen SameT-Fonds. "
+ },
+ "samet_fund_delete": {
+ "method": "SameT-Fonds löschen",
+ "title": "Anfrage zur Löschung des SameT-Fonds",
+ "result": "SameT-Fonds-Löschergebnis",
+ "headers": {
+ "request": "Den folgenden Samet-Fonds löschen?",
+ "result": "Der folgende Samet-Fonds wurde gelöscht:"
+ },
+ "rows": {
+ "owner_account": "Eigentümerkonto: {owner_account} ({owner_accountOP})",
+ "fund_id": "Fonds-ID: {fund_id}",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Löschen Sie ein SameT-Fondsobjekt."
+ },
+ "samet_fund_update": {
+ "method": "Aktualisierung des SameT-Fonds",
+ "title": "Anfrage zur Aktualisierung des SameT-Fonds",
+ "result": "Gleiches Ergebnis der Fondsaktualisierung",
+ "headers": {
+ "request": "Den folgenden Samet-Fonds aktualisieren?",
+ "result": "Der folgende Samet-Fonds wurde aktualisiert:"
+ },
+ "rows": {
+ "owner_account": "Eigentümerkonto: {owner_account} ({owner_accountOP})",
+ "fund_id": "Fonds-ID: {fund_id}",
+ "delta_amount": "Delta-Betrag: {delta_amount}",
+ "new_fee_rate": "Neuer Gebührensatz: {new_fee_rate}",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Aktualisieren Sie ein SameT-Fondsobjekt."
+ },
+ "samet_fund_borrow": {
+ "method": "SameT-Fonds leihen",
+ "title": "SameT-Fondsleihanfrage",
+ "result": "SameT-Fonds-Kreditergebnis",
+ "headers": {
+ "request": "Von folgendem Samet-Fonds leihen?",
+ "result": "Erfolgreich geliehen von folgendem Samet-Fonds:"
+ },
+ "rows": {
+ "borrower": "Kreditnehmer: {borrower} ({borrowerOP})",
+ "fund_id": "Fonds-ID: {fund_id}",
+ "borrow_amount": "Kreditbetrag: {borrow_amount}",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Leihen Sie sich einen Kredit bei einem SameT-Fonds."
+ },
+ "samt_fund_repay": {
+ "method": "Gleiche Fondsrückzahlung",
+ "title": "SameT-Fondsrückzahlungsantrag",
+ "result": "Gleiches Ergebnis der Fondsrückzahlung",
+ "headers": {
+ "request": "Zahlen Sie den folgenden Samet-Fonds zurück",
+ "result": "Den folgenden Samet-Fonds wurde erfolgreich zurückgezahlt"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "fund_id": "Fonds-ID: {fund_id}",
+ "repay_amount": "Rückzahlungsbetrag: {repay_amount}",
+ "fund_fee": "Fondsgebühr: {fund_fee}",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Schulden an einen SameT-Fonds zurückzahlen."
+ },
+ "credit_offer_create": {
+ "method": "Kreditangebot erstellen",
+ "title": "Kreditangebot Anfrage erstellen",
+ "result": "Kreditangebot schafft Ergebnis",
+ "headers": {
+ "request": "Genehmigen Sie die Erstellung des folgenden Kreditangebots?",
+ "result": "Es entstand folgendes Kreditangebot:"
+ },
+ "rows": {
+ "owner_account": "Eigentümerkonto: {owner_account} ({owner_accountOP})",
+ "asset_type": "Asset-Typ: {asset_type}",
+ "balance": "Kontostand: {balance}",
+ "fee_rate": "Gebührensatz: {fee_rate}",
+ "max_duration_seconds": "Maximale Dauer in Sekunden: {max_duration_seconds}",
+ "min_deal_amount": "Min. Deal-Betrag: {min_deal_amount}",
+ "enabled": "Aktiviert: {enabled}",
+ "auto_disable_time": "Zeit der automatischen Deaktivierung: {auto_disable_time}",
+ "acceptable_collateral": "Akzeptable Sicherheiten: {acceptable_collateral}",
+ "acceptable_borrowers": "Akzeptable Kreditnehmer: {acceptable_borrowers}",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Erstellen Sie ein neues Kreditangebot. "
+ },
+ "credit_offer_delete": {
+ "method": "Kreditangebot löschen",
+ "title": "Anfrage zur Löschung des Kreditangebots",
+ "result": "Ergebnis der Löschung des Kreditangebots",
+ "headers": {
+ "request": "Das folgende Kreditangebot löschen?",
+ "result": "Das folgende Kreditangebot wurde gelöscht:"
+ },
+ "rows": {
+ "owner_account": "Eigentümerkonto: {owner_account} ({owner_accountOP})",
+ "offer_id": "Angebots-ID: {offer_id}",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Kreditangebot löschen."
+ },
+ "credit_offer_update": {
+ "method": "Aktualisierung des Kreditangebots",
+ "title": "Anfrage zur Aktualisierung des Kreditangebots",
+ "result": "Ergebnis der Aktualisierung des Kreditangebots",
+ "headers": {
+ "request": "Das folgende Kreditangebot aktualisieren?",
+ "result": "Das folgende Kreditangebot wurde aktualisiert:"
+ },
+ "rows": {
+ "owner_account": "Eigentümerkonto: {owner_account} ({owner_accountOP})",
+ "offer_id": "Angebots-ID: {offer_id}",
+ "delta_amount": "Delta-Betrag: {delta_amount}",
+ "fee_rate": "Gebührensatz: {fee_rate}",
+ "max_duration_seconds": "Maximale Dauer in Sekunden: {max_duration_seconds}",
+ "min_deal_amount": "Min. Deal-Betrag: {min_deal_amount}",
+ "enabled": "Aktiviert: {enabled}",
+ "auto_disable_time": "Zeit der automatischen Deaktivierung: {auto_disable_time}",
+ "acceptable_collateral": "Akzeptable Sicherheiten: {acceptable_collateral}",
+ "acceptable_borrowers": "Akzeptable Kreditnehmer: {acceptable_borrowers}",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Aktualisieren Sie ein Kreditangebot"
+ },
+ "credit_offer_accept": {
+ "method": "Kreditangebot annehmen",
+ "title": "Kreditangebot akzeptieren Anfrage",
+ "result": "Ergebnis der Akzeptierung des Kreditangebots",
+ "headers": {
+ "request": "Sind Sie mit dem folgenden Kreditangebot einverstanden?",
+ "result": "Folgendem Kreditangebot wurde zugestimmt:"
+ },
+ "rows": {
+ "borrower": "Kreditnehmer: {borrower} ({borrowerOP})",
+ "offer_id": "Angebots-ID: {offer_id}",
+ "borrow_amount": "Kreditbetrag: {borrow_amount}",
+ "collateral": "Sicherheiten: {collateral}",
+ "max_fee_rate": "Maximaler Gebührensatz: {max_fee_rate}",
+ "min_duration_seconds": "Mindestdauer in Sekunden: {min_duration_seconds}",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Akzeptieren Sie ein Kreditangebot und erstellen Sie einen Kreditvertrag."
+ },
+ "credit_deal_repay": {
+ "method": "Kreditgeschäft zurückzahlen",
+ "title": "Rückzahlungsantrag für Kreditgeschäft",
+ "result": "Ergebnis der Kreditrückzahlung",
+ "headers": {
+ "request": "Folgende Kreditvereinbarung zurückzahlen?",
+ "result": "Sie haben den folgenden Kreditvertrag zurückgezahlt"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "deal_id": "Deal-ID: {deal_id}",
+ "repay_amount": "Rückzahlungsbetrag: {repay_amount}",
+ "credit_fee": "Kreditgebühr: {credit_fee}",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Einen Kreditvertrag zurückzahlen."
+ },
+ "liquidity_pool_update_operation": {
+ "method": "Aktualisierung des Liquiditätspools",
+ "title": "Anfrage zur Aktualisierung des Liquiditätspools",
+ "result": "Ergebnis der Aktualisierung des Liquiditätspools",
+ "headers": {
+ "request": "Den folgenden Liquiditätspool aktualisieren?",
+ "result": "Der folgende Liquiditätspool wurde aktualisiert:"
+ },
+ "rows": {
+ "owner_account": "Eigentümerkonto: {owner_account} ({owner_accountOP})",
+ "pool_id": "Pool-ID: {pool_id}",
+ "new_parameters": "Neue Parameter: {new_parameters}",
+ "extensions": "Erweiterungen: {extensions}",
+ "fee": "Geschätzte Gebühr: {fee}"
+ },
+ "tooltip": "Aktualisieren Sie einen Liquiditätspool"
+ },
+ "credit_deal_update_operation": {
+ "method": "Aktualisierung des Kreditvertrags",
+ "title": "Anfrage zur Aktualisierung des Kreditvertrags",
+ "result": "Ergebnis der Aktualisierung des Kreditgeschäfts",
+ "headers": {
+ "request": "Den folgenden Kreditvertrag aktualisieren?",
+ "result": "Der folgende Kreditvertrag wurde aktualisiert:"
+ },
+ "rows": {
+ "fee": "Geschätzte Gebühr: {fee}",
+ "account": "Konto: {account} ({accountOP})",
+ "deal_id": "Deal-ID: {deal_id}",
+ "auto_repay": "Automatische Rückzahlung: {auto_repay}"
+ },
+ "tooltip": "Aktualisieren Sie einen Kreditvertrag"
+ },
+ "limit_order_update_operation": {
+ "method": "Aktualisierung der Limit-Order",
+ "title": "Anfrage zur Aktualisierung der Limit-Order",
+ "result": "Ergebnis der Limit-Order-Aktualisierung",
+ "headers": {
+ "request": "Den folgenden Limitauftrag aktualisieren?",
+ "result": "Die folgende Limit-Order wurde aktualisiert:"
+ },
+ "rows": {
+ "fee": "Geschätzte Gebühr: {fee}",
+ "seller": "Verkäufer: {seller} ({sellerOP})",
+ "order": "Bestellung: {order}",
+ "new_price": "Neuer Preis: {new_price}",
+ "delta_amount_to_sell": "Delta-Betrag zum Verkauf: {delta_amount_to_sell}",
+ "new_expiration": "Neuer Ablauf: {new_expiration}",
+ "on_fill": "Bei Füllung: {on_fill}",
+ "extensions": "Erweiterungen: {extensions}"
+ },
+ "tooltip": "Aktualisieren Sie eine Limit-Order"
+ }
+ },
"EOS": {
"setalimits": {
"method": "Legen Sie Kontolimits fest",
diff --git a/src/translations/operations/en.json b/src/translations/operations/en.json
index b50da2ee..91014dd4 100644
--- a/src/translations/operations/en.json
+++ b/src/translations/operations/en.json
@@ -712,6 +712,1445 @@
},
"tooltip": "Refunding Bid operation"
}
+ },
+ "BTS": {
+ "getAccount": {
+ "method": "getAccount",
+ "title": "Account Details Request",
+ "result": "Account details result",
+ "headers": {
+ "request": "Do you want to share your account details?",
+ "result": "Your account details were shared."
+ },
+ "tooltip": "Asks your wallet for blockchain account details"
+ },
+ "requestSignature": {
+ "method": "requestSignature",
+ "title": "Signature Request",
+ "result": "Signature result",
+ "headers": {
+ "request": "Do you want to share your signature?",
+ "result": "Your signature was shared:"
+ },
+ "tooltip": "Asks your wallet for blockchain signatures"
+ },
+ "injectedCall": {
+ "method": "injectedCall",
+ "title": "Injected Call Request",
+ "result": "Injected call result",
+ "headers": {
+ "request": "Approve the following injected call?",
+ "result": "The following injected call was approved:"
+ },
+ "tooltip": "Asks your wallet to handle an injected blockchain operation"
+ },
+ "voteFor": {
+ "method": "voteFor",
+ "title": "Vote Request",
+ "result": "Vote result",
+ "headers": {
+ "request": "Approve the following voting request?",
+ "result": "The following voting request was approved"
+ },
+ "tooltip": "Perform a blockchain vote"
+ },
+ "signMessage": {
+ "method": "signMessage",
+ "title": "Sign Message Request",
+ "result": "Sign Message result",
+ "headers": {
+ "request": "Approve signing the following message?",
+ "result": "The following message was signed:"
+ },
+ "tooltip": "Sign a blockchain based message"
+ },
+ "signNFT": {
+ "method": "signNFT",
+ "title": "Sign NFT Request",
+ "result": "Sign NFT result",
+ "headers": {
+ "request": "Approve signing the following NFT?",
+ "result": "The following NFT was signed:"
+ },
+ "tooltip": "Sign an NFTs contents"
+ },
+ "verifyMessage": {
+ "method": "verifyMessage",
+ "title": "Verify Message Request",
+ "result": "Verify Message result",
+ "headers": {
+ "request": "Do you want to verify the following message?",
+ "result": "The following message was verified:"
+ },
+ "tooltip": "Verify a blockchain based signed message"
+ },
+ "transfer": {
+ "method": "Transfer",
+ "title": "Transfer Request",
+ "result": "Transfer result",
+ "headers": {
+ "request": "Do you want to approve the following transfer request?",
+ "result": "The following transfer request was approved:"
+ },
+ "rows": {
+ "from": "From: {from} ({opFrom})",
+ "to": "To: {to} ({opTo})",
+ "amount": "Amount: {amount}"
+ },
+ "tooltip": "Send assets from one account to another"
+ },
+ "limit_order_create": {
+ "method": "Limit order create",
+ "title": "Limit order create request",
+ "result": "Limit order create result",
+ "headers": {
+ "request": "Approve the following limit order creation request?",
+ "result": "The following limit order was created:"
+ },
+ "rows": {
+ "trade": "Trade",
+ "tradeFK": "Trade (Fill or kill)",
+ "seller": "Seller: {seller} ({opSeller})",
+ "selling": "Selling: {amount}",
+ "buying": "Buying: {amount}",
+ "price": "Price: {price} {sellSymbol}/{buySymbol}",
+ "extensions": "Extensions: {extensions}"
+ },
+ "tooltip": "An offer to sell an amount of an asset at a specified exchange rate by a certain time"
+ },
+ "limit_order_cancel": {
+ "method": "Limit order cancel",
+ "title": "Limit order cancel request",
+ "result": "Limit order cancel result",
+ "headers": {
+ "request": "Cancel the following limit order?",
+ "result": "The following limit order was cancelled:"
+ },
+ "rows": {
+ "id": "Order ID: {id}",
+ "fees": "Estimated fees: {fees}",
+ "account": "Fee paying account: {account}"
+ },
+ "tooltip": "Cancelling a limit order operation"
+ },
+ "call_order_update": {
+ "method": "Call order update",
+ "title": "Call order update request",
+ "result": "Call order update result",
+ "headers": {
+ "request": "Update your call order to the following?",
+ "result": "The following call order was updated:"
+ },
+ "rows": {
+ "funding_account": "Funding account: {funding_account}",
+ "delta_collateral": "Delta collateral: {delta_collateral} ({id})",
+ "delta_debt": "Delta debt: {delta_debt} ({id})",
+ "fees": "Estimated fees: {fees}"
+ },
+ "tooltip": "Updating an existing call order"
+ },
+ "account_create": {
+ "method": "Account create",
+ "title": "Account create request",
+ "result": "Account create result",
+ "headers": {
+ "request": "Do you want to create the following account?",
+ "result": "The following account was created:"
+ },
+ "rows": {
+ "registrar": "Registrar: {registrar} ({opRegistrar})",
+ "referrer": "Referrer: {referrer} ({opReferrer})",
+ "referrer_percent": "Refferrer percent: {referrer_percent}",
+ "name": "Name: {name}",
+ "ownerHeader": "Owner:",
+ "activeHeader": "Active:",
+ "weight_threshold": "Weight threshold: {weight_threshold}",
+ "account_auths": "Account auths: {account_auths}",
+ "key_auths": "Key auths: {key_auths}",
+ "address_auths": "Address auths: {address_auths}",
+ "optionsHeader": "Options:",
+ "memo_key": "Memo key: {memo_key}",
+ "voting_account": "Voting account: {voting_account} ({opVotingAccount})",
+ "num_witness": "Number of witnesses: {num_witness}",
+ "num_committee": "Number of committee members: {num_committee}",
+ "votes": "Votes: {votes}",
+ "extensions": "Extensions: {extensions}",
+ "fees": "Estimated fees: {fees}"
+ },
+ "tooltip": "Creating a new account"
+ },
+ "account_update": {
+ "method": "Account update",
+ "title": "Account update request",
+ "result": "Account update result",
+ "headers": {
+ "request": "Do you want to update the following account?",
+ "result": "The following account was updated:"
+ },
+ "rows": {
+ "warning": "Warning: This operation is irreversible!",
+ "account": "Account: {account} ({opAccount})",
+ "owner": "Owner: {owner}",
+ "active": "Active: {active}",
+ "new_options": "New options: {new_options}",
+ "extensions": "Extensions: {extensions}",
+ "fees": "Estimated fee: {fees}"
+ },
+ "tooltip": "This operation is used to update an existing account. It can be used to update the authorities, or adjust the options on the account."
+ },
+ "account_whitelist": {
+ "method": "Account whitelist",
+ "title": "Account whitelist request",
+ "result": "Account whitelist result",
+ "headers": {
+ "request": "Update your account whitelist to the following?",
+ "result": "Your account whitelist was updated to the following:"
+ },
+ "rows": {
+ "authorizing_account": "Authorizing account: {authorizingAccount} (authorizingAccountOP)",
+ "account_to_list": "Account to list: {accountToList} (accountToListOP)",
+ "new_listing": "New listing: {newListing}",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Fee: {fee}"
+ },
+ "tooltip": "This operation is used to whitelist and blacklist accounts, primarily for transacting in whitelisted assets"
+ },
+ "account_upgrade": {
+ "method": "Account upgrade",
+ "title": "Account upgrade request",
+ "result": "Account upgrade result",
+ "headers": {
+ "request": "Upgrade your account to lifetime member?",
+ "result": "Your account was upgraded to lifetime member!"
+ },
+ "rows": {
+ "account_to_upgrade": "Account to upgrade: {accountToUpgrade} (accountToUpgradeOP)",
+ "upgrade_to_lifetime_member": "Upgrade to lifetime member: {upgradeToLifetimeMember}",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "This operation is used to upgrade an account to a member, or renew its subscription."
+ },
+ "account_transfer": {
+ "method": "Account transfer",
+ "title": "Account transfer request",
+ "result": "Account transfer result",
+ "headers": {
+ "request": "Transfer account to a new owner?",
+ "result": "The following account was transferred to a new owner:"
+ },
+ "rows": {
+ "warning": "Warning: This action is irreversible!",
+ "account_id": "Account ID: {originalOwner} ({account_id})",
+ "new_owner": "New owner: {newOwner} ({newOwnerOP})",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Transfers the account to another account while clearing the white list"
+ },
+ "asset_create": {
+ "method": "Asset create",
+ "title": "Asset create request",
+ "result": "Asset create result",
+ "headers": {
+ "request": "Create the following asset?",
+ "result": "The following asset was created:"
+ },
+ "rows": {
+ "symbol": "Symbol: {symbol}",
+ "main": "Main: {main}",
+ "market": "Market: {market}",
+ "short_name": "Short name: {short_name}",
+ "precision": "Precision: {precision}",
+ "max_supply": "Max supply: {max_supply}",
+ "market_fee_percent": "Market fee percent: {market_fee_percent}",
+ "max_market_fee": "Max market fee: {max_market_fee}",
+ "cer": "Core exchange rates:",
+ "cer_base_amount": "Base amount: {cer_base_amount}",
+ "cer_base_id": "Base asset ID: {cer_base_id}",
+ "cer_quote_amount": "Quote amount: {cer_quote_amount}",
+ "cer_quote_id": "Quote asset ID: {cer_quote_id}",
+ "whitelist_authorities": "Whitelist authorities: {whitelist_authorities}",
+ "blacklist_authorities": "Blacklist authorities: {blacklist_authorities}",
+ "whitelist_markets": "Whitelist markets: {whitelist_markets}",
+ "blacklist_markets": "Blacklist markets: {blacklist_markets}",
+ "is_prediction_market": "Is prediction market: {is_prediction_market}",
+ "permissions": "Permissions:",
+ "perm_charge_market_fee": "Charge market fee: {charge_market_fee}",
+ "perm_white_list": "White list: {white_list}",
+ "perm_override_authority": "Override authority: {override_authority}",
+ "perm_transfer_restricted": "Transfer restricted: {transfer_restricted}",
+ "perm_disable_confidential": "Disable confidential: {disable_confidential}",
+ "flags": "Flags:",
+ "flag_charge_market_fee": "Charge market fee: {charge_market_fee}",
+ "flag_white_list": "White list: {white_list}",
+ "flag_override_authority": "Override authority: {override_authority}",
+ "flag_transfer_restricted": "Transfer restricted: {transfer_restricted}",
+ "flag_disable_confidential": "Disable confidential: {disable_confidential}",
+ "bitasset": "Bitasset info:",
+ "feed_lifetime_sec": "Feed lifetime (seconds): {feed_lifetime_sec}",
+ "force_settlement_delay_sec": "Force settlement delay (seconds): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "Force settlement offset percent: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "Maximum force settlement volume: {maximum_force_settlement_volume}",
+ "minimum_feeds": "Minimum feeds: {minimum_feeds}",
+ "short_backing_asset": "Short backing asset: {short_backing_asset}",
+ "nft": "NFT Contents:",
+ "acknowledgements": "Acknowledgements: {acknowledgements}",
+ "artist": "Artist: {artist}",
+ "attestation": "Attestation: {attestation}",
+ "holder_license": "Holder license: {holder_license}",
+ "license": "License: {license}",
+ "narrative": "Narrative: {narrative}",
+ "title": "Title: {title}",
+ "tags": "Tags: {tags}",
+ "type": "Type: {type}"
+ },
+ "tooltip": "Creates an asset on the Bitshares blockchain"
+ },
+ "asset_update": {
+ "method": "Asset update",
+ "title": "Asset update request",
+ "result": "Asset update result",
+ "headers": {
+ "request": "Update the following asset?",
+ "result": "The asset was updated with the following details:"
+ },
+ "rows": {
+ "symbol": "Symbol: {symbol}",
+ "main": "Main: {main}",
+ "market": "Market: {market}",
+ "short_name": "Short name: {short_name}",
+ "precision": "Precision: {precision}",
+ "max_supply": "Max supply: {max_supply}",
+ "market_fee_percent": "Market fee percent: {market_fee_percent}",
+ "max_market_fee": "Max market fee: {max_market_fee}",
+ "cer": "Core exchange rates:",
+ "cer_base_amount": "Base amount: {cer_base_amount}",
+ "cer_base_id": "Base asset ID: {cer_base_id}",
+ "cer_quote_amount": "Quote amount: {cer_quote_amount}",
+ "cer_quote_id": "Quote asset ID: {cer_quote_id}",
+ "whitelist_authorities": "Whitelist authorities: {whitelist_authorities}",
+ "blacklist_authorities": "Blacklist authorities: {blacklist_authorities}",
+ "whitelist_markets": "Whitelist markets: {whitelist_markets}",
+ "blacklist_markets": "Blacklist markets: {blacklist_markets}",
+ "is_prediction_market": "Is prediction market: {is_prediction_market}",
+ "permissions": "Permissions:",
+ "perm_charge_market_fee": "Charge market fee: {charge_market_fee}",
+ "perm_white_list": "White list: {white_list}",
+ "perm_override_authority": "Override authority: {override_authority}",
+ "perm_transfer_restricted": "Transfer restricted: {transfer_restricted}",
+ "perm_disable_confidential": "Disable confidential: {disable_confidential}",
+ "flags": "Flags:",
+ "flag_charge_market_fee": "Charge market fee: {charge_market_fee}",
+ "flag_white_list": "White list: {white_list}",
+ "flag_override_authority": "Override authority: {override_authority}",
+ "flag_transfer_restricted": "Transfer restricted: {transfer_restricted}",
+ "flag_disable_confidential": "Disable confidential: {disable_confidential}",
+ "bitasset": "Bitasset info:",
+ "feed_lifetime_sec": "Feed lifetime (seconds): {feed_lifetime_sec}",
+ "force_settlement_delay_sec": "Force settlement delay (seconds): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "Force settlement offset percent: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "Maximum force settlement volume: {maximum_force_settlement_volume}",
+ "minimum_feeds": "Minimum feeds: {minimum_feeds}",
+ "short_backing_asset": "Short backing asset: {short_backing_asset}",
+ "nft": "NFT Contents:",
+ "acknowledgements": "Acknowledgements: {acknowledgements}",
+ "artist": "Artist: {artist}",
+ "attestation": "Attestation: {attestation}",
+ "holder_license": "Holder license: {holder_license}",
+ "license": "License: {license}",
+ "narrative": "Narrative: {narrative}",
+ "title": "Title: {title}",
+ "tags": "Tags: {tags}",
+ "type": "Type: {type}"
+ },
+ "tooltip": "Updates an asset's settings"
+ },
+ "asset_update_bitasset": {
+ "method": "Asset update bitasset",
+ "title": "Asset update bitasset request",
+ "result": "Asset update bitasset result",
+ "headers": {
+ "request": "Approve bitasset update?",
+ "result": "The following bitasset update was approved:"
+ },
+ "rows": {
+ "issuer": "Issuer: {issuer}",
+ "asset_to_update": "Asset to update: {asset_to_update}",
+ "new_options": "New options:",
+ "feed_lifetime_sec": "Feed lifetime (seconds): {feed_lifetime_sec}",
+ "minimum_feeds": "Minimum feeds: {minimum_feeds}",
+ "force_settlement_delay_sec": "Force settlement delay (seconds): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "Force settlement offset percent: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "Maximum force settlement volume: {maximum_force_settlement_volume}",
+ "short_backing_asset": "Short backing asset: {symbol} ({short_backing_asset})",
+ "extensions": "Extensions: {extensions}",
+ "noExtensions": "No extensions",
+ "fee": "Estimated fee: {fee} ({id})"
+ },
+ "tooltip": "Update created bitasset settings"
+ },
+ "asset_update_feed_producers": {
+ "method": "Asset update feed producers",
+ "title": "Asset update feed producers request",
+ "result": "Asset update feed producers result",
+ "headers": {
+ "request": "Approve change to bitasset feed producers?",
+ "result": "The following change to bitasset feed producers was approved:"
+ },
+ "rows": {
+ "issuer": "Issuer: {issuer} ({issuerOP})",
+ "asset_to_update": "Asset to update: {symbol} ({asset_to_update})",
+ "new_feed_producers": "New feed producers: {new_feed_producers}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Update the list of approved feed producers for created bitasset"
+ },
+ "asset_issue": {
+ "method": "Asset issue",
+ "title": "Asset issue request",
+ "result": "Asset issue result",
+ "headers": {
+ "request": "Approve the following asset issuance?",
+ "result": "The following asset issuance was approved:"
+ },
+ "rows": {
+ "prompt": "Issue {amount} {symbol} ({assetID}) to {to} ({toID})?",
+ "fee": "Estimated fee: {fee} ({id})"
+ },
+ "tooltip": "Issue your created assets to individuals"
+ },
+ "asset_reserve": {
+ "method": "Asset reserve",
+ "title": "Asset reserve request",
+ "result": "Asset reserve result",
+ "headers": {
+ "request": "Approve the following asset reservation?",
+ "result": "The following asset reservation was approved:"
+ },
+ "rows": {
+ "payer": "Payer: {payer} ({payerOP})",
+ "amount_to_reserve": "Amount to reserve: {amount_to_reserve} ({amount_to_reserveOP})",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Reserve your created assets"
+ },
+ "asset_fund_fee_pool": {
+ "method": "Asset fund fee pool",
+ "title": "Asset fund fee pool request",
+ "result": "Asset fund fee pool result",
+ "headers": {
+ "request": "Fund the following asset's fee pool?",
+ "result": "The following asset's fee pool funding was approved:"
+ },
+ "rows": {
+ "from_account": "From account: {from_account} ({from_accountOP})",
+ "asset": "Asset: {asset} ({assetOP})",
+ "amount": "Amount: {amount}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Fund the fee pool for your created asset"
+ },
+ "asset_settle": {
+ "method": "Asset settle",
+ "title": "Asset settle request",
+ "result": "Asset settle result",
+ "headers": {
+ "request": "Settle the following asset for its backing collateral?",
+ "result": "The following asset was settled for its backing collateral:"
+ },
+ "rows": {
+ "account": "Account: {account} ({accountOP})",
+ "amount": "Amount: {amount} ({assetID})",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Settle an asset in your portfolio"
+ },
+ "asset_global_settle": {
+ "method": "Asset global settle",
+ "title": "Asset global settle request",
+ "result": "Asset global settle result",
+ "headers": {
+ "request": "Perform global settlement on the following asset?",
+ "result": "The following asset was globally settled:"
+ },
+ "rows": {
+ "issuer": "Issuer: {issuer} ({issuerOP})",
+ "asset_to_settle": "Asset to settle: {asset_to_settle} ({asset_to_settleOP})",
+ "settle_price": "Settle price: {settle_price}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Globally settle one of your created bitassets"
+ },
+ "asset_publish_feed": {
+ "method": "Asset publish feed",
+ "title": "Asset publish feed request",
+ "result": "Asset publish feed result",
+ "headers": {
+ "request": "Publish a price feed for the following asset?",
+ "result": "The following asset price feed update was published:"
+ },
+ "rows": {
+ "publisher": "Publisher: {publisher} ({publisherOP})",
+ "asset_id": "Asset ID: {symbol} ({asset_idOP})",
+ "feed": "Feed:",
+ "core_exchange_rate": "Core exchange rate: {core_exchange_rate}",
+ "settlement_price": "Settlement price: {settlement_price}",
+ "maintenance_collateral_ratio": "Maintenance collateral ratio: {maintenance_collateral_ratio}",
+ "maximum_short_squeeze_ratio": "Maximum short squeeze ratio: {maximum_short_squeeze_ratio}",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Publish a price feed for a bitasset"
+ },
+ "witness_create": {
+ "method": "Witness create",
+ "title": "Witness create request",
+ "result": "Witness create result",
+ "headers": {
+ "request": "Create a witness with the following details?",
+ "result": "The following witness was created:"
+ },
+ "rows": {
+ "witness_account": "Witness account: {witness_account} ({witness_accountOP})",
+ "url": "URL: {url}",
+ "block_signing_key": "Block signing key: {block_signing_key}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Create a witness account"
+ },
+ "witness_update": {
+ "method": "Witness update",
+ "title": "Witness update request",
+ "result": "Witness update result",
+ "headers": {
+ "request": "Update witness details to the following?",
+ "result": "The following witness details were updated:"
+ },
+ "rows": {
+ "witness": "Witness: {witness}",
+ "witness_account": "Witness account: {witness_account} ({witness_accountOP})",
+ "new_url": "New URL: {new_url}",
+ "new_signing_key": "New signing key: {new_signing_key}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Update your witness account"
+ },
+ "proposal_create": {
+ "method": "Proposal create",
+ "title": "Proposal create request",
+ "result": "Proposal create result",
+ "headers": {
+ "request": "Create the following proposal?",
+ "result": "The following proposal was created:"
+ },
+ "rows": {
+ "expiration_time": "Expiration time: {expiration_time}",
+ "proposed_ops": "Proposed operations: {proposed_ops}",
+ "review_period_seconds": "Review period seconds: {review_period_seconds}",
+ "fee_paying_account": "Fee paying account: {fee_paying_account} ({fee_paying_accountOP})",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Create a blockchain operation proposal"
+ },
+ "proposal_update": {
+ "method": "Proposal update",
+ "title": "Proposal update request",
+ "result": "Proposal update result",
+ "headers": {
+ "request": "Update the following proposal?",
+ "result": "The following proposal was updated:"
+ },
+ "rows": {
+ "proposal": "Proposal: {proposal}",
+ "active_approvals_to_add": "Active approvals to add: {active_approvals_to_add}",
+ "active_approvals_to_remove": "Active approvals to remove: {active_approvals_to_remove}",
+ "owner_approvals_to_add": "Owner approvals to add: {owner_approvals_to_add}",
+ "owner_approvals_to_remove": "Owner approvals to remove: {owner_approvals_to_remove}",
+ "key_approvals_to_add": "Key approvals to add: {key_approvals_to_add}",
+ "key_approvals_to_remove": "Key approvals to remove: {key_approvals_to_remove}",
+ "fee_paying_account": "Fee paying account: {fee_paying_account} ({fee_paying_accountOP})",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Update a blockchain operation proposal"
+ },
+ "proposal_delete": {
+ "method": "Proposal delete",
+ "title": "Proposal delete request",
+ "result": "Proposal delete result",
+ "headers": {
+ "request": "Delete the following proposal?",
+ "result": "The following proposal was deleted:"
+ },
+ "rows": {
+ "using_owner_authority": "Using owner authority: {using_owner_authority}",
+ "proposal": "Proposal: {proposal}",
+ "fee_paying_account": "Fee paying account: {fee_paying_account} ({fee_paying_accountOP})",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Delete a blockchain operation proposal"
+ },
+ "withdraw_permission_create": {
+ "method": "Withdraw permission create",
+ "title": "Withdraw permission create request",
+ "result": "Withdraw permission create result",
+ "headers": {
+ "request": "Direct Debit Authorization",
+ "result": "The following direct debit authorization was approved:"
+ },
+ "rows": {
+ "recipient": "Recipient: {recipient} ({recipientOP})",
+ "withdraw_from": "Account to withdraw from: {withdraw_from} ({withdraw_fromOP})",
+ "taking": "Take {amount} every {period_sec} seconds, for {period_qty} periods",
+ "start": "Starting: {start}"
+ },
+ "tooltip": "Create a withdraw permission"
+ },
+ "withdraw_permission_update": {
+ "method": "Withdraw permission update",
+ "title": "Withdraw permission update request",
+ "result": "Withdraw permission update result",
+ "headers": {
+ "request": "Update witness permissions to the following?",
+ "result": "The following witness permission updates were approved:"
+ },
+ "rows": {
+ "withrdaw_from_account": "Withdraw from account: {withrdaw_from_account} ({withrdaw_from_accountOP})",
+ "authorized_account": "Authorized account: {authorized_account} ({authorized_accountOP})",
+ "permission_to_update": "Permission to update: {permission_to_update}",
+ "withdrawal_limited": "Withdrawal limit: {withdrawal_limit}",
+ "withdrawal_unlimited": "Withdrawal limit: {withdrawal_limit} ({withdrawal_limitOP})",
+ "withdrawal_period_sec": "Withdrawal period (seconds): {withdrawal_period_sec}",
+ "period_start_time": "Period start time: {period_start_time}",
+ "periods_until_expiration": "Periods until expiration: {periods_until_expiration}",
+ "fee":"Estimated fee: {fee}"
+ },
+ "tooltip": "Update a withdraw permission"
+ },
+ "withdraw_permission_claim": {
+ "method": "Withdraw permission claim",
+ "title": "Withdraw permission claim request",
+ "result": "Withdraw permission claim result",
+ "headers": {
+ "request": "Claim the following withdrawal permission",
+ "result": "The following withdrawal permission was claimed:"
+ },
+ "rows": {
+ "withdraw_permission": "Withdraw permission: {withdraw_permission}",
+ "withdraw_from_account": "Withdraw from account: {withdraw_from_account} ({withdraw_from_accountOP})",
+ "withdraw_to_account": "Withdraw to account: {withdraw_to_account} ({withdraw_to_accountOP})",
+ "amount_to_withdraw": "Amount to withdraw: {amount_to_withdraw} ({amount_to_withdrawOP})",
+ "memo": "Memo: {memo}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Claim from a withdraw permission"
+ },
+ "withdraw_permission_delete": {
+ "method": "Withdraw permission delete",
+ "title": "Withdraw permission delete request",
+ "result": "Withdraw permission delete result",
+ "headers": {
+ "request": "Delete the following withdraw permission?",
+ "result": "The following withdraw permission was deleted:"
+ },
+ "rows": {
+ "withdraw_from_account":"Withdraw from account: {withdraw_from_account} ({withdraw_from_accountOP})",
+ "authorized_account": "Authorized account: {authorized_account} ({authorized_accountOP})",
+ "withdrawal_permission": "Withdrawal permission: {withdrawal_permission}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Delete a withdraw permission"
+ },
+ "committee_member_create": {
+ "method": "Committee member create",
+ "title": "Committee member create request",
+ "result": "Committee member create result",
+ "headers": {
+ "request": "Create a committee member?",
+ "result": "The following committee member was created:"
+ },
+ "rows": {
+ "committee_member_account": "Committee member account: {committee_member_account} ({committee_member_accountOP})",
+ "url": "URL: {url}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Create a committee member account"
+ },
+ "committee_member_update": {
+ "method": "Committee member update",
+ "title": "Committee member update request",
+ "result": "Committee member update result",
+ "headers": {
+ "request": "Update the following committee member's details?",
+ "result": "The following committee member's detail updates were approved:"
+ },
+ "rows": {
+ "committee_member": "Committee member: {committee_member}",
+ "committee_member_account": "Committee member account: {committee_member_account} ({committee_member_accountOP})",
+ "new_url": "New URL: {new_url}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Update your committee member account details"
+ },
+ "committee_member_update_global_parameters": {
+ "method": "Committee member update global parameters",
+ "title": "Committee member update global parameters request",
+ "result": "Committee member update global parameters result",
+ "headers": {
+ "request": "Approve of following global parameters as a committee?",
+ "result": "The following global committee parameters were approved:"
+ },
+ "rows": {
+ "new_parameters": "New parameters:",
+ "current_fees": "Current fees: {current_fees}",
+ "block_interval": "Block interval: {block_interval}",
+ "maintenance_interval": "Maintenance interval: {maintenance_interval}",
+ "maintenance_skip_slots": "Maintenance skip slots: {maintenance_skip_slots}",
+ "committee_proposal_review_period": "Committee proposal review period: {committee_proposal_review_period}",
+ "maximum_transaction_size": "Maximum transaction size: {maximum_transaction_size}",
+ "maximum_block_size": "Maximum block size: {maximum_block_size}",
+ "maximum_time_until_expiration": "Maximum time until expiration: {maximum_time_until_expiration}",
+ "maximum_proposal_lifetime": "Maximum proposal lifetime: {maximum_proposal_lifetime}",
+ "maximum_asset_whitelist_authorities": "Maximum asset whitelist authorities: {maximum_asset_whitelist_authorities}",
+ "maximum_asset_feed_publishers": "Maximum asset feed publishers: {maximum_asset_feed_publishers}",
+ "maximum_witness_count": "Maximum witness count: {maximum_witness_count}",
+ "maximum_committee_count": "Maximum committee count: {maximum_committee_count}",
+ "maximum_authority_membership": "Maximum authority membership: {maximum_authority_membership}",
+ "reserve_percent_of_fee": "Reserve percent of fee: {reserve_percent_of_fee}",
+ "network_percent_of_fee": "Network percent of fee: {network_percent_of_fee}",
+ "lifetime_referrer_percent_of_fee": "Lifetime referrer percent of fee: {lifetime_referrer_percent_of_fee}",
+ "cashback_vesting_period_seconds": "Cashback vesting period seconds: {cashback_vesting_period_seconds}",
+ "cashback_vesting_threshold": "Cashback vesting threshold: {cashback_vesting_threshold}",
+ "count_non_member_votes": "Count non member votes: {count_non_member_votes}",
+ "allow_non_member_whitelists": "Allow non member whitelists: {allow_non_member_whitelists}",
+ "witness_pay_per_block": "Witness pay per block: {witness_pay_per_block}",
+ "worker_budget_per_day": "Worker budget per day: {worker_budget_per_day}",
+ "max_predicate_opcode": "Max predicate opcode: {max_predicate_opcode}",
+ "fee_liquidation_threshold": "Fee liquidation threshold: {fee_liquidation_threshold}",
+ "accounts_per_fee_scale": "Accounts per fee scale: {accounts_per_fee_scale}",
+ "account_fee_scale_bitshifts": "Account fee scale bitshifts: {account_fee_scale_bitshifts}",
+ "max_authority_depth": "Max authority depth: {max_authority_depth}",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Publish your committee member stance on Bitshares blockchain global parameter values"
+ },
+ "vesting_balance_create": {
+ "method": "Vesting balance create",
+ "title": "Vesting balance create request",
+ "result": "Vesting balance create result",
+ "headers": {
+ "request": "Create the following vesting balance?",
+ "result": "The following vesting balance was created:"
+ },
+ "rows": {
+ "creator": "Creator: {creator} ({creatorOP})",
+ "owner": "Owner: {owner} ({ownerOP})",
+ "amount": "Amount: {amount} ({asset_id})",
+ "policy": "Policy:",
+ "begin_timestamp": "Begin timestamp: {begin_timestamp}",
+ "vesting_cliff_seconds": "Vesting cliff seconds: {vesting_cliff_seconds}",
+ "vesting_duration_seconds": "Vesting duration seconds: {vesting_duration_seconds}",
+ "start_claim": "Start claim: {start_claim}",
+ "vesting_seconds": "Vesting seconds: {vesting_seconds}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Create a vesting balance"
+ },
+ "vesting_balance_withdraw": {
+ "method": "Vesting balance withdraw",
+ "title": "Vesting balance withdraw request",
+ "result": "Vesting balance withdraw result",
+ "headers": {
+ "request": "Withdraw the following vesting balance?",
+ "result": "The following vesting balance was withdrawn:"
+ },
+ "rows": {
+ "owner":"Owner: {owner} ({ownerOP})",
+ "claim": "Claim: {claim} ({asset_id})"
+ },
+ "tooltip": "Withdraw from a vesting balance"
+ },
+ "worker_create": {
+ "method": "Worker create",
+ "title": "Worker create request",
+ "result": "Worker create result",
+ "headers": {
+ "request": "Create the following worker proposal?",
+ "result": "The following worker proposal was created:"
+ },
+ "rows": {
+ "owner":"Owner: {owner} ({ownerOP})",
+ "work_begin_date": "Work begin date: {work_begin_date}",
+ "work_end_date": "Work end date: {work_end_date}",
+ "daily_pay": "Daily pay: {daily_pay}",
+ "name": "Name: {name}",
+ "url": "URL: {url}",
+ "initializer": "Initializer: {initializer}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Create a worker proposal"
+ },
+ "custom": {
+ "method": "Custom",
+ "title": "Custom request",
+ "result": "Custom result",
+ "headers": {
+ "request": "Create the following custom operation?",
+ "result": "The following custom operation was created:"
+ },
+ "rows": {
+ "payer": "Payer: {payer} ({payerOP})",
+ "required_auths": "Required authorities: {required_auths}",
+ "id": "ID: {id}",
+ "data": "Data: {data}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Provides a generic way to add higher level protocols on top of witness consensus"
+ },
+ "assert": {
+ "method": "Assert",
+ "title": "Assert request",
+ "result": "Assert result",
+ "headers": {
+ "request": "Approve the following assert request operation?",
+ "result": "The following assert request operation was approved:"
+ },
+ "rows": {
+ "fee_paying_account": "Fee paying account: {fee_paying_account} ({fee_paying_accountOP})",
+ "predicates": "Predicates: {predicates}",
+ "required_auths": "Required authorities: {required_auths}",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Assert that some conditions are true."
+ },
+ "balance_claim": {
+ "method": "Balance claim",
+ "title": "Balance claim request",
+ "result": "Balance claim result",
+ "headers": {
+ "request": "Claim the following balance?",
+ "result": "The following balance was claimed:"
+ },
+ "rows": {
+ "deposit_to_account": "Deposit to account: {deposit_to_account} ({deposit_to_accountOP})",
+ "balance_to_claim": "Balance to claim: {balance_to_claim} ({asset_id})",
+ "balance_owner_key": "Balance owner key: {balance_owner_key}",
+ "total_claimed": "Total claimed: {total_claimed} ({asset_id})",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Claim from a balance"
+ },
+ "override_transfer": {
+ "method": "Override transfer",
+ "title": "Override transfer request",
+ "result": "Override transfer result",
+ "headers": {
+ "request": "Override the following transfer?",
+ "result": "The following transfer was overridden:"
+ },
+ "rows": {
+ "issuer": "Issuer: {issuer} ({issuerOP})",
+ "from": "From: {from} ({fromOP})",
+ "to": "To: {to} ({toOP})",
+ "amount": "Amount: {amount} ({asset_id})",
+ "memo": "Memo: {memo}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Override a transfer operation"
+ },
+ "transfer_to_blind": {
+ "method": "Transfer to blind",
+ "title": "Transfer to blind request",
+ "result": "Transfer to blind result",
+ "headers": {
+ "request": "Transfer the following to blind?",
+ "result": "The following was transferred to blind:"
+ },
+ "rows": {
+ "amount":"Amount: {amount}",
+ "from": "From: {from} ({fromOP})",
+ "blinding_factor": "Blinding factor: {blinding_factor}",
+ "outputs": "Outputs: {outputs}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Transfer assets to a blind destination"
+ },
+ "blind_transfer": {
+ "method": "Blind transfer",
+ "title": "Blind transfer request",
+ "result": "Blind transfer result",
+ "headers": {
+ "request": "Approve the following blind transfer?",
+ "result": "The following blind transfer was approved:"
+ },
+ "rows": {
+ "inputs": "Inputs: {inputs}",
+ "outputs": "Outputs: {outputs}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Transfer blind assets in a blind manner"
+ },
+ "transfer_from_blind": {
+ "method": "Transfer from blind",
+ "title": "Transfer from blind request",
+ "result": "Transfer from blind result",
+ "headers": {
+ "request": "Transfer the following from blind?",
+ "result": "The following was transferred from blind:"
+ },
+ "rows": {
+ "amount":"Amount: {amount}",
+ "to": "To: {to} ({toOP})",
+ "blinding_factor": "Blinding factor: {blinding_factor}",
+ "inputs": "Inputs: {inputs}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Withdraw assets from a blind balance"
+ },
+ "asset_claim_fees": {
+ "method": "Asset claim fees",
+ "title": "Asset claim fees request",
+ "result": "Asset claim fees result",
+ "headers": {
+ "request": "Withdraw the fees from the following asset?",
+ "result": "The following asset's fees were claimed:"
+ },
+ "rows": {
+ "issuer": "Issuer: {issuer} ({issuerOP})",
+ "amount_to_claim": "Amount to claim: {amount_to_claim} ({asset_id})",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Claim the fees from an asset"
+ },
+ "bid_collateral": {
+ "method": "Bid collateral",
+ "title": "Bid collateral request",
+ "result": "Bid collateral result",
+ "headers": {
+ "request": "Approve the following collateral bid?",
+ "result": "The following collateral bid was approved:"
+ },
+ "rows": {
+ "bidder": "Bidder: {bidder} ({bidderOP})",
+ "additional_collateral": "Additional collateral: {additional_collateral}",
+ "debt_covered": "Debt covered: {debt_covered}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Bid on a bitassets backing collateral when globally settled"
+ },
+ "asset_claim_pool": {
+ "method": "Asset claim pool",
+ "title": "Asset claim pool request",
+ "result": "Asset claim pool result",
+ "headers": {
+ "request": "Claim the following asset pool?",
+ "result": "The following asset pool was claimed:"
+ },
+ "rows": {
+ "issuer": "Issuer: {issuer} ({issuerOP})",
+ "asset_id": "Asset: {asset_id}",
+ "amount_to_claim": "Amount to claim: {amount_to_claim}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Transfers BTS from the fee pool of a specified asset back to the issuer's balance"
+ },
+ "asset_update_issuer": {
+ "method": "Asset update issuer",
+ "title": "Asset update issuer request",
+ "result": "Asset update issuer result",
+ "headers": {
+ "request": "Update the issuer of the following asset?",
+ "result": "The following asset's issuer was updated:"
+ },
+ "rows": {
+ "issuer": "Issuer: {issuer} ({issuerOP})",
+ "asset_to_update": "Asset to update: {asset_to_update}",
+ "new_issuer": "New issuer: {new_issuer} ({new_issuerOP})",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Update issuer of an asset to a new administrator account."
+ },
+ "htlc_create": {
+ "method": "HTLC create",
+ "title": "HTLC create request",
+ "result": "HTLC create result",
+ "headers": {
+ "request": "Create the following hashed timelock contract operation?",
+ "result": "The creation of the following hashed timelock contract operation was approved:"
+ },
+ "rows": {
+ "from": "From: {from} ({fromOP})",
+ "to": "To: {to} ({toOP})",
+ "amount": "Amount: {amount}",
+ "preimage_hash": "Preimage hash: {preimage_hash}",
+ "preimage_size": "Preimage size: {preimage_size}",
+ "claim_period_seconds": "Claim period (seconds): {claim_period_seconds}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Create a hash time locked contract (HTLC) operation"
+ },
+ "htlc_redeem": {
+ "method": "HTLC Redeem",
+ "title": "HTLC Redeem request",
+ "result": "HTLC Redeem result",
+ "headers": {
+ "request": "Redeem the following hash time locked contract operation?",
+ "result": "The redemption of the following hash time locked contract operation was approved:"
+ },
+ "rows": {
+ "htlc_id": "HTLC ID: {htlc_id}",
+ "redeemer": "Redeemer: {redeemer} ({redeemerOP})",
+ "preimage": "Preimage: {preimage}",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Redeem the contents of a HTLC operation"
+ },
+ "htlc_extend": {
+ "method": "HTLC Extend",
+ "title": "HTLC Extend request",
+ "result": "HTLC Extend result",
+ "headers": {
+ "request": "Approve the following hash timelocked contract extension?",
+ "result": "The extension of the following hash timelocked contract was approved:"
+ },
+ "rows": {
+ "htlc_id": "HTLC ID: {htlc_id}",
+ "update_issuer": "Update issuer: {update_issuer} ({update_issuerOP})",
+ "seconds_to_add": "Seconds to add: {seconds_to_add}",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Extend the duration of an HTLC operation"
+ },
+ "custom_authority_create": {
+ "method": "Custom authority create",
+ "title": "Custom authority create request",
+ "result": "Custom authority create result",
+ "headers": {
+ "request": "Create the following custom authority?",
+ "result": "The following custom authority was created:"
+ },
+ "rows": {
+ "account": "Account: {account} ({accountOP})",
+ "enabled": "Enabled: {enabled}",
+ "valid_from": "Valid from: {valid_from}",
+ "valid_to": "Valid to: {valid_to}",
+ "operation_type": "Operation type: {operation_type}",
+ "auth": "Authority: {auth}",
+ "restrictions": "Restrictions: {restrictions}",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Create a new custom authority."
+ },
+ "custom_authority_update": {
+ "method": "Custom authority update",
+ "title": "Custom authority update request",
+ "result": "Custom authority update result",
+ "headers": {
+ "request": "Update the following custom authority?",
+ "result": "The following custom authority was updated:"
+ },
+ "rows": {
+ "account": "Account: {account} ({accountOP})",
+ "authority_to_update": "Authority to update: {authority_to_update}",
+ "new_enabled": "New enabled: {new_enabled}",
+ "new_valid_from": "New valid from: {new_valid_from}",
+ "new_valid_to": "New valid to: {new_valid_to}",
+ "new_auth": "New authority: {new_auth}",
+ "restrictions_to_remove": "Restrictions to remove: {restrictions_to_remove}",
+ "restrictions_to_add": "Restrictions to add: {restrictions_to_add}",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Update a custom authority."
+ },
+ "custom_authority_delete": {
+ "method": "Custom authority delete",
+ "title": "Custom authority delete request",
+ "result": "Custom authority delete result",
+ "headers": {
+ "request": "Delete the following custom authority?",
+ "result": "The following custom authority was deleted:"
+ },
+ "rows": {
+ "account": "Account: {account} ({accountOP})",
+ "authority_to_delete": "Authority to delete: {authority_to_delete}",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Delete a custom authority."
+ },
+ "ticket_create": {
+ "method": "Ticket create",
+ "title": "Ticket create request",
+ "result": "Ticket create result",
+ "headers": {
+ "request": "Create the following ticket?",
+ "result": "The following ticket was created:"
+ },
+ "rows": {
+ "account": "Account: {account} ({accountOP})",
+ "target_type": "Target type: {target_type}",
+ "amount":"Amount: {amount}",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Create a new ticket."
+ },
+ "ticket_update": {
+ "method": "Ticket update",
+ "title": "Ticket update request",
+ "result": "Ticket update result",
+ "headers": {
+ "request": "Update the following ticket?",
+ "result": "The following ticket was updated:"
+ },
+ "rows": {
+ "ticket": "Ticket: {ticket}",
+ "account": "Account: {account} ({accountOP})",
+ "target_type": "Target type: {target_type}",
+ "amount_for_new_target": "Amount for new target: {amount_for_new_target}",
+ "extensions": "Extensions: {extensions}"
+ },
+ "tooltip": "Update an existing ticket."
+ },
+ "liquidity_pool_create": {
+ "method": "Liquidity pool create",
+ "title": "Liquidity pool create request",
+ "result": "Liquidity pool create result",
+ "headers": {
+ "request": "Create a liquidity pool with the following details?",
+ "result": "The following liquidity pool was created:"
+ },
+ "rows": {
+ "account": "Account: {account} ({accountOP})",
+ "asset_a": "Asset A: {asset_a} ({asset_aOP})",
+ "asset_b": "Asset B: {asset_b} ({asset_bOP})",
+ "share_asset": "Share asset: {share_asset} ({share_assetOP})",
+ "taker_fee_percent": "Taker fee percent: {taker_fee_percent}",
+ "withdrawal_fee_percent": "Withdrawal fee percent: {withdrawal_fee_percent}",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Create a liquidity pool"
+ },
+ "liquidity_pool_delete": {
+ "method": "Liquidity pool delete",
+ "title": "Liquidity pool delete request",
+ "result": "Liquidity pool delete result",
+ "headers": {
+ "request": "Delete the following liquidity pool?",
+ "result": "The following liquidity pool was deleted:"
+ },
+ "rows": {
+ "account": "Account: {account} ({accountOP})",
+ "pool_id": "Pool ID: {pool_id}",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Delete a liquidity pool"
+ },
+ "liquidity_pool_deposit": {
+ "method": "Liquidity pool deposit",
+ "title": "Liquidity pool deposit request",
+ "result": "Liquidity pool deposit result",
+ "headers": {
+ "request": "Deposit the following assets into the liquidity pool?",
+ "result": "The following assets were deposited into the liquidity pool:"
+ },
+ "rows": {
+ "account": "Account: {account} ({accountOP})",
+ "pool": "Pool: {pool}",
+ "asset_a": "Asset A: {asset_a} ({asset_aOP})",
+ "asset_b": "Asset B: {asset_b} ({asset_bOP})",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Deposit funds into a liquidity pool"
+ },
+ "liquidity_pool_withdraw": {
+ "method": "Liquidity pool withdraw",
+ "title": "Liquidity pool withdraw request",
+ "result": "Liquidity pool withdraw result",
+ "headers": {
+ "request": "Withdraw the following assets from the liquidity pool?",
+ "result": "The following assets were withdrawn from the liquidity pool:"
+ },
+ "rows": {
+ "account": "Account: {account} ({accountOP})",
+ "pool": "Pool: {pool}",
+ "share_asset": "Share asset: {share_asset} ({share_assetOP})",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Withdraw funds from a liquidity pool"
+ },
+ "liquidity_pool_exchange": {
+ "method": "Liquidity pool exchange",
+ "title": "Liquidity pool exchange request",
+ "result": "Liquidity pool exchange result",
+ "headers": {
+ "request": "Approve of the following liquidity pool exchange?",
+ "result": "The following liquidity pool exchange was approved:"
+ },
+ "rows": {
+ "account": "Account: {account} ({accountOP})",
+ "pool": "Pool: {pool}",
+ "amount_to_sell": "Amount to sell: {amount_to_sell}",
+ "min_to_receive": "Min to receive: {min_to_receive}",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Exchange with a liquidity pool."
+ },
+ "samet_fund_create": {
+ "method": "SameT fund create",
+ "title": "SameT fund create request",
+ "result": "SameT fund create result",
+ "headers": {
+ "request": "Approve of the following samet fund creation?",
+ "result": "The following samet fund was created:"
+ },
+ "rows": {
+ "owner_account": "Owner account: {owner_account} ({owner_accountOP})",
+ "asset_type": "Asset type: {asset_type}",
+ "balance": "Balance: {balance}",
+ "fee_rate": "Fee rate: {fee_rate}",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Create a new SameT Fund. A SameT Fund is a fund which can be used by a borrower and have to be repaid in the same transaction."
+ },
+ "samet_fund_delete": {
+ "method": "SameT fund delete",
+ "title": "SameT fund delete request",
+ "result": "SameT fund delete result",
+ "headers": {
+ "request": "Delete the following samet fund?",
+ "result": "The following samet fund was deleted:"
+ },
+ "rows": {
+ "owner_account": "Owner account: {owner_account} ({owner_accountOP})",
+ "fund_id": "Fund ID: {fund_id}",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Delete a SameT fund object."
+ },
+ "samet_fund_update": {
+ "method": "SameT fund update",
+ "title": "SameT fund update request",
+ "result": "SameT fund update result",
+ "headers": {
+ "request": "Update the following samet fund?",
+ "result": "The following samet fund was updated:"
+ },
+ "rows": {
+ "owner_account": "Owner account: {owner_account} ({owner_accountOP})",
+ "fund_id": "Fund ID: {fund_id}",
+ "delta_amount": "Delta amount: {delta_amount}",
+ "new_fee_rate": "New fee rate: {new_fee_rate}",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Update a SameT fund object."
+ },
+ "samet_fund_borrow": {
+ "method": "SameT fund borrow",
+ "title": "SameT fund borrow request",
+ "result": "SameT fund borrow result",
+ "headers": {
+ "request": "Borrow from the following samet fund?",
+ "result": "Successfully borrowed from the following samet fund:"
+ },
+ "rows": {
+ "borrower": "Borrower: {borrower} ({borrowerOP})",
+ "fund_id": "Fund ID: {fund_id}",
+ "borrow_amount": "Borrow amount: {borrow_amount}",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Borrow from a SameT fund."
+ },
+ "samt_fund_repay": {
+ "method": "SameT fund repay",
+ "title": "SameT fund repay request",
+ "result": "SameT fund repay result",
+ "headers": {
+ "request": "Repay the following samet fund",
+ "result": "Successfully repaid the following samet fund"
+ },
+ "rows": {
+ "account":"Account: {account} ({accountOP})",
+ "fund_id": "Fund ID: {fund_id}",
+ "repay_amount": "Repay amount: {repay_amount}",
+ "fund_fee": "Fund fee: {fund_fee}",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Repay debt to a SameT fund."
+ },
+ "credit_offer_create": {
+ "method": "Credit offer create",
+ "title": "Credit offer create request",
+ "result": "Credit offer create result",
+ "headers": {
+ "request": "Approve the creation of the following credit offer?",
+ "result": "The following credit offer was created:"
+ },
+ "rows": {
+ "owner_account":"Owner account: {owner_account} ({owner_accountOP})",
+ "asset_type": "Asset type: {asset_type}",
+ "balance": "Balance: {balance}",
+ "fee_rate": "Fee rate: {fee_rate}",
+ "max_duration_seconds": "Max duration seconds: {max_duration_seconds}",
+ "min_deal_amount": "Min deal amount: {min_deal_amount}",
+ "enabled":"Enabled: {enabled}",
+ "auto_disable_time": "Auto disable time: {auto_disable_time}",
+ "acceptable_collateral": "Acceptable collateral: {acceptable_collateral}",
+ "acceptable_borrowers": "Acceptable borrowers: {acceptable_borrowers}",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Create a new credit offer. A credit offer is a fund that can be used by other accounts who provide certain collateral."
+ },
+ "credit_offer_delete": {
+ "method": "Credit offer delete",
+ "title": "Credit offer delete request",
+ "result": "Credit offer delete result",
+ "headers": {
+ "request": "Delete the following credit offer?",
+ "result": "The following credit offer was deleted:"
+ },
+ "rows": {
+ "owner_account": "Owner account: {owner_account} ({owner_accountOP})",
+ "offer_id": "Offer ID: {offer_id}",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Delete a credit offer."
+ },
+ "credit_offer_update": {
+ "method": "Credit offer update",
+ "title": "Credit offer update request",
+ "result": "Credit offer update result",
+ "headers": {
+ "request": "Update the following credit offer?",
+ "result": "The following credit offer was updated:"
+ },
+ "rows": {
+ "owner_account": "Owner account: {owner_account} ({owner_accountOP})",
+ "offer_id": "Offer ID: {offer_id}",
+ "delta_amount": "Delta amount: {delta_amount}",
+ "fee_rate": "Fee rate: {fee_rate}",
+ "max_duration_seconds": "Max duration seconds: {max_duration_seconds}",
+ "min_deal_amount": "Min deal amount: {min_deal_amount}",
+ "enabled":"Enabled: {enabled}",
+ "auto_disable_time": "Auto disable time: {auto_disable_time}",
+ "acceptable_collateral": "Acceptable collateral: {acceptable_collateral}",
+ "acceptable_borrowers": "Acceptable borrowers: {acceptable_borrowers}",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Update a credit offer"
+ },
+ "credit_offer_accept": {
+ "method": "Credit offer accept",
+ "title": "Credit offer accept request",
+ "result": "Credit offer accept result",
+ "headers": {
+ "request": "Approve of the following credit offer?",
+ "result": "The following credit offer was approved:"
+ },
+ "rows": {
+ "borrower": "Borrower: {borrower} ({borrowerOP})",
+ "offer_id": "Offer ID: {offer_id}",
+ "borrow_amount": "Borrow amount: {borrow_amount}",
+ "collateral": "Collateral: {collateral}",
+ "max_fee_rate": "Max fee rate: {max_fee_rate}",
+ "min_duration_seconds": "Min duration seconds: {min_duration_seconds}",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Accept a credit offer and create a credit deal."
+ },
+ "credit_deal_repay": {
+ "method": "Credit deal repay",
+ "title": "Credit deal repay request",
+ "result": "Credit deal repay result",
+ "headers": {
+ "request": "Repay the following credit deal?",
+ "result": "You repayed the following credit deal"
+ },
+ "rows": {
+ "account": "Account: {account} ({accountOP})",
+ "deal_id": "Deal ID: {deal_id}",
+ "repay_amount": "Repay amount: {repay_amount}",
+ "credit_fee": "Credit fee: {credit_fee}",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Repay a credit deal."
+ },
+ "liquidity_pool_update_operation": {
+ "method": "Liquidity pool update",
+ "title": "Liquidity pool update request",
+ "result": "Liquidity pool update result",
+ "headers": {
+ "request": "Update the following liquidity pool?",
+ "result": "The following liquidity pool was updated:"
+ },
+ "rows": {
+ "owner_account": "Owner account: {owner_account} ({owner_accountOP})",
+ "pool_id": "Pool ID: {pool_id}",
+ "new_parameters": "New parameters: {new_parameters}",
+ "extensions": "Extensions: {extensions}",
+ "fee": "Estimated fee: {fee}"
+ },
+ "tooltip": "Update a liquidity pool"
+ },
+ "credit_deal_update_operation": {
+ "method": "Credit deal update",
+ "title": "Credit deal update request",
+ "result": "Credit deal update result",
+ "headers": {
+ "request": "Update the following credit deal?",
+ "result": "The following credit deal was updated:"
+ },
+ "rows": {
+ "fee": "Estimated fee: {fee}",
+ "account": "Account: {account} ({accountOP})",
+ "deal_id": "Deal ID: {deal_id}",
+ "auto_repay": "Auto repay: {auto_repay}"
+ },
+ "tooltip": "Update a credit deal"
+ },
+ "limit_order_update_operation": {
+ "method": "Limit order update",
+ "title": "Limit order update request",
+ "result": "Limit order update result",
+ "headers": {
+ "request": "Update the following limit order?",
+ "result": "The following limit order was updated:"
+ },
+ "rows": {
+ "fee": "Estimated fee: {fee}",
+ "seller": "Seller: {seller} ({sellerOP})",
+ "order": "Order: {order}",
+ "new_price": "New price: {new_price}",
+ "delta_amount_to_sell": "Delta amount to sell: {delta_amount_to_sell}",
+ "new_expiration": "New expiration: {new_expiration}",
+ "on_fill": "On fill: {on_fill}",
+ "extensions": "Extensions: {extensions}"
+ },
+ "tooltip": "Update a limit order"
+ }
}
}
}
\ No newline at end of file
diff --git a/src/translations/operations/es.json b/src/translations/operations/es.json
index db3ff3a9..1ed55de3 100644
--- a/src/translations/operations/es.json
+++ b/src/translations/operations/es.json
@@ -100,6 +100,1444 @@
"reject_btn": "Ignorar"
},
"injected": {
+ "BTS": {
+ "getAccount": {
+ "method": "obtener cuenta",
+ "title": "Solicitud de detalles de cuenta",
+ "result": "Resultado de detalles de la cuenta",
+ "headers": {
+ "request": "¿Quieres compartir los detalles de tu cuenta?",
+ "result": "Los detalles de su cuenta fueron compartidos."
+ },
+ "tooltip": "Solicita a tu billetera los detalles de la cuenta blockchain"
+ },
+ "requestSignature": {
+ "method": "solicitudFirma",
+ "title": "Solicitud de firma",
+ "result": "Resultado de la firma",
+ "headers": {
+ "request": "¿Quieres compartir tu firma?",
+ "result": "Tu firma fue compartida:"
+ },
+ "tooltip": "Pide a tu billetera firmas blockchain"
+ },
+ "injectedCall": {
+ "method": "inyectadoLlamar",
+ "title": "Solicitud de llamada inyectada",
+ "result": "Resultado de llamada inyectada",
+ "headers": {
+ "request": "¿Aprobar la siguiente llamada inyectada?",
+ "result": "Se aprobó la siguiente convocatoria inyectada:"
+ },
+ "tooltip": "Pide a tu billetera que maneje una operación blockchain inyectada"
+ },
+ "voteFor": {
+ "method": "vota por",
+ "title": "Solicitud de voto",
+ "result": "Resultado de la votación",
+ "headers": {
+ "request": "¿Aprobar la siguiente solicitud de votación?",
+ "result": "Se aprobó la siguiente solicitud de votación"
+ },
+ "tooltip": "Realizar una votación blockchain"
+ },
+ "signMessage": {
+ "method": "firmarmensaje",
+ "title": "Solicitud de mensaje de firma",
+ "result": "Resultado del mensaje de firma",
+ "headers": {
+ "request": "¿Aprueba firmar el siguiente mensaje?",
+ "result": "Se firmó el siguiente mensaje:"
+ },
+ "tooltip": "Firmar un mensaje basado en blockchain"
+ },
+ "signNFT": {
+ "method": "firmarNFT",
+ "title": "Firmar solicitud NFT",
+ "result": "Firmar el resultado de NFT",
+ "headers": {
+ "request": "¿Aprobar la firma del siguiente NFT?",
+ "result": "Se firmó el siguiente NFT:"
+ },
+ "tooltip": "Firmar un contenido NFT"
+ },
+ "verifyMessage": {
+ "method": "verificar mensaje",
+ "title": "Verificar solicitud de mensaje",
+ "result": "Verificar resultado del mensaje",
+ "headers": {
+ "request": "¿Quieres verificar el siguiente mensaje?",
+ "result": "Se verificó el siguiente mensaje:"
+ },
+ "tooltip": "Verificar un mensaje firmado basado en blockchain"
+ },
+ "transfer": {
+ "method": "Transferir",
+ "title": "Solicitud de transferencia",
+ "result": "Resultado de la transferencia",
+ "headers": {
+ "request": "¿Quieres aprobar la siguiente solicitud de transferencia?",
+ "result": "Se aprobó la siguiente solicitud de transferencia:"
+ },
+ "rows": {
+ "from": "De: {from} ({opFrom})",
+ "to": "Para: {to} ({opTo})",
+ "amount": "Cantidad: {amount}"
+ },
+ "tooltip": "Enviar activos de una cuenta a otra"
+ },
+ "limit_order_create": {
+ "method": "Crear orden limitada",
+ "title": "Solicitud de creación de orden limitada",
+ "result": "Orden límite crear resultado",
+ "headers": {
+ "request": "¿Aprobar la siguiente solicitud de creación de orden límite?",
+ "result": "Se creó la siguiente orden límite:"
+ },
+ "rows": {
+ "trade": "Comercio",
+ "tradeFK": "Comercio (rellenar o matar)",
+ "seller": "Vendedor: {seller} ({opSeller})",
+ "selling": "Vendiendo: {amount}",
+ "buying": "Comprando: {amount}",
+ "price": "Precio: {price} {sellSymbol}/{buySymbol}"
+ },
+ "tooltip": "Una oferta para vender una cantidad de un activo a un tipo de cambio específico en un momento determinado."
+ },
+ "limit_order_cancel": {
+ "method": "Cancelación de orden limitada",
+ "title": "Solicitud de cancelación de orden limitada",
+ "result": "Resultado de cancelación de orden limitada",
+ "headers": {
+ "request": "¿Cancelar la siguiente orden límite?",
+ "result": "Se canceló la siguiente orden límite:"
+ },
+ "rows": {
+ "id": "ID de pedido: {id}",
+ "fees": "Tarifas estimadas: {fees}",
+ "account": "Cuenta de pago de tarifas: {account}"
+ },
+ "tooltip": "Cancelar una operación de orden limitada"
+ },
+ "call_order_update": {
+ "method": "Actualización de orden de llamada",
+ "title": "Solicitud de actualización de orden de llamada",
+ "result": "Resultado de actualización de orden de llamada",
+ "headers": {
+ "request": "¿Actualizar su orden de llamadas a lo siguiente?",
+ "result": "Se actualizó el siguiente orden de llamada:"
+ },
+ "rows": {
+ "funding_account": "Cuenta de financiación: {funding_account}",
+ "delta_collateral": "Garantía delta: {delta_collateral} ({id})",
+ "delta_debt": "Deuda delta: {delta_debt} ({id})",
+ "fees": "Tarifas estimadas: {fees}"
+ },
+ "tooltip": "Actualizar una orden de llamada existente"
+ },
+ "account_create": {
+ "method": "Crear cuenta",
+ "title": "Solicitud de creación de cuenta",
+ "result": "Resultado de creación de cuenta",
+ "headers": {
+ "request": "¿Quieres crear la siguiente cuenta?",
+ "result": "Se creó la siguiente cuenta:"
+ },
+ "rows": {
+ "registrar": "Registrador: {registrar} ({opRegistrar})",
+ "referrer": "Referente: {referrer} ({opReferrer})",
+ "referrer_percent": "Porcentaje de referencia: {referrer_percent}",
+ "name": "Nombre {name}",
+ "ownerHeader": "Dueño:",
+ "activeHeader": "Activo:",
+ "weight_threshold": "Umbral de peso: {weight_threshold}",
+ "account_auths": "Autenticaciones de cuenta: {account_auths}",
+ "key_auths": "Autenticaciones clave: {key_auths}",
+ "address_auths": "Autenticaciones de dirección: {address_auths}",
+ "optionsHeader": "Opciones:",
+ "memo_key": "Tecla de nota: {memo_key}",
+ "voting_account": "Cuenta de votación: {voting_account} ({opVotingAccount})",
+ "num_witness": "Número de testigos: {num_witness}",
+ "num_committee": "Número de miembros del comité: {num_committee}",
+ "votes": "Votos: {votes}",
+ "extensions": "Extensiones: {extensions}",
+ "fees": "Tarifas estimadas: {fees}"
+ },
+ "tooltip": "Creando una nueva cuenta"
+ },
+ "account_update": {
+ "method": "Actualización de cuenta",
+ "title": "Solicitud de actualización de cuenta",
+ "result": "Resultado de la actualización de la cuenta",
+ "headers": {
+ "request": "¿Quieres actualizar la siguiente cuenta?",
+ "result": "Se actualizó la siguiente cuenta:"
+ },
+ "rows": {
+ "warning": "Advertencia: ¡Esta operación es irreversible!",
+ "account": "Cuenta: {account} ({opAccount})",
+ "owner": "Propietario: {owner}",
+ "active": "Activo: {active}",
+ "new_options": "Nuevas opciones: {new_options}",
+ "extensions": "Extensiones: {extensions}",
+ "fees": "Tarifa estimada: {fees}"
+ },
+ "tooltip": "Esta operación se utiliza para actualizar una cuenta existente. "
+ },
+ "account_whitelist": {
+ "method": "Lista blanca de cuentas",
+ "title": "Solicitud de lista blanca de cuenta",
+ "result": "Resultado de la lista blanca de cuenta",
+ "headers": {
+ "request": "¿Actualizar la lista blanca de su cuenta a lo siguiente?",
+ "result": "La lista blanca de su cuenta se actualizó a lo siguiente:"
+ },
+ "rows": {
+ "authorizing_account": "Cuenta de autorización: {authorizingAccount} (authorizingAccountOP)",
+ "account_to_list": "Cuenta a listar: {accountToList} (accountToListOP)",
+ "new_listing": "Nuevo listado: {newListing}",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa: {fee}"
+ },
+ "tooltip": "Esta operación se utiliza para incluir cuentas en listas blancas y negras, principalmente para realizar transacciones con activos incluidos en la lista blanca."
+ },
+ "account_upgrade": {
+ "method": "Actualización de cuenta",
+ "title": "Solicitud de actualización de cuenta",
+ "result": "Resultado de la actualización de la cuenta",
+ "headers": {
+ "request": "¿Actualizar su cuenta a miembro vitalicio?",
+ "result": "¡Su cuenta fue actualizada a miembro vitalicio!"
+ },
+ "rows": {
+ "account_to_upgrade": "Cuenta para actualizar: {accountToUpgrade} (accountToUpgradeOP)",
+ "upgrade_to_lifetime_member": "Actualice a miembro vitalicio: {upgradeToLifetimeMember}",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Esta operación se utiliza para actualizar una cuenta a miembro o renovar su suscripción."
+ },
+ "account_transfer": {
+ "method": "Transferencia de cuenta",
+ "title": "Solicitud de transferencia de cuenta",
+ "result": "Resultado de la transferencia de cuenta",
+ "headers": {
+ "request": "¿Transferir cuenta a un nuevo propietario?",
+ "result": "La siguiente cuenta fue transferida a un nuevo propietario:"
+ },
+ "rows": {
+ "warning": "Advertencia: ¡Esta acción es irreversible!",
+ "account_id": "ID de cuenta: {originalOwner} ({account_id})",
+ "new_owner": "Nuevo propietario: {newOwner} ({newOwnerOP})",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Transfiere la cuenta a otra cuenta mientras borra la lista blanca"
+ },
+ "asset_create": {
+ "method": "creación de activos",
+ "title": "Solicitud de creación de activos",
+ "result": "Resultado de creación de activos",
+ "headers": {
+ "request": "¿Crear el siguiente activo?",
+ "result": "Se creó el siguiente activo:"
+ },
+ "rows": {
+ "symbol": "Símbolo: {symbol}",
+ "main": "Principal {main}",
+ "market": "Mercado: {market}",
+ "short_name": "Nombre corto: {short_name}",
+ "precision": "Precisión: {precision}",
+ "max_supply": "Suministro máximo: {max_supply}",
+ "market_fee_percent": "Porcentaje de tarifa de mercado: {market_fee_percent}",
+ "max_market_fee": "Tarifa máxima de mercado: {max_market_fee}",
+ "cer": "Tipos de cambio básicos:",
+ "cer_base_amount": "Importe base: {cer_base_amount}",
+ "cer_base_id": "ID de activo base: {cer_base_id}",
+ "cer_quote_amount": "Monto de la cotización: {cer_quote_amount}",
+ "cer_quote_id": "ID del activo de cotización: {cer_quote_id}",
+ "whitelist_authorities": "Autoridades de la lista blanca: {whitelist_authorities}",
+ "blacklist_authorities": "Autoridades de la lista negra: {blacklist_authorities}",
+ "whitelist_markets": "Mercados de la lista blanca: {whitelist_markets}",
+ "blacklist_markets": "Mercados de la lista negra: {blacklist_markets}",
+ "is_prediction_market": "Es el mercado de predicción: {is_prediction_market}",
+ "permissions": "Permisos:",
+ "perm_charge_market_fee": "Tarifa de mercado de carga: {charge_market_fee}",
+ "perm_white_list": "Lista blanca: {white_list}",
+ "perm_override_authority": "Anular autoridad: {override_authority}",
+ "perm_transfer_restricted": "Transferencia restringida: {transfer_restricted}",
+ "perm_disable_confidential": "Desactivar confidencial: {disable_confidential}",
+ "flags": "Banderas:",
+ "flag_charge_market_fee": "Tarifa de mercado de carga: {charge_market_fee}",
+ "flag_white_list": "Lista blanca: {white_list}",
+ "flag_override_authority": "Anular autoridad: {override_authority}",
+ "flag_transfer_restricted": "Transferencia restringida: {transfer_restricted}",
+ "flag_disable_confidential": "Desactivar confidencial: {disable_confidential}",
+ "bitasset": "Información de bitasset:",
+ "feed_lifetime_sec": "Duración del feed (segundos): {feed_lifetime_sec}",
+ "force_settlement_delay_sec": "Forzar retraso en la liquidación (segundos): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "Porcentaje de compensación de liquidación forzada: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "Volumen máximo de liquidación forzada: {maximum_force_settlement_volume}",
+ "minimum_feeds": "Feeds mínimos: {minimum_feeds}",
+ "short_backing_asset": "Activo de respaldo corto: {short_backing_asset}",
+ "nft": "Contenidos NFT:",
+ "acknowledgements": "Agradecimientos: {acknowledgements}",
+ "artist": "Artista: {artist}",
+ "attestation": "Atestación: {attestation}",
+ "holder_license": "Licencia de titular: {holder_license}",
+ "license": "Licencia: {license}",
+ "narrative": "Narrativa: {narrative}",
+ "title": "Título: {title}",
+ "tags": "Etiquetas: {tags}",
+ "type": "Tipo: {type}"
+ },
+ "tooltip": "Crea un activo en la cadena de bloques Bitshares"
+ },
+ "asset_update": {
+ "method": "Actualización de activos",
+ "title": "Solicitud de actualización de activos",
+ "result": "Resultado de la actualización de activos",
+ "headers": {
+ "request": "¿Actualizar el siguiente activo?",
+ "result": "El activo se actualizó con los siguientes detalles:"
+ },
+ "rows": {
+ "symbol": "Símbolo: {symbol}",
+ "main": "Principal {main}",
+ "market": "Mercado: {market}",
+ "short_name": "Nombre corto: {short_name}",
+ "precision": "Precisión: {precision}",
+ "max_supply": "Suministro máximo: {max_supply}",
+ "market_fee_percent": "Porcentaje de tarifa de mercado: {market_fee_percent}",
+ "max_market_fee": "Tarifa máxima de mercado: {max_market_fee}",
+ "cer": "Tipos de cambio básicos:",
+ "cer_base_amount": "Importe base: {cer_base_amount}",
+ "cer_base_id": "ID de activo base: {cer_base_id}",
+ "cer_quote_amount": "Monto de la cotización: {cer_quote_amount}",
+ "cer_quote_id": "ID del activo de cotización: {cer_quote_id}",
+ "whitelist_authorities": "Autoridades de la lista blanca: {whitelist_authorities}",
+ "blacklist_authorities": "Autoridades de la lista negra: {blacklist_authorities}",
+ "whitelist_markets": "Mercados de la lista blanca: {whitelist_markets}",
+ "blacklist_markets": "Mercados de la lista negra: {blacklist_markets}",
+ "is_prediction_market": "Es el mercado de predicción: {is_prediction_market}",
+ "permissions": "Permisos:",
+ "perm_charge_market_fee": "Tarifa de mercado de carga: {charge_market_fee}",
+ "perm_white_list": "Lista blanca: {white_list}",
+ "perm_override_authority": "Anular autoridad: {override_authority}",
+ "perm_transfer_restricted": "Transferencia restringida: {transfer_restricted}",
+ "perm_disable_confidential": "Desactivar confidencial: {disable_confidential}",
+ "flags": "Banderas:",
+ "flag_charge_market_fee": "Tarifa de mercado de carga: {charge_market_fee}",
+ "flag_white_list": "Lista blanca: {white_list}",
+ "flag_override_authority": "Anular autoridad: {override_authority}",
+ "flag_transfer_restricted": "Transferencia restringida: {transfer_restricted}",
+ "flag_disable_confidential": "Desactivar confidencial: {disable_confidential}",
+ "bitasset": "Información de bitasset:",
+ "feed_lifetime_sec": "Duración del feed (segundos): {feed_lifetime_sec}",
+ "force_settlement_delay_sec": "Forzar retraso en la liquidación (segundos): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "Porcentaje de compensación de liquidación forzada: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "Volumen máximo de liquidación forzada: {maximum_force_settlement_volume}",
+ "minimum_feeds": "Feeds mínimos: {minimum_feeds}",
+ "short_backing_asset": "Activo de respaldo corto: {short_backing_asset}",
+ "nft": "Contenidos NFT:",
+ "acknowledgements": "Agradecimientos: {acknowledgements}",
+ "artist": "Artista: {artist}",
+ "attestation": "Atestación: {attestation}",
+ "holder_license": "Licencia de titular: {holder_license}",
+ "license": "Licencia: {license}",
+ "narrative": "Narrativa: {narrative}",
+ "title": "Título: {title}",
+ "tags": "Etiquetas: {tags}",
+ "type": "Tipo: {type}"
+ },
+ "tooltip": "Actualiza la configuración de un recurso"
+ },
+ "asset_update_bitasset": {
+ "method": "bitasset de actualización de activos",
+ "title": "Solicitud de bitasset de actualización de activos",
+ "result": "Resultado de bitasset de actualización de activos",
+ "headers": {
+ "request": "¿Aprobar la actualización de bitasset?",
+ "result": "Se aprobó la siguiente actualización de bitasset:"
+ },
+ "rows": {
+ "issuer": "Emisor: {issuer}",
+ "asset_to_update": "Activo para actualizar: {asset_to_update}",
+ "new_options": "Nuevas opciones:",
+ "feed_lifetime_sec": "Duración del feed (segundos): {feed_lifetime_sec}",
+ "minimum_feeds": "Feeds mínimos: {minimum_feeds}",
+ "force_settlement_delay_sec": "Forzar retraso en la liquidación (segundos): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "Porcentaje de compensación de liquidación forzada: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "Volumen máximo de liquidación forzada: {maximum_force_settlement_volume}",
+ "short_backing_asset": "Activo de respaldo corto: {symbol} ({short_backing_asset})",
+ "extensions": "Extensiones: {extensions}",
+ "noExtensions": "Sin extensiones",
+ "fee": "Tarifa estimada: {fee} ({id})"
+ },
+ "tooltip": "Actualizar la configuración de bitasset creada"
+ },
+ "asset_update_feed_producers": {
+ "method": "Productores de feeds de actualización de activos",
+ "title": "Solicitud de productores de feeds de actualización de activos",
+ "result": "Resultado de los productores de feeds de actualización de activos",
+ "headers": {
+ "request": "¿Aprobar el cambio a los productores de piensos bitasset?",
+ "result": "Se aprobó el siguiente cambio para los productores de piensos bitasset:"
+ },
+ "rows": {
+ "issuer": "Emisor: {issuer} ({issuerOP})",
+ "asset_to_update": "Activo para actualizar: {symbol} ({asset_to_update})",
+ "new_feed_producers": "Nuevos productores de piensos: {new_feed_producers}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Actualizar la lista de productores de piensos aprobados para bitasset creado"
+ },
+ "asset_issue": {
+ "method": "Problema de activos",
+ "title": "Solicitud de emisión de activos",
+ "result": "Resultado de la emisión de activos",
+ "headers": {
+ "request": "¿Aprobar la siguiente emisión de activos?",
+ "result": "Se aprobó la siguiente emisión de activos:"
+ },
+ "rows": {
+ "prompt": "¿Emitir {amount} {symbol} ({assetID}) a {to} ({toID})?",
+ "fee": "Tarifa estimada: {fee} ({id})"
+ },
+ "tooltip": "Emita sus activos creados a individuos"
+ },
+ "asset_reserve": {
+ "method": "Reserva de activos",
+ "title": "Solicitud de reserva de activos",
+ "result": "Resultado de reserva de activos",
+ "headers": {
+ "request": "¿Aprobar la siguiente reserva de activos?",
+ "result": "Se aprobó la siguiente reserva de activos:"
+ },
+ "rows": {
+ "payer": "Pagador: {payer} ({payerOP})",
+ "amount_to_reserve": "Monto a reservar: {amount_to_reserve} ({amount_to_reserveOP})",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Reserva tus activos creados"
+ },
+ "asset_fund_fee_pool": {
+ "method": "Fondo común de comisiones de fondos de activos",
+ "title": "Solicitud de grupo de tarifas de fondos de activos",
+ "result": "Resultado del fondo común de comisiones del fondo de activos",
+ "headers": {
+ "request": "¿Financiar el fondo común de tarifas del siguiente activo?",
+ "result": "Se aprobó el financiamiento del fondo común de tarifas de los siguientes activos:"
+ },
+ "rows": {
+ "from_account": "De la cuenta: {from_account} ({from_accountOP})",
+ "asset": "Activo: {asset} ({assetOP})",
+ "amount": "Cantidad: {amount}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Financia el fondo común de tarifas para tu activo creado"
+ },
+ "asset_settle": {
+ "method": "liquidación de activos",
+ "title": "Solicitud de liquidación de activos",
+ "result": "Resultado de liquidación de activos",
+ "headers": {
+ "request": "¿Liquidar el siguiente activo como garantía de respaldo?",
+ "result": "Como garantía de respaldo se liquidó el siguiente activo:"
+ },
+ "rows": {
+ "account": "Cuenta: {account} ({accountOP})",
+ "amount": "Importe: {amount} ({assetID})",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Liquidar un activo en su cartera"
+ },
+ "asset_global_settle": {
+ "method": "Liquidación global de activos",
+ "title": "Solicitud de liquidación global de activos",
+ "result": "Resultado de liquidación global de activos",
+ "headers": {
+ "request": "¿Realizar una liquidación global sobre el siguiente activo?",
+ "result": "Se liquidó globalmente el siguiente activo:"
+ },
+ "rows": {
+ "issuer": "Emisor: {issuer} ({issuerOP})",
+ "asset_to_settle": "Activo a liquidar: {asset_to_settle} ({asset_to_settleOP})",
+ "settle_price": "Precio de liquidación: {settle_price}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Establezca globalmente uno de sus bitassets creados"
+ },
+ "asset_publish_feed": {
+ "method": "Feed de publicación de activos",
+ "title": "Solicitud de feed de publicación de recursos",
+ "result": "Resultado del feed de publicación de recursos",
+ "headers": {
+ "request": "¿Publicar un feed de precios para el siguiente activo?",
+ "result": "Se publicó la siguiente actualización del feed de precios de activos:"
+ },
+ "rows": {
+ "publisher": "Editor: {publisher} ({publisherOP})",
+ "asset_id": "ID de activo: {symbol} ({asset_idOP})",
+ "feed": "Alimentar:",
+ "core_exchange_rate": "Tipo de cambio básico: {core_exchange_rate}",
+ "settlement_price": "Precio de liquidación: {settlement_price}",
+ "maintenance_collateral_ratio": "Ratio de garantía de mantenimiento: {maintenance_collateral_ratio}",
+ "maximum_short_squeeze_ratio": "Relación máxima de compresión corta: {maximum_short_squeeze_ratio}",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Publicar un feed de precios para un bitasset"
+ },
+ "witness_create": {
+ "method": "testigo crear",
+ "title": "Solicitud de creación de testigo",
+ "result": "Testigo crea resultado",
+ "headers": {
+ "request": "¿Crear un testigo con los siguientes detalles?",
+ "result": "Se creó el siguiente testigo:"
+ },
+ "rows": {
+ "witness_account": "Cuenta de testigo: {witness_account} ({witness_accountOP})",
+ "url": "URL: {url}",
+ "block_signing_key": "Clave de firma de bloque: {block_signing_key}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Crear una cuenta de testigo"
+ },
+ "witness_update": {
+ "method": "Actualización de testigos",
+ "title": "Solicitud de actualización de testigos",
+ "result": "Resultado de la actualización del testigo",
+ "headers": {
+ "request": "¿Actualizar los detalles del testigo a lo siguiente?",
+ "result": "Se actualizaron los siguientes detalles de los testigos:"
+ },
+ "rows": {
+ "witness": "Testigo: {witness}",
+ "witness_account": "Cuenta de testigo: {witness_account} ({witness_accountOP})",
+ "new_url": "Nueva URL: {new_url}",
+ "new_signing_key": "Nueva clave de firma: {new_signing_key}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Actualiza tu cuenta de testigo"
+ },
+ "proposal_create": {
+ "method": "crear propuesta",
+ "title": "Solicitud de creación de propuesta",
+ "result": "Propuesta crear resultado",
+ "headers": {
+ "request": "¿Crear la siguiente propuesta?",
+ "result": "Se creó la siguiente propuesta:"
+ },
+ "rows": {
+ "expiration_time": "Hora de vencimiento: {expiration_time}",
+ "proposed_ops": "Operaciones propuestas: {proposed_ops}",
+ "review_period_seconds": "Segundos del período de revisión: {review_period_seconds}",
+ "fee_paying_account": "Cuenta de pago de tarifas: {fee_paying_account} ({fee_paying_accountOP})",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Crear una propuesta de operación blockchain"
+ },
+ "proposal_update": {
+ "method": "Actualización de propuesta",
+ "title": "Solicitud de actualización de propuesta",
+ "result": "Resultado de la actualización de la propuesta",
+ "headers": {
+ "request": "¿Actualizar la siguiente propuesta?",
+ "result": "Se actualizó la siguiente propuesta:"
+ },
+ "rows": {
+ "proposal": "Propuesta: {proposal}",
+ "active_approvals_to_add": "Aprobaciones activas para agregar: {active_approvals_to_add}",
+ "active_approvals_to_remove": "Aprobaciones activas para eliminar: {active_approvals_to_remove}",
+ "owner_approvals_to_add": "Aprobaciones del propietario para agregar: {owner_approvals_to_add}",
+ "owner_approvals_to_remove": "Aprobaciones del propietario para eliminar: {owner_approvals_to_remove}",
+ "key_approvals_to_add": "Aprobaciones clave para agregar: {key_approvals_to_add}",
+ "key_approvals_to_remove": "Aprobaciones clave para eliminar: {key_approvals_to_remove}",
+ "fee_paying_account": "Cuenta de pago de tarifas: {fee_paying_account} ({fee_paying_accountOP})",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Actualizar una propuesta de operación blockchain"
+ },
+ "proposal_delete": {
+ "method": "Eliminar propuesta",
+ "title": "Solicitud de eliminación de propuesta",
+ "result": "Resultado de eliminación de propuesta",
+ "headers": {
+ "request": "¿Eliminar la siguiente propuesta?",
+ "result": "Se eliminó la siguiente propuesta:"
+ },
+ "rows": {
+ "using_owner_authority": "Usando la autoridad del propietario: {using_owner_authority}",
+ "proposal": "Propuesta: {proposal}",
+ "fee_paying_account": "Cuenta de pago de tarifas: {fee_paying_account} ({fee_paying_accountOP})",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Eliminar una propuesta de operación blockchain"
+ },
+ "withdraw_permission_create": {
+ "method": "Retirar permiso crear",
+ "title": "Retirar permiso crear solicitud",
+ "result": "Retirar permiso crear resultado",
+ "headers": {
+ "request": "Autorización de domiciliación bancaria",
+ "result": "Se aprobó la siguiente autorización de domiciliación bancaria:"
+ },
+ "rows": {
+ "recipient": "Destinatario: {recipient} ({recipientOP})",
+ "withdraw_from": "Cuenta desde la que retirar: {withdraw_from} ({withdraw_fromOP})",
+ "taking": "Tome {amount} cada {period_sec} segundos, durante {period_qty} períodos",
+ "start": "Inicio: {start}"
+ },
+ "tooltip": "Crear un permiso de retiro"
+ },
+ "withdraw_permission_update": {
+ "method": "Retirar actualización de permiso",
+ "title": "Retirar solicitud de actualización de permiso",
+ "result": "Retirar resultado de actualización de permiso",
+ "headers": {
+ "request": "¿Actualizar los permisos de testigos a lo siguiente?",
+ "result": "Se aprobaron las siguientes actualizaciones de permisos de testigos:"
+ },
+ "rows": {
+ "withrdaw_from_account": "Retiro de cuenta: {withrdaw_from_account} ({withrdaw_from_accountOP})",
+ "authorized_account": "Cuenta autorizada: {authorized_account} ({authorized_accountOP})",
+ "permission_to_update": "Permiso para actualizar: {permission_to_update}",
+ "withdrawal_limited": "Límite de retiro: {withdrawal_limit}",
+ "withdrawal_unlimited": "Límite de retiro: {withdrawal_limit} ({withdrawal_limitOP})",
+ "withdrawal_period_sec": "Periodo de retiro (segundos): {withdrawal_period_sec}",
+ "period_start_time": "Hora de inicio del período: {period_start_time}",
+ "periods_until_expiration": "Plazos hasta el vencimiento: {periods_until_expiration}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Actualizar un permiso de retiro"
+ },
+ "withdraw_permission_claim": {
+ "method": "Retirar reclamo de permiso",
+ "title": "Retirar solicitud de reclamo de permiso",
+ "result": "Retirar el resultado del reclamo de permiso",
+ "headers": {
+ "request": "Solicite el siguiente permiso de retiro",
+ "result": "Se reclamó el siguiente permiso de retirada:"
+ },
+ "rows": {
+ "withdraw_permission": "Retirar permiso: {withdraw_permission}",
+ "withdraw_from_account": "Retiro de cuenta: {withdraw_from_account} ({withdraw_from_accountOP})",
+ "withdraw_to_account": "Retiro a cuenta: {withdraw_to_account} ({withdraw_to_accountOP})",
+ "amount_to_withdraw": "Monto a retirar: {amount_to_withdraw} ({amount_to_withdrawOP})",
+ "memo": "Nota: {memo}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Reclamar un permiso de retirada"
+ },
+ "withdraw_permission_delete": {
+ "method": "Retirar permiso eliminar",
+ "title": "Retirar permiso para eliminar solicitud",
+ "result": "Retirar permiso eliminar resultado",
+ "headers": {
+ "request": "¿Eliminar lo siguiente para retirar el permiso?",
+ "result": "Se eliminó el siguiente permiso de retirada:"
+ },
+ "rows": {
+ "withdraw_from_account": "Retiro de cuenta: {withdraw_from_account} ({withdraw_from_accountOP})",
+ "authorized_account": "Cuenta autorizada: {authorized_account} ({authorized_accountOP})",
+ "withdrawal_permission": "Permiso de retiro: {withdrawal_permission}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Eliminar un permiso de retirada"
+ },
+ "committee_member_create": {
+ "method": "Miembro del comité crear",
+ "title": "Miembro del comité crear solicitud",
+ "result": "Miembro del comité crea resultado",
+ "headers": {
+ "request": "¿Crear un miembro del comité?",
+ "result": "Se creó el siguiente miembro del comité:"
+ },
+ "rows": {
+ "committee_member_account": "Cuenta de miembro del comité: {committee_member_account} ({committee_member_accountOP})",
+ "url": "URL: {url}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Crear una cuenta de miembro del comité"
+ },
+ "committee_member_update": {
+ "method": "Actualización de miembros del comité",
+ "title": "Solicitud de actualización de miembros del comité",
+ "result": "Resultado de actualización de miembros del comité",
+ "headers": {
+ "request": "¿Actualizar los detalles del siguiente miembro del comité?",
+ "result": "Se aprobaron las siguientes actualizaciones detalladas de los miembros del comité:"
+ },
+ "rows": {
+ "committee_member": "Miembro del comité: {committee_member}",
+ "committee_member_account": "Cuenta de miembro del comité: {committee_member_account} ({committee_member_accountOP})",
+ "new_url": "Nueva URL: {new_url}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Actualice los detalles de su cuenta de miembro del comité"
+ },
+ "committee_member_update_global_parameters": {
+ "method": "Los miembros del comité actualizan los parámetros globales",
+ "title": "Solicitud de actualización de parámetros globales de miembros del comité",
+ "result": "Miembro del comité actualiza el resultado de los parámetros globales",
+ "headers": {
+ "request": "¿Aprueba seguir parámetros globales como comité?",
+ "result": "Se aprobaron los siguientes parámetros del comité global:"
+ },
+ "rows": {
+ "new_parameters": "Nuevos parámetros:",
+ "current_fees": "Tarifas actuales: {current_fees}",
+ "block_interval": "Intervalo de bloque: {block_interval}",
+ "maintenance_interval": "Intervalo de mantenimiento: {maintenance_interval}",
+ "maintenance_skip_slots": "Espacios para omitir mantenimiento: {maintenance_skip_slots}",
+ "committee_proposal_review_period": "Período de revisión de la propuesta del comité: {committee_proposal_review_period}",
+ "maximum_transaction_size": "Tamaño máximo de transacción: {maximum_transaction_size}",
+ "maximum_block_size": "Tamaño máximo de bloque: {maximum_block_size}",
+ "maximum_time_until_expiration": "Tiempo máximo hasta el vencimiento: {maximum_time_until_expiration}",
+ "maximum_proposal_lifetime": "Duración máxima de la propuesta: {maximum_proposal_lifetime}",
+ "maximum_asset_whitelist_authorities": "Autoridades máximas de la lista blanca de activos: {maximum_asset_whitelist_authorities}",
+ "maximum_asset_feed_publishers": "Número máximo de editores de feeds de activos: {maximum_asset_feed_publishers}",
+ "maximum_witness_count": "Recuento máximo de testigos: {maximum_witness_count}",
+ "maximum_committee_count": "Recuento máximo de comités: {maximum_committee_count}",
+ "maximum_authority_membership": "Membresía de autoridad máxima: {maximum_authority_membership}",
+ "reserve_percent_of_fee": "Porcentaje de reserva de la tarifa: {reserve_percent_of_fee}",
+ "network_percent_of_fee": "Porcentaje de tarifa de red: {network_percent_of_fee}",
+ "lifetime_referrer_percent_of_fee": "Porcentaje de la tarifa del referente de por vida: {lifetime_referrer_percent_of_fee}",
+ "cashback_vesting_period_seconds": "Segundos del período de adquisición de cashback: {cashback_vesting_period_seconds}",
+ "cashback_vesting_threshold": "Umbral de adquisición de derechos de reembolso: {cashback_vesting_threshold}",
+ "count_non_member_votes": "Contar votos de no miembros: {count_non_member_votes}",
+ "allow_non_member_whitelists": "Permitir listas blancas de no miembros: {allow_non_member_whitelists}",
+ "witness_pay_per_block": "Pago de testigo por bloque: {witness_pay_per_block}",
+ "worker_budget_per_day": "Presupuesto del trabajador por día: {worker_budget_per_day}",
+ "max_predicate_opcode": "Código de operación de predicado máximo: {max_predicate_opcode}",
+ "fee_liquidation_threshold": "Umbral de liquidación de tarifas: {fee_liquidation_threshold}",
+ "accounts_per_fee_scale": "Cuentas por escala de tarifas: {accounts_per_fee_scale}",
+ "account_fee_scale_bitshifts": "Cambios de bits en la escala de tarifas de la cuenta: {account_fee_scale_bitshifts}",
+ "max_authority_depth": "Profundidad máxima de autoridad: {max_authority_depth}",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Publique la postura de los miembros del comité sobre los valores de los parámetros globales de la cadena de bloques de Bitshares."
+ },
+ "vesting_balance_create": {
+ "method": "Crear saldo adquirido",
+ "title": "Solicitud de creación de saldo adquirido",
+ "result": "El saldo adquirido crea resultados",
+ "headers": {
+ "request": "¿Crear el siguiente saldo de adquisición de derechos?",
+ "result": "Se creó el siguiente saldo de adquisición de derechos:"
+ },
+ "rows": {
+ "creator": "Creador: {creator} ({creatorOP})",
+ "owner": "Propietario: {owner} ({ownerOP})",
+ "amount": "Importe: {amount} ({asset_id})",
+ "policy": "Política:",
+ "begin_timestamp": "Marca de tiempo de inicio: {begin_timestamp}",
+ "vesting_cliff_seconds": "Segundos del acantilado de adquisición de derechos: {vesting_cliff_seconds}",
+ "vesting_duration_seconds": "Segundos de duración de la adquisición de derechos: {vesting_duration_seconds}",
+ "start_claim": "Iniciar reclamo: {start_claim}",
+ "vesting_seconds": "Segundos de adquisición de derechos: {vesting_seconds}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Crear un saldo de adquisición de derechos"
+ },
+ "vesting_balance_withdraw": {
+ "method": "Retiro del saldo adquirido",
+ "title": "Solicitud de retiro de saldo adquirido",
+ "result": "Resultado del retiro del saldo adquirido",
+ "headers": {
+ "request": "¿Retirar el siguiente saldo adquirido?",
+ "result": "Se retiró el siguiente saldo de consolidación:"
+ },
+ "rows": {
+ "owner": "Propietario: {owner} ({ownerOP})",
+ "claim": "Reclamo: {claim} ({asset_id})"
+ },
+ "tooltip": "Retiro de un saldo adquirido"
+ },
+ "worker_create": {
+ "method": "trabajador crear",
+ "title": "Solicitud de creación de trabajador",
+ "result": "Trabajador crea resultado",
+ "headers": {
+ "request": "¿Crear la siguiente propuesta de trabajador?",
+ "result": "Se creó la siguiente propuesta de trabajadores:"
+ },
+ "rows": {
+ "owner": "Propietario: {owner} ({ownerOP})",
+ "work_begin_date": "Fecha de inicio del trabajo: {work_begin_date}",
+ "work_end_date": "Fecha de finalización del trabajo: {work_end_date}",
+ "daily_pay": "Pago diario: {daily_pay}",
+ "name": "Nombre {name}",
+ "url": "URL: {url}",
+ "initializer": "Inicializador: {initializer}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Crear una propuesta de trabajador"
+ },
+ "custom": {
+ "method": "Costumbre",
+ "title": "Solicitud personalizada",
+ "result": "Resultado personalizado",
+ "headers": {
+ "request": "¿Crear la siguiente operación personalizada?",
+ "result": "Se creó la siguiente operación personalizada:"
+ },
+ "rows": {
+ "payer": "Pagador: {payer} ({payerOP})",
+ "required_auths": "Autoridades requeridas: {required_auths}",
+ "id": "{id}",
+ "data": "Datos: {data}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Proporciona una forma genérica de agregar protocolos de nivel superior además del consenso de testigos."
+ },
+ "assert": {
+ "method": "Afirmar",
+ "title": "Afirmar solicitud",
+ "result": "Afirmar resultado",
+ "headers": {
+ "request": "¿Aprobar la siguiente operación de solicitud de afirmación?",
+ "result": "Se aprobó la siguiente operación de solicitud de aserción:"
+ },
+ "rows": {
+ "fee_paying_account": "Cuenta de pago de tarifas: {fee_paying_account} ({fee_paying_accountOP})",
+ "predicates": "Predicados: {predicates}",
+ "required_auths": "Autoridades requeridas: {required_auths}",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Afirma que algunas condiciones son verdaderas."
+ },
+ "balance_claim": {
+ "method": "Reclamación de saldo",
+ "title": "Solicitud de reclamación de saldo",
+ "result": "Resultado del reclamo de saldo",
+ "headers": {
+ "request": "¿Reclamar el siguiente saldo?",
+ "result": "Se reclamó el siguiente saldo:"
+ },
+ "rows": {
+ "deposit_to_account": "Depósito a cuenta: {deposit_to_account} ({deposit_to_accountOP})",
+ "balance_to_claim": "Saldo a reclamar: {balance_to_claim} ({asset_id})",
+ "balance_owner_key": "Clave del propietario del saldo: {balance_owner_key}",
+ "total_claimed": "Total reclamado: {total_claimed} ({asset_id})",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Reclamar de un saldo"
+ },
+ "override_transfer": {
+ "method": "Anular transferencia",
+ "title": "Anular solicitud de transferencia",
+ "result": "Anular el resultado de la transferencia",
+ "headers": {
+ "request": "¿Anular la siguiente transferencia?",
+ "result": "Se anuló la siguiente transferencia:"
+ },
+ "rows": {
+ "issuer": "Emisor: {issuer} ({issuerOP})",
+ "from": "De: {from} ({fromOP})",
+ "to": "Para: {to} ({toOP})",
+ "amount": "Importe: {amount} ({asset_id})",
+ "memo": "Nota: {memo}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Anular una operación de transferencia"
+ },
+ "transfer_to_blind": {
+ "method": "Transferir a ciego",
+ "title": "Transferir a solicitud ciega",
+ "result": "Transferir a resultado ciego",
+ "headers": {
+ "request": "¿Transferir lo siguiente a ciego?",
+ "result": "Lo siguiente fue transferido a ciegos:"
+ },
+ "rows": {
+ "amount": "Cantidad: {amount}",
+ "from": "De: {from} ({fromOP})",
+ "blinding_factor": "Factor de cegamiento: {blinding_factor}",
+ "outputs": "Salidas: {outputs}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Transferir activos a un destino ciego"
+ },
+ "blind_transfer": {
+ "method": "Transferencia ciega",
+ "title": "Solicitud de transferencia ciega",
+ "result": "Resultado de la transferencia ciega",
+ "headers": {
+ "request": "¿Aprobar la siguiente transferencia ciega?",
+ "result": "Se aprobó la siguiente transferencia ciega:"
+ },
+ "rows": {
+ "inputs": "Entradas: {inputs}",
+ "outputs": "Salidas: {outputs}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Transferir activos ciegos de forma ciega"
+ },
+ "transfer_from_blind": {
+ "method": "Transferencia de ciego",
+ "title": "Transferencia desde solicitud ciega",
+ "result": "Transferencia de resultado ciego",
+ "headers": {
+ "request": "¿Transferir lo siguiente desde ciego?",
+ "result": "Lo siguiente fue transferido de ciego:"
+ },
+ "rows": {
+ "amount": "Cantidad: {amount}",
+ "to": "Para: {to} ({toOP})",
+ "blinding_factor": "Factor de cegamiento: {blinding_factor}",
+ "inputs": "Entradas: {inputs}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Retirar activos de un saldo ciego"
+ },
+ "asset_claim_fees": {
+ "method": "Tarifas de reclamación de activos",
+ "title": "Solicitud de tarifas de reclamación de activos",
+ "result": "Resultado de las tarifas de reclamación de activos",
+ "headers": {
+ "request": "¿Retirar las tarifas del siguiente activo?",
+ "result": "Se reclamaron los siguientes honorarios de activos:"
+ },
+ "rows": {
+ "issuer": "Emisor: {issuer} ({issuerOP})",
+ "amount_to_claim": "Monto a reclamar: {amount_to_claim} ({asset_id})",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Reclamar las tarifas de un activo"
+ },
+ "bid_collateral": {
+ "method": "Garantía de oferta",
+ "title": "Solicitud de garantía de oferta",
+ "result": "Resultado de la garantía de la oferta",
+ "headers": {
+ "request": "¿Aprobar la siguiente oferta de garantía?",
+ "result": "Se aprobó la siguiente oferta de garantía:"
+ },
+ "rows": {
+ "bidder": "Postor: {bidder} ({bidderOP})",
+ "additional_collateral": "Garantía adicional: {additional_collateral}",
+ "debt_covered": "Deuda cubierta: {debt_covered}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Oferta por una garantía de respaldo de bitassets cuando se liquide globalmente"
+ },
+ "asset_claim_pool": {
+ "method": "Grupo de reclamaciones de activos",
+ "title": "Solicitud de grupo de reclamaciones de activos",
+ "result": "Resultado del conjunto de reclamaciones de activos",
+ "headers": {
+ "request": "¿Reclamar el siguiente grupo de activos?",
+ "result": "Se reclamó el siguiente conjunto de activos:"
+ },
+ "rows": {
+ "issuer": "Emisor: {issuer} ({issuerOP})",
+ "asset_id": "Activo: {asset_id}",
+ "amount_to_claim": "Monto a reclamar: {amount_to_claim}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Transfiere BTS del conjunto de tarifas de un activo específico al saldo del emisor"
+ },
+ "asset_update_issuer": {
+ "method": "Emisor de actualización de activos",
+ "title": "Solicitud del emisor de actualización de activos",
+ "result": "Resultado del emisor de actualización de activos",
+ "headers": {
+ "request": "¿Actualizar el emisor del siguiente activo?",
+ "result": "Se actualizó el emisor del siguiente activo:"
+ },
+ "rows": {
+ "issuer": "Emisor: {issuer} ({issuerOP})",
+ "asset_to_update": "Activo para actualizar: {asset_to_update}",
+ "new_issuer": "Nuevo emisor: {new_issuer} ({new_issuerOP})",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Actualice el emisor de un activo a una nueva cuenta de administrador."
+ },
+ "htlc_create": {
+ "method": "crear HTML",
+ "title": "Solicitud de creación HTML",
+ "result": "HTML crear resultado",
+ "headers": {
+ "request": "¿Crear la siguiente operación de contrato de bloqueo de tiempo con hash?",
+ "result": "Se aprobó la creación de la siguiente operación de contrato hash timelock:"
+ },
+ "rows": {
+ "from": "De: {from} ({fromOP})",
+ "to": "Para: {to} ({toOP})",
+ "amount": "Cantidad: {amount}",
+ "preimage_hash": "Hash de preimagen: {preimage_hash}",
+ "preimage_size": "Tamaño de preimagen: {preimage_size}",
+ "claim_period_seconds": "Período de reclamación (segundos): {claim_period_seconds}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Crear una operación de contrato de bloqueo de tiempo hash (HTLC)"
+ },
+ "htlc_redeem": {
+ "method": "Canjear HTLC",
+ "title": "Solicitud de canje de HTLC",
+ "result": "Resultado de canje HTLC",
+ "headers": {
+ "request": "¿Canjear la siguiente operación de contrato con bloqueo de tiempo de hash?",
+ "result": "Se aprobó la redención de la siguiente operación de contrato de tiempo de hash bloqueado:"
+ },
+ "rows": {
+ "htlc_id": "ID de HTML: {htlc_id}",
+ "redeemer": "Redentor: {redeemer} ({redeemerOP})",
+ "preimage": "Preimagen: {preimage}",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Canjear el contenido de una operación HTLC"
+ },
+ "htlc_extend": {
+ "method": "Ampliar HTML",
+ "title": "Solicitud de ampliación HTML",
+ "result": "Resultado de extensión HTML",
+ "headers": {
+ "request": "¿Aprobar la siguiente extensión de contrato con bloqueo de tiempo hash?",
+ "result": "Se aprobó la extensión del siguiente contrato hash timelocked:"
+ },
+ "rows": {
+ "htlc_id": "ID de HTML: {htlc_id}",
+ "update_issuer": "Emisor de la actualización: {update_issuer} ({update_issuerOP})",
+ "seconds_to_add": "Segundos para agregar: {seconds_to_add}",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Ampliar la duración de una operación HTLC"
+ },
+ "custom_authority_create": {
+ "method": "Crear autoridad personalizada",
+ "title": "Solicitud de creación de autoridad personalizada",
+ "result": "Autoridad personalizada crear resultado",
+ "headers": {
+ "request": "¿Crear la siguiente autoridad personalizada?",
+ "result": "Se creó la siguiente autoridad personalizada:"
+ },
+ "rows": {
+ "account": "Cuenta: {account} ({accountOP})",
+ "enabled": "Habilitado: {enabled}",
+ "valid_from": "Válido desde: {valid_from}",
+ "valid_to": "Válido para: {valid_to}",
+ "operation_type": "Tipo de operación: {operation_type}",
+ "auth": "Autoridad: {auth}",
+ "restrictions": "Restricciones: {restrictions}",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Cree una nueva autoridad personalizada."
+ },
+ "custom_authority_update": {
+ "method": "Actualización de autoridad personalizada",
+ "title": "Solicitud de actualización de autoridad personalizada",
+ "result": "Resultado de actualización de autoridad personalizada",
+ "headers": {
+ "request": "¿Actualizar la siguiente autoridad personalizada?",
+ "result": "Se actualizó la siguiente autoridad personalizada:"
+ },
+ "rows": {
+ "account": "Cuenta: {account} ({accountOP})",
+ "authority_to_update": "Autoridad para actualizar: {authority_to_update}",
+ "new_enabled": "Nuevo habilitado: {new_enabled}",
+ "new_valid_from": "Nuevo válido desde: {new_valid_from}",
+ "new_valid_to": "Nuevo válido hasta: {new_valid_to}",
+ "new_auth": "Nueva autoridad: {new_auth}",
+ "restrictions_to_remove": "Restricciones para eliminar: {restrictions_to_remove}",
+ "restrictions_to_add": "Restricciones para agregar: {restrictions_to_add}",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Actualizar una autoridad personalizada."
+ },
+ "custom_authority_delete": {
+ "method": "Eliminación de autoridad personalizada",
+ "title": "Solicitud de eliminación de autoridad personalizada",
+ "result": "Resultado de eliminación de autoridad personalizada",
+ "headers": {
+ "request": "¿Eliminar la siguiente autoridad personalizada?",
+ "result": "Se eliminó la siguiente autoridad personalizada:"
+ },
+ "rows": {
+ "account": "Cuenta: {account} ({accountOP})",
+ "authority_to_delete": "Autoridad para eliminar: {authority_to_delete}",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Eliminar una autoridad personalizada."
+ },
+ "ticket_create": {
+ "method": "Crear ticket",
+ "title": "Solicitud de creación de ticket",
+ "result": "Resultado de creación de ticket",
+ "headers": {
+ "request": "¿Crear el siguiente ticket?",
+ "result": "Se creó el siguiente ticket:"
+ },
+ "rows": {
+ "account": "Cuenta: {account} ({accountOP})",
+ "target_type": "Tipo de destino: {target_type}",
+ "amount": "Cantidad: {amount}",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Crea un nuevo billete."
+ },
+ "ticket_update": {
+ "method": "Actualización de boletos",
+ "title": "Solicitud de actualización de ticket",
+ "result": "Resultado de la actualización del ticket",
+ "headers": {
+ "request": "¿Actualizar el siguiente ticket?",
+ "result": "Se actualizó el siguiente ticket:"
+ },
+ "rows": {
+ "ticket": "Boleto: {ticket}",
+ "account": "Cuenta: {account} ({accountOP})",
+ "target_type": "Tipo de destino: {target_type}",
+ "amount_for_new_target": "Importe para el nuevo objetivo: {amount_for_new_target}",
+ "extensions": "Extensiones: {extensions}"
+ },
+ "tooltip": "Actualizar un ticket existente."
+ },
+ "liquidity_pool_create": {
+ "method": "Crear fondo de liquidez",
+ "title": "Solicitud de creación de fondo de liquidez",
+ "result": "El fondo de liquidez crea resultados",
+ "headers": {
+ "request": "¿Crear un fondo de liquidez con los siguientes detalles?",
+ "result": "Se creó el siguiente fondo de liquidez:"
+ },
+ "rows": {
+ "account": "Cuenta: {account} ({accountOP})",
+ "asset_a": "Activo A: {asset_a} ({asset_aOP})",
+ "asset_b": "Activo B: {asset_b} ({asset_bOP})",
+ "share_asset": "Compartir activo: {share_asset} ({share_assetOP})",
+ "taker_fee_percent": "Porcentaje de tarifa del tomador: {taker_fee_percent}",
+ "withdrawal_fee_percent": "Porcentaje de la tarifa de retiro: {withdrawal_fee_percent}",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Crear un fondo de liquidez"
+ },
+ "liquidity_pool_delete": {
+ "method": "Eliminación del fondo de liquidez",
+ "title": "Solicitud de eliminación del fondo de liquidez",
+ "result": "Resultado de eliminación del fondo de liquidez",
+ "headers": {
+ "request": "¿Eliminar el siguiente fondo de liquidez?",
+ "result": "Se eliminó el siguiente fondo de liquidez:"
+ },
+ "rows": {
+ "account": "Cuenta: {account} ({accountOP})",
+ "pool_id": "ID de grupo: {pool_id}",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Eliminar un fondo de liquidez"
+ },
+ "liquidity_pool_deposit": {
+ "method": "Depósito del fondo común de liquidez",
+ "title": "Solicitud de depósito del fondo común de liquidez",
+ "result": "Resultado del depósito del fondo de liquidez",
+ "headers": {
+ "request": "¿Depositar los siguientes activos en el fondo común de liquidez?",
+ "result": "Los siguientes activos fueron depositados en el fondo de liquidez:"
+ },
+ "rows": {
+ "account": "Cuenta: {account} ({accountOP})",
+ "pool": "Piscina: {pool}",
+ "asset_a": "Activo A: {asset_a} ({asset_aOP})",
+ "asset_b": "Activo B: {asset_b} ({asset_bOP})",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Depositar fondos en un fondo común de liquidez"
+ },
+ "liquidity_pool_withdraw": {
+ "method": "Retiro del fondo de liquidez",
+ "title": "Solicitud de retiro del fondo de liquidez",
+ "result": "Resultado del retiro del fondo de liquidez",
+ "headers": {
+ "request": "¿Retirar los siguientes activos del fondo común de liquidez?",
+ "result": "Los siguientes activos fueron retirados del fondo de liquidez:"
+ },
+ "rows": {
+ "account": "Cuenta: {account} ({accountOP})",
+ "pool": "Piscina: {pool}",
+ "share_asset": "Compartir activo: {share_asset} ({share_assetOP})",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Retirar fondos de un fondo común de liquidez"
+ },
+ "liquidity_pool_exchange": {
+ "method": "Intercambio de fondo de liquidez",
+ "title": "Solicitud de intercambio de fondo de liquidez",
+ "result": "Resultado del intercambio del fondo de liquidez",
+ "headers": {
+ "request": "¿Aprobar el siguiente intercambio de fondo de liquidez?",
+ "result": "Se aprobó el siguiente intercambio de fondo de liquidez:"
+ },
+ "rows": {
+ "account": "Cuenta: {account} ({accountOP})",
+ "pool": "Piscina: {pool}",
+ "amount_to_sell": "Monto a vender: {amount_to_sell}",
+ "min_to_receive": "Min para recibir: {min_to_receive}",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Intercambio con un fondo común de liquidez."
+ },
+ "samet_fund_create": {
+ "method": "Crear fondo SameT",
+ "title": "Solicitud de creación de fondos SameT",
+ "result": "Resultado de creación del fondo SameT",
+ "headers": {
+ "request": "¿Aprobar la siguiente creación del mismo fondo?",
+ "result": "Se creó el siguiente fondo Samet:"
+ },
+ "rows": {
+ "owner_account": "Cuenta de propietario: {owner_account} ({owner_accountOP})",
+ "asset_type": "Tipo de activo: {asset_type}",
+ "balance": "Saldo: {balance}",
+ "fee_rate": "Tarifa: {fee_rate}",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Cree un nuevo Fondo SameT. "
+ },
+ "samet_fund_delete": {
+ "method": "Eliminación de fondos SameT",
+ "title": "Solicitud de eliminación de fondos SameT",
+ "result": "Resultado de eliminación del fondo SameT",
+ "headers": {
+ "request": "¿Eliminar el siguiente fondo igual?",
+ "result": "Se eliminó el siguiente fondo Samet:"
+ },
+ "rows": {
+ "owner_account": "Cuenta de propietario: {owner_account} ({owner_accountOP})",
+ "fund_id": "ID del fondo: {fund_id}",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Eliminar un objeto de fondo SameT."
+ },
+ "samet_fund_update": {
+ "method": "Actualización del fondo SameT",
+ "title": "Solicitud de actualización de fondos SameT",
+ "result": "Resultado de la actualización del fondo SameT",
+ "headers": {
+ "request": "¿Actualizar el siguiente fondo Samet?",
+ "result": "Se actualizó el siguiente fondo Samet:"
+ },
+ "rows": {
+ "owner_account": "Cuenta de propietario: {owner_account} ({owner_accountOP})",
+ "fund_id": "ID del fondo: {fund_id}",
+ "delta_amount": "Importe delta: {delta_amount}",
+ "new_fee_rate": "Nueva tarifa: {new_fee_rate}",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Actualizar un objeto de fondo SameT."
+ },
+ "samet_fund_borrow": {
+ "method": "Préstamo del fondo SameT",
+ "title": "Solicitud de préstamo de fondos SameT",
+ "result": "Resultado del préstamo del fondo SameT",
+ "headers": {
+ "request": "¿Pedir prestado del siguiente fondo Samet?",
+ "result": "Préstamo exitoso del siguiente fondo Samet:"
+ },
+ "rows": {
+ "borrower": "Prestatario: {borrower} ({borrowerOP})",
+ "fund_id": "ID del fondo: {fund_id}",
+ "borrow_amount": "Monto del préstamo: {borrow_amount}",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Préstamo de un fondo SameT."
+ },
+ "samt_fund_repay": {
+ "method": "Reembolso del fondo SameT",
+ "title": "Solicitud de reembolso de fondos SameT",
+ "result": "Resultado de reembolso del fondo SameT",
+ "headers": {
+ "request": "Pagar el siguiente fondo igual",
+ "result": "Pagó con éxito el siguiente fondo Samet"
+ },
+ "rows": {
+ "account": "Cuenta: {account} ({accountOP})",
+ "fund_id": "ID del fondo: {fund_id}",
+ "repay_amount": "Importe de reembolso: {repay_amount}",
+ "fund_fee": "Comisión de fondos: {fund_fee}",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Pagar deuda a un fondo SameT."
+ },
+ "credit_offer_create": {
+ "method": "Crear oferta de crédito",
+ "title": "Solicitud de creación de oferta de crédito",
+ "result": "Oferta de crédito crear resultado",
+ "headers": {
+ "request": "¿Aprobar la creación de la siguiente oferta de crédito?",
+ "result": "Se creó la siguiente oferta de crédito:"
+ },
+ "rows": {
+ "owner_account": "Cuenta de propietario: {owner_account} ({owner_accountOP})",
+ "asset_type": "Tipo de activo: {asset_type}",
+ "balance": "Saldo: {balance}",
+ "fee_rate": "Tarifa: {fee_rate}",
+ "max_duration_seconds": "Segundos de duración máxima: {max_duration_seconds}",
+ "min_deal_amount": "Importe mínimo de la oferta: {min_deal_amount}",
+ "enabled": "Habilitado: {enabled}",
+ "auto_disable_time": "Hora de desactivación automática: {auto_disable_time}",
+ "acceptable_collateral": "Garantía aceptable: {acceptable_collateral}",
+ "acceptable_borrowers": "Prestatarios aceptables: {acceptable_borrowers}",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Crea una nueva oferta de crédito. "
+ },
+ "credit_offer_delete": {
+ "method": "Eliminar oferta de crédito",
+ "title": "Solicitud de eliminación de oferta de crédito",
+ "result": "Oferta de crédito eliminar resultado",
+ "headers": {
+ "request": "¿Eliminar la siguiente oferta de crédito?",
+ "result": "Se eliminó la siguiente oferta de crédito:"
+ },
+ "rows": {
+ "owner_account": "Cuenta de propietario: {owner_account} ({owner_accountOP})",
+ "offer_id": "ID de oferta: {offer_id}",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Eliminar una oferta de crédito."
+ },
+ "credit_offer_update": {
+ "method": "Actualización de oferta de crédito",
+ "title": "Solicitud de actualización de oferta de crédito",
+ "result": "Resultado de actualización de oferta de crédito",
+ "headers": {
+ "request": "¿Actualizar la siguiente oferta de crédito?",
+ "result": "Se actualizó la siguiente oferta de crédito:"
+ },
+ "rows": {
+ "owner_account": "Cuenta de propietario: {owner_account} ({owner_accountOP})",
+ "offer_id": "ID de oferta: {offer_id}",
+ "delta_amount": "Importe delta: {delta_amount}",
+ "fee_rate": "Tarifa: {fee_rate}",
+ "max_duration_seconds": "Segundos de duración máxima: {max_duration_seconds}",
+ "min_deal_amount": "Importe mínimo de la oferta: {min_deal_amount}",
+ "enabled": "Habilitado: {enabled}",
+ "auto_disable_time": "Hora de desactivación automática: {auto_disable_time}",
+ "acceptable_collateral": "Garantía aceptable: {acceptable_collateral}",
+ "acceptable_borrowers": "Prestatarios aceptables: {acceptable_borrowers}",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Actualizar una oferta de crédito"
+ },
+ "credit_offer_accept": {
+ "method": "Oferta de crédito aceptar",
+ "title": "Oferta de crédito aceptar solicitud",
+ "result": "Oferta de crédito aceptar resultado",
+ "headers": {
+ "request": "¿Aprueba la siguiente oferta de crédito?",
+ "result": "Se aprobó la siguiente oferta de crédito:"
+ },
+ "rows": {
+ "borrower": "Prestatario: {borrower} ({borrowerOP})",
+ "offer_id": "ID de oferta: {offer_id}",
+ "borrow_amount": "Monto del préstamo: {borrow_amount}",
+ "collateral": "Garantía: {collateral}",
+ "max_fee_rate": "Tarifa máxima: {max_fee_rate}",
+ "min_duration_seconds": "Segundos de duración mínima: {min_duration_seconds}",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Acepte una oferta de crédito y cree un acuerdo de crédito."
+ },
+ "credit_deal_repay": {
+ "method": "Reembolso del acuerdo de crédito",
+ "title": "Solicitud de reembolso de oferta de crédito",
+ "result": "Resultado del reembolso del acuerdo de crédito",
+ "headers": {
+ "request": "¿Pagar el siguiente acuerdo de crédito?",
+ "result": "Usted pagó el siguiente acuerdo de crédito"
+ },
+ "rows": {
+ "account": "Cuenta: {account} ({accountOP})",
+ "deal_id": "ID de oferta: {deal_id}",
+ "repay_amount": "Importe de reembolso: {repay_amount}",
+ "credit_fee": "Tarifa de crédito: {credit_fee}",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Pagar un acuerdo de crédito."
+ },
+ "liquidity_pool_update_operation": {
+ "method": "Actualización del fondo de liquidez",
+ "title": "Solicitud de actualización del fondo de liquidez",
+ "result": "Resultado de la actualización del fondo de liquidez",
+ "headers": {
+ "request": "¿Actualizar el siguiente fondo de liquidez?",
+ "result": "Se actualizó el siguiente fondo de liquidez:"
+ },
+ "rows": {
+ "owner_account": "Cuenta de propietario: {owner_account} ({owner_accountOP})",
+ "pool_id": "ID de grupo: {pool_id}",
+ "new_parameters": "Nuevos parámetros: {new_parameters}",
+ "extensions": "Extensiones: {extensions}",
+ "fee": "Tarifa estimada: {fee}"
+ },
+ "tooltip": "Actualizar un fondo de liquidez"
+ },
+ "credit_deal_update_operation": {
+ "method": "Actualización de la oferta de crédito",
+ "title": "Solicitud de actualización de oferta de crédito",
+ "result": "Resultado de la actualización de la oferta de crédito",
+ "headers": {
+ "request": "¿Actualizar la siguiente oferta de crédito?",
+ "result": "Se actualizó la siguiente oferta de crédito:"
+ },
+ "rows": {
+ "fee": "Tarifa estimada: {fee}",
+ "account": "Cuenta: {account} ({accountOP})",
+ "deal_id": "ID de oferta: {deal_id}",
+ "auto_repay": "Pago automático: {auto_repay}"
+ },
+ "tooltip": "Actualizar una oferta de crédito"
+ },
+ "limit_order_update_operation": {
+ "method": "Actualización de orden límite",
+ "title": "Solicitud de actualización de orden limitada",
+ "result": "Resultado de actualización de orden limitada",
+ "headers": {
+ "request": "¿Actualizar la siguiente orden límite?",
+ "result": "Se actualizó la siguiente orden límite:"
+ },
+ "rows": {
+ "fee": "Tarifa estimada: {fee}",
+ "seller": "Vendedor: {seller} ({sellerOP})",
+ "order": "Orden {order}",
+ "new_price": "Nuevo precio: {new_price}",
+ "delta_amount_to_sell": "Monto delta para vender: {delta_amount_to_sell}",
+ "new_expiration": "Nuevo vencimiento: {new_expiration}",
+ "on_fill": "Al completar: {on_fill}",
+ "extensions": "Extensiones: {extensions}"
+ },
+ "tooltip": "Actualizar una orden límite"
+ }
+ },
"EOS": {
"setalimits": {
"method": "Establecer límites de cuenta",
diff --git a/src/translations/operations/et.json b/src/translations/operations/et.json
index 390b5d42..79a2d205 100644
--- a/src/translations/operations/et.json
+++ b/src/translations/operations/et.json
@@ -100,6 +100,1444 @@
"reject_btn": "Ignoreeri"
},
"injected": {
+ "BTS": {
+ "getAccount": {
+ "method": "hankige konto",
+ "title": "Konto üksikasjade taotlus",
+ "result": "Konto üksikasjade tulemus",
+ "headers": {
+ "request": "Kas soovite oma konto andmeid jagada?",
+ "result": "Teie konto üksikasju jagati."
+ },
+ "tooltip": "Küsib teie rahakotilt plokiahela konto üksikasju"
+ },
+ "requestSignature": {
+ "method": "taotlusallkiri",
+ "title": "Allkirjataotlus",
+ "result": "Allkirja tulemus",
+ "headers": {
+ "request": "Kas soovite oma allkirja jagada?",
+ "result": "Teie allkirja jagati:"
+ },
+ "tooltip": "Küsib teie rahakotilt plokiahela allkirju"
+ },
+ "injectedCall": {
+ "method": "süstitud Helista",
+ "title": "Süstitud kõne taotlus",
+ "result": "Süstitud kõne tulemus",
+ "headers": {
+ "request": "Kas kinnitada järgmine süstitud kõne?",
+ "result": "Järgmine süstitud kõne kiideti heaks:"
+ },
+ "tooltip": "Palub teie rahakotil süstitud plokiahela operatsiooniga hakkama saada"
+ },
+ "voteFor": {
+ "method": "hääletama poolt",
+ "title": "Hääletustaotlus",
+ "result": "Hääletustulemus",
+ "headers": {
+ "request": "Kas kinnitada järgmine hääletustaotlus?",
+ "result": "Kiideti heaks järgmine hääletustaotlus"
+ },
+ "tooltip": "Tehke plokiahela hääletus"
+ },
+ "signMessage": {
+ "method": "märk Sõnum",
+ "title": "Kirjutage sõnumitaotlus alla",
+ "result": "Allkiri Sõnumi tulemus",
+ "headers": {
+ "request": "Kas nõustuda järgmise sõnumi allkirjastamisega?",
+ "result": "Allkirjastati järgmine teade:"
+ },
+ "tooltip": "Allkirjastage plokiahelapõhine sõnum"
+ },
+ "signNFT": {
+ "method": "märkNFT",
+ "title": "Allkirjastage NFT taotlus",
+ "result": "Allkirjastage NFT tulemus",
+ "headers": {
+ "request": "Kas nõustuda järgmise NFT allkirjastamisega?",
+ "result": "Allkirjastati järgmine NFT:"
+ },
+ "tooltip": "Allkirjastage NFT-i sisu"
+ },
+ "verifyMessage": {
+ "method": "kinnita sõnum",
+ "title": "Kinnitage sõnumitaotlus",
+ "result": "Kinnitage sõnumi tulemus",
+ "headers": {
+ "request": "Kas soovite kinnitada järgmist sõnumit?",
+ "result": "Järgmine teade kinnitati:"
+ },
+ "tooltip": "Kinnitage plokiahelapõhine allkirjastatud sõnum"
+ },
+ "transfer": {
+ "method": "Ülekanne",
+ "title": "Ülekandmise taotlus",
+ "result": "Ülekande tulemus",
+ "headers": {
+ "request": "Kas soovite kinnitada järgmise ülekandetaotluse?",
+ "result": "Järgmine ülekandetaotlus kinnitati:"
+ },
+ "rows": {
+ "from": "Saatja: {from} ({opFrom})",
+ "to": "Saaja: {to} ({opTo})",
+ "amount": "Summa: {amount}"
+ },
+ "tooltip": "Saatke varasid ühelt kontolt teisele"
+ },
+ "limit_order_create": {
+ "method": "Limiittellimuse loomine",
+ "title": "Piiratud tellimuse loomise taotlus",
+ "result": "Limiittellimus loo tulemuse",
+ "headers": {
+ "request": "Kas kinnitada järgmine piirtellimuse loomise taotlus?",
+ "result": "Loodi järgmine limiittellimus:"
+ },
+ "rows": {
+ "trade": "Kaubandus",
+ "tradeFK": "Kaubelda (täitke või tapke)",
+ "seller": "Müüja: {seller} ({opSeller})",
+ "selling": "Müük: {amount}",
+ "buying": "Ostmine: {amount}",
+ "price": "Hind: {price} {sellSymbol}/{buySymbol}"
+ },
+ "tooltip": "Pakkumine müüa teatud summa vara kindlaksmääratud vahetuskursiga teatud ajaks"
+ },
+ "limit_order_cancel": {
+ "method": "Piiratud tellimuse tühistamine",
+ "title": "Piiratud tellimuse tühistamise taotlus",
+ "result": "Limiittellimuse tühistamise tulemus",
+ "headers": {
+ "request": "Kas tühistada järgmine limiittellimus?",
+ "result": "Järgmine limiittellimus tühistati:"
+ },
+ "rows": {
+ "id": "Tellimuse ID: {id}",
+ "fees": "Hinnangulised tasud: {fees}",
+ "account": "Tasu maksmise konto: {account}"
+ },
+ "tooltip": "Limiittellimuse toimingu tühistamine"
+ },
+ "call_order_update": {
+ "method": "Helistamistellimuse värskendus",
+ "title": "Helista tellimuse värskendamise taotlus",
+ "result": "Helista tellimuse värskendamise tulemus",
+ "headers": {
+ "request": "Kas uuendada oma kõnejärjestust järgmisele?",
+ "result": "Järgmist kõnejärjekorda värskendati:"
+ },
+ "rows": {
+ "funding_account": "Rahastamiskonto: {funding_account}",
+ "delta_collateral": "Delta tagatis: {delta_collateral} ({id})",
+ "delta_debt": "Delta võlg: {delta_debt} ({id})",
+ "fees": "Hinnangulised tasud: {fees}"
+ },
+ "tooltip": "Olemasoleva kõnetellimuse värskendamine"
+ },
+ "account_create": {
+ "method": "Konto loomine",
+ "title": "Konto loomise taotlus",
+ "result": "Konto loomise tulemus",
+ "headers": {
+ "request": "Kas soovite luua järgmise konto?",
+ "result": "Loodi järgmine konto:"
+ },
+ "rows": {
+ "registrar": "Registripidaja: {registrar} ({opRegistrar})",
+ "referrer": "Viitaja: {referrer} ({opReferrer})",
+ "referrer_percent": "Viitaja protsent: {referrer_percent}",
+ "name": "Nimi: {name}",
+ "ownerHeader": "Omanik:",
+ "activeHeader": "Aktiivne:",
+ "weight_threshold": "Kaalulävi: {weight_threshold}",
+ "account_auths": "Konto autentimised: {account_auths}",
+ "key_auths": "Võtmete autentimised: {key_auths}",
+ "address_auths": "Aadresside autentimised: {address_auths}",
+ "optionsHeader": "Valikud:",
+ "memo_key": "Memovõti: {memo_key}",
+ "voting_account": "Hääletuskonto: {voting_account} ({opVotingAccount})",
+ "num_witness": "Tunnistajate arv: {num_witness}",
+ "num_committee": "Komisjoni liikmete arv: {num_committee}",
+ "votes": "Hääled: {hääli}",
+ "extensions": "Laiendused: {extensions}",
+ "fees": "Hinnangulised tasud: {fees}"
+ },
+ "tooltip": "Uue konto loomine"
+ },
+ "account_update": {
+ "method": "Konto värskendus",
+ "title": "Konto värskendamise taotlus",
+ "result": "Konto värskendamise tulemus",
+ "headers": {
+ "request": "Kas soovite värskendada järgmist kontot?",
+ "result": "Järgmist kontot värskendati:"
+ },
+ "rows": {
+ "warning": "Hoiatus: see toiming on pöördumatu!",
+ "account": "Konto: {account} ({opAccount})",
+ "owner": "Omanik: {owner}",
+ "active": "Aktiivne: {active}",
+ "new_options": "Uued valikud: {new_options}",
+ "extensions": "Laiendused: {extensions}",
+ "fees": "Hinnanguline tasu: {fees}"
+ },
+ "tooltip": "Seda toimingut kasutatakse olemasoleva konto värskendamiseks. "
+ },
+ "account_whitelist": {
+ "method": "Kontode lubatud loend",
+ "title": "Konto lubatud nimekirja taotlus",
+ "result": "Konto valge nimekirja tulemus",
+ "headers": {
+ "request": "Kas värskendada oma konto lubatud loendit järgmiselt?",
+ "result": "Teie konto lubatud loend värskendati järgmiseks:"
+ },
+ "rows": {
+ "authorizing_account": "Konto volitamine: {authorizingAccount} (authorizingAccountOP)",
+ "account_to_list": "Loendisse lisatav konto: {accountToList} (accountToListOP)",
+ "new_listing": "Uus kirje: {newListing}",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Tasu: {fee}"
+ },
+ "tooltip": "Seda toimingut kasutatakse kontode valgesse ja musta nimekirja lisamiseks, peamiselt lubatud nimekirja kantud varadega tehingute tegemiseks"
+ },
+ "account_upgrade": {
+ "method": "Konto täiendamine",
+ "title": "Konto täiendamise taotlus",
+ "result": "Konto täiendamise tulemus",
+ "headers": {
+ "request": "Kas uuendada oma konto eluaegseks liikmeks?",
+ "result": "Teie konto täiendati eluaegseks liikmeks!"
+ },
+ "rows": {
+ "account_to_upgrade": "Uuendatav konto: {accountToUpgrade} (accountToUpgradeOP)",
+ "upgrade_to_lifetime_member": "Uuenda eluaegseks liikmeks: {upgradeToLifetimeMember}",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Seda toimingut kasutatakse konto üleviimiseks liikmeks või selle tellimuse uuendamiseks."
+ },
+ "account_transfer": {
+ "method": "Konto ülekandmine",
+ "title": "Konto ülekandmise taotlus",
+ "result": "Konto ülekande tulemus",
+ "headers": {
+ "request": "Kas teisaldada konto uuele omanikule?",
+ "result": "Järgmine konto kanti üle uuele omanikule:"
+ },
+ "rows": {
+ "warning": "Hoiatus: see toiming on pöördumatu!",
+ "account_id": "Konto ID: {originalOwner} ({account_id})",
+ "new_owner": "Uus omanik: {newOwner} ({newOwnerOP})",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Teisaldab konto teisele kontole, kustutades samal ajal valge nimekirja"
+ },
+ "asset_create": {
+ "method": "Vara loomine",
+ "title": "Vara loomise taotlus",
+ "result": "Vara loomise tulemus",
+ "headers": {
+ "request": "Kas luua järgmine vara?",
+ "result": "Loodi järgmine vara:"
+ },
+ "rows": {
+ "symbol": "Sümbol: {symbol}",
+ "main": "Peamine: {main}",
+ "market": "Turg: {market}",
+ "short_name": "Lühike nimi: {short_name}",
+ "precision": "Täpsus: {täpsus}",
+ "max_supply": "Maksimaalne pakkumine: {max_supply}",
+ "market_fee_percent": "Turutasu protsent: {market_fee_percent}",
+ "max_market_fee": "Maksimaalne turutasu: {max_market_fee}",
+ "cer": "Põhilised vahetuskursid:",
+ "cer_base_amount": "Baassumma: {cer_base_amount}",
+ "cer_base_id": "Põhivara ID: {cer_base_id}",
+ "cer_quote_amount": "Pakkumise summa: {cer_quote_amount}",
+ "cer_quote_id": "Pakkumise vara ID: {cer_quote_id}",
+ "whitelist_authorities": "Lubatud nimekirja asutused: {whitelist_authorities}",
+ "blacklist_authorities": "Musta nimekirja asutused: {blacklist_authorities}",
+ "whitelist_markets": "Lubatud turud: {whitelist_markets}",
+ "blacklist_markets": "Musta nimekirja turud: {blacklist_markets}",
+ "is_prediction_market": "Kas ennustuste turg: {is_prediction_market}",
+ "permissions": "Load:",
+ "perm_charge_market_fee": "Võtke turutasu: {charge_market_fee}",
+ "perm_white_list": "Valge nimekiri: {white_list}",
+ "perm_override_authority": "Autoriteedi alistamine: {override_authority}",
+ "perm_transfer_restricted": "Ülekandmine on piiratud: {transfer_restricted}",
+ "perm_disable_confidential": "Keela konfidentsiaalne: {disable_confidential}",
+ "flags": "Lipud:",
+ "flag_charge_market_fee": "Võtke turutasu: {charge_market_fee}",
+ "flag_white_list": "Valge nimekiri: {white_list}",
+ "flag_override_authority": "Autoriteedi alistamine: {override_authority}",
+ "flag_transfer_restricted": "Ülekandmine on piiratud: {transfer_restricted}",
+ "flag_disable_confidential": "Keela konfidentsiaalne: {disable_confidential}",
+ "bitasset": "Bitasset teave:",
+ "feed_lifetime_sec": "Voo eluiga (sekundites): {feed_lifetime_sec}",
+ "force_settlement_delay_sec": "Sundlahenduse viivitus (sekundites): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "Sundlahenduse nihke protsent: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "Maksimaalne jõuga kokkuleppe maht: {maximum_force_settlement_volume}",
+ "minimum_feeds": "Miinimumvood: {minimum_feeds}",
+ "short_backing_asset": "Lühike tagavara: {short_backing_asset}",
+ "nft": "NFT sisu:",
+ "acknowledgements": "Tänuavaldused: {acnowledgements}",
+ "artist": "Kunstnik: {artist}",
+ "attestation": "Tõend: {attestation}",
+ "holder_license": "Omaniku litsents: {holder_license}",
+ "license": "Litsents: {license}",
+ "narrative": "Narratiiv: {narrative}",
+ "title": "Pealkiri: {title}",
+ "tags": "Sildid: {tags}",
+ "type": "Tüüp: {type}"
+ },
+ "tooltip": "Loob Bitsharesi plokiahelas vara"
+ },
+ "asset_update": {
+ "method": "Vara värskendus",
+ "title": "Varade värskendamise taotlus",
+ "result": "Vara värskendamise tulemus",
+ "headers": {
+ "request": "Kas värskendada järgmist vara?",
+ "result": "Vara värskendati järgmiste üksikasjadega:"
+ },
+ "rows": {
+ "symbol": "Sümbol: {symbol}",
+ "main": "Peamine: {main}",
+ "market": "Turg: {market}",
+ "short_name": "Lühike nimi: {short_name}",
+ "precision": "Täpsus: {täpsus}",
+ "max_supply": "Maksimaalne pakkumine: {max_supply}",
+ "market_fee_percent": "Turutasu protsent: {market_fee_percent}",
+ "max_market_fee": "Maksimaalne turutasu: {max_market_fee}",
+ "cer": "Põhilised vahetuskursid:",
+ "cer_base_amount": "Baassumma: {cer_base_amount}",
+ "cer_base_id": "Põhivara ID: {cer_base_id}",
+ "cer_quote_amount": "Pakkumise summa: {cer_quote_amount}",
+ "cer_quote_id": "Pakkumise vara ID: {cer_quote_id}",
+ "whitelist_authorities": "Lubatud nimekirja asutused: {whitelist_authorities}",
+ "blacklist_authorities": "Musta nimekirja asutused: {blacklist_authorities}",
+ "whitelist_markets": "Lubatud turud: {whitelist_markets}",
+ "blacklist_markets": "Musta nimekirja turud: {blacklist_markets}",
+ "is_prediction_market": "Kas ennustuste turg: {is_prediction_market}",
+ "permissions": "Load:",
+ "perm_charge_market_fee": "Võtke turutasu: {charge_market_fee}",
+ "perm_white_list": "Valge nimekiri: {white_list}",
+ "perm_override_authority": "Autoriteedi alistamine: {override_authority}",
+ "perm_transfer_restricted": "Ülekandmine on piiratud: {transfer_restricted}",
+ "perm_disable_confidential": "Keela konfidentsiaalne: {disable_confidential}",
+ "flags": "Lipud:",
+ "flag_charge_market_fee": "Võtke turutasu: {charge_market_fee}",
+ "flag_white_list": "Valge nimekiri: {white_list}",
+ "flag_override_authority": "Autoriteedi alistamine: {override_authority}",
+ "flag_transfer_restricted": "Ülekandmine on piiratud: {transfer_restricted}",
+ "flag_disable_confidential": "Keela konfidentsiaalne: {disable_confidential}",
+ "bitasset": "Bitasset teave:",
+ "feed_lifetime_sec": "Voo eluiga (sekundites): {feed_lifetime_sec}",
+ "force_settlement_delay_sec": "Sundlahenduse viivitus (sekundites): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "Sundlahenduse nihke protsent: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "Maksimaalne jõuga kokkuleppe maht: {maximum_force_settlement_volume}",
+ "minimum_feeds": "Miinimumvood: {minimum_feeds}",
+ "short_backing_asset": "Lühike tagavara: {short_backing_asset}",
+ "nft": "NFT sisu:",
+ "acknowledgements": "Tänuavaldused: {acnowledgements}",
+ "artist": "Kunstnik: {artist}",
+ "attestation": "Tõend: {attestation}",
+ "holder_license": "Omaniku litsents: {holder_license}",
+ "license": "Litsents: {license}",
+ "narrative": "Narratiiv: {narrative}",
+ "title": "Pealkiri: {title}",
+ "tags": "Sildid: {tags}",
+ "type": "Tüüp: {type}"
+ },
+ "tooltip": "Värskendab vara seadeid"
+ },
+ "asset_update_bitasset": {
+ "method": "Varavärskenduse bitasset",
+ "title": "Vara värskenduse bitasset taotlus",
+ "result": "Vara värskenduse bitasset tulemus",
+ "headers": {
+ "request": "Kas kinnitada bitassettide värskendus?",
+ "result": "Järgmine bitasset värskendus kiideti heaks:"
+ },
+ "rows": {
+ "issuer": "Väljaandja: {issuer}",
+ "asset_to_update": "Värskendatav vara: {asset_to_update}",
+ "new_options": "Uued valikud:",
+ "feed_lifetime_sec": "Voo eluiga (sekundites): {feed_lifetime_sec}",
+ "minimum_feeds": "Miinimumvood: {minimum_feeds}",
+ "force_settlement_delay_sec": "Sundlahenduse viivitus (sekundites): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "Sundlahenduse nihke protsent: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "Maksimaalne jõuga kokkuleppe maht: {maximum_force_settlement_volume}",
+ "short_backing_asset": "Lühike tagavara: {symbol} ({short_backing_asset})",
+ "extensions": "Laiendused: {extensions}",
+ "noExtensions": "Laiendusi pole",
+ "fee": "Hinnanguline tasu: {fee} ({id})"
+ },
+ "tooltip": "Värskendage loodud bitasset seadeid"
+ },
+ "asset_update_feed_producers": {
+ "method": "Varade värskenduste voo tootjad",
+ "title": "Varade värskenduste vootootjate taotlus",
+ "result": "Varavärskenduste vootootjate tulemus",
+ "headers": {
+ "request": "Kas kiita bitasset söödatootjate muudatus heaks?",
+ "result": "Kiideti heaks järgmine bitasset söödatootjate muudatus:"
+ },
+ "rows": {
+ "issuer": "Väljaandja: {issuer} ({issuerOP})",
+ "asset_to_update": "Värskendatav vara: {symbol} ({asset_to_update})",
+ "new_feed_producers": "Uued vootootjad: {new_feed_producers}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Värskendage loodud bitivarade heakskiidetud söödatootjate loendit"
+ },
+ "asset_issue": {
+ "method": "Vara probleem",
+ "title": "Varade väljastamise taotlus",
+ "result": "Varade väljastamise tulemus",
+ "headers": {
+ "request": "Kas kinnitada järgmine varade emiteerimine?",
+ "result": "Kiideti heaks järgmine varade emiteerimine:"
+ },
+ "rows": {
+ "prompt": "Kas anda välja {amount} {symbol} ({assetID}) kasutajale {to} ({toID})?",
+ "fee": "Hinnanguline tasu: {fee} ({id})"
+ },
+ "tooltip": "Väljasta oma loodud varad üksikisikutele"
+ },
+ "asset_reserve": {
+ "method": "Varade reserv",
+ "title": "Varade reservi taotlus",
+ "result": "Varade reservi tulemus",
+ "headers": {
+ "request": "Kas kinnitada järgmine varade broneering?",
+ "result": "Järgmine varareservatsioon kinnitati:"
+ },
+ "rows": {
+ "payer": "Maksja: {payer} ({payerOP})",
+ "amount_to_reserve": "Reserveeritav summa: {amount_to_reserve} ({amount_to_reserveOP})",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Broneerige loodud varad"
+ },
+ "asset_fund_fee_pool": {
+ "method": "Varafondi tasu kogum",
+ "title": "Varafondi tasu kogumistaotlus",
+ "result": "Varafondi tasu kogumi tulemus",
+ "headers": {
+ "request": "Kas rahastada järgmise vara tasude kogumit?",
+ "result": "Kinnitati järgmise vara tasude kogumi rahastamine:"
+ },
+ "rows": {
+ "from_account": "Kontolt: {from_account} ({from_accountOP})",
+ "asset": "Vara: {asset} ({assetOP})",
+ "amount": "Summa: {amount}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Rahastage loodud vara tasufondi"
+ },
+ "asset_settle": {
+ "method": "Varade arveldamine",
+ "title": "Varade arveldustaotlus",
+ "result": "Varade arvelduse tulemus",
+ "headers": {
+ "request": "Arveldada järgmine vara selle tagatistagatiseks?",
+ "result": "Tagatistagatiseks arveldati järgmine vara:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "amount": "Summa: {amount} ({assetID})",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Arveldage oma portfellis vara"
+ },
+ "asset_global_settle": {
+ "method": "Varade ülemaailmne arveldamine",
+ "title": "Varade globaalne arveldustaotlus",
+ "result": "Varade globaalse arvelduse tulemus",
+ "headers": {
+ "request": "Kas teha järgmise vara ülemaailmne arveldus?",
+ "result": "Ülemaailmselt arveldati järgmine vara:"
+ },
+ "rows": {
+ "issuer": "Väljaandja: {issuer} ({issuerOP})",
+ "asset_to_settle": "Arveldatav vara: {asset_to_settle} ({asset_to_settleOP})",
+ "settle_price": "Lepingu hind: {settle_price}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Arveldage globaalselt üks oma loodud bitivaradest"
+ },
+ "asset_publish_feed": {
+ "method": "Varade avaldamise voog",
+ "title": "Vara avaldamise voo taotlus",
+ "result": "Vara avaldamise voo tulemus",
+ "headers": {
+ "request": "Kas avaldada järgmise vara hinnavoog?",
+ "result": "Avaldati järgmine varahinna voo värskendus:"
+ },
+ "rows": {
+ "publisher": "Väljaandja: {publisher} ({publisherOP})",
+ "asset_id": "Vara ID: {symbol} ({asset_idOP})",
+ "feed": "Sööt:",
+ "core_exchange_rate": "Põhivahetuskurss: {core_exchange_rate}",
+ "settlement_price": "Lõpphind: {settlement_price}",
+ "maintenance_collateral_ratio": "Hooldustagatise suhe: {maintenance_collateral_ratio}",
+ "maximum_short_squeeze_ratio": "Maksimaalne lühike pigistussuhe: {maximum_short_squeeze_ratio}",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Avaldage bitassetile hinnavoog"
+ },
+ "witness_create": {
+ "method": "Tunnistaja loo",
+ "title": "Tunnistaja loo taotluse",
+ "result": "Tunnistaja loob tulemuse",
+ "headers": {
+ "request": "Kas luua tunnistaja järgmiste üksikasjadega?",
+ "result": "Loodi järgmine tunnistaja:"
+ },
+ "rows": {
+ "witness_account": "Tunnistaja konto: {witness_account} ({witness_accountOP})",
+ "url": "URL: {url}",
+ "block_signing_key": "Blokeeri allkirjastamisvõti: {block_signing_key}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Looge tunnistaja konto"
+ },
+ "witness_update": {
+ "method": "Tunnistaja värskendus",
+ "title": "Tunnistaja värskenduse taotlus",
+ "result": "Tunnistaja värskenduse tulemus",
+ "headers": {
+ "request": "Kas uuendada tunnistaja üksikasju järgmistele?",
+ "result": "Järgmisi tunnistajate andmeid värskendati:"
+ },
+ "rows": {
+ "witness": "Tunnistaja: {witness}",
+ "witness_account": "Tunnistaja konto: {witness_account} ({witness_accountOP})",
+ "new_url": "Uus URL: {new_url}",
+ "new_signing_key": "Uus allkirjastamisvõti: {new_signing_key}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Värskendage oma tunnistaja kontot"
+ },
+ "proposal_create": {
+ "method": "Ettepanek luua",
+ "title": "Ettepaneku loomise taotlus",
+ "result": "Ettepanek luua tulemus",
+ "headers": {
+ "request": "Kas luua järgmine ettepanek?",
+ "result": "Koostati järgmine ettepanek:"
+ },
+ "rows": {
+ "expiration_time": "Aegumisaeg: {expiration_time}",
+ "proposed_ops": "Kavandatud toimingud: {proposed_ops}",
+ "review_period_seconds": "Ülevaatusperioodi sekundid: {review_period_seconds}",
+ "fee_paying_account": "Tasu maksmise konto: {fee_paying_account} ({fee_paying_accountOP})",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Looge plokiahela toimimise ettepanek"
+ },
+ "proposal_update": {
+ "method": "Ettepaneku värskendamine",
+ "title": "Ettepaneku värskendamise taotlus",
+ "result": "Ettepaneku värskendamise tulemus",
+ "headers": {
+ "request": "Kas värskendada järgmist ettepanekut?",
+ "result": "Järgmist ettepanekut ajakohastati:"
+ },
+ "rows": {
+ "proposal": "Ettepanek: {proposal}",
+ "active_approvals_to_add": "Lisatavad aktiivsed kinnitused: {active_approvals_to_add}",
+ "active_approvals_to_remove": "Aktiivsed eemaldatavad kinnitused: {active_approvals_to_remove}",
+ "owner_approvals_to_add": "Omaniku kinnitused lisamiseks: {owner_approvals_to_add}",
+ "owner_approvals_to_remove": "Omaniku kinnitused eemaldamiseks: {owner_approvals_to_remove}",
+ "key_approvals_to_add": "Lisatavad võtmekinnitused: {key_approvals_to_add}",
+ "key_approvals_to_remove": "Eemaldatavad võtmekinnitused: {key_approvals_to_remove}",
+ "fee_paying_account": "Tasu maksmise konto: {fee_paying_account} ({fee_paying_accountOP})",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Värskendage plokiahela toimimise ettepanekut"
+ },
+ "proposal_delete": {
+ "method": "Ettepanek kustutada",
+ "title": "Ettepaneku kustutamise taotlus",
+ "result": "Ettepanek kustutada tulemus",
+ "headers": {
+ "request": "Kas kustutada järgmine ettepanek?",
+ "result": "Järgmine ettepanek jäeti välja:"
+ },
+ "rows": {
+ "using_owner_authority": "Omaniku volituse kasutamine: {using_owner_authority}",
+ "proposal": "Ettepanek: {proposal}",
+ "fee_paying_account": "Tasu maksmise konto: {fee_paying_account} ({fee_paying_accountOP})",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Kustutage plokiahela toimimise ettepanek"
+ },
+ "withdraw_permission_create": {
+ "method": "Loo loa tühistamine",
+ "title": "Tühista loa loomise taotlus",
+ "result": "Tühista luba ja loo tulemus",
+ "headers": {
+ "request": "Otsekorralduse autoriseerimine",
+ "result": "Järgmine otsekorralduse autoriseerimine kiideti heaks:"
+ },
+ "rows": {
+ "recipient": "Saaja: {recipient} ({recipientOP})",
+ "withdraw_from": "Konto, millelt raha välja võtta: {withdraw_from} ({withdraw_fromOP})",
+ "taking": "Võtke {amount} iga {period_sec} sekundi järel {period_qty} perioodi jooksul",
+ "start": "Algus: {start}"
+ },
+ "tooltip": "Looge tagasivõtmise luba"
+ },
+ "withdraw_permission_update": {
+ "method": "Tühista loa värskendus",
+ "title": "Võta loa värskendamise taotlus tagasi",
+ "result": "Tühista loa värskenduse tulemus",
+ "headers": {
+ "request": "Kas värskendada tunnistajate õigusi järgmistele?",
+ "result": "Järgmised tunnistajalubade uuendused kiideti heaks:"
+ },
+ "rows": {
+ "withrdaw_from_account": "Eemaldage kontolt: {withrdaw_from_account} ({withrdaw_from_accountOP})",
+ "authorized_account": "Volitatud konto: {authorized_account} ({authorized_accountOP})",
+ "permission_to_update": "Värskendamise luba: {permission_to_update}",
+ "withdrawal_limited": "Väljavõtmise limiit: {withdrawal_limit}",
+ "withdrawal_unlimited": "Väljavõtmise limiit: {withdrawal_limit} ({withdrawal_limitOP})",
+ "withdrawal_period_sec": "Taganemisperiood (sekundites): {withdrawal_period_sec}",
+ "period_start_time": "Perioodi algusaeg: {period_start_time}",
+ "periods_until_expiration": "Period kuni aegumiseni: {periods_until_expiration}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Värskendage tühistamisluba"
+ },
+ "withdraw_permission_claim": {
+ "method": "Võta loanõue tagasi",
+ "title": "Võta loataotlus tagasi",
+ "result": "Tühista loanõude tulemus",
+ "headers": {
+ "request": "Taotlege järgmist taganemisluba",
+ "result": "Taotleti järgmist taganemisluba:"
+ },
+ "rows": {
+ "withdraw_permission": "Luba tühistamine: {withdraw_permission}",
+ "withdraw_from_account": "Eemalda kontolt: {withdraw_from_account} ({withdraw_from_accountOP})",
+ "withdraw_to_account": "Kontole väljavõtmine: {withdraw_to_account} ({withdraw_to_accountOP})",
+ "amount_to_withdraw": "Väljamakstav summa: {amount_to_withdraw} ({amount_to_withdrawOP})",
+ "memo": "Memo: {memo}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Nõue tagasivõtmise loa alusel"
+ },
+ "withdraw_permission_delete": {
+ "method": "Tühista luba kustutada",
+ "title": "Tühista loa kustutamistaotlus",
+ "result": "Tühista loa kustutamise tulemus",
+ "headers": {
+ "request": "Kas kustutada järgmine tagasivõtmise luba?",
+ "result": "Järgmine tagasivõtmise luba kustutati:"
+ },
+ "rows": {
+ "withdraw_from_account": "Eemalda kontolt: {withdraw_from_account} ({withdraw_from_accountOP})",
+ "authorized_account": "Volitatud konto: {authorized_account} ({authorized_accountOP})",
+ "withdrawal_permission": "Väljavõtmise luba: {withdrawal_permission}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Kustutage tühistamisluba"
+ },
+ "committee_member_create": {
+ "method": "Komisjoni liige loob",
+ "title": "Komisjoni liige koostab taotluse",
+ "result": "Komisjoni liige loob tulemuse",
+ "headers": {
+ "request": "Kas luua komisjoni liige?",
+ "result": "Loodi järgmine komisjoni liige:"
+ },
+ "rows": {
+ "committee_member_account": "Komisjoni liikme konto: {committee_member_account} ({committee_member_accountOP})",
+ "url": "URL: {url}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Looge komisjoni liikme konto"
+ },
+ "committee_member_update": {
+ "method": "Komisjoni liikmete värskendus",
+ "title": "Komisjoni liikme värskendustaotlus",
+ "result": "Komisjoni liikme värskenduse tulemus",
+ "headers": {
+ "request": "Kas värskendada järgmisi komisjoniliikme andmeid?",
+ "result": "Kiideti heaks järgmised komisjoniliikmete üksikasjade värskendused:"
+ },
+ "rows": {
+ "committee_member": "Komisjoni liige: {committee_member}",
+ "committee_member_account": "Komisjoni liikme konto: {committee_member_account} ({committee_member_accountOP})",
+ "new_url": "Uus URL: {new_url}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Värskendage oma komitee liikme konto üksikasju"
+ },
+ "committee_member_update_global_parameters": {
+ "method": "Komisjoni liige värskendab globaalseid parameetreid",
+ "title": "Komisjoni liikme globaalsete parameetrite värskendamise taotlus",
+ "result": "Komisjoni liige värskendab globaalsete parameetrite tulemust",
+ "headers": {
+ "request": "Kas nõustute komisjonina globaalsete parameetrite järgimisega?",
+ "result": "Järgmised ülemaailmse komitee parameetrid kiideti heaks:"
+ },
+ "rows": {
+ "new_parameters": "Uued parameetrid:",
+ "current_fees": "Praegused tasud: {current_fees}",
+ "block_interval": "Blokeerimisintervall: {block_interval}",
+ "maintenance_interval": "Hooldusintervall: {maintenance_interval}",
+ "maintenance_skip_slots": "Hoolduse vahelejätmise pesad: {maintenance_skip_slots}",
+ "committee_proposal_review_period": "Komisjoni ettepanekute läbivaatamise periood: {committee_proposal_review_period}",
+ "maximum_transaction_size": "Tehingu maksimaalne suurus: {maximum_transaction_size}",
+ "maximum_block_size": "Maksimaalne ploki suurus: {maximum_block_size}",
+ "maximum_time_until_expiration": "Maksimaalne aeg aegumiseni: {maximum_time_until_expiration}",
+ "maximum_proposal_lifetime": "Ettepaneku maksimaalne eluiga: {maximum_proposal_lifetime}",
+ "maximum_asset_whitelist_authorities": "Maksimaalne varade lubatud nimekirja volitused: {maximum_asset_whitelist_authorities}",
+ "maximum_asset_feed_publishers": "Maksimaalne varavoo avaldajate arv: {maximum_asset_feed_publishers}",
+ "maximum_witness_count": "Maksimaalne tunnistajate arv: {maximum_witness_count}",
+ "maximum_committee_count": "Maksimaalne komisjonide arv: {maximum_committee_count}",
+ "maximum_authority_membership": "Maksimaalne volituste liikmelisus: {maximum_authority_membership}",
+ "reserve_percent_of_fee": "Tasu reservprotsent: {reserve_percent_of_fee}",
+ "network_percent_of_fee": "Võrgutasu protsent: {network_percent_of_fee}",
+ "lifetime_referrer_percent_of_fee": "Eluaegne viiteprotsent tasust: {lifetime_referrer_percent_of_fee}",
+ "cashback_vesting_period_seconds": "Raha tagasi saamise perioodi sekundid: {cashback_vesting_period_seconds}",
+ "cashback_vesting_threshold": "Raha tagasi saamise künnis: {cashback_vesting_threshold}",
+ "count_non_member_votes": "Mitteliikmete häälte loendus: {count_non_member_votes}",
+ "allow_non_member_whitelists": "Luba mitteliikmete valged nimekirjad: {allow_non_member_whitelists}",
+ "witness_pay_per_block": "Tunnistaja tasu ploki kohta: {witness_pay_per_block}",
+ "worker_budget_per_day": "Töötaja päevaeelarve: {worker_budget_per_day}",
+ "max_predicate_opcode": "Maksimaalne predikaadi opkood: {max_predicate_opcode}",
+ "fee_liquidation_threshold": "Tasu likvideerimislävi: {fee_liquidation_threshold}",
+ "accounts_per_fee_scale": "Kontod tasu skaala kohta: {accounts_per_fee_scale}",
+ "account_fee_scale_bitshifts": "Kontotasude skaala bitinihked: {account_fee_scale_bitshifts}",
+ "max_authority_depth": "Maksimaalne volituse sügavus: {max_authority_depth}",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Avaldage oma komitee liikme seisukoht Bitsharesi plokiahela globaalsete parameetrite väärtuste kohta"
+ },
+ "vesting_balance_create": {
+ "method": "Looge üleandmise tasakaal",
+ "title": "Üleandmise saldo loomise taotlus",
+ "result": "Omandi saldo loob tulemuse",
+ "headers": {
+ "request": "Kas luua järgmine üleandmise saldo?",
+ "result": "Loodi järgmine üleandmise saldo:"
+ },
+ "rows": {
+ "creator": "Looja: {creator} ({creatorOP})",
+ "owner": "Omanik: {owner} ({ownerOP})",
+ "amount": "Summa: {amount} ({asset_id})",
+ "policy": "Eeskirjad:",
+ "begin_timestamp": "Alguse ajatempel: {begin_timestamp}",
+ "vesting_cliff_seconds": "Kalju sekundite omandamine: {vesting_cliff_seconds}",
+ "vesting_duration_seconds": "Üleandmise kestus sekundites: {vesting_duration_seconds}",
+ "start_claim": "Alusta nõuet: {start_claim}",
+ "vesting_seconds": "Üleandmise sekundid: {vesting_seconds}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Looge omandamise saldo"
+ },
+ "vesting_balance_withdraw": {
+ "method": "Üleandmise saldo tagasivõtmine",
+ "title": "Üleandmise saldo tagasivõtmise taotlus",
+ "result": "Üleandmise saldo tühistamise tulemus",
+ "headers": {
+ "request": "Kas tühistada järgmine üleandmise saldo?",
+ "result": "Järgmine üleandmise saldo võeti tagasi:"
+ },
+ "rows": {
+ "owner": "Omanik: {owner} ({ownerOP})",
+ "claim": "Nõue: {claim} ({asset_id})"
+ },
+ "tooltip": "Üleandmisjäägist taganemine"
+ },
+ "worker_create": {
+ "method": "Töötaja loob",
+ "title": "Töötaja loo taotlus",
+ "result": "Töötaja loob tulemuse",
+ "headers": {
+ "request": "Kas luua järgmine töötaja ettepanek?",
+ "result": "Loodi järgmine töötaja ettepanek:"
+ },
+ "rows": {
+ "owner": "Omanik: {owner} ({ownerOP})",
+ "work_begin_date": "Töö alguskuupäev: {work_begin_date}",
+ "work_end_date": "Töö lõppkuupäev: {work_end_date}",
+ "daily_pay": "Päevatasu: {daily_pay}",
+ "name": "Nimi: {name}",
+ "url": "URL: {url}",
+ "initializer": "Initsialiseerija: {initializer}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Looge töötaja ettepanek"
+ },
+ "custom": {
+ "method": "Kohandatud",
+ "title": "Kohandatud taotlus",
+ "result": "Kohandatud tulemus",
+ "headers": {
+ "request": "Kas luua järgmine kohandatud toiming?",
+ "result": "Loodi järgmine kohandatud toiming:"
+ },
+ "rows": {
+ "payer": "Maksja: {payer} ({payerOP})",
+ "required_auths": "Nõutavad volitused: {required_auths}",
+ "id": "Ma tegin}",
+ "data": "Andmed: {data}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Pakub üldist viisi kõrgema taseme protokollide lisamiseks tunnistajate konsensuse peale"
+ },
+ "assert": {
+ "method": "Kinnitage",
+ "title": "Nõue kinnitada",
+ "result": "Kinnitage tulemus",
+ "headers": {
+ "request": "Kas kinnitada järgmine kinnitustaotluse toiming?",
+ "result": "Järgmine kinnitustaotluse toiming kinnitati:"
+ },
+ "rows": {
+ "fee_paying_account": "Tasu maksmise konto: {fee_paying_account} ({fee_paying_accountOP})",
+ "predicates": "Predikaadid: {predikaadid}",
+ "required_auths": "Nõutavad volitused: {required_auths}",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Kinnitage, et mõned tingimused on tõesed."
+ },
+ "balance_claim": {
+ "method": "Tasakaalunõue",
+ "title": "Saldonõude taotlus",
+ "result": "Saldonõude tulemus",
+ "headers": {
+ "request": "Kas taotleda järgmist saldot?",
+ "result": "Nõuti järgmine saldo:"
+ },
+ "rows": {
+ "deposit_to_account": "Deposiit kontole: {deposit_to_account} ({deposit_to_accountOP})",
+ "balance_to_claim": "Nõutav saldo: {balance_to_claim} ({asset_id})",
+ "balance_owner_key": "Saldo omaniku võti: {saldo_omaniku_võti}",
+ "total_claimed": "Nõude kogusumma: {total_claimed} ({asset_id})",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Nõue saldost"
+ },
+ "override_transfer": {
+ "method": "Ülekande tühistamine",
+ "title": "Alista ülekandetaotlus",
+ "result": "Alista ülekande tulemus",
+ "headers": {
+ "request": "Kas tühistada järgmine ülekanne?",
+ "result": "Järgmine ülekanne tühistati:"
+ },
+ "rows": {
+ "issuer": "Väljaandja: {issuer} ({issuerOP})",
+ "from": "Saatja: {from} ({fromOP})",
+ "to": "Saaja: {to} ({toOP})",
+ "amount": "Summa: {amount} ({asset_id})",
+ "memo": "Memo: {memo}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Edastustoimingu tühistamine"
+ },
+ "transfer_to_blind": {
+ "method": "Pimedaks üleviimine",
+ "title": "Üleminek pimedale taotlusele",
+ "result": "Ülekanne pimedale tulemusele",
+ "headers": {
+ "request": "Kas kanda järgmised asjad pimedatele?",
+ "result": "Pimedaks kanti üle järgmine:"
+ },
+ "rows": {
+ "amount": "Summa: {amount}",
+ "from": "Saatja: {from} ({fromOP})",
+ "blinding_factor": "Pimestav tegur: {blinding_factor}",
+ "outputs": "Väljundid: {väljundid}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Viige varad pimedasse sihtkohta"
+ },
+ "blind_transfer": {
+ "method": "Pime ülekanne",
+ "title": "Pime üleviimise taotlus",
+ "result": "Pimeülekande tulemus",
+ "headers": {
+ "request": "Kas kinnitada järgmine pimesi ülekanne?",
+ "result": "Järgmine pimesi ülekanne kiideti heaks:"
+ },
+ "rows": {
+ "inputs": "Sisendid: {inputs}",
+ "outputs": "Väljundid: {väljundid}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Pimedate varade pimesi ülekandmine"
+ },
+ "transfer_from_blind": {
+ "method": "Ülekanne pimedatelt",
+ "title": "Ülekanne pimedast taotlusest",
+ "result": "Ülekanne pimedast tulemusest",
+ "headers": {
+ "request": "Kas kanda pimedatelt järgmised andmed?",
+ "result": "Pimedast kanti üle järgmine:"
+ },
+ "rows": {
+ "amount": "Summa: {amount}",
+ "to": "Saaja: {to} ({toOP})",
+ "blinding_factor": "Pimestav tegur: {blinding_factor}",
+ "inputs": "Sisendid: {inputs}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Võtke varad pimebilansilt välja"
+ },
+ "asset_claim_fees": {
+ "method": "Varanõude tasud",
+ "title": "Varanõude tasude taotlus",
+ "result": "Tulemuseks on varanõude tasud",
+ "headers": {
+ "request": "Kas võtta tasu järgmiselt varalt?",
+ "result": "Nõuti järgmised varatasud:"
+ },
+ "rows": {
+ "issuer": "Väljaandja: {issuer} ({issuerOP})",
+ "amount_to_claim": "Nõude summa: {amount_to_claim} ({asset_id})",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Nõuda tasud varalt"
+ },
+ "bid_collateral": {
+ "method": "Pakkumise tagatis",
+ "title": "Pakkumise tagatisnõue",
+ "result": "Pakkumise tagatise tulemus",
+ "headers": {
+ "request": "Kas kinnitada järgmine tagatispakkumine?",
+ "result": "Kinnitati järgmine tagatispakkumine:"
+ },
+ "rows": {
+ "bidder": "Pakkuja: {bidder} ({bidderOP})",
+ "additional_collateral": "Lisatagatis: {additional_collateral}",
+ "debt_covered": "Võlg kaetud: {debt_covered}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Tehke pakkumine bitassets tagatistagatisele, kui see on globaalselt arveldatud"
+ },
+ "asset_claim_pool": {
+ "method": "Varade nõuete kogum",
+ "title": "Varade nõuete kogumi taotlus",
+ "result": "Varade nõuete kogumi tulemus",
+ "headers": {
+ "request": "Kas taotleda järgmist varade kogumit?",
+ "result": "Taotleti järgmist varade kogumit:"
+ },
+ "rows": {
+ "issuer": "Väljaandja: {issuer} ({issuerOP})",
+ "asset_id": "Vara: {asset_id}",
+ "amount_to_claim": "Nõude summa: {amount_to_claim}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Kandab BTS-i kindlaksmääratud vara tasufondist tagasi emitendi saldole"
+ },
+ "asset_update_issuer": {
+ "method": "Varavärskenduste väljastaja",
+ "title": "Vara värskenduse väljaandja taotlus",
+ "result": "Vara värskenduse väljaandja tulemus",
+ "headers": {
+ "request": "Kas värskendada järgmise vara väljaandjat?",
+ "result": "Värskendati järgmise vara väljaandjat:"
+ },
+ "rows": {
+ "issuer": "Väljaandja: {issuer} ({issuerOP})",
+ "asset_to_update": "Värskendatav vara: {asset_to_update}",
+ "new_issuer": "Uus väljaandja: {new_issuer} ({new_issuerOP})",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Värskendage vara väljaandja uuele administraatorikontole."
+ },
+ "htlc_create": {
+ "method": "HTLC loomine",
+ "title": "HTLC loomise taotlus",
+ "result": "HTLC loob tulemuse",
+ "headers": {
+ "request": "Kas luua järgmine räsistatud ajaluku lepingu toiming?",
+ "result": "Järgmise räsitud ajaluku lepingu toimingu loomine kiideti heaks:"
+ },
+ "rows": {
+ "from": "Saatja: {from} ({fromOP})",
+ "to": "Saaja: {to} ({toOP})",
+ "amount": "Summa: {amount}",
+ "preimage_hash": "Eelpildi räsi: {preimage_hash}",
+ "preimage_size": "Eelpildi suurus: {preimage_size}",
+ "claim_period_seconds": "Nõude esitamise periood (sekundites): {claim_period_seconds}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Looge räsiajaga lukustatud lepingu (HTLC) toiming"
+ },
+ "htlc_redeem": {
+ "method": "HTLC Lunasta",
+ "title": "HTLC lunastamistaotlus",
+ "result": "HTLC Lunasta tulemus",
+ "headers": {
+ "request": "Kas soovite lunastada järgmise räsiajaga lukustatud lepingutoimingu?",
+ "result": "Järgmise räsiajaga lukustatud lepingutoimingu lunastamine kiideti heaks:"
+ },
+ "rows": {
+ "htlc_id": "HTLC ID: {htlc_id}",
+ "redeemer": "Lunastaja: {redeemer} ({redeemerOP})",
+ "preimage": "Eelpilt: {preimage}",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Lunastage HTLC-toimingu sisu"
+ },
+ "htlc_extend": {
+ "method": "HTLC pikendamine",
+ "title": "HTLC pikendamistaotlus",
+ "result": "HTLC Laienda tulemust",
+ "headers": {
+ "request": "Kas kinnitada järgmine räsiajalukuga lepingupikendus?",
+ "result": "Järgmise räsi ajalukuga lepingu pikendamine kiideti heaks:"
+ },
+ "rows": {
+ "htlc_id": "HTLC ID: {htlc_id}",
+ "update_issuer": "Värskenduse väljaandja: {update_issuer} ({update_issuerOP})",
+ "seconds_to_add": "Sekundid lisamiseks: {seconds_to_add}",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Pikendage HTLC toimingu kestust"
+ },
+ "custom_authority_create": {
+ "method": "Kohandatud volituste loomine",
+ "title": "Kohandatud asutus loob päringu",
+ "result": "Kohandatud asutus loob tulemuse",
+ "headers": {
+ "request": "Kas luua järgmine kohandatud volitus?",
+ "result": "Loodi järgmine kohandatud volitus:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "enabled": "Lubatud: {enabled}",
+ "valid_from": "Kehtib alates: {valid_from}",
+ "valid_to": "Kehtib kuni: {valid_to}",
+ "operation_type": "Toimingu tüüp: {operation_type}",
+ "auth": "Volitus: {auth}",
+ "restrictions": "Piirangud: {restrictions}",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Looge uus kohandatud asutus."
+ },
+ "custom_authority_update": {
+ "method": "Kohandatud asutuse värskendus",
+ "title": "Kohandatud asutuse värskendustaotlus",
+ "result": "Kohandatud asutuse värskenduse tulemus",
+ "headers": {
+ "request": "Kas värskendada järgmist kohandatud asutust?",
+ "result": "Järgmist kohandatud asutust värskendati:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "authority_to_update": "Värskendamise volitus: {authority_to_update}",
+ "new_enabled": "Uus lubatud: {new_enabled}",
+ "new_valid_from": "Uus kehtiv alates: {new_valid_from}",
+ "new_valid_to": "Uus kehtiv kuni: {new_valid_to}",
+ "new_auth": "Uus volitus: {new_auth}",
+ "restrictions_to_remove": "Eemaldamise piirangud: {restrictions_to_remove}",
+ "restrictions_to_add": "Lisamise piirangud: {restrictions_to_add}",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Värskendage kohandatud asutust."
+ },
+ "custom_authority_delete": {
+ "method": "Kohandatud volituste kustutamine",
+ "title": "Kohandatud asutuse kustutamistaotlus",
+ "result": "Kohandatud asutus kustutab tulemuse",
+ "headers": {
+ "request": "Kas kustutada järgmine kohandatud asutus?",
+ "result": "Järgmine kohandatud volitus kustutati:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "authority_to_delete": "Kustutamisvolitus: {authority_to_delete}",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Kustutage kohandatud asutus."
+ },
+ "ticket_create": {
+ "method": "Pileti loomine",
+ "title": "Pileti loomise taotlus",
+ "result": "Pilet loob tulemuse",
+ "headers": {
+ "request": "Kas luua järgmine pilet?",
+ "result": "Loodi järgmine pilet:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "target_type": "Sihtmärgi tüüp: {target_type}",
+ "amount": "Summa: {amount}",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Looge uus pilet."
+ },
+ "ticket_update": {
+ "method": "Pileti värskendus",
+ "title": "Pileti uuendamise taotlus",
+ "result": "Pileti uuendamise tulemus",
+ "headers": {
+ "request": "Kas värskendada järgmist piletit?",
+ "result": "Järgmist piletit uuendati:"
+ },
+ "rows": {
+ "ticket": "Pilet: {pilet}",
+ "account": "Konto: {account} ({accountOP})",
+ "target_type": "Sihtmärgi tüüp: {target_type}",
+ "amount_for_new_target": "Uue sihtmärgi summa: {amount_for_new_target}",
+ "extensions": "Laiendused: {extensions}"
+ },
+ "tooltip": "Värskendage olemasolevat piletit."
+ },
+ "liquidity_pool_create": {
+ "method": "Likviidsusbasseini loomine",
+ "title": "Likviidsusbasseini loomise taotlus",
+ "result": "Likviidsuskogum loob tulemuse",
+ "headers": {
+ "request": "Kas luua likviidsuskogum järgmiste üksikasjadega?",
+ "result": "Loodi järgmine likviidsuskogum:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "asset_a": "Vara A: {asset_a} ({asset_aOP})",
+ "asset_b": "Vara B: {asset_b} ({asset_bOP})",
+ "share_asset": "Jaga vara: {share_asset} ({share_assetOP})",
+ "taker_fee_percent": "Võtja tasu protsent: {taker_fee_percent}",
+ "withdrawal_fee_percent": "Väljamaksetasu protsent: {withdrawal_fee_percent}",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Looge likviidsuskogum"
+ },
+ "liquidity_pool_delete": {
+ "method": "Likviidsusfondi kustutamine",
+ "title": "Likviidsuskogumi kustutamise taotlus",
+ "result": "Likviidsusfondi kustutamise tulemus",
+ "headers": {
+ "request": "Kas kustutada järgmine likviidsuskogum?",
+ "result": "Järgmine likviidsuskogum kustutati:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "pool_id": "Basseini ID: {pool_id}",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Kustutage likviidsuskogum"
+ },
+ "liquidity_pool_deposit": {
+ "method": "Likviidsusbasseini hoius",
+ "title": "Likviidsusbasseini sissemakse taotlus",
+ "result": "Likviidsuskogumi hoiuse tulemus",
+ "headers": {
+ "request": "Deponeerida järgmised varad likviidsusfondi?",
+ "result": "Likviidsuskogumisse deponeeriti järgmised varad:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "pool": "Bassein: {pool}",
+ "asset_a": "Vara A: {asset_a} ({asset_aOP})",
+ "asset_b": "Vara B: {asset_b} ({asset_bOP})",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Deponeerige raha likviidsusfondi"
+ },
+ "liquidity_pool_withdraw": {
+ "method": "Likviidsusfondi väljavõtmine",
+ "title": "Likviidsusfondi tagasivõtmise taotlus",
+ "result": "Likviidsusfondi tagasivõtmise tulemus",
+ "headers": {
+ "request": "Kas võtta likviidsuskogumist välja järgmised varad?",
+ "result": "Likviidsuskogumist võeti välja järgmised varad:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "pool": "Bassein: {pool}",
+ "share_asset": "Jaga vara: {share_asset} ({share_assetOP})",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Võtke raha välja likviidsuskogumist"
+ },
+ "liquidity_pool_exchange": {
+ "method": "Likviidsusfondi vahetus",
+ "title": "Likviidsusfondi vahetustaotlus",
+ "result": "Likviidsusfondi vahetustulemus",
+ "headers": {
+ "request": "Kas nõustuda järgmise likviidsusfondi vahetusega?",
+ "result": "Kiideti heaks järgmine likviidsuskogumi börs:"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "pool": "Bassein: {pool}",
+ "amount_to_sell": "Müüdav summa: {amount_to_sell}",
+ "min_to_receive": "Minimaalne vastuvõtt: {min_to_receive}",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Vahetada likviidsusfondiga."
+ },
+ "samet_fund_create": {
+ "method": "SameT fondi loomine",
+ "title": "SameT fondi loomise taotlus",
+ "result": "SameT fond loob tulemuse",
+ "headers": {
+ "request": "Kas nõustuda järgmise sama fondi loomisega?",
+ "result": "Loodi järgmine samafond:"
+ },
+ "rows": {
+ "owner_account": "Omaniku konto: {owner_account} ({owner_accountOP})",
+ "asset_type": "Vara tüüp: {asset_type}",
+ "balance": "Saldo: {saldo}",
+ "fee_rate": "Tasu määr: {fee_rate}",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Looge uus SameT fond. "
+ },
+ "samet_fund_delete": {
+ "method": "SameT fondi kustutamine",
+ "title": "SameT fondi kustutamise taotlus",
+ "result": "SameT fondi kustutamise tulemus",
+ "headers": {
+ "request": "Kas kustutada järgmine sametifond?",
+ "result": "Järgmine sama fond kustutati:"
+ },
+ "rows": {
+ "owner_account": "Omaniku konto: {owner_account} ({owner_accountOP})",
+ "fund_id": "Fondi ID: {fund_id}",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Kustutage SameT fondi objekt."
+ },
+ "samet_fund_update": {
+ "method": "SameT fondi uuendus",
+ "title": "SameT fondi uuendamise taotlus",
+ "result": "SameT fondi uuenduse tulemus",
+ "headers": {
+ "request": "Kas värskendada järgmist samafondi?",
+ "result": "Järgmist sama fondi uuendati:"
+ },
+ "rows": {
+ "owner_account": "Omaniku konto: {owner_account} ({owner_accountOP})",
+ "fund_id": "Fondi ID: {fund_id}",
+ "delta_amount": "Delta summa: {delta_amount}",
+ "new_fee_rate": "Uus tasumäär: {new_fee_rate}",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "SameT fondi objekti värskendamine."
+ },
+ "samet_fund_borrow": {
+ "method": "SameT fondi laen",
+ "title": "SameT fondi laenutaotlus",
+ "result": "SameT fondi laenutulemus",
+ "headers": {
+ "request": "Kas laenata järgmisest samat fondist?",
+ "result": "Edukalt laenatud järgmisest samafondist:"
+ },
+ "rows": {
+ "borrower": "Laenaja: {borrower} ({borrowerOP})",
+ "fund_id": "Fondi ID: {fund_id}",
+ "borrow_amount": "Laenusumma: {borrow_amount}",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Laena SameT fondist."
+ },
+ "samt_fund_repay": {
+ "method": "SameT fondi tagasimakse",
+ "title": "SameT fondi tagasimaksetaotlus",
+ "result": "SameT fondi tagasimakse tulemus",
+ "headers": {
+ "request": "Makske tagasi järgmine sama fond",
+ "result": "Järgmise sama fondi tagasimaksmine õnnestus"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "fund_id": "Fondi ID: {fund_id}",
+ "repay_amount": "Tagasimakse summa: {repay_amount}",
+ "fund_fee": "Fonditasu: {fund_fee}",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Makske võlg tagasi SameT fondi."
+ },
+ "credit_offer_create": {
+ "method": "Krediidipakkumise loomine",
+ "title": "Krediidipakkumise loomine",
+ "result": "Krediidipakkumine loo tulemuse",
+ "headers": {
+ "request": "Kas kinnitada järgmise krediidipakkumise loomine?",
+ "result": "Loodi järgmine krediidipakkumine:"
+ },
+ "rows": {
+ "owner_account": "Omaniku konto: {owner_account} ({owner_accountOP})",
+ "asset_type": "Vara tüüp: {asset_type}",
+ "balance": "Saldo: {saldo}",
+ "fee_rate": "Tasu määr: {fee_rate}",
+ "max_duration_seconds": "Maksimaalne kestus sekundid: {max_duration_seconds}",
+ "min_deal_amount": "Minimaalne tehingusumma: {min_deal_amount}",
+ "enabled": "Lubatud: {enabled}",
+ "auto_disable_time": "Automaatse keelamise aeg: {auto_disable_time}",
+ "acceptable_collateral": "Aktsepteeritav tagatis: {acceptable_collateral}",
+ "acceptable_borrowers": "Aktsepteeritavad laenuvõtjad: {acceptable_borrowers}",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Looge uus krediidipakkumine. "
+ },
+ "credit_offer_delete": {
+ "method": "Krediidipakkumise kustutamine",
+ "title": "Krediidipakkumise kustutamise taotlus",
+ "result": "Krediidipakkumise kustutamise tulemus",
+ "headers": {
+ "request": "Kas kustutada järgmine krediidipakkumine?",
+ "result": "Järgmine krediidipakkumine kustutati:"
+ },
+ "rows": {
+ "owner_account": "Omaniku konto: {owner_account} ({owner_accountOP})",
+ "offer_id": "Pakkumise ID: {offer_id}",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Kustutage krediidipakkumine."
+ },
+ "credit_offer_update": {
+ "method": "Krediidipakkumise värskendus",
+ "title": "Krediidipakkumise värskendamise taotlus",
+ "result": "Krediidipakkumise värskendamise tulemus",
+ "headers": {
+ "request": "Kas värskendada järgmist krediidipakkumist?",
+ "result": "Järgmist krediidipakkumist värskendati:"
+ },
+ "rows": {
+ "owner_account": "Omaniku konto: {owner_account} ({owner_accountOP})",
+ "offer_id": "Pakkumise ID: {offer_id}",
+ "delta_amount": "Delta summa: {delta_amount}",
+ "fee_rate": "Tasu määr: {fee_rate}",
+ "max_duration_seconds": "Maksimaalne kestus sekundid: {max_duration_seconds}",
+ "min_deal_amount": "Minimaalne tehingusumma: {min_deal_amount}",
+ "enabled": "Lubatud: {enabled}",
+ "auto_disable_time": "Automaatse keelamise aeg: {auto_disable_time}",
+ "acceptable_collateral": "Aktsepteeritav tagatis: {acceptable_collateral}",
+ "acceptable_borrowers": "Aktsepteeritavad laenuvõtjad: {acceptable_borrowers}",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Uuenda krediidipakkumist"
+ },
+ "credit_offer_accept": {
+ "method": "Krediidipakkumine vastu",
+ "title": "Krediidipakkumine nõustu taotlusega",
+ "result": "Krediidipakkumine nõustub tulemusega",
+ "headers": {
+ "request": "Kas nõustute järgmise krediidipakkumisega?",
+ "result": "Järgmine krediidipakkumine kiideti heaks:"
+ },
+ "rows": {
+ "borrower": "Laenaja: {borrower} ({borrowerOP})",
+ "offer_id": "Pakkumise ID: {offer_id}",
+ "borrow_amount": "Laenusumma: {borrow_amount}",
+ "collateral": "Tagatis: {tagatis}",
+ "max_fee_rate": "Maksimaalne tasumäär: {max_fee_rate}",
+ "min_duration_seconds": "Minimaalne kestus sekundites: {min_duration_seconds}",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Nõustuge krediidipakkumisega ja looge krediiditehing."
+ },
+ "credit_deal_repay": {
+ "method": "Krediiditehingu tagasimaksmine",
+ "title": "Krediiditehingu tagasimakse taotlus",
+ "result": "Krediiditehingu tagasimaksmise tulemus",
+ "headers": {
+ "request": "Kas maksta tagasi järgmine krediiditehing?",
+ "result": "Tasusite järgmise krediiditehingu"
+ },
+ "rows": {
+ "account": "Konto: {account} ({accountOP})",
+ "deal_id": "Tehingu ID: {deal_id}",
+ "repay_amount": "Tagasimakse summa: {repay_amount}",
+ "credit_fee": "Krediiditasu: {credit_fee}",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Makske krediiditehing tagasi."
+ },
+ "liquidity_pool_update_operation": {
+ "method": "Likviidsusfondi värskendus",
+ "title": "Likviidsusfondi värskendamise taotlus",
+ "result": "Likviidsusfondi värskenduse tulemus",
+ "headers": {
+ "request": "Kas värskendada järgmist likviidsusfondi?",
+ "result": "Järgmist likviidsuskogumit värskendati:"
+ },
+ "rows": {
+ "owner_account": "Omaniku konto: {owner_account} ({owner_accountOP})",
+ "pool_id": "Basseini ID: {pool_id}",
+ "new_parameters": "Uued parameetrid: {new_parameters}",
+ "extensions": "Laiendused: {extensions}",
+ "fee": "Hinnanguline tasu: {fee}"
+ },
+ "tooltip": "Värskendage likviidsusfondi"
+ },
+ "credit_deal_update_operation": {
+ "method": "Krediiditehingu värskendus",
+ "title": "Krediiditehingu värskendamise taotlus",
+ "result": "Krediiditehingu värskendamise tulemus",
+ "headers": {
+ "request": "Kas värskendada järgmist krediidilepingut?",
+ "result": "Järgmist krediiditehingut värskendati:"
+ },
+ "rows": {
+ "fee": "Hinnanguline tasu: {fee}",
+ "account": "Konto: {account} ({accountOP})",
+ "deal_id": "Tehingu ID: {deal_id}",
+ "auto_repay": "Automaatne tagasimakse: {auto_repay}"
+ },
+ "tooltip": "Värskendage krediidilepingut"
+ },
+ "limit_order_update_operation": {
+ "method": "Piirtellimuse värskendus",
+ "title": "Piiratud tellimuse värskendamise taotlus",
+ "result": "Piiratud tellimuse värskendamise tulemus",
+ "headers": {
+ "request": "Kas värskendada järgmist limiittellimust?",
+ "result": "Järgmist limiittellimust värskendati:"
+ },
+ "rows": {
+ "fee": "Hinnanguline tasu: {fee}",
+ "seller": "Müüja: {seller} ({sellerOP})",
+ "order": "Tellimus: {order}",
+ "new_price": "Uus hind: {new_price}",
+ "delta_amount_to_sell": "Müüdav deltasumma: {delta_amount_to_sell}",
+ "new_expiration": "Uus aegumistähtaeg: {new_expiration}",
+ "on_fill": "Täitmisel: {on_fill}",
+ "extensions": "Laiendused: {extensions}"
+ },
+ "tooltip": "Limiittellimuse värskendamine"
+ }
+ },
"EOS": {
"setalimits": {
"method": "Seadke konto limiidid",
diff --git a/src/translations/operations/fr.json b/src/translations/operations/fr.json
index 6343e1ee..931e3b5f 100644
--- a/src/translations/operations/fr.json
+++ b/src/translations/operations/fr.json
@@ -100,6 +100,1444 @@
"reject_btn": "Ignorer"
},
"injected": {
+ "BTS": {
+ "getAccount": {
+ "method": "obtenir un compte",
+ "title": "Demande de détails du compte",
+ "result": "Résultat des détails du compte",
+ "headers": {
+ "request": "Voulez-vous partager les détails de votre compte?",
+ "result": "Les détails de votre compte ont été partagés."
+ },
+ "tooltip": "Demande à votre portefeuille les détails du compte blockchain"
+ },
+ "requestSignature": {
+ "method": "demandeSignature",
+ "title": "Demande de signature",
+ "result": "Résultat de la signature",
+ "headers": {
+ "request": "Voulez-vous partager votre signature?",
+ "result": "Votre signature a été partagée :"
+ },
+ "tooltip": "Demande à votre portefeuille les signatures blockchain"
+ },
+ "injectedCall": {
+ "method": "Appel injecté",
+ "title": "Demande d'appel injecté",
+ "result": "Résultat de l'appel injecté",
+ "headers": {
+ "request": "Approuver l’appel injecté suivant ?",
+ "result": "L’appel injecté suivant a été approuvé :"
+ },
+ "tooltip": "Demande à votre portefeuille de gérer une opération de blockchain injectée"
+ },
+ "voteFor": {
+ "method": "voter pour",
+ "title": "Demande de vote",
+ "result": "Résultat du vote",
+ "headers": {
+ "request": "Approuver la demande de vote suivante ?",
+ "result": "La demande de vote suivante a été approuvée"
+ },
+ "tooltip": "Effectuer un vote blockchain"
+ },
+ "signMessage": {
+ "method": "signerMessage",
+ "title": "Signer la demande de message",
+ "result": "Résultat du message de signature",
+ "headers": {
+ "request": "Approuver la signature du message suivant ?",
+ "result": "Le message suivant a été signé :"
+ },
+ "tooltip": "Signez un message basé sur la blockchain"
+ },
+ "signNFT": {
+ "method": "signerNFT",
+ "title": "Signer la demande NFT",
+ "result": "Signer le résultat NFT",
+ "headers": {
+ "request": "Approuver la signature du NFT suivant ?",
+ "result": "Le NFT suivant a été signé :"
+ },
+ "tooltip": "Signer un contenu NFT"
+ },
+ "verifyMessage": {
+ "method": "vérifierMessage",
+ "title": "Vérifier la demande de message",
+ "result": "Vérifier le résultat du message",
+ "headers": {
+ "request": "Voulez-vous vérifier le message suivant ?",
+ "result": "Le message suivant a été vérifié :"
+ },
+ "tooltip": "Vérifier un message signé basé sur la blockchain"
+ },
+ "transfer": {
+ "method": "Transfert",
+ "title": "Demande de transfert",
+ "result": "Résultat du transfert",
+ "headers": {
+ "request": "Souhaitez-vous approuver la demande de transfert suivante ?",
+ "result": "La demande de transfert suivante a été approuvée :"
+ },
+ "rows": {
+ "from": "De : {from} ({opFrom})",
+ "to": "À : {to} ({opTo})",
+ "amount": "Montant : {amount}"
+ },
+ "tooltip": "Envoyer des actifs d'un compte à un autre"
+ },
+ "limit_order_create": {
+ "method": "Création d'un ordre limité",
+ "title": "Demande de création d'un ordre limité",
+ "result": "Résultat de création d'un ordre limité",
+ "headers": {
+ "request": "Approuver la demande de création d'ordre limité suivante ?",
+ "result": "L'ordre limité suivant a été créé :"
+ },
+ "rows": {
+ "trade": "Commerce",
+ "tradeFK": "Échanger (Remplir ou tuer)",
+ "seller": "Vendeur : {seller} ({opSeller})",
+ "selling": "Vente : {amount}",
+ "buying": "Achat : {amount}",
+ "price": "Prix : {price} {sellSymbol}/{buySymbol}"
+ },
+ "tooltip": "Une offre de vendre un montant d'un actif à un taux de change spécifié avant un certain temps"
+ },
+ "limit_order_cancel": {
+ "method": "Annulation d'un ordre limité",
+ "title": "Demande d'annulation d'un ordre limité",
+ "result": "Résultat de l'annulation de l'ordre limité",
+ "headers": {
+ "request": "Annuler l'ordre limité suivant ?",
+ "result": "L'ordre limité suivant a été annulé :"
+ },
+ "rows": {
+ "id": "Numéro de commande : {id}",
+ "fees": "Frais estimés : {fees}",
+ "account": "Compte payant : {account}"
+ },
+ "tooltip": "Annulation d'une opération d'ordre limité"
+ },
+ "call_order_update": {
+ "method": "Mise à jour de la commande d'appel",
+ "title": "Demande de mise à jour de la commande d'appel",
+ "result": "Résultat de la mise à jour de la commande d'appel",
+ "headers": {
+ "request": "Mettre à jour votre ordre d'appel comme suit ?",
+ "result": "L'ordre d'appel suivant a été mis à jour :"
+ },
+ "rows": {
+ "funding_account": "Compte de financement : {funding_account}",
+ "delta_collateral": "Garantie Delta : {delta_collateral} ({id})",
+ "delta_debt": "Dette Delta : {delta_debt} ({id})",
+ "fees": "Frais estimés : {fees}"
+ },
+ "tooltip": "Mettre à jour une commande d'appel existante"
+ },
+ "account_create": {
+ "method": "Créer un compte",
+ "title": "Demande de création de compte",
+ "result": "Résultat de la création du compte",
+ "headers": {
+ "request": "Voulez-vous créer le compte suivant ?",
+ "result": "Le compte suivant a été créé :"
+ },
+ "rows": {
+ "registrar": "Bureau d'enregistrement : {registrar} ({opRegistrar})",
+ "referrer": "Référent : {referrer} ({opReferrer})",
+ "referrer_percent": "Pourcentage de référence : {referrer_percent}",
+ "name": "Nom {name}",
+ "ownerHeader": "Propriétaire:",
+ "activeHeader": "Actif:",
+ "weight_threshold": "Seuil de poids : {weight_threshold}",
+ "account_auths": "Authentifications du compte : {account_auths}",
+ "key_auths": "Authentifications de clé : {key_auths}",
+ "address_auths": "Authentifications de l'adresse : {address_auths}",
+ "optionsHeader": "Possibilités :",
+ "memo_key": "Clé mémo : {memo_key}",
+ "voting_account": "Compte de vote : {voting_account} ({opVotingAccount})",
+ "num_witness": "Nombre de témoins : {num_witness}",
+ "num_committee": "Nombre de membres du comité : {num_committee}",
+ "votes": "Votes : {votes}",
+ "extensions": "Extensions : {extensions}",
+ "fees": "Frais estimés : {fees}"
+ },
+ "tooltip": "Création d'un nouveau compte"
+ },
+ "account_update": {
+ "method": "Mise à jour du compte",
+ "title": "Demande de mise à jour du compte",
+ "result": "Résultat de la mise à jour du compte",
+ "headers": {
+ "request": "Voulez-vous mettre à jour le compte suivant ?",
+ "result": "Le compte suivant a été mis à jour :"
+ },
+ "rows": {
+ "warning": "Attention : Cette opération est irréversible !",
+ "account": "Compte : {account} ({opAccount})",
+ "owner": "Propriétaire : {owner}",
+ "active": "Actif : {active}",
+ "new_options": "Nouvelles options : {new_options}",
+ "extensions": "Extensions : {extensions}",
+ "fees": "Frais estimés : {fees}"
+ },
+ "tooltip": "Cette opération permet de mettre à jour un compte existant. "
+ },
+ "account_whitelist": {
+ "method": "Liste blanche des comptes",
+ "title": "Demande de liste blanche de compte",
+ "result": "Résultat de la liste blanche du compte",
+ "headers": {
+ "request": "Mettre à jour la liste blanche de votre compte comme suit ?",
+ "result": "La liste blanche de votre compte a été mise à jour comme suit :"
+ },
+ "rows": {
+ "authorizing_account": "Compte d'autorisation : {authorizingAccount} (authorizingAccountOP)",
+ "account_to_list": "Compte à lister : {accountToList} (accountToListOP)",
+ "new_listing": "Nouvelle annonce : {newListing}",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais : {fee}"
+ },
+ "tooltip": "Cette opération est utilisée pour mettre les comptes sur liste blanche et noire, principalement pour effectuer des transactions sur les actifs sur liste blanche."
+ },
+ "account_upgrade": {
+ "method": "Mise à niveau du compte",
+ "title": "Demande de mise à niveau de compte",
+ "result": "Résultat de la mise à niveau du compte",
+ "headers": {
+ "request": "Mettre à niveau votre compte pour devenir membre à vie ?",
+ "result": "Votre compte a été mis à niveau vers membre à vie !"
+ },
+ "rows": {
+ "account_to_upgrade": "Compte à mettre à niveau : {accountToUpgrade} (accountToUpgradeOP)",
+ "upgrade_to_lifetime_member": "Devenir membre à vie : {upgradeToLifetimeMember}",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Cette opération permet de faire évoluer un compte vers un membre, ou de renouveler son abonnement."
+ },
+ "account_transfer": {
+ "method": "Transfert de compte",
+ "title": "Demande de transfert de compte",
+ "result": "Résultat du transfert de compte",
+ "headers": {
+ "request": "Transférer le compte à un nouveau propriétaire ?",
+ "result": "Le compte suivant a été transféré à un nouveau propriétaire :"
+ },
+ "rows": {
+ "warning": "Attention : Cette action est irréversible !",
+ "account_id": "ID de compte : {originalOwner} ({account_id})",
+ "new_owner": "Nouveau propriétaire : {newOwner} ({newOwnerOP})",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Transfère le compte vers un autre compte tout en effaçant la liste blanche"
+ },
+ "asset_create": {
+ "method": "Création d'actif",
+ "title": "Demande de création d'élément",
+ "result": "Résultat de la création de l'actif",
+ "headers": {
+ "request": "Créer l'actif suivant ?",
+ "result": "L'actif suivant a été créé :"
+ },
+ "rows": {
+ "symbol": "Symbole : {symbol}",
+ "main": "Principal : {main}",
+ "market": "Marché : {market}",
+ "short_name": "Nom court : {short_name}",
+ "precision": "Précision : {precision}",
+ "max_supply": "Approvisionnement maximum : {max_supply}",
+ "market_fee_percent": "Pourcentage des frais de marché : {market_fee_percent}",
+ "max_market_fee": "Frais de marché maximum : {max_market_fee}",
+ "cer": "Taux de change de base :",
+ "cer_base_amount": "Montant de base : {cer_base_amount}",
+ "cer_base_id": "ID de l'élément de base : {cer_base_id}",
+ "cer_quote_amount": "Montant du devis : {cer_quote_amount}",
+ "cer_quote_id": "ID de l'élément de cotation : {cer_quote_id}",
+ "whitelist_authorities": "Autorités de liste blanche : {whitelist_authorities}",
+ "blacklist_authorities": "Autorités de la liste noire : {blacklist_authorities}",
+ "whitelist_markets": "Marchés sur liste blanche : {whitelist_markets}",
+ "blacklist_markets": "Marchés sur liste noire : {blacklist_markets}",
+ "is_prediction_market": "Le marché des prédictions est-il : {is_prediction_market}",
+ "permissions": "Autorisations :",
+ "perm_charge_market_fee": "Frais de marché : {charge_market_fee}",
+ "perm_white_list": "Liste blanche : {white_list}",
+ "perm_override_authority": "Remplacer l'autorité : {override_authority}",
+ "perm_transfer_restricted": "Transfert restreint : {transfer_restricted}",
+ "perm_disable_confidential": "Désactiver la confidentialité : {disable_confidential}",
+ "flags": "Drapeaux :",
+ "flag_charge_market_fee": "Frais de marché : {charge_market_fee}",
+ "flag_white_list": "Liste blanche : {white_list}",
+ "flag_override_authority": "Remplacer l'autorité : {override_authority}",
+ "flag_transfer_restricted": "Transfert restreint : {transfer_restricted}",
+ "flag_disable_confidential": "Désactiver la confidentialité : {disable_confidential}",
+ "bitasset": "Informations sur les actifs binaires :",
+ "feed_lifetime_sec": "Durée de vie du flux (secondes) : {feed_lifetime_sec}",
+ "force_settlement_delay_sec": "Délai de règlement forcé (secondes) : {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "Pourcentage de compensation du règlement forcé : {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "Volume maximum de règlement des forces : {maximum_force_settlement_volume}",
+ "minimum_feeds": "Flux minimum : {minimum_feeds}",
+ "short_backing_asset": "Actif de support court : {short_backing_asset}",
+ "nft": "Contenu NFT :",
+ "acknowledgements": "Remerciements : {acknowledgements}",
+ "artist": "Artiste : {artist}",
+ "attestation": "Attestation : {attestation}",
+ "holder_license": "Titulaire de la licence : {holder_license}",
+ "license": "Licence : {license}",
+ "narrative": "Récit : {narrative}",
+ "title": "Titre : {title}",
+ "tags": "Balises : {tags}",
+ "type": "Tapez : {type}"
+ },
+ "tooltip": "Crée un actif sur la blockchain Bitshares"
+ },
+ "asset_update": {
+ "method": "Mise à jour des actifs",
+ "title": "Demande de mise à jour des actifs",
+ "result": "Résultat de la mise à jour de l'actif",
+ "headers": {
+ "request": "Mettre à jour l'élément suivant ?",
+ "result": "L'actif a été mis à jour avec les détails suivants :"
+ },
+ "rows": {
+ "symbol": "Symbole : {symbol}",
+ "main": "Principal : {main}",
+ "market": "Marché : {market}",
+ "short_name": "Nom court : {short_name}",
+ "precision": "Précision : {precision}",
+ "max_supply": "Approvisionnement maximum : {max_supply}",
+ "market_fee_percent": "Pourcentage des frais de marché : {market_fee_percent}",
+ "max_market_fee": "Frais de marché maximum : {max_market_fee}",
+ "cer": "Taux de change de base :",
+ "cer_base_amount": "Montant de base : {cer_base_amount}",
+ "cer_base_id": "ID de l'élément de base : {cer_base_id}",
+ "cer_quote_amount": "Montant du devis : {cer_quote_amount}",
+ "cer_quote_id": "ID de l'élément de cotation : {cer_quote_id}",
+ "whitelist_authorities": "Autorités de liste blanche : {whitelist_authorities}",
+ "blacklist_authorities": "Autorités de la liste noire : {blacklist_authorities}",
+ "whitelist_markets": "Marchés sur liste blanche : {whitelist_markets}",
+ "blacklist_markets": "Marchés sur liste noire : {blacklist_markets}",
+ "is_prediction_market": "Le marché des prédictions est-il : {is_prediction_market}",
+ "permissions": "Autorisations :",
+ "perm_charge_market_fee": "Frais de marché : {charge_market_fee}",
+ "perm_white_list": "Liste blanche : {white_list}",
+ "perm_override_authority": "Remplacer l'autorité : {override_authority}",
+ "perm_transfer_restricted": "Transfert restreint : {transfer_restricted}",
+ "perm_disable_confidential": "Désactiver la confidentialité : {disable_confidential}",
+ "flags": "Drapeaux :",
+ "flag_charge_market_fee": "Frais de marché : {charge_market_fee}",
+ "flag_white_list": "Liste blanche : {white_list}",
+ "flag_override_authority": "Remplacer l'autorité : {override_authority}",
+ "flag_transfer_restricted": "Transfert restreint : {transfer_restricted}",
+ "flag_disable_confidential": "Désactiver la confidentialité : {disable_confidential}",
+ "bitasset": "Informations sur les actifs binaires :",
+ "feed_lifetime_sec": "Durée de vie du flux (secondes) : {feed_lifetime_sec}",
+ "force_settlement_delay_sec": "Délai de règlement forcé (secondes) : {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "Pourcentage de compensation du règlement forcé : {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "Volume maximum de règlement des forces : {maximum_force_settlement_volume}",
+ "minimum_feeds": "Flux minimum : {minimum_feeds}",
+ "short_backing_asset": "Actif de support court : {short_backing_asset}",
+ "nft": "Contenu NFT :",
+ "acknowledgements": "Remerciements : {acknowledgements}",
+ "artist": "Artiste : {artist}",
+ "attestation": "Attestation : {attestation}",
+ "holder_license": "Titulaire de la licence : {holder_license}",
+ "license": "Licence : {license}",
+ "narrative": "Récit : {narrative}",
+ "title": "Titre : {title}",
+ "tags": "Balises : {tags}",
+ "type": "Tapez : {type}"
+ },
+ "tooltip": "Met à jour les paramètres d'un actif"
+ },
+ "asset_update_bitasset": {
+ "method": "Bitasset de mise à jour des actifs",
+ "title": "Demande de bitasset de mise à jour d'actifs",
+ "result": "Résultat de la mise à jour des actifs",
+ "headers": {
+ "request": "Approuver la mise à jour du bitasset ?",
+ "result": "La mise à jour suivante des actifs binaires a été approuvée :"
+ },
+ "rows": {
+ "issuer": "Émetteur : {issuer}",
+ "asset_to_update": "Élément à mettre à jour : {asset_to_update}",
+ "new_options": "Nouvelles options :",
+ "feed_lifetime_sec": "Durée de vie du flux (secondes) : {feed_lifetime_sec}",
+ "minimum_feeds": "Flux minimum : {minimum_feeds}",
+ "force_settlement_delay_sec": "Délai de règlement forcé (secondes) : {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "Pourcentage de compensation du règlement forcé : {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "Volume maximum de règlement des forces : {maximum_force_settlement_volume}",
+ "short_backing_asset": "Actif de support court : {symbol} ({short_backing_asset})",
+ "extensions": "Extensions : {extensions}",
+ "noExtensions": "Aucune extension",
+ "fee": "Frais estimés : {fee} ({id})"
+ },
+ "tooltip": "Mettre à jour les paramètres des actifs binaires créés"
+ },
+ "asset_update_feed_producers": {
+ "method": "Producteurs d'aliments pour mise à jour des actifs",
+ "title": "Demande de mise à jour des actifs des producteurs d'aliments",
+ "result": "Résultat de la mise à jour des actifs des producteurs d'aliments",
+ "headers": {
+ "request": "Approuver le changement concernant les producteurs d’aliments bitasset ?",
+ "result": "Le changement suivant concernant les producteurs d’aliments bitasset a été approuvé :"
+ },
+ "rows": {
+ "issuer": "Émetteur : {issuer} ({issuerOP})",
+ "asset_to_update": "Actif à mettre à jour : {symbol} ({asset_to_update})",
+ "new_feed_producers": "Nouveaux producteurs d'aliments : {new_feed_producers}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Mettre à jour la liste des producteurs d'aliments agréés pour le bitasset créé"
+ },
+ "asset_issue": {
+ "method": "Problème d'actif",
+ "title": "Demande d'émission d'actif",
+ "result": "Résultat de l'émission d'actifs",
+ "headers": {
+ "request": "Approuver l’émission d’actifs suivante ?",
+ "result": "L'émission d'actifs suivante a été approuvée :"
+ },
+ "rows": {
+ "prompt": "Émettre {amount} {symbol} ({assetID}) à {to} ({toID}) ?",
+ "fee": "Frais estimés : {fee} ({id})"
+ },
+ "tooltip": "Transmettez vos actifs créés à des particuliers"
+ },
+ "asset_reserve": {
+ "method": "Réserve d'actifs",
+ "title": "Demande de réserve d'actifs",
+ "result": "Résultat de la réserve d'actifs",
+ "headers": {
+ "request": "Approuver la réservation d'actifs suivante ?",
+ "result": "La réservation d'actifs suivante a été approuvée :"
+ },
+ "rows": {
+ "payer": "Payeur : {payer} ({payerOP})",
+ "amount_to_reserve": "Montant à réserver : {amount_to_reserve} ({amount_to_reserveOP})",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Réservez vos actifs créés"
+ },
+ "asset_fund_fee_pool": {
+ "method": "Pool de frais de fonds d'actifs",
+ "title": "Demande de pool de frais de fonds d'actifs",
+ "result": "Résultat du pool de commissions du fonds d'actifs",
+ "headers": {
+ "request": "Financer le pool de frais de l'actif suivant ?",
+ "result": "Le financement commun des frais de l'actif suivant a été approuvé :"
+ },
+ "rows": {
+ "from_account": "Depuis le compte : {from_account} ({from_accountOP})",
+ "asset": "Actif : {asset} ({assetOP})",
+ "amount": "Montant : {amount}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Financez le pool de frais pour votre actif créé"
+ },
+ "asset_settle": {
+ "method": "Règlement des actifs",
+ "title": "Demande de règlement d'actifs",
+ "result": "Résultat du règlement des actifs",
+ "headers": {
+ "request": "Régler l'actif suivant pour sa garantie de soutien ?",
+ "result": "L'actif suivant a été réglé pour sa garantie de soutien :"
+ },
+ "rows": {
+ "account": "Compte : {account} ({accountOP})",
+ "amount": "Montant : {amount} ({assetID})",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Installer un actif dans votre portefeuille"
+ },
+ "asset_global_settle": {
+ "method": "Règlement global des actifs",
+ "title": "Demande de règlement global des actifs",
+ "result": "Résultat du règlement global des actifs",
+ "headers": {
+ "request": "Effectuer un règlement global sur l'actif suivant ?",
+ "result": "L'actif suivant a été réglé globalement :"
+ },
+ "rows": {
+ "issuer": "Émetteur : {issuer} ({issuerOP})",
+ "asset_to_settle": "Actif à régler : {asset_to_settle} ({asset_to_settleOP})",
+ "settle_price": "Prix de règlement : {settle_price}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Réglez globalement l'un de vos bitassets créés"
+ },
+ "asset_publish_feed": {
+ "method": "Flux de publication d'éléments",
+ "title": "Demande de flux de publication d'éléments",
+ "result": "Résultat du flux de publication d'éléments",
+ "headers": {
+ "request": "Publier un flux de prix pour l'actif suivant ?",
+ "result": "La mise à jour suivante du flux de prix des actifs a été publiée :"
+ },
+ "rows": {
+ "publisher": "Éditeur : {publisher} ({publisherOP})",
+ "asset_id": "ID d'élément : {symbol} ({asset_idOP})",
+ "feed": "Alimentation:",
+ "core_exchange_rate": "Taux de change de base : {core_exchange_rate}",
+ "settlement_price": "Prix de règlement : {settlement_price}",
+ "maintenance_collateral_ratio": "Ratio de garantie de maintenance : {maintenance_collateral_ratio}",
+ "maximum_short_squeeze_ratio": "Taux de compression court maximum : {maximum_short_squeeze_ratio}",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Publier un flux de prix pour un bitasset"
+ },
+ "witness_create": {
+ "method": "Témoin créer",
+ "title": "Demande de création de témoin",
+ "result": "Témoin créer un résultat",
+ "headers": {
+ "request": "Créer un témoin avec les détails suivants ?",
+ "result": "Le témoin suivant a été créé :"
+ },
+ "rows": {
+ "witness_account": "Compte témoin : {witness_account} ({witness_accountOP})",
+ "url": "URL : {url}",
+ "block_signing_key": "Clé de signature de bloc : {block_signing_key}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Créer un compte témoin"
+ },
+ "witness_update": {
+ "method": "Mise à jour des témoins",
+ "title": "Demande de mise à jour des témoins",
+ "result": "Résultat de la mise à jour du témoin",
+ "headers": {
+ "request": "Mettre à jour les détails du témoin comme suit ?",
+ "result": "Les détails des témoins suivants ont été mis à jour :"
+ },
+ "rows": {
+ "witness": "Témoin : {witness}",
+ "witness_account": "Compte témoin : {witness_account} ({witness_accountOP})",
+ "new_url": "Nouvelle URL : {new_url}",
+ "new_signing_key": "Nouvelle clé de signature : {new_signing_key}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Mettez à jour votre compte témoin"
+ },
+ "proposal_create": {
+ "method": "Création de proposition",
+ "title": "Demande de création de proposition",
+ "result": "Résultat de création de proposition",
+ "headers": {
+ "request": "Créer la proposition suivante ?",
+ "result": "La proposition suivante a été créée :"
+ },
+ "rows": {
+ "expiration_time": "Heure d'expiration : {expiration_time}",
+ "proposed_ops": "Opérations proposées : {proposed_ops}",
+ "review_period_seconds": "Secondes de la période d'examen : {review_period_seconds}",
+ "fee_paying_account": "Compte payant : {fee_paying_account} ({fee_paying_accountOP})",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Créer une proposition d'opération blockchain"
+ },
+ "proposal_update": {
+ "method": "Mise à jour de la proposition",
+ "title": "Demande de mise à jour de la proposition",
+ "result": "Résultat de la mise à jour de la proposition",
+ "headers": {
+ "request": "Mettre à jour la proposition suivante ?",
+ "result": "La proposition suivante a été mise à jour :"
+ },
+ "rows": {
+ "proposal": "Proposition : {proposal}",
+ "active_approvals_to_add": "Approbations actives à ajouter : {active_approvals_to_add}",
+ "active_approvals_to_remove": "Approbations actives à supprimer : {active_approvals_to_remove}",
+ "owner_approvals_to_add": "Approbations du propriétaire à ajouter : {owner_approvals_to_add}",
+ "owner_approvals_to_remove": "Approbations du propriétaire à supprimer : {owner_approvals_to_remove}",
+ "key_approvals_to_add": "Approbations clés à ajouter : {key_approvals_to_add}",
+ "key_approvals_to_remove": "Approbations clés à supprimer : {key_approvals_to_remove}",
+ "fee_paying_account": "Compte payant : {fee_paying_account} ({fee_paying_accountOP})",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Mettre à jour une proposition d'opération blockchain"
+ },
+ "proposal_delete": {
+ "method": "Proposition supprimer",
+ "title": "Demande de suppression de proposition",
+ "result": "Résultat de la suppression de la proposition",
+ "headers": {
+ "request": "Supprimer la proposition suivante ?",
+ "result": "La proposition suivante a été supprimée :"
+ },
+ "rows": {
+ "using_owner_authority": "Utilisation de l'autorité du propriétaire : {using_owner_authority}",
+ "proposal": "Proposition : {proposal}",
+ "fee_paying_account": "Compte payant : {fee_paying_account} ({fee_paying_accountOP})",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Supprimer une proposition d'opération blockchain"
+ },
+ "withdraw_permission_create": {
+ "method": "Retirer l'autorisation de créer",
+ "title": "Retirer l'autorisation de créer une demande",
+ "result": "Retirer l'autorisation créer un résultat",
+ "headers": {
+ "request": "Autorisation de prélèvement automatique",
+ "result": "L'autorisation de prélèvement suivante a été approuvée :"
+ },
+ "rows": {
+ "recipient": "Destinataire : {recipient} ({recipientOP})",
+ "withdraw_from": "Compte sur lequel retirer : {withdraw_from} ({withdraw_fromOP})",
+ "taking": "Prenez {amount} toutes les {period_sec} secondes, pendant {period_qty} périodes",
+ "start": "Début : {start}"
+ },
+ "tooltip": "Créer une autorisation de retrait"
+ },
+ "withdraw_permission_update": {
+ "method": "Retirer la mise à jour de l'autorisation",
+ "title": "Retirer la demande de mise à jour de l'autorisation",
+ "result": "Retirer le résultat de la mise à jour des autorisations",
+ "headers": {
+ "request": "Mettre à jour les autorisations des témoins comme suit ?",
+ "result": "Les mises à jour suivantes des autorisations des témoins ont été approuvées :"
+ },
+ "rows": {
+ "withrdaw_from_account": "Retirer du compte : {withrdaw_from_account} ({withrdaw_from_accountOP})",
+ "authorized_account": "Compte autorisé : {authorized_account} ({authorized_accountOP})",
+ "permission_to_update": "Autorisation de mise à jour : {permission_to_update}",
+ "withdrawal_limited": "Limite de retrait : {withdrawal_limit}",
+ "withdrawal_unlimited": "Limite de retrait : {withdrawal_limit} ({withdrawal_limitOP})",
+ "withdrawal_period_sec": "Délai de rétractation (secondes) : {withdrawal_period_sec}",
+ "period_start_time": "Heure de début des règles : {period_start_time}",
+ "periods_until_expiration": "Périodes jusqu'à l'expiration : {periods_until_expiration}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Mettre à jour une autorisation de retrait"
+ },
+ "withdraw_permission_claim": {
+ "method": "Retirer la demande d'autorisation",
+ "title": "Retirer la demande de réclamation d'autorisation",
+ "result": "Retirer le résultat de la demande d'autorisation",
+ "headers": {
+ "request": "Réclamez l'autorisation de retrait suivante",
+ "result": "L'autorisation de retrait suivante a été demandée :"
+ },
+ "rows": {
+ "withdraw_permission": "Retirer l'autorisation : {withdraw_permission}",
+ "withdraw_from_account": "Retirer du compte : {withdraw_from_account} ({withdraw_from_accountOP})",
+ "withdraw_to_account": "Retrait sur le compte : {withdraw_to_account} ({withdraw_to_accountOP})",
+ "amount_to_withdraw": "Montant à retirer : {amount_to_withdraw} ({amount_to_withdrawOP})",
+ "memo": "Mémo : {memo}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Réclamation d'une autorisation de retrait"
+ },
+ "withdraw_permission_delete": {
+ "method": "Retirer l'autorisation Supprimer",
+ "title": "Retirer la demande de suppression d'autorisation",
+ "result": "Retirer l'autorisation, résultat de la suppression",
+ "headers": {
+ "request": "Supprimer l'autorisation de retrait suivante ?",
+ "result": "L'autorisation de retrait suivante a été supprimée :"
+ },
+ "rows": {
+ "withdraw_from_account": "Retirer du compte : {withdraw_from_account} ({withdraw_from_accountOP})",
+ "authorized_account": "Compte autorisé : {authorized_account} ({authorized_accountOP})",
+ "withdrawal_permission": "Autorisation de retrait : {withdrawal_permission}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Supprimer une autorisation de retrait"
+ },
+ "committee_member_create": {
+ "method": "Membre du comité créer",
+ "title": "Un membre du comité crée une demande",
+ "result": "Un membre du comité crée un résultat",
+ "headers": {
+ "request": "Créer un membre du comité ?",
+ "result": "Le membre de comité suivant a été créé :"
+ },
+ "rows": {
+ "committee_member_account": "Compte membre du comité : {committee_member_account} ({committee_member_accountOP})",
+ "url": "URL : {url}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Créer un compte membre du comité"
+ },
+ "committee_member_update": {
+ "method": "Mise à jour des membres du comité",
+ "title": "Demande de mise à jour des membres du comité",
+ "result": "Résultat de la mise à jour des membres du comité",
+ "headers": {
+ "request": "Mettre à jour les coordonnées des membres du comité suivants ?",
+ "result": "Les mises à jour détaillées des membres du comité suivantes ont été approuvées :"
+ },
+ "rows": {
+ "committee_member": "Membre du comité : {committee_member}",
+ "committee_member_account": "Compte membre du comité : {committee_member_account} ({committee_member_accountOP})",
+ "new_url": "Nouvelle URL : {new_url}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Mettez à jour les détails de votre compte de membre du comité"
+ },
+ "committee_member_update_global_parameters": {
+ "method": "Un membre du comité met à jour les paramètres globaux",
+ "title": "Demande de mise à jour des paramètres globaux par un membre du comité",
+ "result": "Un membre du comité met à jour le résultat des paramètres globaux",
+ "headers": {
+ "request": "Approuvez-vous les paramètres globaux suivants en tant que comité ?",
+ "result": "Les paramètres du comité mondial suivants ont été approuvés :"
+ },
+ "rows": {
+ "new_parameters": "Nouveaux paramètres :",
+ "current_fees": "Frais actuels : {current_fees}",
+ "block_interval": "Intervalle de blocage : {block_interval}",
+ "maintenance_interval": "Intervalle de maintenance : {maintenance_interval}",
+ "maintenance_skip_slots": "Emplacements ignorés pour la maintenance : {maintenance_skip_slots}",
+ "committee_proposal_review_period": "Période d'examen des propositions du comité : {committee_proposal_review_period}",
+ "maximum_transaction_size": "Taille maximale de la transaction : {maximum_transaction_size}",
+ "maximum_block_size": "Taille maximale du bloc : {maximum_block_size}",
+ "maximum_time_until_expiration": "Durée maximale jusqu'à l'expiration : {maximum_time_until_expiration}",
+ "maximum_proposal_lifetime": "Durée de vie maximale de la proposition : {maximum_proposal_lifetime}",
+ "maximum_asset_whitelist_authorities": "Autorités maximales de liste blanche d'actifs : {maximum_asset_whitelist_authorities}",
+ "maximum_asset_feed_publishers": "Nombre maximal d'éditeurs de flux d'éléments : {maximum_asset_feed_publishers}",
+ "maximum_witness_count": "Nombre maximum de témoins : {maximum_witness_count}",
+ "maximum_committee_count": "Nombre maximum de comités : {maximum_committee_count}",
+ "maximum_authority_membership": "Adhésion à l'autorité maximale : {maximum_authority_membership}",
+ "reserve_percent_of_fee": "Pourcentage de réserve des frais : {reserve_percent_of_fee}",
+ "network_percent_of_fee": "Pourcentage des frais du réseau : {network_percent_of_fee}",
+ "lifetime_referrer_percent_of_fee": "Pourcentage de référence à vie des frais : {lifetime_referrer_percent_of_fee}",
+ "cashback_vesting_period_seconds": "Secondes de la période d'acquisition du cashback : {cashback_vesting_period_seconds}",
+ "cashback_vesting_threshold": "Seuil d'acquisition du cashback : {cashback_vesting_threshold}",
+ "count_non_member_votes": "Compter les votes des non-membres : {count_non_member_votes}",
+ "allow_non_member_whitelists": "Autoriser les listes blanches de non-membres : {allow_non_member_whitelists}",
+ "witness_pay_per_block": "Rémunération des témoins par bloc : {witness_pay_per_block}",
+ "worker_budget_per_day": "Budget du travailleur par jour : {worker_budget_per_day}",
+ "max_predicate_opcode": "Opcode de prédicat maximum : {max_predicate_opcode}",
+ "fee_liquidation_threshold": "Seuil de liquidation des frais : {fee_liquidation_threshold}",
+ "accounts_per_fee_scale": "Comptes par barème de frais : {accounts_per_fee_scale}",
+ "account_fee_scale_bitshifts": "Bitshifts de l'échelle des frais de compte : {account_fee_scale_bitshifts}",
+ "max_authority_depth": "Profondeur maximale de l'autorité : {max_authority_depth}",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Publiez la position des membres de votre comité sur les valeurs des paramètres globaux de la blockchain Bitshares"
+ },
+ "vesting_balance_create": {
+ "method": "Création du solde d'acquisition",
+ "title": "Demande de création de solde d'acquisition",
+ "result": "Le solde d'acquisition crée un résultat",
+ "headers": {
+ "request": "Créer le solde d'acquisition suivant ?",
+ "result": "Le solde d’acquisition suivant a été créé :"
+ },
+ "rows": {
+ "creator": "Créateur : {creator} ({creatorOP})",
+ "owner": "Propriétaire : {owner} ({ownerOP})",
+ "amount": "Montant : {amount} ({asset_id})",
+ "policy": "Politique:",
+ "begin_timestamp": "Horodatage de début : {begin_timestamp}",
+ "vesting_cliff_seconds": "Acquisition de secondes de falaise : {vesting_cliff_seconds}",
+ "vesting_duration_seconds": "Durée d'acquisition en secondes : {vesting_duration_seconds}",
+ "start_claim": "Démarrer la réclamation : {start_claim}",
+ "vesting_seconds": "Secondes d'acquisition : {vesting_seconds}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Créer un solde d'acquisition"
+ },
+ "vesting_balance_withdraw": {
+ "method": "Retrait du solde d'acquisition",
+ "title": "Demande de retrait du solde d’acquisition",
+ "result": "Résultat du retrait du solde d'acquisition",
+ "headers": {
+ "request": "Retirer le solde d'acquisition suivant ?",
+ "result": "Le solde d’acquisition suivant a été retiré :"
+ },
+ "rows": {
+ "owner": "Propriétaire : {owner} ({ownerOP})",
+ "claim": "Réclamation : {claim} ({asset_id})"
+ },
+ "tooltip": "Retirer d'un solde d'acquisition"
+ },
+ "worker_create": {
+ "method": "Travailleur créer",
+ "title": "Demande de création d'un travailleur",
+ "result": "Résultat de création du travailleur",
+ "headers": {
+ "request": "Créer la proposition de travailleur suivante ?",
+ "result": "La proposition de travailleur suivante a été créée :"
+ },
+ "rows": {
+ "owner": "Propriétaire : {owner} ({ownerOP})",
+ "work_begin_date": "Date de début des travaux : {work_begin_date}",
+ "work_end_date": "Date de fin de travail : {work_end_date}",
+ "daily_pay": "Salaire journalier : {daily_pay}",
+ "name": "Nom {name}",
+ "url": "URL : {url}",
+ "initializer": "Initialiseur : {initializer}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Créer une proposition de travailleur"
+ },
+ "custom": {
+ "method": "Coutume",
+ "title": "Demande personnalisée",
+ "result": "Résultat personnalisé",
+ "headers": {
+ "request": "Créer l'opération personnalisée suivante ?",
+ "result": "L'opération personnalisée suivante a été créée :"
+ },
+ "rows": {
+ "payer": "Payeur : {payer} ({payerOP})",
+ "required_auths": "Autorités requises : {required_auths}",
+ "id": "Je l'ai {id}",
+ "data": "Données : {data}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Fournit un moyen générique d’ajouter des protocoles de niveau supérieur au consensus des témoins"
+ },
+ "assert": {
+ "method": "Affirmer",
+ "title": "Demande d'affirmation",
+ "result": "Affirmer le résultat",
+ "headers": {
+ "request": "Approuver l'opération de demande d'assertion suivante ?",
+ "result": "L'opération de demande d'assertion suivante a été approuvée :"
+ },
+ "rows": {
+ "fee_paying_account": "Compte payant : {fee_paying_account} ({fee_paying_accountOP})",
+ "predicates": "Prédicats : {predicates}",
+ "required_auths": "Autorités requises : {required_auths}",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Affirmez que certaines conditions sont vraies."
+ },
+ "balance_claim": {
+ "method": "Demande de solde",
+ "title": "Demande de réclamation de solde",
+ "result": "Résultat de la demande de solde",
+ "headers": {
+ "request": "Réclamer le solde suivant ?",
+ "result": "Le solde suivant a été réclamé :"
+ },
+ "rows": {
+ "deposit_to_account": "Dépôt sur le compte : {deposit_to_account} ({deposit_to_accountOP})",
+ "balance_to_claim": "Solde à réclamer : {balance_to_claim} ({asset_id})",
+ "balance_owner_key": "Clé du propriétaire du solde : {balance_owner_key}",
+ "total_claimed": "Total réclamé : {total_claimed} ({asset_id})",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Réclamation à partir d'un solde"
+ },
+ "override_transfer": {
+ "method": "Remplacer le transfert",
+ "title": "Remplacer la demande de transfert",
+ "result": "Remplacer le résultat du transfert",
+ "headers": {
+ "request": "Remplacer le transfert suivant ?",
+ "result": "Le transfert suivant a été annulé :"
+ },
+ "rows": {
+ "issuer": "Émetteur : {issuer} ({issuerOP})",
+ "from": "De : {from} ({fromOP})",
+ "to": "À : {to} ({toOP})",
+ "amount": "Montant : {amount} ({asset_id})",
+ "memo": "Mémo : {memo}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Remplacer une opération de transfert"
+ },
+ "transfer_to_blind": {
+ "method": "Transfert à l'aveugle",
+ "title": "Transfert vers une demande aveugle",
+ "result": "Transfert au résultat aveugle",
+ "headers": {
+ "request": "Transférer les éléments suivants en aveugle ?",
+ "result": "Les éléments suivants ont été transférés à l'aveugle :"
+ },
+ "rows": {
+ "amount": "Montant : {amount}",
+ "from": "De : {from} ({fromOP})",
+ "blinding_factor": "Facteur aveuglant : {blinding_factor}",
+ "outputs": "Résultats : {outputs}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Transférer des actifs vers une destination aveugle"
+ },
+ "blind_transfer": {
+ "method": "Transfert aveugle",
+ "title": "Demande de transfert aveugle",
+ "result": "Résultat du transfert aveugle",
+ "headers": {
+ "request": "Approuver le transfert aveugle suivant ?",
+ "result": "Le transfert aveugle suivant a été approuvé :"
+ },
+ "rows": {
+ "inputs": "Entrées : {inputs}",
+ "outputs": "Résultats : {outputs}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Transférer des actifs aveugles de manière aveugle"
+ },
+ "transfer_from_blind": {
+ "method": "Transfert depuis l'aveugle",
+ "title": "Transfert depuis une demande aveugle",
+ "result": "Transfert à partir du résultat aveugle",
+ "headers": {
+ "request": "Transférer les éléments suivants depuis l'aveugle ?",
+ "result": "Ce qui suit a été transféré depuis l'aveugle :"
+ },
+ "rows": {
+ "amount": "Montant : {amount}",
+ "to": "À : {to} ({toOP})",
+ "blinding_factor": "Facteur aveuglant : {blinding_factor}",
+ "inputs": "Entrées : {inputs}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Retirer des actifs d'un solde aveugle"
+ },
+ "asset_claim_fees": {
+ "method": "Frais de réclamation d'actifs",
+ "title": "Demande de frais de sinistre",
+ "result": "Résultat des frais de sinistre",
+ "headers": {
+ "request": "Retirer les frais de l'actif suivant ?",
+ "result": "Les frais des actifs suivants ont été réclamés :"
+ },
+ "rows": {
+ "issuer": "Émetteur : {issuer} ({issuerOP})",
+ "amount_to_claim": "Montant à réclamer : {amount_to_claim} ({asset_id})",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Réclamez les frais d'un actif"
+ },
+ "bid_collateral": {
+ "method": "Garantie de soumission",
+ "title": "Demande de garantie de soumission",
+ "result": "Résultat de la garantie de soumission",
+ "headers": {
+ "request": "Approuver l'offre de garantie suivante ?",
+ "result": "L'offre de garantie suivante a été approuvée :"
+ },
+ "rows": {
+ "bidder": "Enchérisseur : {bidder} ({bidderOP})",
+ "additional_collateral": "Garantie supplémentaire : {additional_collateral}",
+ "debt_covered": "Dette couverte : {debt_covered}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Enchérir sur une garantie de garantie de bitassets une fois réglé globalement"
+ },
+ "asset_claim_pool": {
+ "method": "Pool de créances sur les actifs",
+ "title": "Demande de regroupement de créances sur des biens",
+ "result": "Résultat du pool de créances sur les actifs",
+ "headers": {
+ "request": "Revendiquer le pool d'actifs suivant ?",
+ "result": "Le pool d'actifs suivant a été revendiqué :"
+ },
+ "rows": {
+ "issuer": "Émetteur : {issuer} ({issuerOP})",
+ "asset_id": "Actif : {asset_id}",
+ "amount_to_claim": "Montant à réclamer : {amount_to_claim}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Transfère les BTS du pool de frais d'un actif spécifié vers le solde de l'émetteur"
+ },
+ "asset_update_issuer": {
+ "method": "Émetteur de mise à jour des actifs",
+ "title": "Demande d'émetteur de mise à jour d'actifs",
+ "result": "Résultat de l'émetteur de la mise à jour des actifs",
+ "headers": {
+ "request": "Mettre à jour l'émetteur de l'actif suivant ?",
+ "result": "L'émetteur de l'actif suivant a été mis à jour :"
+ },
+ "rows": {
+ "issuer": "Émetteur : {issuer} ({issuerOP})",
+ "asset_to_update": "Élément à mettre à jour : {asset_to_update}",
+ "new_issuer": "Nouvel émetteur : {new_issuer} ({new_issuerOP})",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Mettre à jour l'émetteur d'un actif vers un nouveau compte administrateur."
+ },
+ "htlc_create": {
+ "method": "Création HTLC",
+ "title": "Demande de création HTLC",
+ "result": "Résultat de création HTLC",
+ "headers": {
+ "request": "Créer l'opération de contrat timelock hachée suivante ?",
+ "result": "La création de l’opération de contrat timelock hachée suivante a été approuvée :"
+ },
+ "rows": {
+ "from": "De : {from} ({fromOP})",
+ "to": "À : {to} ({toOP})",
+ "amount": "Montant : {amount}",
+ "preimage_hash": "Hachage de préimage : {preimage_hash}",
+ "preimage_size": "Taille de la préimage : {preimage_size}",
+ "claim_period_seconds": "Période de réclamation (secondes) : {claim_period_seconds}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Créer une opération de contrat à durée de hachage verrouillée (HTLC)"
+ },
+ "htlc_redeem": {
+ "method": "Échange HTLC",
+ "title": "Demande d'échange HTLC",
+ "result": "Résultat de l'échange HTLC",
+ "headers": {
+ "request": "Utiliser l'opération de contrat verrouillée à durée de hachage suivante ?",
+ "result": "Le rachat de l'opération de contrat à durée de hachage verrouillée suivante a été approuvé :"
+ },
+ "rows": {
+ "htlc_id": "ID HTLC : {htlc_id}",
+ "redeemer": "Rédempteur : {redeemer} ({redeemerOP})",
+ "preimage": "Préimage : {preimage}",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Récupérer le contenu d'une opération HTLC"
+ },
+ "htlc_extend": {
+ "method": "Extension HTLC",
+ "title": "Demande d'extension HTLC",
+ "result": "Résultat d'extension HTLC",
+ "headers": {
+ "request": "Approuver la prolongation de contrat à durée limitée de hachage suivante ?",
+ "result": "La prolongation du contrat à durée limitée de hachage suivant a été approuvée :"
+ },
+ "rows": {
+ "htlc_id": "ID HTLC : {htlc_id}",
+ "update_issuer": "Émetteur de la mise à jour : {update_issuer} ({update_issuerOP})",
+ "seconds_to_add": "Secondes à ajouter : {seconds_to_add}",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Prolonger la durée d'une opération HTLC"
+ },
+ "custom_authority_create": {
+ "method": "Création d'autorité personnalisée",
+ "title": "Demande de création d'autorité personnalisée",
+ "result": "Résultat de création d'autorité personnalisée",
+ "headers": {
+ "request": "Créer l'autorité personnalisée suivante ?",
+ "result": "L'autorité personnalisée suivante a été créée :"
+ },
+ "rows": {
+ "account": "Compte : {account} ({accountOP})",
+ "enabled": "Activé : {enabled}",
+ "valid_from": "Valable à partir de : {valid_from}",
+ "valid_to": "Valable jusqu'au : {valid_to}",
+ "operation_type": "Type d'opération : {operation_type}",
+ "auth": "Autorité : {auth}",
+ "restrictions": "Restrictions : {restrictions}",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Créez une nouvelle autorité personnalisée."
+ },
+ "custom_authority_update": {
+ "method": "Mise à jour des autorités personnalisées",
+ "title": "Demande de mise à jour des autorités personnalisées",
+ "result": "Résultat de la mise à jour des autorités personnalisées",
+ "headers": {
+ "request": "Mettre à jour l'autorité personnalisée suivante ?",
+ "result": "L'autorité personnalisée suivante a été mise à jour :"
+ },
+ "rows": {
+ "account": "Compte : {account} ({accountOP})",
+ "authority_to_update": "Autorité de mise à jour : {authority_to_update}",
+ "new_enabled": "Nouveau activé : {new_enabled}",
+ "new_valid_from": "Nouveau valable à partir de : {new_valid_from}",
+ "new_valid_to": "Nouveau valable jusqu'au : {new_valid_to}",
+ "new_auth": "Nouvelle autorité : {new_auth}",
+ "restrictions_to_remove": "Restrictions à supprimer : {restrictions_to_remove}",
+ "restrictions_to_add": "Restrictions à ajouter : {restrictions_to_add}",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Mettez à jour une autorité personnalisée."
+ },
+ "custom_authority_delete": {
+ "method": "Suppression de l'autorité personnalisée",
+ "title": "Demande de suppression d'autorité personnalisée",
+ "result": "Résultat de la suppression de l'autorité personnalisée",
+ "headers": {
+ "request": "Supprimer l'autorité personnalisée suivante ?",
+ "result": "L'autorité personnalisée suivante a été supprimée :"
+ },
+ "rows": {
+ "account": "Compte : {account} ({accountOP})",
+ "authority_to_delete": "Autorité de suppression : {authority_to_delete}",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Supprimez une autorité personnalisée."
+ },
+ "ticket_create": {
+ "method": "Créer un ticket",
+ "title": "Demande de création de ticket",
+ "result": "Résultat de la création du ticket",
+ "headers": {
+ "request": "Créer le ticket suivant ?",
+ "result": "Le ticket suivant a été créé :"
+ },
+ "rows": {
+ "account": "Compte : {account} ({accountOP})",
+ "target_type": "Type de cible : {target_type}",
+ "amount": "Montant : {amount}",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Créez un nouveau billet."
+ },
+ "ticket_update": {
+ "method": "Mise à jour des billets",
+ "title": "Demande de mise à jour du billet",
+ "result": "Résultat de la mise à jour du ticket",
+ "headers": {
+ "request": "Mettre à jour le ticket suivant ?",
+ "result": "Le ticket suivant a été mis à jour :"
+ },
+ "rows": {
+ "ticket": "Billet : {ticket}",
+ "account": "Compte : {account} ({accountOP})",
+ "target_type": "Type de cible : {target_type}",
+ "amount_for_new_target": "Montant pour la nouvelle cible : {amount_for_new_target}",
+ "extensions": "Extensions : {extensions}"
+ },
+ "tooltip": "Mettre à jour un ticket existant."
+ },
+ "liquidity_pool_create": {
+ "method": "Création d'un pool de liquidité",
+ "title": "Demande de création de pool de liquidité",
+ "result": "Le pool de liquidité crée un résultat",
+ "headers": {
+ "request": "Créer un pool de liquidités avec les détails suivants ?",
+ "result": "Le pool de liquidité suivant a été créé :"
+ },
+ "rows": {
+ "account": "Compte : {account} ({accountOP})",
+ "asset_a": "Actif A : {asset_a} ({asset_aOP})",
+ "asset_b": "Actif B : {asset_b} ({asset_bOP})",
+ "share_asset": "Partager l'actif : {share_asset} ({share_assetOP})",
+ "taker_fee_percent": "Pourcentage des frais du preneur : {taker_fee_percent}",
+ "withdrawal_fee_percent": "Pourcentage des frais de retrait : {withdrawal_fee_percent}",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Créer un pool de liquidité"
+ },
+ "liquidity_pool_delete": {
+ "method": "Suppression du pool de liquidité",
+ "title": "Demande de suppression du pool de liquidités",
+ "result": "Résultat de la suppression du pool de liquidités",
+ "headers": {
+ "request": "Supprimer le pool de liquidité suivant ?",
+ "result": "Le pool de liquidité suivant a été supprimé :"
+ },
+ "rows": {
+ "account": "Compte : {account} ({accountOP})",
+ "pool_id": "ID du pool : {pool_id}",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Supprimer un pool de liquidité"
+ },
+ "liquidity_pool_deposit": {
+ "method": "Dépôt de pool de liquidité",
+ "title": "Demande de dépôt de pool de liquidité",
+ "result": "Résultat du dépôt du pool de liquidités",
+ "headers": {
+ "request": "Déposer les actifs suivants dans le pool de liquidité ?",
+ "result": "Les actifs suivants ont été déposés dans le pool de liquidité :"
+ },
+ "rows": {
+ "account": "Compte : {account} ({accountOP})",
+ "pool": "Piscine : {pool}",
+ "asset_a": "Actif A : {asset_a} ({asset_aOP})",
+ "asset_b": "Actif B : {asset_b} ({asset_bOP})",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Déposer des fonds dans un pool de liquidités"
+ },
+ "liquidity_pool_withdraw": {
+ "method": "Retrait du pool de liquidités",
+ "title": "Demande de retrait du pool de liquidité",
+ "result": "Résultat du retrait du pool de liquidités",
+ "headers": {
+ "request": "Retirer les actifs suivants du pool de liquidité ?",
+ "result": "Les actifs suivants ont été retirés du pool de liquidité :"
+ },
+ "rows": {
+ "account": "Compte : {account} ({accountOP})",
+ "pool": "Piscine : {pool}",
+ "share_asset": "Partager l'actif : {share_asset} ({share_assetOP})",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Retirer des fonds d'un pool de liquidité"
+ },
+ "liquidity_pool_exchange": {
+ "method": "Bourse de pool de liquidité",
+ "title": "Demande d'échange de pool de liquidité",
+ "result": "Résultat de l'échange du pool de liquidités",
+ "headers": {
+ "request": "Approuvez-vous l’échange de pool de liquidité suivant ?",
+ "result": "L'échange de pool de liquidité suivant a été approuvé :"
+ },
+ "rows": {
+ "account": "Compte : {account} ({accountOP})",
+ "pool": "Piscine : {pool}",
+ "amount_to_sell": "Montant à vendre : {amount_to_sell}",
+ "min_to_receive": "Min pour recevoir : {min_to_receive}",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Échangez avec un pool de liquidité."
+ },
+ "samet_fund_create": {
+ "method": "Création du fonds SameT",
+ "title": "Demande de création de fonds SameT",
+ "result": "Le fonds SameT crée un résultat",
+ "headers": {
+ "request": "Approuvez-vous la création du fonds Samet suivant ?",
+ "result": "Le fonds Samet suivant a été créé :"
+ },
+ "rows": {
+ "owner_account": "Compte propriétaire : {owner_account} ({owner_accountOP})",
+ "asset_type": "Type d'actif : {asset_type}",
+ "balance": "Solde : {balance}",
+ "fee_rate": "Tarif des frais : {fee_rate}",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Créez un nouveau fonds SameT. "
+ },
+ "samet_fund_delete": {
+ "method": "Suppression du fonds SameT",
+ "title": "Demande de suppression de fonds SameT",
+ "result": "Résultat de la suppression du fonds SameT",
+ "headers": {
+ "request": "Supprimer le fonds Samet suivant ?",
+ "result": "Le fonds Samet suivant a été supprimé :"
+ },
+ "rows": {
+ "owner_account": "Compte propriétaire : {owner_account} ({owner_accountOP})",
+ "fund_id": "ID du fonds : {fund_id}",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Supprimez un objet de fonds SameT."
+ },
+ "samet_fund_update": {
+ "method": "Mise à jour du fonds SameT",
+ "title": "Demande de mise à jour du fonds SameT",
+ "result": "Résultat de la mise à jour du fonds SameT",
+ "headers": {
+ "request": "Mettre à jour le fonds Samet suivant ?",
+ "result": "Le fonds Samet suivant a été mis à jour :"
+ },
+ "rows": {
+ "owner_account": "Compte propriétaire : {owner_account} ({owner_accountOP})",
+ "fund_id": "ID du fonds : {fund_id}",
+ "delta_amount": "Montant delta : {delta_amount}",
+ "new_fee_rate": "Nouveau taux de frais : {new_fee_rate}",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Mettez à jour un objet de fonds SameT."
+ },
+ "samet_fund_borrow": {
+ "method": "Emprunt du fonds SameT",
+ "title": "Demande d'emprunt du fonds SameT",
+ "result": "Résultat de l'emprunt du fonds SameT",
+ "headers": {
+ "request": "Emprunter auprès du fonds Samet suivant ?",
+ "result": "Emprunté avec succès auprès du fonds Samet suivant :"
+ },
+ "rows": {
+ "borrower": "Emprunteur : {borrower} ({borrowerOP})",
+ "fund_id": "ID du fonds : {fund_id}",
+ "borrow_amount": "Montant de l'emprunt : {borrow_amount}",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Empruntez auprès d’un fonds SameT."
+ },
+ "samt_fund_repay": {
+ "method": "Remboursement du fonds SameT",
+ "title": "Demande de remboursement du fonds SameT",
+ "result": "Résultat de remboursement du fonds SameT",
+ "headers": {
+ "request": "Rembourser le fonds Samet suivant",
+ "result": "Remboursement réussi du fonds Samet suivant"
+ },
+ "rows": {
+ "account": "Compte : {account} ({accountOP})",
+ "fund_id": "ID du fonds : {fund_id}",
+ "repay_amount": "Montant du remboursement : {repay_amount}",
+ "fund_fee": "Frais du fonds : {fund_fee}",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Rembourser la dette auprès d’un fonds SameT."
+ },
+ "credit_offer_create": {
+ "method": "Créer une offre de crédit",
+ "title": "Offre de crédit créer une demande",
+ "result": "Offre de crédit créer un résultat",
+ "headers": {
+ "request": "Approuver la création de l'offre de crédit suivante ?",
+ "result": "L'offre de crédit suivante a été créée :"
+ },
+ "rows": {
+ "owner_account": "Compte propriétaire : {owner_account} ({owner_accountOP})",
+ "asset_type": "Type d'actif : {asset_type}",
+ "balance": "Solde : {balance}",
+ "fee_rate": "Tarif des frais : {fee_rate}",
+ "max_duration_seconds": "Durée maximale en secondes : {max_duration_seconds}",
+ "min_deal_amount": "Montant minimum de la transaction : {min_deal_amount}",
+ "enabled": "Activé : {enabled}",
+ "auto_disable_time": "Heure de désactivation automatique : {auto_disable_time}",
+ "acceptable_collateral": "Garantie acceptable : {acceptable_collateral}",
+ "acceptable_borrowers": "Emprunteurs acceptables : {acceptable_borrowers}",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Créez une nouvelle offre de crédit. "
+ },
+ "credit_offer_delete": {
+ "method": "Offre de crédit supprimer",
+ "title": "Demande de suppression d'offre de crédit",
+ "result": "Résultat de la suppression de l'offre de crédit",
+ "headers": {
+ "request": "Supprimer l'offre de crédit suivante ?",
+ "result": "L'offre de crédit suivante a été supprimée :"
+ },
+ "rows": {
+ "owner_account": "Compte propriétaire : {owner_account} ({owner_accountOP})",
+ "offer_id": "ID de l'offre : {offer_id}",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Supprimer une offre de crédit."
+ },
+ "credit_offer_update": {
+ "method": "Mise à jour de l'offre de crédit",
+ "title": "Demande de mise à jour de l'offre de crédit",
+ "result": "Résultat de la mise à jour de l'offre de crédit",
+ "headers": {
+ "request": "Mettre à jour l'offre de crédit suivante ?",
+ "result": "L'offre de crédit suivante a été mise à jour :"
+ },
+ "rows": {
+ "owner_account": "Compte propriétaire : {owner_account} ({owner_accountOP})",
+ "offer_id": "ID de l'offre : {offer_id}",
+ "delta_amount": "Montant delta : {delta_amount}",
+ "fee_rate": "Tarif des frais : {fee_rate}",
+ "max_duration_seconds": "Durée maximale en secondes : {max_duration_seconds}",
+ "min_deal_amount": "Montant minimum de la transaction : {min_deal_amount}",
+ "enabled": "Activé : {enabled}",
+ "auto_disable_time": "Heure de désactivation automatique : {auto_disable_time}",
+ "acceptable_collateral": "Garantie acceptable : {acceptable_collateral}",
+ "acceptable_borrowers": "Emprunteurs acceptables : {acceptable_borrowers}",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Mettre à jour une offre de crédit"
+ },
+ "credit_offer_accept": {
+ "method": "Offre de crédit acceptée",
+ "title": "Offre de crédit accepter la demande",
+ "result": "Offre de crédit accepter le résultat",
+ "headers": {
+ "request": "Approuver l'offre de crédit suivante ?",
+ "result": "L'offre de crédit suivante a été approuvée :"
+ },
+ "rows": {
+ "borrower": "Emprunteur : {borrower} ({borrowerOP})",
+ "offer_id": "ID de l'offre : {offer_id}",
+ "borrow_amount": "Montant de l'emprunt : {borrow_amount}",
+ "collateral": "Garantie : {collateral}",
+ "max_fee_rate": "Taux de frais maximum : {max_fee_rate}",
+ "min_duration_seconds": "Durée minimale en secondes : {min_duration_seconds}",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Acceptez une offre de crédit et créez une offre de crédit."
+ },
+ "credit_deal_repay": {
+ "method": "Remboursement de l'accord de crédit",
+ "title": "Demande de remboursement d'accord de crédit",
+ "result": "Résultat du remboursement de l'accord de crédit",
+ "headers": {
+ "request": "Rembourser l'opération de crédit suivante ?",
+ "result": "Vous avez remboursé l'opération de crédit suivante"
+ },
+ "rows": {
+ "account": "Compte : {account} ({accountOP})",
+ "deal_id": "ID de l'accord : {deal_id}",
+ "repay_amount": "Montant du remboursement : {repay_amount}",
+ "credit_fee": "Frais de crédit : {credit_fee}",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Rembourser une opération de crédit."
+ },
+ "liquidity_pool_update_operation": {
+ "method": "Mise à jour du pool de liquidité",
+ "title": "Demande de mise à jour du pool de liquidité",
+ "result": "Résultat de la mise à jour du pool de liquidité",
+ "headers": {
+ "request": "Mettre à jour le pool de liquidité suivant ?",
+ "result": "Le pool de liquidité suivant a été mis à jour :"
+ },
+ "rows": {
+ "owner_account": "Compte propriétaire : {owner_account} ({owner_accountOP})",
+ "pool_id": "ID du pool : {pool_id}",
+ "new_parameters": "Nouveaux paramètres : {new_parameters}",
+ "extensions": "Extensions : {extensions}",
+ "fee": "Frais estimés : {fee}"
+ },
+ "tooltip": "Mettre à jour un pool de liquidité"
+ },
+ "credit_deal_update_operation": {
+ "method": "Mise à jour des accords de crédit",
+ "title": "Demande de mise à jour d'accord de crédit",
+ "result": "Résultat de la mise à jour de l'accord de crédit",
+ "headers": {
+ "request": "Mettre à jour l'accord de crédit suivant ?",
+ "result": "L'accord de crédit suivant a été mis à jour :"
+ },
+ "rows": {
+ "fee": "Frais estimés : {fee}",
+ "account": "Compte : {account} ({accountOP})",
+ "deal_id": "ID de l'accord : {deal_id}",
+ "auto_repay": "Remboursement automatique : {auto_repay}"
+ },
+ "tooltip": "Mettre à jour une offre de crédit"
+ },
+ "limit_order_update_operation": {
+ "method": "Mise à jour des ordres limités",
+ "title": "Demande de mise à jour d'un ordre limité",
+ "result": "Résultat de la mise à jour de l'ordre limité",
+ "headers": {
+ "request": "Mettre à jour l'ordre limité suivant ?",
+ "result": "L'ordre limité suivant a été mis à jour :"
+ },
+ "rows": {
+ "fee": "Frais estimés : {fee}",
+ "seller": "Vendeur : {seller} ({sellerOP})",
+ "order": "Commande : {order}",
+ "new_price": "Nouveau prix : {new_price}",
+ "delta_amount_to_sell": "Montant delta à vendre : {delta_amount_to_sell}",
+ "new_expiration": "Nouvelle expiration : {new_expiration}",
+ "on_fill": "Au remplissage : {on_fill}",
+ "extensions": "Extensions : {extensions}"
+ },
+ "tooltip": "Mettre à jour un ordre limité"
+ }
+ },
"EOS": {
"setalimits": {
"method": "Définir les limites du compte",
diff --git a/src/translations/operations/it.json b/src/translations/operations/it.json
index 0361f02a..c7d11407 100644
--- a/src/translations/operations/it.json
+++ b/src/translations/operations/it.json
@@ -100,6 +100,1444 @@
"reject_btn": "Ignorare"
},
"injected": {
+ "BTS": {
+ "getAccount": {
+ "method": "getAccount",
+ "title": "Richiesta dettagli account",
+ "result": "Risultato dei dettagli dell'account",
+ "headers": {
+ "request": "Vuoi condividere i dettagli del tuo account?",
+ "result": "I dettagli del tuo account sono stati condivisi."
+ },
+ "tooltip": "Chiede al tuo portafoglio i dettagli dell'account blockchain"
+ },
+ "requestSignature": {
+ "method": "requestSignature",
+ "title": "Richiesta di firma",
+ "result": "Risultato della firma",
+ "headers": {
+ "request": "Vuoi condividere la tua firma?",
+ "result": "La tua firma è stata condivisa:"
+ },
+ "tooltip": "Chiede al tuo portafoglio le firme blockchain"
+ },
+ "injectedCall": {
+ "method": "iniettatoCall",
+ "title": "Richiesta di chiamata inserita",
+ "result": "Risultato della chiamata inserito",
+ "headers": {
+ "request": "Approvare la seguente chiamata inserita?",
+ "result": "È stata approvata la seguente chiamata inserita:"
+ },
+ "tooltip": "Chiede al tuo portafoglio di gestire un'operazione blockchain iniettata"
+ },
+ "voteFor": {
+ "method": "voto per",
+ "title": "Richiesta di voto",
+ "result": "Risultato della votazione",
+ "headers": {
+ "request": "Approvare la seguente richiesta di voto?",
+ "result": "È approvata la seguente richiesta di voto"
+ },
+ "tooltip": "Esegui un voto blockchain"
+ },
+ "signMessage": {
+ "method": "signMessage",
+ "title": "Firma la richiesta di messaggio",
+ "result": "Firma il risultato del messaggio",
+ "headers": {
+ "request": "Approvare la firma del seguente messaggio?",
+ "result": "È stato firmato il seguente messaggio:"
+ },
+ "tooltip": "Firma un messaggio basato su blockchain"
+ },
+ "signNFT": {
+ "method": "firmaNFT",
+ "title": "Firma la richiesta NFT",
+ "result": "Firma il risultato NFT",
+ "headers": {
+ "request": "Approvare la firma del seguente NFT?",
+ "result": "È stato firmato il seguente NFT:"
+ },
+ "tooltip": "Firma un contenuto NFT"
+ },
+ "verifyMessage": {
+ "method": "verificaMessaggio",
+ "title": "Verifica la richiesta di messaggio",
+ "result": "Verifica il risultato del messaggio",
+ "headers": {
+ "request": "Vuoi verificare il seguente messaggio?",
+ "result": "È stato verificato il seguente messaggio:"
+ },
+ "tooltip": "Verifica un messaggio firmato basato su blockchain"
+ },
+ "transfer": {
+ "method": "Trasferimento",
+ "title": "Richiesta di trasferimento",
+ "result": "Risultato del trasferimento",
+ "headers": {
+ "request": "Vuoi approvare la seguente richiesta di trasferimento?",
+ "result": "È stata approvata la seguente richiesta di trasferimento:"
+ },
+ "rows": {
+ "from": "Da: {from} ({opFrom})",
+ "to": "A: {to} ({opTo})",
+ "amount": "Importo: {amount}"
+ },
+ "tooltip": "Invia risorse da un account all'altro"
+ },
+ "limit_order_create": {
+ "method": "Creazione dell'ordine limite",
+ "title": "Richiesta di creazione di un ordine limitato",
+ "result": "L'ordine limite crea il risultato",
+ "headers": {
+ "request": "Approvare la seguente richiesta di creazione di un ordine limite?",
+ "result": "È stato creato il seguente ordine limite:"
+ },
+ "rows": {
+ "trade": "Commercio",
+ "tradeFK": "Scambia (riempi o uccidi)",
+ "seller": "Venditore: {seller} ({opSeller})",
+ "selling": "Vendita: {amount}",
+ "buying": "Acquisto: {amount}",
+ "price": "Prezzo: {price} {sellSymbol}/{buySymbol}"
+ },
+ "tooltip": "Un'offerta di vendita di un importo di un bene a un tasso di cambio specificato entro un determinato periodo"
+ },
+ "limit_order_cancel": {
+ "method": "Annullamento dell'ordine con limite",
+ "title": "Richiesta di annullamento dell'ordine limitato",
+ "result": "Risultato dell'annullamento dell'ordine limite",
+ "headers": {
+ "request": "Annullare il seguente ordine limite?",
+ "result": "Il seguente ordine limite è stato annullato:"
+ },
+ "rows": {
+ "id": "ID ordine: {id}",
+ "fees": "Commissioni stimate: {fees}",
+ "account": "Conto a pagamento: {account}"
+ },
+ "tooltip": "Annullamento di un'operazione di ordine limite"
+ },
+ "call_order_update": {
+ "method": "Aggiornamento dell'ordine di chiamata",
+ "title": "Richiesta aggiornamento ordine telefonico",
+ "result": "Risultato dell'aggiornamento dell'ordine di chiamata",
+ "headers": {
+ "request": "Aggiornare il tuo ordine di chiamata come segue?",
+ "result": "È stato aggiornato il seguente ordine di chiamata:"
+ },
+ "rows": {
+ "funding_account": "Conto di finanziamento: {funding_account}",
+ "delta_collateral": "Garanzia delta: {delta_collateral} ({id})",
+ "delta_debt": "Debito delta: {delta_debt} ({id})",
+ "fees": "Commissioni stimate: {fees}"
+ },
+ "tooltip": "Aggiornamento di un ordine di chiamata esistente"
+ },
+ "account_create": {
+ "method": "Crea account",
+ "title": "Richiesta di creazione dell'account",
+ "result": "Risultato della creazione dell'account",
+ "headers": {
+ "request": "Vuoi creare il seguente account?",
+ "result": "È stato creato il seguente account:"
+ },
+ "rows": {
+ "registrar": "Registrar: {registrar} ({opRegistrar})",
+ "referrer": "Referente: {referrer} ({opReferrer})",
+ "referrer_percent": "Percentuale referrer: {referrer_percent}",
+ "name": "Nome: {name}",
+ "ownerHeader": "Proprietario:",
+ "activeHeader": "Attivo:",
+ "weight_threshold": "Soglia di peso: {weight_threshold}",
+ "account_auths": "Autenticazioni dell'account: {account_auths}",
+ "key_auths": "Autenticazioni chiave: {key_auths}",
+ "address_auths": "Autorizzazioni indirizzo: {address_auths}",
+ "optionsHeader": "Opzioni:",
+ "memo_key": "Chiave promemoria: {memo_key}",
+ "voting_account": "Conto di voto: {voting_account} ({opVotingAccount})",
+ "num_witness": "Numero di testimoni: {num_witness}",
+ "num_committee": "Numero di membri del comitato: {num_committee}",
+ "votes": "Voti: {votes}",
+ "extensions": "Estensioni: {extensions}",
+ "fees": "Commissioni stimate: {fees}"
+ },
+ "tooltip": "Creazione di un nuovo account"
+ },
+ "account_update": {
+ "method": "Aggiornamento del conto",
+ "title": "Richiesta di aggiornamento dell'account",
+ "result": "Risultato dell'aggiornamento dell'account",
+ "headers": {
+ "request": "Vuoi aggiornare il seguente account?",
+ "result": "È stato aggiornato il seguente account:"
+ },
+ "rows": {
+ "warning": "Attenzione: questa operazione è irreversibile!",
+ "account": "Conto: {account} ({opAccount})",
+ "owner": "Proprietario: {owner}",
+ "active": "Attivo: {active}",
+ "new_options": "Nuove opzioni: {new_options}",
+ "extensions": "Estensioni: {extensions}",
+ "fees": "Tariffa stimata: {fees}"
+ },
+ "tooltip": "Questa operazione viene utilizzata per aggiornare un account esistente. "
+ },
+ "account_whitelist": {
+ "method": "Lista bianca dell'account",
+ "title": "Richiesta di lista bianca dell'account",
+ "result": "Risultato della lista bianca dell'account",
+ "headers": {
+ "request": "Aggiornare la lista bianca del tuo account come segue?",
+ "result": "La lista bianca del tuo account è stata aggiornata come segue:"
+ },
+ "rows": {
+ "authorizing_account": "Account di autorizzazione: {authorizingAccount} (authorizingAccountOP)",
+ "account_to_list": "Account da elencare: {accountToList} (accountToListOP)",
+ "new_listing": "Nuova inserzione: {newListing}",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa: {fee}"
+ },
+ "tooltip": "Questa operazione viene utilizzata per inserire nella whitelist e nella blacklist gli account, principalmente per effettuare transazioni con risorse inserite nella whitelist"
+ },
+ "account_upgrade": {
+ "method": "Aggiornamento dell'account",
+ "title": "Richiesta di aggiornamento dell'account",
+ "result": "Risultato dell'aggiornamento dell'account",
+ "headers": {
+ "request": "Aggiorna il tuo account a membro a vita?",
+ "result": "Il tuo account è stato aggiornato a membro a vita!"
+ },
+ "rows": {
+ "account_to_upgrade": "Account da aggiornare: {accountToUpgrade} (accountToUpgradeOP)",
+ "upgrade_to_lifetime_member": "Passa a membro a vita: {upgradeToLifetimeMember}",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Questa operazione viene utilizzata per aggiornare un account a membro o rinnovare il suo abbonamento."
+ },
+ "account_transfer": {
+ "method": "Trasferimento del conto",
+ "title": "Richiesta di trasferimento del conto",
+ "result": "Risultato del trasferimento del conto",
+ "headers": {
+ "request": "Trasferire l'account a un nuovo proprietario?",
+ "result": "Il seguente account è stato trasferito a un nuovo proprietario:"
+ },
+ "rows": {
+ "warning": "Attenzione: questa azione è irreversibile!",
+ "account_id": "ID account: {originalOwner} ({account_id})",
+ "new_owner": "Nuovo proprietario: {newOwner} ({newOwnerOP})",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Trasferisce l'account a un altro account cancellando la lista bianca"
+ },
+ "asset_create": {
+ "method": "Creazione risorsa",
+ "title": "Richiesta di creazione di risorse",
+ "result": "Risultato della creazione della risorsa",
+ "headers": {
+ "request": "Creare la seguente risorsa?",
+ "result": "È stata creata la seguente risorsa:"
+ },
+ "rows": {
+ "symbol": "Simbolo: {symbol}",
+ "main": "Principale: {main}",
+ "market": "Mercato: {market}",
+ "short_name": "Nome breve: {short_name}",
+ "precision": "Precisione: {precision}",
+ "max_supply": "Fornitura massima: {max_supply}",
+ "market_fee_percent": "Percentuale commissione di mercato: {market_fee_percent}",
+ "max_market_fee": "Commissione di mercato massima: {max_market_fee}",
+ "cer": "Tassi di cambio principali:",
+ "cer_base_amount": "Importo base: {cer_base_amount}",
+ "cer_base_id": "ID risorsa di base: {cer_base_id}",
+ "cer_quote_amount": "Importo del preventivo: {cer_quote_amount}",
+ "cer_quote_id": "ID risorsa preventivo: {cer_quote_id}",
+ "whitelist_authorities": "Autorità della lista bianca: {whitelist_authorities}",
+ "blacklist_authorities": "Autorità della lista nera: {blacklist_authorities}",
+ "whitelist_markets": "Mercati nella lista bianca: {whitelist_markets}",
+ "blacklist_markets": "Mercati nella lista nera: {blacklist_markets}",
+ "is_prediction_market": "Il mercato delle previsioni è: {is_prediction_market}",
+ "permissions": "Autorizzazioni:",
+ "perm_charge_market_fee": "Commissione di mercato addebitata: {charge_market_fee}",
+ "perm_white_list": "Lista bianca: {white_list}",
+ "perm_override_authority": "Autorità di sostituzione: {override_authority}",
+ "perm_transfer_restricted": "Trasferimento limitato: {transfer_restricted}",
+ "perm_disable_confidential": "Disattiva riservate: {disable_confidential}",
+ "flags": "Bandiere:",
+ "flag_charge_market_fee": "Commissione di mercato addebitata: {charge_market_fee}",
+ "flag_white_list": "Lista bianca: {white_list}",
+ "flag_override_authority": "Autorità di sostituzione: {override_authority}",
+ "flag_transfer_restricted": "Trasferimento limitato: {transfer_restricted}",
+ "flag_disable_confidential": "Disattiva riservate: {disable_confidential}",
+ "bitasset": "Informazioni sulla risorsa bit:",
+ "feed_lifetime_sec": "Durata del feed (secondi): {feed_lifetime_sec}",
+ "force_settlement_delay_sec": "Ritardo regolamento forzato (secondi): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "Percentuale di offset della liquidazione forzata: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "Volume massimo di liquidazione forzata: {maximum_force_settlement_volume}",
+ "minimum_feeds": "Feed minimi: {minimum_feeds}",
+ "short_backing_asset": "Asset di garanzia short: {short_backing_asset}",
+ "nft": "Contenuti NFT:",
+ "acknowledgements": "Ringraziamenti: {acknowledgements}",
+ "artist": "Artista: {artist}",
+ "attestation": "Attestazione: {attestation}",
+ "holder_license": "Licenza titolare: {holder_license}",
+ "license": "Licenza: {license}",
+ "narrative": "Narrativa: {narrative}",
+ "title": "Titolo: {title}",
+ "tags": "Tag: {tags}",
+ "type": "Tipo: {type}"
+ },
+ "tooltip": "Crea una risorsa sulla blockchain di Bitshares"
+ },
+ "asset_update": {
+ "method": "Aggiornamento delle risorse",
+ "title": "Richiesta di aggiornamento delle risorse",
+ "result": "Risultato dell'aggiornamento delle risorse",
+ "headers": {
+ "request": "Aggiornare la seguente risorsa?",
+ "result": "La risorsa è stata aggiornata con i seguenti dettagli:"
+ },
+ "rows": {
+ "symbol": "Simbolo: {symbol}",
+ "main": "Principale: {main}",
+ "market": "Mercato: {market}",
+ "short_name": "Nome breve: {short_name}",
+ "precision": "Precisione: {precision}",
+ "max_supply": "Fornitura massima: {max_supply}",
+ "market_fee_percent": "Percentuale commissione di mercato: {market_fee_percent}",
+ "max_market_fee": "Commissione di mercato massima: {max_market_fee}",
+ "cer": "Tassi di cambio principali:",
+ "cer_base_amount": "Importo base: {cer_base_amount}",
+ "cer_base_id": "ID risorsa di base: {cer_base_id}",
+ "cer_quote_amount": "Importo del preventivo: {cer_quote_amount}",
+ "cer_quote_id": "ID risorsa preventivo: {cer_quote_id}",
+ "whitelist_authorities": "Autorità della lista bianca: {whitelist_authorities}",
+ "blacklist_authorities": "Autorità della lista nera: {blacklist_authorities}",
+ "whitelist_markets": "Mercati nella lista bianca: {whitelist_markets}",
+ "blacklist_markets": "Mercati nella lista nera: {blacklist_markets}",
+ "is_prediction_market": "Il mercato delle previsioni è: {is_prediction_market}",
+ "permissions": "Autorizzazioni:",
+ "perm_charge_market_fee": "Commissione di mercato addebitata: {charge_market_fee}",
+ "perm_white_list": "Lista bianca: {white_list}",
+ "perm_override_authority": "Autorità di sostituzione: {override_authority}",
+ "perm_transfer_restricted": "Trasferimento limitato: {transfer_restricted}",
+ "perm_disable_confidential": "Disattiva riservate: {disable_confidential}",
+ "flags": "Bandiere:",
+ "flag_charge_market_fee": "Commissione di mercato addebitata: {charge_market_fee}",
+ "flag_white_list": "Lista bianca: {white_list}",
+ "flag_override_authority": "Autorità di sostituzione: {override_authority}",
+ "flag_transfer_restricted": "Trasferimento limitato: {transfer_restricted}",
+ "flag_disable_confidential": "Disattiva riservate: {disable_confidential}",
+ "bitasset": "Informazioni sulla risorsa bit:",
+ "feed_lifetime_sec": "Durata del feed (secondi): {feed_lifetime_sec}",
+ "force_settlement_delay_sec": "Ritardo regolamento forzato (secondi): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "Percentuale di offset della liquidazione forzata: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "Volume massimo di liquidazione forzata: {maximum_force_settlement_volume}",
+ "minimum_feeds": "Feed minimi: {minimum_feeds}",
+ "short_backing_asset": "Asset di garanzia short: {short_backing_asset}",
+ "nft": "Contenuti NFT:",
+ "acknowledgements": "Ringraziamenti: {acknowledgements}",
+ "artist": "Artista: {artist}",
+ "attestation": "Attestazione: {attestation}",
+ "holder_license": "Licenza titolare: {holder_license}",
+ "license": "Licenza: {license}",
+ "narrative": "Narrativa: {narrative}",
+ "title": "Titolo: {title}",
+ "tags": "Tag: {tags}",
+ "type": "Tipo: {type}"
+ },
+ "tooltip": "Aggiorna le impostazioni di una risorsa"
+ },
+ "asset_update_bitasset": {
+ "method": "Bitasset di aggiornamento delle risorse",
+ "title": "Richiesta bitasset di aggiornamento della risorsa",
+ "result": "Risultato bitasset dell'aggiornamento delle risorse",
+ "headers": {
+ "request": "Approvare l'aggiornamento del bitasset?",
+ "result": "È stato approvato il seguente aggiornamento bitasset:"
+ },
+ "rows": {
+ "issuer": "Emittente: {issuer}",
+ "asset_to_update": "Risorsa da aggiornare: {asset_to_update}",
+ "new_options": "Nuove opzioni:",
+ "feed_lifetime_sec": "Durata del feed (secondi): {feed_lifetime_sec}",
+ "minimum_feeds": "Feed minimi: {minimum_feeds}",
+ "force_settlement_delay_sec": "Ritardo regolamento forzato (secondi): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "Percentuale di offset della liquidazione forzata: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "Volume massimo di liquidazione forzata: {maximum_force_settlement_volume}",
+ "short_backing_asset": "Asset di garanzia short: {symbol} ({short_backing_asset})",
+ "extensions": "Estensioni: {extensions}",
+ "noExtensions": "Nessuna estensione",
+ "fee": "Tariffa stimata: {fee} ({id})"
+ },
+ "tooltip": "Aggiorna le impostazioni del bitasset creato"
+ },
+ "asset_update_feed_producers": {
+ "method": "Produttori di feed di aggiornamento delle risorse",
+ "title": "Richiesta dei produttori di feed di aggiornamento delle risorse",
+ "result": "Risultato dei produttori di feed di aggiornamento delle risorse",
+ "headers": {
+ "request": "Approvare la modifica ai produttori di feed bitasset?",
+ "result": "È stata approvata la seguente modifica ai produttori di feed bitasset:"
+ },
+ "rows": {
+ "issuer": "Emittente: {issuer} ({issuerOP})",
+ "asset_to_update": "Risorsa da aggiornare: {symbol} ({asset_to_update})",
+ "new_feed_producers": "Nuovi produttori di feed: {new_feed_producers}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Aggiorna l'elenco dei produttori di feed approvati per il bitasset creato"
+ },
+ "asset_issue": {
+ "method": "Problema patrimoniale",
+ "title": "Richiesta di emissione di risorse",
+ "result": "Risultato del problema delle risorse",
+ "headers": {
+ "request": "Approvare la seguente emissione di asset?",
+ "result": "È stata approvata la seguente emissione di asset:"
+ },
+ "rows": {
+ "prompt": "Emettere {amount} {symbol} ({assetID}) a {to} ({toID})?",
+ "fee": "Tariffa stimata: {fee} ({id})"
+ },
+ "tooltip": "Distribuisci le tue risorse create a privati"
+ },
+ "asset_reserve": {
+ "method": "Riserva patrimoniale",
+ "title": "Richiesta di riserva patrimoniale",
+ "result": "Risultato della riserva patrimoniale",
+ "headers": {
+ "request": "Approvare la seguente prenotazione della risorsa?",
+ "result": "È stata approvata la seguente prenotazione della risorsa:"
+ },
+ "rows": {
+ "payer": "Pagatore: {payer} ({payerOP})",
+ "amount_to_reserve": "Importo da riservare: {amount_to_reserve} ({amount_to_reserveOP})",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Prenota le tue risorse create"
+ },
+ "asset_fund_fee_pool": {
+ "method": "Pool di commissioni per i fondi patrimoniali",
+ "title": "Richiesta di pool di commissioni per fondi patrimoniali",
+ "result": "Risultato del pool di commissioni del fondo patrimoniale",
+ "headers": {
+ "request": "Finanziare il pool di commissioni del seguente asset?",
+ "result": "È stato approvato il finanziamento del pool di commissioni del seguente asset:"
+ },
+ "rows": {
+ "from_account": "Dall'account: {from_account} ({from_accountOP})",
+ "asset": "Risorsa: {asset} ({assetOP})",
+ "amount": "Importo: {amount}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Finanzia il pool di commissioni per la tua risorsa creata"
+ },
+ "asset_settle": {
+ "method": "Liquidazione patrimoniale",
+ "title": "Richiesta di liquidazione del bene",
+ "result": "Risultato della liquidazione delle attività",
+ "headers": {
+ "request": "Liquidare il seguente asset come garanzia collaterale?",
+ "result": "La seguente attività è stata liquidata come garanzia collaterale:"
+ },
+ "rows": {
+ "account": "Conto: {account} ({accountOP})",
+ "amount": "Importo: {amount} ({assetID})",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Liquida un asset nel tuo portafoglio"
+ },
+ "asset_global_settle": {
+ "method": "Asset globale liquidazione",
+ "title": "Richiesta di liquidazione globale dell'asset",
+ "result": "Risultato della liquidazione globale dell'asset",
+ "headers": {
+ "request": "Eseguire la liquidazione globale sulla seguente risorsa?",
+ "result": "Il seguente asset è stato regolato globalmente:"
+ },
+ "rows": {
+ "issuer": "Emittente: {issuer} ({issuerOP})",
+ "asset_to_settle": "Asset da liquidare: {asset_to_settle} ({asset_to_settleOP})",
+ "settle_price": "Prezzo stabilito: {settle_price}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Sistema globalmente uno dei bitasset creati"
+ },
+ "asset_publish_feed": {
+ "method": "Feed di pubblicazione delle risorse",
+ "title": "Richiesta di feed di pubblicazione di risorse",
+ "result": "Risultato del feed di pubblicazione delle risorse",
+ "headers": {
+ "request": "Pubblicare un feed di prezzo per il seguente asset?",
+ "result": "È stato pubblicato il seguente aggiornamento del feed dei prezzi degli asset:"
+ },
+ "rows": {
+ "publisher": "Editore: {publisher} ({publisherOP})",
+ "asset_id": "ID risorsa: {symbol} ({asset_idOP})",
+ "feed": "Foraggio:",
+ "core_exchange_rate": "Tasso di cambio principale: {core_exchange_rate}",
+ "settlement_price": "Prezzo di liquidazione: {settlement_price}",
+ "maintenance_collateral_ratio": "Coefficiente di garanzia collaterale di mantenimento: {maintenance_collateral_ratio}",
+ "maximum_short_squeeze_ratio": "Rapporto massimo di compressione breve: {maximum_short_squeeze_ratio}",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Pubblica un feed di prezzo per un bitasset"
+ },
+ "witness_create": {
+ "method": "Testimone creare",
+ "title": "La richiesta di creazione del testimone",
+ "result": "Il testimone crea il risultato",
+ "headers": {
+ "request": "Creare un testimone con i seguenti dettagli?",
+ "result": "È stato creato il seguente testimone:"
+ },
+ "rows": {
+ "witness_account": "Conto testimone: {witness_account} ({witness_accountOP})",
+ "url": "URL: {url}",
+ "block_signing_key": "Chiave di firma del blocco: {block_signing_key}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Crea un account testimone"
+ },
+ "witness_update": {
+ "method": "Aggiornamento dei testimoni",
+ "title": "Richiesta di aggiornamento del testimone",
+ "result": "Risultato dell'aggiornamento del testimone",
+ "headers": {
+ "request": "Aggiornare i dettagli del testimone come segue?",
+ "result": "Sono stati aggiornati i seguenti dettagli sui testimoni:"
+ },
+ "rows": {
+ "witness": "Testimone: {witness}",
+ "witness_account": "Conto testimone: {witness_account} ({witness_accountOP})",
+ "new_url": "Nuovo URL: {new_url}",
+ "new_signing_key": "Nuova chiave di firma: {new_signing_key}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Aggiorna il tuo account testimone"
+ },
+ "proposal_create": {
+ "method": "Creazione proposta",
+ "title": "Richiesta di creazione proposta",
+ "result": "La proposta crea il risultato",
+ "headers": {
+ "request": "Creare la seguente proposta?",
+ "result": "È stata creata la seguente proposta:"
+ },
+ "rows": {
+ "expiration_time": "Tempo di scadenza: {expiration_time}",
+ "proposed_ops": "Operazioni proposte: {proposed_ops}",
+ "review_period_seconds": "Secondi del periodo di revisione: {review_period_seconds}",
+ "fee_paying_account": "Conto a pagamento: {fee_paying_account} ({fee_paying_accountOP})",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Creare una proposta di operazione blockchain"
+ },
+ "proposal_update": {
+ "method": "Aggiornamento della proposta",
+ "title": "Richiesta aggiornamento proposta",
+ "result": "Risultato dell'aggiornamento della proposta",
+ "headers": {
+ "request": "Aggiornare la seguente proposta?",
+ "result": "È stata aggiornata la seguente proposta:"
+ },
+ "rows": {
+ "proposal": "Proposta: {proposal}",
+ "active_approvals_to_add": "Approvazioni attive da aggiungere: {active_approvals_to_add}",
+ "active_approvals_to_remove": "Approvazioni attive da rimuovere: {active_approvals_to_remove}",
+ "owner_approvals_to_add": "Approvazioni del proprietario da aggiungere: {owner_approvals_to_add}",
+ "owner_approvals_to_remove": "Approvazioni del proprietario da rimuovere: {owner_approvals_to_remove}",
+ "key_approvals_to_add": "Approvazioni chiave da aggiungere: {key_approvals_to_add}",
+ "key_approvals_to_remove": "Approvazioni chiave da rimuovere: {key_approvals_to_remove}",
+ "fee_paying_account": "Conto a pagamento: {fee_paying_account} ({fee_paying_accountOP})",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Aggiorna una proposta di operazione blockchain"
+ },
+ "proposal_delete": {
+ "method": "Eliminazione proposta",
+ "title": "Richiesta di eliminazione della proposta",
+ "result": "Risultato dell'eliminazione della proposta",
+ "headers": {
+ "request": "Eliminare la seguente proposta?",
+ "result": "È stata eliminata la seguente proposta:"
+ },
+ "rows": {
+ "using_owner_authority": "Utilizzo dell'autorità del proprietario: {using_owner_authority}",
+ "proposal": "Proposta: {proposal}",
+ "fee_paying_account": "Conto a pagamento: {fee_paying_account} ({fee_paying_accountOP})",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Elimina una proposta di operazione blockchain"
+ },
+ "withdraw_permission_create": {
+ "method": "Ritirare l'autorizzazione creata",
+ "title": "Ritira l'autorizzazione per creare una richiesta",
+ "result": "Ritira l'autorizzazione per creare il risultato",
+ "headers": {
+ "request": "Autorizzazione di addebito diretto",
+ "result": "È stata approvata la seguente autorizzazione di addebito diretto:"
+ },
+ "rows": {
+ "recipient": "Destinatario: {recipient} ({recipientOP})",
+ "withdraw_from": "Conto da cui prelevare: {withdraw_from} ({withdraw_fromOP})",
+ "taking": "Prendi {amount} ogni {period_sec} secondi, per {period_qty} periodi",
+ "start": "Inizio: {start}"
+ },
+ "tooltip": "Crea un'autorizzazione di prelievo"
+ },
+ "withdraw_permission_update": {
+ "method": "Ritirare l'aggiornamento dell'autorizzazione",
+ "title": "Ritirare la richiesta di aggiornamento dell'autorizzazione",
+ "result": "Ritira il risultato dell'aggiornamento dell'autorizzazione",
+ "headers": {
+ "request": "Aggiornare le autorizzazioni del testimone a quanto segue?",
+ "result": "Sono stati approvati i seguenti aggiornamenti delle autorizzazioni testimone:"
+ },
+ "rows": {
+ "withrdaw_from_account": "Prelievo dal conto: {withrdaw_from_account} ({withrdaw_from_accountOP})",
+ "authorized_account": "Account autorizzato: {authorized_account} ({authorized_accountOP})",
+ "permission_to_update": "Autorizzazione all'aggiornamento: {permission_to_update}",
+ "withdrawal_limited": "Limite di prelievo: {withdrawal_limit}",
+ "withdrawal_unlimited": "Limite di prelievo: {withdrawal_limit} ({withdrawal_limitOP})",
+ "withdrawal_period_sec": "Periodo di prelievo (secondi): {withdrawal_period_sec}",
+ "period_start_time": "Ora di inizio periodo: {period_start_time}",
+ "periods_until_expiration": "Periodi fino alla scadenza: {periods_until_expiration}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Aggiorna un'autorizzazione di ritiro"
+ },
+ "withdraw_permission_claim": {
+ "method": "Ritirare la richiesta di autorizzazione",
+ "title": "Ritirare la richiesta di richiesta di autorizzazione",
+ "result": "Ritira il risultato della richiesta di autorizzazione",
+ "headers": {
+ "request": "Richiedi la seguente autorizzazione al ritiro",
+ "result": "È stata richiesta la seguente autorizzazione al ritiro:"
+ },
+ "rows": {
+ "withdraw_permission": "Autorizzazione a ritirare: {withdraw_permission}",
+ "withdraw_from_account": "Prelievo dal conto: {withdraw_from_account} ({withdraw_from_accountOP})",
+ "withdraw_to_account": "Prelievo sul conto: {withdraw_to_account} ({withdraw_to_accountOP})",
+ "amount_to_withdraw": "Importo da prelevare: {amount_to_withdraw} ({amount_to_withdrawOP})",
+ "memo": "Nota: {memo}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Richiesta di autorizzazione al ritiro"
+ },
+ "withdraw_permission_delete": {
+ "method": "Ritira l'autorizzazione elimina",
+ "title": "Ritira la richiesta di eliminazione dell'autorizzazione",
+ "result": "Ritira il risultato dell'eliminazione dell'autorizzazione",
+ "headers": {
+ "request": "Eliminare la seguente autorizzazione di ritiro?",
+ "result": "È stata eliminata la seguente autorizzazione di ritiro:"
+ },
+ "rows": {
+ "withdraw_from_account": "Prelievo dal conto: {withdraw_from_account} ({withdraw_from_accountOP})",
+ "authorized_account": "Account autorizzato: {authorized_account} ({authorized_accountOP})",
+ "withdrawal_permission": "Autorizzazione al prelievo: {withdrawal_permission}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Elimina un'autorizzazione di ritiro"
+ },
+ "committee_member_create": {
+ "method": "Membro del comitato creato",
+ "title": "Il membro del comitato crea una richiesta",
+ "result": "Il membro del comitato crea il risultato",
+ "headers": {
+ "request": "Creare un membro del comitato?",
+ "result": "È stato creato il seguente membro del comitato:"
+ },
+ "rows": {
+ "committee_member_account": "Account membro del comitato: {committee_member_account} ({committee_member_accountOP})",
+ "url": "URL: {url}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Crea un account membro del comitato"
+ },
+ "committee_member_update": {
+ "method": "Aggiornamento dei membri del comitato",
+ "title": "Richiesta di aggiornamento dei membri del comitato",
+ "result": "Risultato dell'aggiornamento dei membri del comitato",
+ "headers": {
+ "request": "Aggiornare i dettagli del seguente membro del comitato?",
+ "result": "Sono stati approvati i seguenti aggiornamenti dettagliati dei membri del comitato:"
+ },
+ "rows": {
+ "committee_member": "Membro del comitato: {committee_member}",
+ "committee_member_account": "Account membro del comitato: {committee_member_account} ({committee_member_accountOP})",
+ "new_url": "Nuovo URL: {new_url}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Aggiorna i dettagli del tuo account membro del comitato"
+ },
+ "committee_member_update_global_parameters": {
+ "method": "I membri del comitato aggiornano i parametri globali",
+ "title": "Richiesta di aggiornamento dei parametri globali da parte del membro del comitato",
+ "result": "Il membro del comitato aggiorna il risultato dei parametri globali",
+ "headers": {
+ "request": "Approvare di seguire i parametri globali come comitato?",
+ "result": "Sono stati approvati i seguenti parametri del comitato globale:"
+ },
+ "rows": {
+ "new_parameters": "Nuovi parametri:",
+ "current_fees": "Commissioni attuali: {current_fees}",
+ "block_interval": "Intervallo di blocco: {block_interval}",
+ "maintenance_interval": "Intervallo di manutenzione: {maintenance_interval}",
+ "maintenance_skip_slots": "Slot di salto della manutenzione: {maintenance_skip_slots}",
+ "committee_proposal_review_period": "Periodo di revisione della proposta del comitato: {committee_proposal_review_period}",
+ "maximum_transaction_size": "Dimensione massima della transazione: {maximum_transaction_size}",
+ "maximum_block_size": "Dimensione massima del blocco: {maximum_block_size}",
+ "maximum_time_until_expiration": "Tempo massimo fino alla scadenza: {maximum_time_until_expiration}",
+ "maximum_proposal_lifetime": "Durata massima della proposta: {maximum_proposal_lifetime}",
+ "maximum_asset_whitelist_authorities": "Autorità massime della lista bianca delle risorse: {maximum_asset_whitelist_authorities}",
+ "maximum_asset_feed_publishers": "Numero massimo di editori di feed di risorse: {maximum_asset_feed_publishers}",
+ "maximum_witness_count": "Conteggio massimo dei testimoni: {maximum_witness_count}",
+ "maximum_committee_count": "Conteggio massimo dei comitati: {maximum_committee_count}",
+ "maximum_authority_membership": "Numero massimo di membri dell'autorità: {maximum_authority_membership}",
+ "reserve_percent_of_fee": "Percentuale di riserva della commissione: {reserve_percent_of_fee}",
+ "network_percent_of_fee": "Percentuale della commissione sulla rete: {network_percent_of_fee}",
+ "lifetime_referrer_percent_of_fee": "Percentuale della commissione per referrer a vita: {lifetime_referrer_percent_of_fee}",
+ "cashback_vesting_period_seconds": "Secondi del periodo di maturazione del cashback: {cashback_vesting_period_seconds}",
+ "cashback_vesting_threshold": "Soglia di maturazione del cashback: {cashback_vesting_threshold}",
+ "count_non_member_votes": "Conta i voti dei non membri: {count_non_member_votes}",
+ "allow_non_member_whitelists": "Consenti whitelist per i non membri: {allow_non_member_whitelists}",
+ "witness_pay_per_block": "Retribuzione testimone per blocco: {witness_pay_per_block}",
+ "worker_budget_per_day": "Budget del lavoratore al giorno: {worker_budget_per_day}",
+ "max_predicate_opcode": "Codice operativo predicato massimo: {max_predicate_opcode}",
+ "fee_liquidation_threshold": "Soglia di liquidazione della commissione: {fee_liquidation_threshold}",
+ "accounts_per_fee_scale": "Conti per scala tariffaria: {accounts_per_fee_scale}",
+ "account_fee_scale_bitshifts": "Bitshift della scala delle tariffe dell'account: {account_fee_scale_bitshifts}",
+ "max_authority_depth": "Profondità massima dell'autorità: {max_authority_depth}",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Pubblica la posizione del tuo membro del comitato sui valori dei parametri globali della blockchain di Bitshares"
+ },
+ "vesting_balance_create": {
+ "method": "Creazione dell'equilibrio di maturazione",
+ "title": "Richiesta di creazione del saldo di maturazione",
+ "result": "L'equilibrio di maturazione crea il risultato",
+ "headers": {
+ "request": "Creare il seguente saldo di maturazione?",
+ "result": "È stato creato il seguente saldo di maturazione:"
+ },
+ "rows": {
+ "creator": "Creatore: {creator} ({creatorOP})",
+ "owner": "Proprietario: {owner} ({ownerOP})",
+ "amount": "Importo: {amount} ({asset_id})",
+ "policy": "Politica:",
+ "begin_timestamp": "Orario di inizio: {begin_timestamp}",
+ "vesting_cliff_seconds": "Vesting cliff secondi: {vesting_cliff_seconds}",
+ "vesting_duration_seconds": "Durata maturazione secondi: {vesting_duration_seconds}",
+ "start_claim": "Avvia reclamo: {start_claim}",
+ "vesting_seconds": "Secondi di maturazione: {vesting_seconds}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Creare un saldo di maturazione"
+ },
+ "vesting_balance_withdraw": {
+ "method": "Ritiro del saldo di maturazione",
+ "title": "Richiesta di ritiro del saldo di maturazione",
+ "result": "Risultato del prelievo del saldo di maturazione",
+ "headers": {
+ "request": "Prelevare il seguente saldo di maturazione?",
+ "result": "È stato ritirato il seguente saldo di maturazione:"
+ },
+ "rows": {
+ "owner": "Proprietario: {owner} ({ownerOP})",
+ "claim": "Reclamo: {claim} ({asset_id})"
+ },
+ "tooltip": "Prelevare da un saldo di maturazione"
+ },
+ "worker_create": {
+ "method": "Il lavoratore crea",
+ "title": "Richiesta di creazione del lavoratore",
+ "result": "Il lavoratore crea il risultato",
+ "headers": {
+ "request": "Creare la seguente proposta di lavoro?",
+ "result": "È stata creata la seguente proposta di lavoro:"
+ },
+ "rows": {
+ "owner": "Proprietario: {owner} ({ownerOP})",
+ "work_begin_date": "Data di inizio lavoro: {work_begin_date}",
+ "work_end_date": "Data di fine lavoro: {work_end_date}",
+ "daily_pay": "Retribuzione giornaliera: {daily_pay}",
+ "name": "Nome: {name}",
+ "url": "URL: {url}",
+ "initializer": "Inizializzatore: {initializer}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Creare una proposta di lavoro"
+ },
+ "custom": {
+ "method": "Costume",
+ "title": "Richiesta personalizzata",
+ "result": "Risultato personalizzato",
+ "headers": {
+ "request": "Creare la seguente operazione personalizzata?",
+ "result": "È stata creata la seguente operazione personalizzata:"
+ },
+ "rows": {
+ "payer": "Pagatore: {payer} ({payerOP})",
+ "required_auths": "Autorità richieste: {required_auths}",
+ "id": "L'ho {id}",
+ "data": "Dati: {data}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Fornisce un modo generico per aggiungere protocolli di livello superiore oltre al consenso dei testimoni"
+ },
+ "assert": {
+ "method": "Affermare",
+ "title": "Asserire la richiesta",
+ "result": "Dichiarare il risultato",
+ "headers": {
+ "request": "Approvare la seguente operazione di richiesta di asserzione?",
+ "result": "La seguente operazione di richiesta di asserzione è stata approvata:"
+ },
+ "rows": {
+ "fee_paying_account": "Conto a pagamento: {fee_paying_account} ({fee_paying_accountOP})",
+ "predicates": "Predicati: {predicates}",
+ "required_auths": "Autorità richieste: {required_auths}",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Affermare che alcune condizioni sono vere."
+ },
+ "balance_claim": {
+ "method": "Richiesta di saldo",
+ "title": "Richiesta di richiesta di saldo",
+ "result": "Risultato della richiesta di saldo",
+ "headers": {
+ "request": "Richiedere il seguente saldo?",
+ "result": "È stato richiesto il seguente saldo:"
+ },
+ "rows": {
+ "deposit_to_account": "Deposito sul conto: {deposit_to_account} ({deposit_to_accountOP})",
+ "balance_to_claim": "Saldo da richiedere: {balance_to_claim} ({asset_id})",
+ "balance_owner_key": "Chiave del proprietario del saldo: {balance_owner_key}",
+ "total_claimed": "Totale rivendicato: {total_claimed} ({asset_id})",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Richiedi un saldo"
+ },
+ "override_transfer": {
+ "method": "Ignora trasferimento",
+ "title": "Ignora la richiesta di trasferimento",
+ "result": "Ignora il risultato del trasferimento",
+ "headers": {
+ "request": "Ignorare il trasferimento successivo?",
+ "result": "Il seguente trasferimento è stato ignorato:"
+ },
+ "rows": {
+ "issuer": "Emittente: {issuer} ({issuerOP})",
+ "from": "Da: {from} ({fromOP})",
+ "to": "A: {to} ({toOP})",
+ "amount": "Importo: {amount} ({asset_id})",
+ "memo": "Nota: {memo}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Ignorare un'operazione di trasferimento"
+ },
+ "transfer_to_blind": {
+ "method": "Trasferimento alla cieca",
+ "title": "Trasferimento a richiesta cieca",
+ "result": "Trasferimento al risultato cieco",
+ "headers": {
+ "request": "Trasferire quanto segue in cieco?",
+ "result": "Sono stati trasferiti alla cieca:"
+ },
+ "rows": {
+ "amount": "Importo: {amount}",
+ "from": "Da: {from} ({fromOP})",
+ "blinding_factor": "Fattore di accecamento: {blinding_factor}",
+ "outputs": "Uscite: {outputs}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Trasferisci risorse a una destinazione cieca"
+ },
+ "blind_transfer": {
+ "method": "Trasferimento cieco",
+ "title": "Richiesta di trasferimento cieco",
+ "result": "Risultato del trasferimento cieco",
+ "headers": {
+ "request": "Approvare il seguente trasferimento cieco?",
+ "result": "È stato approvato il seguente trasferimento cieco:"
+ },
+ "rows": {
+ "inputs": "Ingressi: {inputs}",
+ "outputs": "Uscite: {outputs}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Trasferisci beni ciechi in modo cieco"
+ },
+ "transfer_from_blind": {
+ "method": "Trasferimento da cieco",
+ "title": "Trasferimento da richiesta cieca",
+ "result": "Trasferimento dal risultato cieco",
+ "headers": {
+ "request": "Trasferire quanto segue da cieco?",
+ "result": "Quanto segue è stato trasferito da cieco:"
+ },
+ "rows": {
+ "amount": "Importo: {amount}",
+ "to": "A: {to} ({toOP})",
+ "blinding_factor": "Fattore di accecamento: {blinding_factor}",
+ "inputs": "Ingressi: {inputs}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Prelevare asset da un saldo cieco"
+ },
+ "asset_claim_fees": {
+ "method": "Commissioni per la rivendicazione dei beni",
+ "title": "Richiesta di commissioni per la rivendicazione dei beni",
+ "result": "Risultano le commissioni per le rivendicazioni patrimoniali",
+ "headers": {
+ "request": "Prelevare le commissioni dal seguente asset?",
+ "result": "Sono state richieste le seguenti commissioni relative ai beni:"
+ },
+ "rows": {
+ "issuer": "Emittente: {issuer} ({issuerOP})",
+ "amount_to_claim": "Importo da richiedere: {amount_to_claim} ({asset_id})",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Richiedi le commissioni da una risorsa"
+ },
+ "bid_collateral": {
+ "method": "Offerta garanzia",
+ "title": "Richiesta di garanzia collaterale dell'offerta",
+ "result": "Risultato collaterale dell'offerta",
+ "headers": {
+ "request": "Approvare la seguente offerta di garanzia?",
+ "result": "È stata approvata la seguente offerta di garanzia:"
+ },
+ "rows": {
+ "bidder": "Offerente: {bidder} ({bidderOP})",
+ "additional_collateral": "Garanzia aggiuntiva: {additional_collateral}",
+ "debt_covered": "Debito coperto: {debt_covered}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Fai offerte su un bitasset a sostegno della garanzia collaterale quando regolato a livello globale"
+ },
+ "asset_claim_pool": {
+ "method": "Pool di rivendicazioni di beni",
+ "title": "Richiesta di pool di rivendicazioni di risorse",
+ "result": "Risultato del pool di rivendicazioni di risorse",
+ "headers": {
+ "request": "Richiedere il seguente pool di risorse?",
+ "result": "È stato rivendicato il seguente pool di risorse:"
+ },
+ "rows": {
+ "issuer": "Emittente: {issuer} ({issuerOP})",
+ "asset_id": "Risorsa: {asset_id}",
+ "amount_to_claim": "Importo da richiedere: {amount_to_claim}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Trasferisce i BTS dal fee pool di un asset specifico al saldo dell'emittente"
+ },
+ "asset_update_issuer": {
+ "method": "Emittente dell'aggiornamento della risorsa",
+ "title": "Richiesta dell'emittente dell'aggiornamento della risorsa",
+ "result": "Risultato dell'emittente dell'aggiornamento della risorsa",
+ "headers": {
+ "request": "Aggiornare l'emittente della seguente risorsa?",
+ "result": "L'emittente della seguente risorsa è stata aggiornata:"
+ },
+ "rows": {
+ "issuer": "Emittente: {issuer} ({issuerOP})",
+ "asset_to_update": "Risorsa da aggiornare: {asset_to_update}",
+ "new_issuer": "Nuovo emittente: {new_issuer} ({new_issuerOP})",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Aggiorna l'emittente di una risorsa a un nuovo account amministratore."
+ },
+ "htlc_create": {
+ "method": "Creazione HTLC",
+ "title": "Richiesta di creazione HTLC",
+ "result": "HTML crea il risultato",
+ "headers": {
+ "request": "Creare la seguente operazione di contratto con blocco temporale con hash?",
+ "result": "È stata approvata la creazione della seguente operazione contrattuale con blocco temporale con hash:"
+ },
+ "rows": {
+ "from": "Da: {from} ({fromOP})",
+ "to": "A: {to} ({toOP})",
+ "amount": "Importo: {amount}",
+ "preimage_hash": "Hash preimmagine: {preimage_hash}",
+ "preimage_size": "Dimensioni della preimmagine: {preimage_size}",
+ "claim_period_seconds": "Periodo di richiesta (secondi): {claim_period_seconds}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Creare un'operazione di contratto hash time-locked (HTLC)."
+ },
+ "htlc_redeem": {
+ "method": "Riscatto HTLC",
+ "title": "Richiesta di riscatto HTLC",
+ "result": "HTLC Riscatta risultato",
+ "headers": {
+ "request": "Riscattare la seguente operazione di contratto con hash bloccato a tempo?",
+ "result": "È stato approvato il riscatto della seguente operazione contrattuale hash timelocked:"
+ },
+ "rows": {
+ "htlc_id": "ID HTLC: {htlc_id}",
+ "redeemer": "Redentore: {redeemer} ({redeemerOP})",
+ "preimage": "Preimmagine: {preimage}",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Riscattare il contenuto di un'operazione HTLC"
+ },
+ "htlc_extend": {
+ "method": "Estendi HTLC",
+ "title": "Richiesta di estensione HTLC",
+ "result": "Risultato dell'estensione HTLC",
+ "headers": {
+ "request": "Approvare la seguente estensione del contratto con scadenza temporale dell'hash?",
+ "result": "È stata approvata l'estensione del seguente contratto di hash con scadenza temporale:"
+ },
+ "rows": {
+ "htlc_id": "ID HTLC: {htlc_id}",
+ "update_issuer": "Emittente dell'aggiornamento: {update_issuer} ({update_issuerOP})",
+ "seconds_to_add": "Secondi da aggiungere: {seconds_to_add}",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Estendere la durata di un'operazione HTLC"
+ },
+ "custom_authority_create": {
+ "method": "Creazione dell'autorizzazione personalizzata",
+ "title": "Richiesta di creazione dell'autorità personalizzata",
+ "result": "Risultato della creazione dell'autorizzazione personalizzata",
+ "headers": {
+ "request": "Creare la seguente autorità personalizzata?",
+ "result": "È stata creata la seguente autorità personalizzata:"
+ },
+ "rows": {
+ "account": "Conto: {account} ({accountOP})",
+ "enabled": "Abilitato: {enabled}",
+ "valid_from": "Valido da: {valid_from}",
+ "valid_to": "Valido fino a: {valid_to}",
+ "operation_type": "Tipo di operazione: {operation_type}",
+ "auth": "Autorità: {auth}",
+ "restrictions": "Restrizioni: {restrictions}",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Crea una nuova autorità personalizzata."
+ },
+ "custom_authority_update": {
+ "method": "Aggiornamento dell'autorità personalizzata",
+ "title": "Richiesta di aggiornamento dell'autorità personalizzata",
+ "result": "Risultato dell'aggiornamento dell'autorità personalizzata",
+ "headers": {
+ "request": "Aggiornare la seguente autorità personalizzata?",
+ "result": "È stata aggiornata la seguente autorità personalizzata:"
+ },
+ "rows": {
+ "account": "Conto: {account} ({accountOP})",
+ "authority_to_update": "Autorità per l'aggiornamento: {authority_to_update}",
+ "new_enabled": "Nuovo abilitato: {new_enabled}",
+ "new_valid_from": "Nuovo valido da: {new_valid_from}",
+ "new_valid_to": "Nuovo valido per: {new_valid_to}",
+ "new_auth": "Nuova autorità: {new_auth}",
+ "restrictions_to_remove": "Restrizioni da rimuovere: {restrictions_to_remove}",
+ "restrictions_to_add": "Restrizioni da aggiungere: {restrictions_to_add}",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Aggiorna un'autorità personalizzata."
+ },
+ "custom_authority_delete": {
+ "method": "Eliminazione dell'autorità personalizzata",
+ "title": "Richiesta di eliminazione dell'autorità personalizzata",
+ "result": "Risultato dell'eliminazione dell'autorità personalizzata",
+ "headers": {
+ "request": "Eliminare la seguente autorità personalizzata?",
+ "result": "La seguente autorità personalizzata è stata eliminata:"
+ },
+ "rows": {
+ "account": "Conto: {account} ({accountOP})",
+ "authority_to_delete": "Autorità per l'eliminazione: {authority_to_delete}",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Elimina un'autorità personalizzata."
+ },
+ "ticket_create": {
+ "method": "Creazione del biglietto",
+ "title": "Richiesta di creazione del ticket",
+ "result": "Risultato della creazione del ticket",
+ "headers": {
+ "request": "Creare il seguente ticket?",
+ "result": "È stato creato il seguente ticket:"
+ },
+ "rows": {
+ "account": "Conto: {account} ({accountOP})",
+ "target_type": "Tipo di target: {target_type}",
+ "amount": "Importo: {amount}",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Crea un nuovo biglietto."
+ },
+ "ticket_update": {
+ "method": "Aggiornamento biglietti",
+ "title": "Richiesta aggiornamento ticket",
+ "result": "Risultato aggiornamento ticket",
+ "headers": {
+ "request": "Aggiornare il seguente ticket?",
+ "result": "È stato aggiornato il seguente ticket:"
+ },
+ "rows": {
+ "ticket": "Biglietto: {ticket}",
+ "account": "Conto: {account} ({accountOP})",
+ "target_type": "Tipo di target: {target_type}",
+ "amount_for_new_target": "Importo per il nuovo target: {amount_for_new_target}",
+ "extensions": "Estensioni: {extensions}"
+ },
+ "tooltip": "Aggiorna un ticket esistente."
+ },
+ "liquidity_pool_create": {
+ "method": "Creazione di un pool di liquidità",
+ "title": "Richiesta di creazione del pool di liquidità",
+ "result": "Il pool di liquidità crea il risultato",
+ "headers": {
+ "request": "Creare un pool di liquidità con i seguenti dettagli?",
+ "result": "È stato creato il seguente pool di liquidità:"
+ },
+ "rows": {
+ "account": "Conto: {account} ({accountOP})",
+ "asset_a": "Risorsa A: {asset_a} ({asset_aOP})",
+ "asset_b": "Risorsa B: {asset_b} ({asset_bOP})",
+ "share_asset": "Condividi risorsa: {share_asset} ({share_assetOP})",
+ "taker_fee_percent": "Percentuale commissione acquirente: {taker_fee_percent}",
+ "withdrawal_fee_percent": "Percentuale commissione di prelievo: {withdrawal_fee_percent}",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Creare una riserva di liquidità"
+ },
+ "liquidity_pool_delete": {
+ "method": "Eliminazione del pool di liquidità",
+ "title": "Richiesta di eliminazione del pool di liquidità",
+ "result": "Risultato dell'eliminazione del pool di liquidità",
+ "headers": {
+ "request": "Eliminare il seguente pool di liquidità?",
+ "result": "È stato eliminato il seguente pool di liquidità:"
+ },
+ "rows": {
+ "account": "Conto: {account} ({accountOP})",
+ "pool_id": "ID pool: {pool_id}",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Elimina un pool di liquidità"
+ },
+ "liquidity_pool_deposit": {
+ "method": "Deposito di pool di liquidità",
+ "title": "Richiesta di deposito di pool di liquidità",
+ "result": "Risultato del deposito del pool di liquidità",
+ "headers": {
+ "request": "Depositare le seguenti attività nel pool di liquidità?",
+ "result": "Nel pool di liquidità sono state depositate le seguenti attività:"
+ },
+ "rows": {
+ "account": "Conto: {account} ({accountOP})",
+ "pool": "Piscina: {pool}",
+ "asset_a": "Risorsa A: {asset_a} ({asset_aOP})",
+ "asset_b": "Risorsa B: {asset_b} ({asset_bOP})",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Depositare fondi in un pool di liquidità"
+ },
+ "liquidity_pool_withdraw": {
+ "method": "Ritiro del pool di liquidità",
+ "title": "Richiesta di prelievo del pool di liquidità",
+ "result": "Risultato del ritiro del pool di liquidità",
+ "headers": {
+ "request": "Ritirare le seguenti attività dal pool di liquidità?",
+ "result": "Dal pool di liquidità sono state ritirate le seguenti attività:"
+ },
+ "rows": {
+ "account": "Conto: {account} ({accountOP})",
+ "pool": "Piscina: {pool}",
+ "share_asset": "Condividi risorsa: {share_asset} ({share_assetOP})",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Prelevare fondi da un pool di liquidità"
+ },
+ "liquidity_pool_exchange": {
+ "method": "Scambio di pool di liquidità",
+ "title": "Richiesta di scambio del pool di liquidità",
+ "result": "Risultato dello scambio del pool di liquidità",
+ "headers": {
+ "request": "Approvare il seguente scambio di pool di liquidità?",
+ "result": "È stato approvato il seguente scambio di pool di liquidità:"
+ },
+ "rows": {
+ "account": "Conto: {account} ({accountOP})",
+ "pool": "Piscina: {pool}",
+ "amount_to_sell": "Importo da vendere: {amount_to_sell}",
+ "min_to_receive": "Min per ricevere: {min_to_receive}",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Scambio con un pool di liquidità."
+ },
+ "samet_fund_create": {
+ "method": "Creazione del fondo SameT",
+ "title": "Richiesta di creazione del fondo SameT",
+ "result": "Il fondo SameT crea risultati",
+ "headers": {
+ "request": "Approvare la seguente creazione del fondo Samet?",
+ "result": "È stato creato il seguente fondo stesso:"
+ },
+ "rows": {
+ "owner_account": "Account proprietario: {owner_account} ({owner_accountOP})",
+ "asset_type": "Tipo di risorsa: {asset_type}",
+ "balance": "Saldo: {balance}",
+ "fee_rate": "Tasso di commissione: {fee_rate}",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Crea un nuovo fondo SameT. "
+ },
+ "samet_fund_delete": {
+ "method": "Eliminazione fondo SameT",
+ "title": "Richiesta di eliminazione fondo SameT",
+ "result": "Risultato dell'eliminazione del fondo SameT",
+ "headers": {
+ "request": "Eliminare il seguente stesso fondo?",
+ "result": "È stato eliminato il seguente fondo stesso:"
+ },
+ "rows": {
+ "owner_account": "Account proprietario: {owner_account} ({owner_accountOP})",
+ "fund_id": "ID fondo: {fund_id}",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Elimina un oggetto fondo SameT."
+ },
+ "samet_fund_update": {
+ "method": "Aggiornamento del fondo SameT",
+ "title": "Richiesta aggiornamento fondo SameT",
+ "result": "Risultato aggiornamento fondo SameT",
+ "headers": {
+ "request": "Aggiornare il seguente fondo stesso?",
+ "result": "È stato aggiornato il seguente fondo stesso:"
+ },
+ "rows": {
+ "owner_account": "Account proprietario: {owner_account} ({owner_accountOP})",
+ "fund_id": "ID fondo: {fund_id}",
+ "delta_amount": "Importo delta: {delta_amount}",
+ "new_fee_rate": "Nuova tariffa: {new_fee_rate}",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Aggiorna un oggetto fondo SameT."
+ },
+ "samet_fund_borrow": {
+ "method": "Prestito del fondo SameT",
+ "title": "Richiesta di prestito del fondo SameT",
+ "result": "Risultato del prestito del fondo SameT",
+ "headers": {
+ "request": "Prendere in prestito dal seguente fondo stesso?",
+ "result": "Preso in prestito con successo dal seguente fondo stesso:"
+ },
+ "rows": {
+ "borrower": "Mutuatario: {borrower} ({borrowerOP})",
+ "fund_id": "ID fondo: {fund_id}",
+ "borrow_amount": "Importo del prestito: {borrow_amount}",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Prendi in prestito da un fondo SameT."
+ },
+ "samt_fund_repay": {
+ "method": "Rimborso del fondo SameT",
+ "title": "Richiesta di rimborso del fondo SameT",
+ "result": "Risultato del rimborso del fondo SameT",
+ "headers": {
+ "request": "Rimborsare il seguente fondo stesso",
+ "result": "Rimborsato con successo il seguente fondo stesso"
+ },
+ "rows": {
+ "account": "Conto: {account} ({accountOP})",
+ "fund_id": "ID fondo: {fund_id}",
+ "repay_amount": "Importo del rimborso: {repay_amount}",
+ "fund_fee": "Commissione sul fondo: {fund_fee}",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Ripagare il debito con un fondo SameT."
+ },
+ "credit_offer_create": {
+ "method": "Creazione dell'offerta di credito",
+ "title": "Richiesta di creazione dell'offerta di credito",
+ "result": "L'offerta di credito crea risultati",
+ "headers": {
+ "request": "Approvare la creazione della seguente offerta di credito?",
+ "result": "È stata creata la seguente offerta di credito:"
+ },
+ "rows": {
+ "owner_account": "Account proprietario: {owner_account} ({owner_accountOP})",
+ "asset_type": "Tipo di risorsa: {asset_type}",
+ "balance": "Saldo: {balance}",
+ "fee_rate": "Tasso di commissione: {fee_rate}",
+ "max_duration_seconds": "Secondi di durata massima: {max_duration_seconds}",
+ "min_deal_amount": "Importo minimo dell'offerta: {min_deal_amount}",
+ "enabled": "Abilitato: {enabled}",
+ "auto_disable_time": "Tempo di disattivazione automatica: {auto_disable_time}",
+ "acceptable_collateral": "Garanzia accettabile: {acceptable_collateral}",
+ "acceptable_borrowers": "Mutuatari accettabili: {acceptable_borrowers}",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Creare una nuova offerta di credito. "
+ },
+ "credit_offer_delete": {
+ "method": "Eliminazione dell'offerta di credito",
+ "title": "Richiesta di eliminazione dell'offerta di credito",
+ "result": "Risultato dell'eliminazione dell'offerta di credito",
+ "headers": {
+ "request": "Eliminare la seguente offerta di credito?",
+ "result": "La seguente offerta di credito è stata cancellata:"
+ },
+ "rows": {
+ "owner_account": "Account proprietario: {owner_account} ({owner_accountOP})",
+ "offer_id": "ID offerta: {offer_id}",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Elimina un'offerta di credito."
+ },
+ "credit_offer_update": {
+ "method": "Aggiornamento dell'offerta di credito",
+ "title": "Richiesta aggiornamento offerta di credito",
+ "result": "Risultato aggiornamento offerta di credito",
+ "headers": {
+ "request": "Aggiornare la seguente offerta di credito?",
+ "result": "È stata aggiornata la seguente offerta di credito:"
+ },
+ "rows": {
+ "owner_account": "Account proprietario: {owner_account} ({owner_accountOP})",
+ "offer_id": "ID offerta: {offer_id}",
+ "delta_amount": "Importo delta: {delta_amount}",
+ "fee_rate": "Tasso di commissione: {fee_rate}",
+ "max_duration_seconds": "Secondi di durata massima: {max_duration_seconds}",
+ "min_deal_amount": "Importo minimo dell'offerta: {min_deal_amount}",
+ "enabled": "Abilitato: {enabled}",
+ "auto_disable_time": "Tempo di disattivazione automatica: {auto_disable_time}",
+ "acceptable_collateral": "Garanzia accettabile: {acceptable_collateral}",
+ "acceptable_borrowers": "Mutuatari accettabili: {acceptable_borrowers}",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Aggiorna un'offerta di credito"
+ },
+ "credit_offer_accept": {
+ "method": "Offerta di credito accettata",
+ "title": "L'offerta di credito accetta la richiesta",
+ "result": "L'offerta di credito accetta il risultato",
+ "headers": {
+ "request": "Approvare la seguente offerta di credito?",
+ "result": "È stata approvata la seguente offerta di credito:"
+ },
+ "rows": {
+ "borrower": "Mutuatario: {borrower} ({borrowerOP})",
+ "offer_id": "ID offerta: {offer_id}",
+ "borrow_amount": "Importo del prestito: {borrow_amount}",
+ "collateral": "Garanzia collaterale: {collateral}",
+ "max_fee_rate": "Tariffa massima: {max_fee_rate}",
+ "min_duration_seconds": "Secondi di durata minima: {min_duration_seconds}",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Accetta un'offerta di credito e crea un contratto di credito."
+ },
+ "credit_deal_repay": {
+ "method": "Rimborso dell'accordo di credito",
+ "title": "Richiesta di rimborso del contratto di credito",
+ "result": "Risultato del rimborso dell'accordo di credito",
+ "headers": {
+ "request": "Rimborsare il seguente contratto di credito?",
+ "result": "Hai rimborsato il seguente accordo di credito"
+ },
+ "rows": {
+ "account": "Conto: {account} ({accountOP})",
+ "deal_id": "ID offerta: {deal_id}",
+ "repay_amount": "Importo del rimborso: {repay_amount}",
+ "credit_fee": "Commissione di credito: {credit_fee}",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Rimborsare un contratto di credito."
+ },
+ "liquidity_pool_update_operation": {
+ "method": "Aggiornamento del pool di liquidità",
+ "title": "Richiesta di aggiornamento del pool di liquidità",
+ "result": "Risultato dell'aggiornamento del pool di liquidità",
+ "headers": {
+ "request": "Aggiornare il seguente pool di liquidità?",
+ "result": "È stato aggiornato il seguente pool di liquidità:"
+ },
+ "rows": {
+ "owner_account": "Account proprietario: {owner_account} ({owner_accountOP})",
+ "pool_id": "ID pool: {pool_id}",
+ "new_parameters": "Nuovi parametri: {new_parameters}",
+ "extensions": "Estensioni: {extensions}",
+ "fee": "Tariffa stimata: {fee}"
+ },
+ "tooltip": "Aggiorna un pool di liquidità"
+ },
+ "credit_deal_update_operation": {
+ "method": "Aggiornamento del contratto di credito",
+ "title": "Richiesta di aggiornamento del contratto di credito",
+ "result": "Risultato dell'aggiornamento del contratto di credito",
+ "headers": {
+ "request": "Aggiornare il seguente accordo di credito?",
+ "result": "È stato aggiornato il seguente contratto di credito:"
+ },
+ "rows": {
+ "fee": "Tariffa stimata: {fee}",
+ "account": "Conto: {account} ({accountOP})",
+ "deal_id": "ID offerta: {deal_id}",
+ "auto_repay": "Rimborso automatico: {auto_repay}"
+ },
+ "tooltip": "Aggiorna un contratto di credito"
+ },
+ "limit_order_update_operation": {
+ "method": "Aggiornamento dell'ordine limite",
+ "title": "Richiesta di aggiornamento dell'ordine limite",
+ "result": "Risultato dell'aggiornamento dell'ordine limite",
+ "headers": {
+ "request": "Aggiornare il seguente ordine limite?",
+ "result": "È stato aggiornato il seguente ordine limite:"
+ },
+ "rows": {
+ "fee": "Tariffa stimata: {fee}",
+ "seller": "Venditore: {seller} ({sellerOP})",
+ "order": "Ordine: {order}",
+ "new_price": "Nuovo prezzo: {new_price}",
+ "delta_amount_to_sell": "Importo delta da vendere: {delta_amount_to_sell}",
+ "new_expiration": "Nuova scadenza: {new_expiration}",
+ "on_fill": "In fase di riempimento: {on_fill}",
+ "extensions": "Estensioni: {extensions}"
+ },
+ "tooltip": "Aggiorna un ordine limite"
+ }
+ },
"EOS": {
"setalimits": {
"method": "Imposta i limiti dell'account",
diff --git a/src/translations/operations/ja.json b/src/translations/operations/ja.json
index 6d523cba..a69c87e3 100644
--- a/src/translations/operations/ja.json
+++ b/src/translations/operations/ja.json
@@ -100,6 +100,1444 @@
"reject_btn": "無視する"
},
"injected": {
+ "BTS": {
+ "getAccount": {
+ "method": "アカウントを取得する",
+ "title": "アカウント詳細リクエスト",
+ "result": "アカウント詳細結果",
+ "headers": {
+ "request": "アカウントの詳細を共有しますか?",
+ "result": "アカウントの詳細が共有されました。"
+ },
+ "tooltip": "ウォレットにブロックチェーンアカウントの詳細を要求します"
+ },
+ "requestSignature": {
+ "method": "要求署名",
+ "title": "署名リクエスト",
+ "result": "署名結果",
+ "headers": {
+ "request": "あなたの署名を共有したいですか?",
+ "result": "あなたの署名が共有されました:"
+ },
+ "tooltip": "ウォレットにブロックチェーン署名を要求します"
+ },
+ "injectedCall": {
+ "method": "注入されたコール",
+ "title": "挿入された通話リクエスト",
+ "result": "挿入された呼び出しの結果",
+ "headers": {
+ "request": "次の挿入された呼び出しを承認しますか?",
+ "result": "次の挿入された呼び出しが承認されました。"
+ },
+ "tooltip": "挿入されたブロックチェーン操作を処理するようにウォレットに要求します"
+ },
+ "voteFor": {
+ "method": "に投票",
+ "title": "投票リクエスト",
+ "result": "投票結果",
+ "headers": {
+ "request": "次の投票リクエストを承認しますか?",
+ "result": "次の投票リクエストが承認されました"
+ },
+ "tooltip": "ブロックチェーン投票を実行する"
+ },
+ "signMessage": {
+ "method": "サインメッセージ",
+ "title": "メッセージリクエストに署名する",
+ "result": "署名メッセージの結果",
+ "headers": {
+ "request": "次のメッセージへの署名を承認しますか?",
+ "result": "次のメッセージが署名されました。"
+ },
+ "tooltip": "ブロックチェーンベースのメッセージに署名する"
+ },
+ "signNFT": {
+ "method": "NFTに署名する",
+ "title": "NFTリクエストに署名する",
+ "result": "NFT結果に署名する",
+ "headers": {
+ "request": "次のNFTへの署名を承認しますか?",
+ "result": "次の NFT が署名されました。"
+ },
+ "tooltip": "NFTの内容に署名する"
+ },
+ "verifyMessage": {
+ "method": "verifyメッセージ",
+ "title": "メッセージリクエストの確認",
+ "result": "メッセージの結果を確認する",
+ "headers": {
+ "request": "次のメッセージを確認しますか?",
+ "result": "次のメッセージが確認されました。"
+ },
+ "tooltip": "ブロックチェーンベースの署名付きメッセージを検証する"
+ },
+ "transfer": {
+ "method": "移行",
+ "title": "転送依頼",
+ "result": "転送結果",
+ "headers": {
+ "request": "次の転送リクエストを承認しますか?",
+ "result": "次の転送リクエストが承認されました:"
+ },
+ "rows": {
+ "from": "差出人: {from} ({opFrom})",
+ "to": "宛先: {to} ({opTo})",
+ "amount": "金額: {amount}"
+ },
+ "tooltip": "あるアカウントから別のアカウントにアセットを送信する"
+ },
+ "limit_order_create": {
+ "method": "指値注文の作成",
+ "title": "指値注文作成リクエスト",
+ "result": "指値注文作成結果",
+ "headers": {
+ "request": "次の指値注文作成リクエストを承認しますか?",
+ "result": "次の指値注文が作成されました。"
+ },
+ "rows": {
+ "trade": "貿易",
+ "tradeFK": "トレード(フィル・オア・キル)",
+ "seller": "販売者: {seller} ({opSeller})",
+ "selling": "販売: {amount}",
+ "buying": "購入: {amount}",
+ "price": "価格: {price} {sellSymbol}/{buySymbol}"
+ },
+ "tooltip": "一定の期間までに指定された為替レートで一定量の資産を売却するというオファー"
+ },
+ "limit_order_cancel": {
+ "method": "指値注文キャンセル",
+ "title": "指値注文キャンセルリクエスト",
+ "result": "指値注文キャンセル結果",
+ "headers": {
+ "request": "次の指値注文をキャンセルしますか?",
+ "result": "次の指値注文がキャンセルされました:"
+ },
+ "rows": {
+ "id": "注文 ID: {id}",
+ "fees": "推定手数料: {fees}",
+ "account": "料金支払いアカウント: {account}"
+ },
+ "tooltip": "指値注文オペレーションのキャンセル"
+ },
+ "call_order_update": {
+ "method": "電話注文の更新",
+ "title": "電話注文更新リクエスト",
+ "result": "呼び出し順序更新結果",
+ "headers": {
+ "request": "通話順序を次のように更新しますか?",
+ "result": "次の呼び出し順序が更新されました。"
+ },
+ "rows": {
+ "funding_account": "資金調達アカウント: {funding_account}",
+ "delta_collateral": "デルタ担保: {delta_collateral} ({id})",
+ "delta_debt": "デルタ債務: {delta_debt} ({id})",
+ "fees": "推定手数料: {fees}"
+ },
+ "tooltip": "既存のコールオーダーの更新"
+ },
+ "account_create": {
+ "method": "アカウントの作成",
+ "title": "アカウント作成リクエスト",
+ "result": "アカウント作成結果",
+ "headers": {
+ "request": "次のアカウントを作成しますか?",
+ "result": "次のアカウントが作成されました。"
+ },
+ "rows": {
+ "registrar": "レジストラ: {registrar} ({opRegistrar})",
+ "referrer": "リファラー: {referrer} ({opReferrer})",
+ "referrer_percent": "参照者のパーセント: {referrer_percent}",
+ "name": "名前: {name}",
+ "ownerHeader": "所有者:",
+ "activeHeader": "アクティブ:",
+ "weight_threshold": "体重のしきい値: {weight_threshold}",
+ "account_auths": "アカウント認証: {account_auths}",
+ "key_auths": "キー認証: {key_auths}",
+ "address_auths": "アドレス認証: {address_auths}",
+ "optionsHeader": "オプション:",
+ "memo_key": "メモキー: {memo_key}",
+ "voting_account": "投票アカウント: {voting_account} ({opVotingAccount})",
+ "num_witness": "証人の数: {num_witness}",
+ "num_committee": "委員会メンバーの数: {num_committee}",
+ "votes": "投票: {votes}",
+ "extensions": "拡張機能: {extensions}",
+ "fees": "推定手数料: {fees}"
+ },
+ "tooltip": "新しいアカウントの作成"
+ },
+ "account_update": {
+ "method": "アカウントの更新",
+ "title": "アカウント更新リクエスト",
+ "result": "アカウント更新結果",
+ "headers": {
+ "request": "次のアカウントを更新しますか?",
+ "result": "以下のアカウントが更新されました。"
+ },
+ "rows": {
+ "warning": "警告: この操作は元に戻すことができません。",
+ "account": "アカウント: {account} ({opAccount})",
+ "owner": "所有者: {owner}",
+ "active": "アクティブ: {active}",
+ "new_options": "新しいオプション: {new_options}",
+ "extensions": "拡張機能: {extensions}",
+ "fees": "推定手数料: {fees}"
+ },
+ "tooltip": "この操作は、既存のアカウントを更新するために使用されます。"
+ },
+ "account_whitelist": {
+ "method": "アカウントのホワイトリスト",
+ "title": "アカウントのホワイトリストのリクエスト",
+ "result": "アカウントのホワイトリストの結果",
+ "headers": {
+ "request": "アカウントのホワイトリストを次のように更新しますか?",
+ "result": "アカウントのホワイトリストが次のように更新されました。"
+ },
+ "rows": {
+ "authorizing_account": "承認アカウント: {authorizingAccount} (authorizingAccountOP)",
+ "account_to_list": "リストするアカウント: {accountToList} (accountToListOP)",
+ "new_listing": "新しいリスト: {newListing}",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "料金: {fee}"
+ },
+ "tooltip": "この操作は、主にホワイトリストに登録された資産の取引のために、アカウントをホワイトリストおよびブラックリストに登録するために使用されます。"
+ },
+ "account_upgrade": {
+ "method": "アカウントのアップグレード",
+ "title": "アカウントアップグレードリクエスト",
+ "result": "アカウントアップグレード結果",
+ "headers": {
+ "request": "アカウントを生涯会員にアップグレードしますか?",
+ "result": "あなたのアカウントは永久会員にアップグレードされました!"
+ },
+ "rows": {
+ "account_to_upgrade": "アップグレードするアカウント: {accountToUpgrade} (accountToUpgradeOP)",
+ "upgrade_to_lifetime_member": "生涯メンバーへのアップグレード: {upgradeToLifetimeMember}",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "この操作は、アカウントをメンバーにアップグレードするか、サブスクリプションを更新するために使用されます。"
+ },
+ "account_transfer": {
+ "method": "口座振替",
+ "title": "口座振替リクエスト",
+ "result": "口座振替結果",
+ "headers": {
+ "request": "アカウントを新しい所有者に譲渡しますか?",
+ "result": "次のアカウントが新しい所有者に譲渡されました:"
+ },
+ "rows": {
+ "warning": "警告: この操作は元に戻すことができません。",
+ "account_id": "アカウント ID: {originalOwner} ({account_id})",
+ "new_owner": "新しい所有者: {newOwner} ({newOwnerOP})",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "ホワイトリストをクリアしながらアカウントを別のアカウントに転送します"
+ },
+ "asset_create": {
+ "method": "アセットの作成",
+ "title": "アセット作成リクエスト",
+ "result": "アセット作成結果",
+ "headers": {
+ "request": "次のアセットを作成しますか?",
+ "result": "次のアセットが作成されました。"
+ },
+ "rows": {
+ "symbol": "シンボル: {symbol}",
+ "main": "メイン: {main}",
+ "market": "マーケット: {market}",
+ "short_name": "ショートネーム: {short_name}",
+ "precision": "精度: {precision}",
+ "max_supply": "最大供給量: {max_supply}",
+ "market_fee_percent": "市場手数料パーセント: {market_fee_percent}",
+ "max_market_fee": "最大市場手数料: {max_market_fee}",
+ "cer": "コア為替レート:",
+ "cer_base_amount": "基本金額: {cer_base_amount}",
+ "cer_base_id": "基本アセット ID: {cer_base_id}",
+ "cer_quote_amount": "見積金額: {cer_quote_amount}",
+ "cer_quote_id": "見積アセット ID: {cer_quote_id}",
+ "whitelist_authorities": "ホワイトリスト権限: {whitelist_authorities}",
+ "blacklist_authorities": "ブラックリスト当局: {blacklist_authorities}",
+ "whitelist_markets": "ホワイトリスト マーケット: {whitelist_markets}",
+ "blacklist_markets": "ブラックリスト マーケット: {blacklist_markets}",
+ "is_prediction_market": "予測市場です: {is_prediction_market}",
+ "permissions": "権限:",
+ "perm_charge_market_fee": "チャージマーケット手数料: {charge_market_fee}",
+ "perm_white_list": "ホワイトリスト: {white_list}",
+ "perm_override_authority": "オーバーライド権限: {override_authority}",
+ "perm_transfer_restricted": "転送制限: {transfer_restricted}",
+ "perm_disable_confidential": "機密情報を無効にする: {disable_confidential}",
+ "flags": "フラグ:",
+ "flag_charge_market_fee": "チャージマーケット手数料: {charge_market_fee}",
+ "flag_white_list": "ホワイトリスト: {white_list}",
+ "flag_override_authority": "オーバーライド権限: {override_authority}",
+ "flag_transfer_restricted": "転送制限: {transfer_restricted}",
+ "flag_disable_confidential": "機密情報を無効にする: {disable_confidential}",
+ "bitasset": "ビットアセット情報:",
+ "feed_lifetime_sec": "フィードの有効期間 (秒): {feed_lifetime_sec}",
+ "force_settlement_delay_sec": "強制決済遅延 (秒): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "強制決済オフセットパーセント: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "最大強制決済量: {maximum_force_settlement_volume}",
+ "minimum_feeds": "最小フィード: {minimum_feeds}",
+ "short_backing_asset": "ショートバッキングアセット: {short_backing_asset}",
+ "nft": "NFTの内容:",
+ "acknowledgements": "謝辞: {acknowledgements}",
+ "artist": "アーティスト: {artist}",
+ "attestation": "証明書: {attestation}",
+ "holder_license": "所有者ライセンス: {holder_license}",
+ "license": "ライセンス: {license}",
+ "narrative": "ナラティブ: {narrative}",
+ "title": "タイトル: {title}",
+ "tags": "タグ: {tags}",
+ "type": "タイプ: {type}"
+ },
+ "tooltip": "Bitshares ブロックチェーン上に資産を作成します"
+ },
+ "asset_update": {
+ "method": "アセットの更新",
+ "title": "アセット更新リクエスト",
+ "result": "アセットの更新結果",
+ "headers": {
+ "request": "次のアセットを更新しますか?",
+ "result": "アセットは次の詳細で更新されました。"
+ },
+ "rows": {
+ "symbol": "シンボル: {symbol}",
+ "main": "メイン: {main}",
+ "market": "マーケット: {market}",
+ "short_name": "ショートネーム: {short_name}",
+ "precision": "精度: {precision}",
+ "max_supply": "最大供給量: {max_supply}",
+ "market_fee_percent": "市場手数料パーセント: {market_fee_percent}",
+ "max_market_fee": "最大市場手数料: {max_market_fee}",
+ "cer": "コア為替レート:",
+ "cer_base_amount": "基本金額: {cer_base_amount}",
+ "cer_base_id": "基本アセット ID: {cer_base_id}",
+ "cer_quote_amount": "見積金額: {cer_quote_amount}",
+ "cer_quote_id": "見積アセット ID: {cer_quote_id}",
+ "whitelist_authorities": "ホワイトリスト権限: {whitelist_authorities}",
+ "blacklist_authorities": "ブラックリスト当局: {blacklist_authorities}",
+ "whitelist_markets": "ホワイトリスト マーケット: {whitelist_markets}",
+ "blacklist_markets": "ブラックリスト マーケット: {blacklist_markets}",
+ "is_prediction_market": "予測市場です: {is_prediction_market}",
+ "permissions": "権限:",
+ "perm_charge_market_fee": "チャージマーケット手数料: {charge_market_fee}",
+ "perm_white_list": "ホワイトリスト: {white_list}",
+ "perm_override_authority": "オーバーライド権限: {override_authority}",
+ "perm_transfer_restricted": "転送制限: {transfer_restricted}",
+ "perm_disable_confidential": "機密情報を無効にする: {disable_confidential}",
+ "flags": "フラグ:",
+ "flag_charge_market_fee": "チャージマーケット手数料: {charge_market_fee}",
+ "flag_white_list": "ホワイトリスト: {white_list}",
+ "flag_override_authority": "オーバーライド権限: {override_authority}",
+ "flag_transfer_restricted": "転送制限: {transfer_restricted}",
+ "flag_disable_confidential": "機密情報を無効にする: {disable_confidential}",
+ "bitasset": "ビットアセット情報:",
+ "feed_lifetime_sec": "フィードの有効期間 (秒): {feed_lifetime_sec}",
+ "force_settlement_delay_sec": "強制決済遅延 (秒): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "強制決済オフセットパーセント: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "最大強制決済量: {maximum_force_settlement_volume}",
+ "minimum_feeds": "最小フィード: {minimum_feeds}",
+ "short_backing_asset": "ショートバッキングアセット: {short_backing_asset}",
+ "nft": "NFTの内容:",
+ "acknowledgements": "謝辞: {acknowledgements}",
+ "artist": "アーティスト: {artist}",
+ "attestation": "証明書: {attestation}",
+ "holder_license": "所有者ライセンス: {holder_license}",
+ "license": "ライセンス: {license}",
+ "narrative": "ナラティブ: {narrative}",
+ "title": "タイトル: {title}",
+ "tags": "タグ: {tags}",
+ "type": "タイプ: {type}"
+ },
+ "tooltip": "アセットの設定を更新します"
+ },
+ "asset_update_bitasset": {
+ "method": "アセット更新 bitasset",
+ "title": "アセット更新 bitasset リクエスト",
+ "result": "アセット更新ビットアセット結果",
+ "headers": {
+ "request": "bitasset の更新を承認しますか?",
+ "result": "次の bitasset 更新が承認されました。"
+ },
+ "rows": {
+ "issuer": "発行者: {issuer}",
+ "asset_to_update": "更新するアセット: {asset_to_update}",
+ "new_options": "新しいオプション:",
+ "feed_lifetime_sec": "フィードの有効期間 (秒): {feed_lifetime_sec}",
+ "minimum_feeds": "最小フィード: {minimum_feeds}",
+ "force_settlement_delay_sec": "強制決済遅延 (秒): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "強制決済オフセットパーセント: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "最大強制決済量: {maximum_force_settlement_volume}",
+ "short_backing_asset": "ショートバッキングアセット: {symbol} ({short_backing_asset})",
+ "extensions": "拡張機能: {extensions}",
+ "noExtensions": "拡張子なし",
+ "fee": "推定料金: {fee} ({id})"
+ },
+ "tooltip": "作成した bitasset 設定を更新する"
+ },
+ "asset_update_feed_producers": {
+ "method": "アセット更新フィードプロデューサー",
+ "title": "アセット更新フィードプロデューサーのリクエスト",
+ "result": "アセット更新フィードプロデューサーの結果",
+ "headers": {
+ "request": "ビットアセット飼料生産者の変更を承認しますか?",
+ "result": "ビットアセット飼料生産者に対する次の変更が承認されました。"
+ },
+ "rows": {
+ "issuer": "発行者: {issuer} ({issuerOP})",
+ "asset_to_update": "更新するアセット: {symbol} ({asset_to_update})",
+ "new_feed_producers": "新しいフィードプロデューサー: {new_feed_producers}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "作成されたビットアセットの承認済みフィードプロデューサーのリストを更新します"
+ },
+ "asset_issue": {
+ "method": "資産発行",
+ "title": "資産発行リクエスト",
+ "result": "資産発行結果",
+ "headers": {
+ "request": "次の資産発行を承認しますか?",
+ "result": "以下の資産発行が承認されました。"
+ },
+ "rows": {
+ "prompt": "{amount} {symbol} ({assetID}) を {to} ({toID}) に発行しますか?",
+ "fee": "推定料金: {fee} ({id})"
+ },
+ "tooltip": "作成したアセットを個人に発行する"
+ },
+ "asset_reserve": {
+ "method": "資産準備金",
+ "title": "資産留保リクエスト",
+ "result": "資産積立実績",
+ "headers": {
+ "request": "次の資産予約を承認しますか?",
+ "result": "次の資産予約が承認されました:"
+ },
+ "rows": {
+ "payer": "支払者: {payer} ({payerOP})",
+ "amount_to_reserve": "予約金額: {amount_to_reserve} ({amount_to_reserveOP})",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "作成したアセットを予約する"
+ },
+ "asset_fund_fee_pool": {
+ "method": "アセットファンド手数料プール",
+ "title": "アセットファンド手数料プールリクエスト",
+ "result": "アセットファンド手数料プール結果",
+ "headers": {
+ "request": "次の資産の手数料プールに資金を提供しますか?",
+ "result": "次の資産の手数料プール資金調達が承認されました。"
+ },
+ "rows": {
+ "from_account": "アカウントから: {from_account} ({from_accountOP})",
+ "asset": "アセット: {asset} ({assetOP})",
+ "amount": "金額: {amount}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "作成したアセットの料金プールに資金を提供します"
+ },
+ "asset_settle": {
+ "method": "資産決済",
+ "title": "資産決済リクエスト",
+ "result": "資産決済結果",
+ "headers": {
+ "request": "次の資産を裏付け担保として決済しますか?",
+ "result": "以下の資産は裏付け担保として決済されました。"
+ },
+ "rows": {
+ "account": "アカウント: {account} ({accountOP})",
+ "amount": "金額: {amount} ({assetID})",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "ポートフォリオ内の資産を決済する"
+ },
+ "asset_global_settle": {
+ "method": "資産のグローバル決済",
+ "title": "アセットのグローバル決済リクエスト",
+ "result": "アセットのグローバル決済結果",
+ "headers": {
+ "request": "次の資産に対してグローバル決済を実行しますか?",
+ "result": "次の資産はグローバルに決済されました。"
+ },
+ "rows": {
+ "issuer": "発行者: {issuer} ({issuerOP})",
+ "asset_to_settle": "決済する資産: {asset_to_settle} ({asset_to_settleOP})",
+ "settle_price": "決済価格: {settle_price}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "作成したビットアセットの 1 つをグローバルに決済します"
+ },
+ "asset_publish_feed": {
+ "method": "アセット公開フィード",
+ "title": "アセット公開フィードリクエスト",
+ "result": "アセット公開フィードの結果",
+ "headers": {
+ "request": "次の資産の価格フィードを公開しますか?",
+ "result": "次の資産価格フィードの更新が公開されました。"
+ },
+ "rows": {
+ "publisher": "パブリッシャー: {publisher} ({publisherOP})",
+ "asset_id": "アセット ID: {symbol} ({asset_idOP})",
+ "feed": "餌:",
+ "core_exchange_rate": "コア為替レート: {core_exchange_rate}",
+ "settlement_price": "決済価格: {settlement_price}",
+ "maintenance_collateral_ratio": "維持担保比率: {maintenance_collateral_ratio}",
+ "maximum_short_squeeze_ratio": "最大ショートスクイーズ比: {maximum_short_squeeze_ratio}",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "Bitasset の価格フィードを公開する"
+ },
+ "witness_create": {
+ "method": "証人作成",
+ "title": "証人作成リクエスト",
+ "result": "証人の作成結果",
+ "headers": {
+ "request": "以下の詳細を記載した証人を作成しますか?",
+ "result": "次の証人が作成されました。"
+ },
+ "rows": {
+ "witness_account": "証人アカウント: {witness_account} ({witness_accountOP})",
+ "url": "URL: {url}",
+ "block_signing_key": "ブロック署名キー: {block_signing_key}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "証人アカウントを作成する"
+ },
+ "witness_update": {
+ "method": "目撃者の最新情報",
+ "title": "証人の更新リクエスト",
+ "result": "証人の更新結果",
+ "headers": {
+ "request": "証人の詳細を次のように更新しますか?",
+ "result": "次の証人の詳細が更新されました。"
+ },
+ "rows": {
+ "witness": "証人: {witness}",
+ "witness_account": "証人アカウント: {witness_account} ({witness_accountOP})",
+ "new_url": "新しい URL: {new_url}",
+ "new_signing_key": "新しい署名キー: {new_signing_key}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "証人アカウントを更新する"
+ },
+ "proposal_create": {
+ "method": "提案書の作成",
+ "title": "提案作成リクエスト",
+ "result": "提案作成結果",
+ "headers": {
+ "request": "次の提案書を作成しますか?",
+ "result": "次のような提案書が作成されました。"
+ },
+ "rows": {
+ "expiration_time": "有効期限: {expiration_time}",
+ "proposed_ops": "提案されたオペレーション: {proposed_ops}",
+ "review_period_seconds": "レビュー期間の秒数: {review_period_seconds}",
+ "fee_paying_account": "料金支払いアカウント: {fee_paying_account} ({fee_paying_accountOP})",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "ブロックチェーン運用提案書を作成する"
+ },
+ "proposal_update": {
+ "method": "提案の更新",
+ "title": "提案更新リクエスト",
+ "result": "提案更新結果",
+ "headers": {
+ "request": "次の提案を更新しますか?",
+ "result": "次の提案が更新されました。"
+ },
+ "rows": {
+ "proposal": "提案: {proposal}",
+ "active_approvals_to_add": "追加するアクティブな承認: {active_approvals_to_add}",
+ "active_approvals_to_remove": "削除するアクティブな承認: {active_approvals_to_remove}",
+ "owner_approvals_to_add": "追加する所有者の承認: {owner_approvals_to_add}",
+ "owner_approvals_to_remove": "削除する所有者の承認: {owner_approvals_to_remove}",
+ "key_approvals_to_add": "追加する主要な承認: {key_approvals_to_add}",
+ "key_approvals_to_remove": "削除する主要な承認: {key_approvals_to_remove}",
+ "fee_paying_account": "料金支払いアカウント: {fee_paying_account} ({fee_paying_accountOP})",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "ブロックチェーン運用提案を更新する"
+ },
+ "proposal_delete": {
+ "method": "プロポーザルの削除",
+ "title": "プロポーザルの削除リクエスト",
+ "result": "プロポーザルの削除結果",
+ "headers": {
+ "request": "次の提案を削除しますか?",
+ "result": "次の提案は削除されました。"
+ },
+ "rows": {
+ "using_owner_authority": "所有者権限の使用: {using_owner_authority}",
+ "proposal": "提案: {proposal}",
+ "fee_paying_account": "料金支払いアカウント: {fee_paying_account} ({fee_paying_accountOP})",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "ブロックチェーン運用提案を削除する"
+ },
+ "withdraw_permission_create": {
+ "method": "取り消し権限の作成",
+ "title": "権限作成リクエストの取り消し",
+ "result": "権限の取り消しの結果の作成",
+ "headers": {
+ "request": "口座振替の認証",
+ "result": "次の口座振替の承認が承認されました。"
+ },
+ "rows": {
+ "recipient": "受信者: {recipient} ({recipientOP})",
+ "withdraw_from": "出金先のアカウント: {withdraw_from} ({withdraw_fromOP})",
+ "taking": "{period_qty} の期間、{period_sec} 秒ごとに {amount} を摂取します",
+ "start": "開始: {start}"
+ },
+ "tooltip": "引き出し権限を作成する"
+ },
+ "withdraw_permission_update": {
+ "method": "撤回許可の更新",
+ "title": "権限更新リクエストの撤回",
+ "result": "取消許可更新結果",
+ "headers": {
+ "request": "証人権限を次のように更新しますか?",
+ "result": "次の証人権限の更新が承認されました。"
+ },
+ "rows": {
+ "withrdaw_from_account": "アカウントからの出金: {withrdaw_from_account} ({withrdaw_from_accountOP})",
+ "authorized_account": "承認されたアカウント: {authorized_account} ({authorized_accountOP})",
+ "permission_to_update": "更新権限: {permission_to_update}",
+ "withdrawal_limited": "出金限度額: {withdrawal_limit}",
+ "withdrawal_unlimited": "出金制限: {withdrawal_limit} ({withdrawal_limitOP})",
+ "withdrawal_period_sec": "出金期間 (秒): {withdrawal_period_sec}",
+ "period_start_time": "期間の開始時刻: {period_start_time}",
+ "periods_until_expiration": "有効期限までの期間: {periods_until_expiration}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "出金許可を更新する"
+ },
+ "withdraw_permission_claim": {
+ "method": "許可申請の撤回",
+ "title": "許可申請の撤回",
+ "result": "許可申請の取り消し結果",
+ "headers": {
+ "request": "以下の出金許可を申請してください",
+ "result": "次の引き出し許可が要求されました。"
+ },
+ "rows": {
+ "withdraw_permission": "権限の撤回: {withdraw_permission}",
+ "withdraw_from_account": "アカウントからの出金: {withdraw_from_account} ({withdraw_from_accountOP})",
+ "withdraw_to_account": "アカウントへの出金: {withdraw_to_account} ({withdraw_to_accountOP})",
+ "amount_to_withdraw": "出金金額: {amount_to_withdraw} ({amount_to_withdrawOP})",
+ "memo": "メモ: {memo}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "撤回許可からの請求"
+ },
+ "withdraw_permission_delete": {
+ "method": "撤回許可の削除",
+ "title": "権限削除リクエストの撤回",
+ "result": "権限削除結果の撤回",
+ "headers": {
+ "request": "次の撤回許可を削除しますか?",
+ "result": "次の撤回権限が削除されました:"
+ },
+ "rows": {
+ "withdraw_from_account": "アカウントからの出金: {withdraw_from_account} ({withdraw_from_accountOP})",
+ "authorized_account": "承認されたアカウント: {authorized_account} ({authorized_accountOP})",
+ "withdrawal_permission": "出金許可: {withdrawal_permission}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "撤回権限を削除する"
+ },
+ "committee_member_create": {
+ "method": "委員作成",
+ "title": "委員会メンバーがリクエストを作成",
+ "result": "委員が結果を作成",
+ "headers": {
+ "request": "委員会のメンバーを作成しますか?",
+ "result": "次の委員会メンバーが設立されました。"
+ },
+ "rows": {
+ "committee_member_account": "委員会メンバーのアカウント: {committee_member_account} ({committee_member_accountOP})",
+ "url": "URL: {url}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "委員会メンバーのアカウントを作成する"
+ },
+ "committee_member_update": {
+ "method": "委員の最新情報",
+ "title": "委員更新依頼",
+ "result": "委員更新結果",
+ "headers": {
+ "request": "次の委員会メンバーの詳細を更新しますか?",
+ "result": "次の委員会メンバーによる詳細の更新が承認されました。"
+ },
+ "rows": {
+ "committee_member": "委員会メンバー: {committee_member}",
+ "committee_member_account": "委員会メンバーのアカウント: {committee_member_account} ({committee_member_accountOP})",
+ "new_url": "新しい URL: {new_url}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "委員会メンバーのアカウント詳細を更新する"
+ },
+ "committee_member_update_global_parameters": {
+ "method": "委員会メンバーがグローバルパラメータを更新",
+ "title": "委員会メンバーのグローバルパラメータ更新リクエスト",
+ "result": "委員会メンバーがグローバルパラメータの結果を更新",
+ "headers": {
+ "request": "委員会として以下のグローバルパラメータを承認しますか?",
+ "result": "以下のグローバル委員会パラメータが承認されました。"
+ },
+ "rows": {
+ "new_parameters": "新しいパラメータ:",
+ "current_fees": "現在の料金: {current_fees}",
+ "block_interval": "ブロック間隔: {block_interval}",
+ "maintenance_interval": "メンテナンス間隔: {maintenance_interval}",
+ "maintenance_skip_slots": "メンテナンススキップスロット: {maintenance_skip_slots}",
+ "committee_proposal_review_period": "委員会提案のレビュー期間: {committee_proposal_review_period}",
+ "maximum_transaction_size": "最大トランザクション サイズ: {maximum_transaction_size}",
+ "maximum_block_size": "最大ブロック サイズ: {maximum_block_size}",
+ "maximum_time_until_expiration": "有効期限までの最大時間: {maximum_time_until_expiration}",
+ "maximum_proposal_lifetime": "プロポーザルの最大有効期間: {maximum_proposal_lifetime}",
+ "maximum_asset_whitelist_authorities": "アセットホワイトリストの最大権限: {maximum_asset_whitelist_authorities}",
+ "maximum_asset_feed_publishers": "アセット フィード パブリッシャーの最大数: {maximum_asset_feed_publishers}",
+ "maximum_witness_count": "最大目撃者数: {maximum_witness_count}",
+ "maximum_committee_count": "委員会の最大数: {maximum_committee_count}",
+ "maximum_authority_membership": "最大権限メンバーシップ: {maximum_authority_membership}",
+ "reserve_percent_of_fee": "料金の予約パーセント: {reserve_percent_of_fee}",
+ "network_percent_of_fee": "ネットワーク料金の割合: {network_percent_of_fee}",
+ "lifetime_referrer_percent_of_fee": "紹介者の生涯料金の割合: {lifetime_referrer_percent_of_fee}",
+ "cashback_vesting_period_seconds": "キャッシュバックの権利確定期間の秒数: {cashback_vesting_period_seconds}",
+ "cashback_vesting_threshold": "キャッシュバック権利確定しきい値: {cashback_vesting_threshold}",
+ "count_non_member_votes": "非メンバーの投票を数える: {count_non_member_votes}",
+ "allow_non_member_whitelists": "非メンバーのホワイトリストを許可: {allow_non_member_whitelists}",
+ "witness_pay_per_block": "証人はブロックごとに支払います: {witness_pay_per_block}",
+ "worker_budget_per_day": "従業員の 1 日あたりの予算: {worker_budget_per_day}",
+ "max_predicate_opcode": "最大述語オペコード: {max_predicate_opcode}",
+ "fee_liquidation_threshold": "料金清算しきい値: {fee_liquidation_threshold}",
+ "accounts_per_fee_scale": "料金スケールごとのアカウント数: {accounts_per_fee_scale}",
+ "account_fee_scale_bitshifts": "アカウント手数料スケールのビットシフト: {account_fee_scale_bitshifts}",
+ "max_authority_depth": "最大権限の深さ: {max_authority_depth}",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "Bitshares ブロックチェーンのグローバル パラメーター値に対する委員会メンバーのスタンスを公開する"
+ },
+ "vesting_balance_create": {
+ "method": "権利確定残高の作成",
+ "title": "権利確定残高作成リクエスト",
+ "result": "権利確定残高作成結果",
+ "headers": {
+ "request": "次の権利確定残高を作成しますか?",
+ "result": "次の権利確定残高が作成されました。"
+ },
+ "rows": {
+ "creator": "作成者: {creator} ({creatorOP})",
+ "owner": "所有者: {owner} ({ownerOP})",
+ "amount": "金額: {amount} ({asset_id})",
+ "policy": "ポリシー:",
+ "begin_timestamp": "開始タイムスタンプ: {begin_timestamp}",
+ "vesting_cliff_seconds": "権利確定クリフ秒数: {vesting_cliff_seconds}",
+ "vesting_duration_seconds": "権利確定期間の秒数: {vesting_duration_seconds}",
+ "start_claim": "申請の開始: {start_claim}",
+ "vesting_seconds": "権利確定秒数: {vesting_seconds}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "権利確定残高を作成する"
+ },
+ "vesting_balance_withdraw": {
+ "method": "権利確定残高の出金",
+ "title": "権利確定残高の出金リクエスト",
+ "result": "権利確定残高の出金結果",
+ "headers": {
+ "request": "次の権利確定残高を引き出しますか?",
+ "result": "次の権利確定残高が取り消されました。"
+ },
+ "rows": {
+ "owner": "所有者: {owner} ({ownerOP})",
+ "claim": "クレーム: {claim} ({asset_id})"
+ },
+ "tooltip": "権利確定残高からの出金"
+ },
+ "worker_create": {
+ "method": "ワーカー作成",
+ "title": "ワーカー作成リクエスト",
+ "result": "ワーカー作成結果",
+ "headers": {
+ "request": "次の従業員提案を作成しますか?",
+ "result": "次のワーカー提案が作成されました。"
+ },
+ "rows": {
+ "owner": "所有者: {owner} ({ownerOP})",
+ "work_begin_date": "作業開始日: {work_begin_date}",
+ "work_end_date": "作業終了日: {work_end_date}",
+ "daily_pay": "日給: {daily_pay}",
+ "name": "名前: {name}",
+ "url": "URL: {url}",
+ "initializer": "イニシャライザ: {initializer}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "従業員の提案を作成する"
+ },
+ "custom": {
+ "method": "カスタム",
+ "title": "カスタムリクエスト",
+ "result": "カスタム結果",
+ "headers": {
+ "request": "次のカスタム オペレーションを作成しますか?",
+ "result": "次のカスタム オペレーションが作成されました。"
+ },
+ "rows": {
+ "payer": "支払者: {payer} ({payerOP})",
+ "required_auths": "必要な権限: {required_auths}",
+ "id": "{id}",
+ "data": "データ: {data}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "証人コンセンサスの上に高レベルのプロトコルを追加する一般的な方法を提供します"
+ },
+ "assert": {
+ "method": "主張する",
+ "title": "リクエストのアサート",
+ "result": "結果のアサート",
+ "headers": {
+ "request": "次のアサートリクエスト操作を承認しますか?",
+ "result": "次のアサート要求操作が承認されました。"
+ },
+ "rows": {
+ "fee_paying_account": "料金支払いアカウント: {fee_paying_account} ({fee_paying_accountOP})",
+ "predicates": "述語: {predicates}",
+ "required_auths": "必要な権限: {required_auths}",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "いくつかの条件が真であることをアサートします。"
+ },
+ "balance_claim": {
+ "method": "残高請求",
+ "title": "残高請求リクエスト",
+ "result": "残高請求結果",
+ "headers": {
+ "request": "次の残高を請求しますか?",
+ "result": "次の残高が主張されました。"
+ },
+ "rows": {
+ "deposit_to_account": "アカウントへの入金: {deposit_to_account} ({deposit_to_accountOP})",
+ "balance_to_claim": "請求残高: {balance_to_claim} ({asset_id})",
+ "balance_owner_key": "残高所有者キー: {balance_owner_key}",
+ "total_claimed": "請求総額: {total_claimed} ({asset_id})",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "残高からの請求"
+ },
+ "override_transfer": {
+ "method": "オーバーライド転送",
+ "title": "転送リクエストを上書きする",
+ "result": "転送結果を上書きする",
+ "headers": {
+ "request": "次の転送をオーバーライドしますか?",
+ "result": "次の転送はオーバーライドされました。"
+ },
+ "rows": {
+ "issuer": "発行者: {issuer} ({issuerOP})",
+ "from": "差出人: {from} ({fromOP})",
+ "to": "宛先: {to} ({toOP})",
+ "amount": "金額: {amount} ({asset_id})",
+ "memo": "メモ: {memo}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "転送操作をオーバーライドする"
+ },
+ "transfer_to_blind": {
+ "method": "ブラインドに転送",
+ "title": "ブラインドリクエストに転送",
+ "result": "ブラインド結果への転送",
+ "headers": {
+ "request": "以下をブラインドに転送しますか?",
+ "result": "以下はブラインドに転送されました。"
+ },
+ "rows": {
+ "amount": "金額: {amount}",
+ "from": "差出人: {from} ({fromOP})",
+ "blinding_factor": "ブラインドファクター: {blinding_factor}",
+ "outputs": "出力: {outputs}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "資産をブラインド先に転送する"
+ },
+ "blind_transfer": {
+ "method": "ブラインド転送",
+ "title": "ブラインド転送リクエスト",
+ "result": "ブラインド転送結果",
+ "headers": {
+ "request": "次のブラインド転送を承認しますか?",
+ "result": "以下のブラインド転送が承認されました。"
+ },
+ "rows": {
+ "inputs": "入力: {inputs}",
+ "outputs": "出力: {outputs}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "ブラインド資産をブラインド方法で転送する"
+ },
+ "transfer_from_blind": {
+ "method": "ブラインドからの転送",
+ "title": "ブラインドリクエストからの転送",
+ "result": "ブラインド結果からの転送",
+ "headers": {
+ "request": "以下をブラインドから転送しますか?",
+ "result": "以下はブラインドから転送されました。"
+ },
+ "rows": {
+ "amount": "金額: {amount}",
+ "to": "宛先: {to} ({toOP})",
+ "blinding_factor": "ブラインドファクター: {blinding_factor}",
+ "inputs": "入力: {inputs}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "ブラインド残高から資産を引き出す"
+ },
+ "asset_claim_fees": {
+ "method": "資産請求手数料",
+ "title": "資産請求手数料の請求",
+ "result": "資産請求手数料の結果",
+ "headers": {
+ "request": "次の資産から手数料を引き出しますか?",
+ "result": "次の資産の手数料が請求されました。"
+ },
+ "rows": {
+ "issuer": "発行者: {issuer} ({issuerOP})",
+ "amount_to_claim": "請求額: {amount_to_claim} ({asset_id})",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "資産から手数料を請求する"
+ },
+ "bid_collateral": {
+ "method": "入札担保",
+ "title": "入札担保請求",
+ "result": "入札担保結果",
+ "headers": {
+ "request": "次の担保入札を承認しますか?",
+ "result": "以下の担保入札が承認されました。"
+ },
+ "rows": {
+ "bidder": "入札者: {bidder} ({bidderOP})",
+ "additional_collateral": "追加の担保: {additional_collateral}",
+ "debt_covered": "カバーされた負債: {debt_covered}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "グローバル決済時にビットアセットを裏付ける担保に入札"
+ },
+ "asset_claim_pool": {
+ "method": "資産請求プール",
+ "title": "資産請求プールのリクエスト",
+ "result": "資産請求プールの結果",
+ "headers": {
+ "request": "次の資産プールを要求しますか?",
+ "result": "次の資産プールが要求されました。"
+ },
+ "rows": {
+ "issuer": "発行者: {issuer} ({issuerOP})",
+ "asset_id": "アセット: {asset_id}",
+ "amount_to_claim": "請求額: {amount_to_claim}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "指定された資産の手数料プールから BTS を発行者の残高に戻します"
+ },
+ "asset_update_issuer": {
+ "method": "アセット更新発行者",
+ "title": "資産更新発行者リクエスト",
+ "result": "アセット更新発行者の結果",
+ "headers": {
+ "request": "次のアセットの発行者を更新しますか?",
+ "result": "次のアセットの発行者が更新されました:"
+ },
+ "rows": {
+ "issuer": "発行者: {issuer} ({issuerOP})",
+ "asset_to_update": "更新するアセット: {asset_to_update}",
+ "new_issuer": "新しい発行者: {new_issuer} ({new_issuerOP})",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "資産の発行者を新しい管理者アカウントに更新します。"
+ },
+ "htlc_create": {
+ "method": "HTLCの作成",
+ "title": "HTLC作成リクエスト",
+ "result": "HTLC作成結果",
+ "headers": {
+ "request": "次のハッシュされたタイムロック コントラクト オペレーションを作成しますか?",
+ "result": "次のハッシュされたタイムロック コントラクト オペレーションの作成が承認されました。"
+ },
+ "rows": {
+ "from": "差出人: {from} ({fromOP})",
+ "to": "宛先: {to} ({toOP})",
+ "amount": "金額: {amount}",
+ "preimage_hash": "プリイメージハッシュ: {preimage_hash}",
+ "preimage_size": "プリイメージのサイズ: {preimage_size}",
+ "claim_period_seconds": "請求期間 (秒): {claim_period_seconds}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "ハッシュ タイム ロック コントラクト (HTLC) オペレーションを作成する"
+ },
+ "htlc_redeem": {
+ "method": "HTLC 引き換え",
+ "title": "HTLC引き換えリクエスト",
+ "result": "HTLC引き換え結果",
+ "headers": {
+ "request": "次のハッシュ タイム ロック コントラクト オペレーションを引き換えますか?",
+ "result": "次のハッシュ タイム ロック コントラクト オペレーションの償還が承認されました。"
+ },
+ "rows": {
+ "htlc_id": "HTLC ID: {htlc_id}",
+ "redeemer": "引き換え者: {redeemer} ({redeemerOP})",
+ "preimage": "プリイメージ: {preimage}",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "HTLC 操作のコンテンツを引き換える"
+ },
+ "htlc_extend": {
+ "method": "HTLC 拡張",
+ "title": "HTLC 拡張リクエスト",
+ "result": "HTLC 拡張結果",
+ "headers": {
+ "request": "次のハッシュタイムロック契約延長を承認しますか?",
+ "result": "以下のハッシュタイムロック契約の延長が承認されました。"
+ },
+ "rows": {
+ "htlc_id": "HTLC ID: {htlc_id}",
+ "update_issuer": "更新発行者: {update_issuer} ({update_issuerOP})",
+ "seconds_to_add": "追加する秒数: {seconds_to_add}",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "HTLC 操作の継続時間を延長する"
+ },
+ "custom_authority_create": {
+ "method": "カスタム権限の作成",
+ "title": "カスタム権限作成リクエスト",
+ "result": "カスタム権限作成結果",
+ "headers": {
+ "request": "次のカスタム認証局を作成しますか?",
+ "result": "次のカスタム権限が作成されました。"
+ },
+ "rows": {
+ "account": "アカウント: {account} ({accountOP})",
+ "enabled": "有効: {enabled}",
+ "valid_from": "有効期限: {valid_from}",
+ "valid_to": "有効期限: {valid_to}",
+ "operation_type": "操作タイプ: {operation_type}",
+ "auth": "権限: {auth}",
+ "restrictions": "制限事項: {restrictions}",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "新しいカスタム認証局を作成します。"
+ },
+ "custom_authority_update": {
+ "method": "カスタム権限の更新",
+ "title": "カスタム権限更新リクエスト",
+ "result": "カスタム権限更新結果",
+ "headers": {
+ "request": "次の税関当局を更新しますか?",
+ "result": "次のカスタム権限が更新されました。"
+ },
+ "rows": {
+ "account": "アカウント: {account} ({accountOP})",
+ "authority_to_update": "更新する権限: {authority_to_update}",
+ "new_enabled": "新しく有効になりました: {new_enabled}",
+ "new_valid_from": "新規有効期間: {new_valid_from}",
+ "new_valid_to": "新しい有効期限: {new_valid_to}",
+ "new_auth": "新しい権限: {new_auth}",
+ "restrictions_to_remove": "削除する制限: {restrictions_to_remove}",
+ "restrictions_to_add": "追加する制限: {restrictions_to_add}",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "カスタム認証局を更新します。"
+ },
+ "custom_authority_delete": {
+ "method": "カスタム権限の削除",
+ "title": "カスタム権限削除リクエスト",
+ "result": "カスタム権限削除結果",
+ "headers": {
+ "request": "次のカスタム権限を削除しますか?",
+ "result": "次のカスタム権限が削除されました:"
+ },
+ "rows": {
+ "account": "アカウント: {account} ({accountOP})",
+ "authority_to_delete": "削除権限: {authority_to_delete}",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "カスタム認証局を削除します。"
+ },
+ "ticket_create": {
+ "method": "チケットの作成",
+ "title": "チケット作成リクエスト",
+ "result": "チケット作成結果",
+ "headers": {
+ "request": "次のチケットを作成しますか?",
+ "result": "次のチケットが作成されました。"
+ },
+ "rows": {
+ "account": "アカウント: {account} ({accountOP})",
+ "target_type": "ターゲットタイプ: {target_type}",
+ "amount": "金額: {amount}",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "新しいチケットを作成します。"
+ },
+ "ticket_update": {
+ "method": "チケット更新",
+ "title": "チケット更新リクエスト",
+ "result": "チケット更新結果",
+ "headers": {
+ "request": "次のチケットを更新しますか?",
+ "result": "次のチケットが更新されました:"
+ },
+ "rows": {
+ "ticket": "チケット: {ticket}",
+ "account": "アカウント: {account} ({accountOP})",
+ "target_type": "ターゲットタイプ: {target_type}",
+ "amount_for_new_target": "新しいターゲットの金額: {amount_for_new_target}",
+ "extensions": "拡張機能: {extensions}"
+ },
+ "tooltip": "既存のチケットを更新します。"
+ },
+ "liquidity_pool_create": {
+ "method": "流動性プールの作成",
+ "title": "流動性プール作成リクエスト",
+ "result": "流動性プールの作成結果",
+ "headers": {
+ "request": "次の詳細を使用して流動性プールを作成しますか?",
+ "result": "次の流動性プールが作成されました。"
+ },
+ "rows": {
+ "account": "アカウント: {account} ({accountOP})",
+ "asset_a": "アセット A: {asset_a} ({asset_aOP})",
+ "asset_b": "アセット B: {asset_b} ({asset_bOP})",
+ "share_asset": "アセットを共有: {share_asset} ({share_assetOP})",
+ "taker_fee_percent": "テイカー手数料パーセント: {taker_fee_percent}",
+ "withdrawal_fee_percent": "出金手数料パーセント: {withdrawal_fee_percent}",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "流動性プールを作成する"
+ },
+ "liquidity_pool_delete": {
+ "method": "流動性プールの削除",
+ "title": "流動性プールの削除リクエスト",
+ "result": "流動性プールの削除結果",
+ "headers": {
+ "request": "次の流動性プールを削除しますか?",
+ "result": "次の流動性プールが削除されました:"
+ },
+ "rows": {
+ "account": "アカウント: {account} ({accountOP})",
+ "pool_id": "プール ID: {pool_id}",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "流動性プールを削除する"
+ },
+ "liquidity_pool_deposit": {
+ "method": "流動性プール預金",
+ "title": "流動性プールの入金リクエスト",
+ "result": "流動性プールの入金結果",
+ "headers": {
+ "request": "次の資産を流動性プールに入金しますか?",
+ "result": "以下の資産が流動性プールに入金されました。"
+ },
+ "rows": {
+ "account": "アカウント: {account} ({accountOP})",
+ "pool": "プール: {pool}",
+ "asset_a": "アセット A: {asset_a} ({asset_aOP})",
+ "asset_b": "アセット B: {asset_b} ({asset_bOP})",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "流動性プールに資金を入金する"
+ },
+ "liquidity_pool_withdraw": {
+ "method": "流動性プールの引き出し",
+ "title": "流動性プールの出金リクエスト",
+ "result": "流動性プールの引き出し結果",
+ "headers": {
+ "request": "次の資産を流動性プールから引き出しますか?",
+ "result": "以下の資産が流動性プールから引き上げられました。"
+ },
+ "rows": {
+ "account": "アカウント: {account} ({accountOP})",
+ "pool": "プール: {pool}",
+ "share_asset": "アセットを共有: {share_asset} ({share_assetOP})",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "流動性プールから資金を引き出す"
+ },
+ "liquidity_pool_exchange": {
+ "method": "流動性プール交換",
+ "title": "流動性プール交換リクエスト",
+ "result": "流動性プール交換結果",
+ "headers": {
+ "request": "以下の流動性プール交換を承認しますか?",
+ "result": "以下の流動性プール交換が承認されました。"
+ },
+ "rows": {
+ "account": "アカウント: {account} ({accountOP})",
+ "pool": "プール: {pool}",
+ "amount_to_sell": "売却額: {amount_to_sell}",
+ "min_to_receive": "最小受信時間: {min_to_receive}",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "流動性プールとの交換。"
+ },
+ "samet_fund_create": {
+ "method": "SameT ファンドの作成",
+ "title": "SameT ファンド作成リクエスト",
+ "result": "SameT ファンドの作成結果",
+ "headers": {
+ "request": "以下の同基金創設に同意しますか?",
+ "result": "次のサメット基金が設立されました。"
+ },
+ "rows": {
+ "owner_account": "所有者のアカウント: {owner_account} ({owner_accountOP})",
+ "asset_type": "アセットタイプ: {asset_type}",
+ "balance": "残高: {balance}",
+ "fee_rate": "手数料率: {fee_rate}",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "新しい SameT ファンドを作成します。 "
+ },
+ "samet_fund_delete": {
+ "method": "SameT ファンドの削除",
+ "title": "SameT ファンド削除リクエスト",
+ "result": "SameT ファンド削除結果",
+ "headers": {
+ "request": "次の同じファンドを削除しますか?",
+ "result": "次の同じファンドが削除されました。"
+ },
+ "rows": {
+ "owner_account": "所有者のアカウント: {owner_account} ({owner_accountOP})",
+ "fund_id": "ファンド ID: {fund_id}",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "SameT ファンド オブジェクトを削除します。"
+ },
+ "samet_fund_update": {
+ "method": "SameT ファンドの最新情報",
+ "title": "SameT ファンド更新リクエスト",
+ "result": "SameTファンド更新結果",
+ "headers": {
+ "request": "次のサメットファンドを更新しますか?",
+ "result": "次のサメットファンドが更新されました。"
+ },
+ "rows": {
+ "owner_account": "所有者のアカウント: {owner_account} ({owner_accountOP})",
+ "fund_id": "ファンド ID: {fund_id}",
+ "delta_amount": "デルタ金額: {delta_amount}",
+ "new_fee_rate": "新しい手数料率: {new_fee_rate}",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "SameT ファンド オブジェクトを更新します。"
+ },
+ "samet_fund_borrow": {
+ "method": "SameT 資金の借入",
+ "title": "SameT 資金借入リクエスト",
+ "result": "SameT ファンド借入結果",
+ "headers": {
+ "request": "以下のサメットファンドから借りますか?",
+ "result": "以下のサメットファンドからの借入に成功しました。"
+ },
+ "rows": {
+ "borrower": "借り手: {borrower} ({borrowerOP})",
+ "fund_id": "ファンド ID: {fund_id}",
+ "borrow_amount": "借入額: {borrow_amount}",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "SameT ファンドから借ります。"
+ },
+ "samt_fund_repay": {
+ "method": "SameT 基金の返済",
+ "title": "SameT 資金の返済リクエスト",
+ "result": "SameTファンド返済結果",
+ "headers": {
+ "request": "次の同じ資金を返済します",
+ "result": "下記の同基金を無事返済しました"
+ },
+ "rows": {
+ "account": "アカウント: {account} ({accountOP})",
+ "fund_id": "ファンド ID: {fund_id}",
+ "repay_amount": "返済額: {repay_amount}",
+ "fund_fee": "ファンド手数料: {fund_fee}",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "SameT ファンドに借金を返済します。"
+ },
+ "credit_offer_create": {
+ "method": "クレジットオファーの作成",
+ "title": "クレジットオファー作成リクエスト",
+ "result": "クレジットオファーの作成結果",
+ "headers": {
+ "request": "次のクレジットオファーの作成を承認しますか?",
+ "result": "次のクレジット オファーが作成されました:"
+ },
+ "rows": {
+ "owner_account": "所有者のアカウント: {owner_account} ({owner_accountOP})",
+ "asset_type": "アセットタイプ: {asset_type}",
+ "balance": "残高: {balance}",
+ "fee_rate": "手数料率: {fee_rate}",
+ "max_duration_seconds": "最大継続時間秒: {max_duration_seconds}",
+ "min_deal_amount": "最低取引額: {min_deal_amount}",
+ "enabled": "有効: {enabled}",
+ "auto_disable_time": "自動無効化時間: {auto_disable_time}",
+ "acceptable_collateral": "許容可能な担保: {acceptable_collateral}",
+ "acceptable_borrowers": "受け入れ可能な借り手: {acceptable_borrowers}",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "新しいクレジットオファーを作成します。"
+ },
+ "credit_offer_delete": {
+ "method": "クレジットオファーの削除",
+ "title": "クレジットオファーの削除リクエスト",
+ "result": "クレジットオファーの削除結果",
+ "headers": {
+ "request": "次のクレジットオファーを削除しますか?",
+ "result": "次のクレジット オファーが削除されました:"
+ },
+ "rows": {
+ "owner_account": "所有者のアカウント: {owner_account} ({owner_accountOP})",
+ "offer_id": "オファー ID: {offer_id}",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "クレジットオファーを削除します。"
+ },
+ "credit_offer_update": {
+ "method": "クレジットオファーの更新",
+ "title": "クレジットオファーの更新リクエスト",
+ "result": "クレジットオファーの更新結果",
+ "headers": {
+ "request": "次のクレジット特典を更新しますか?",
+ "result": "次のクレジットオファーが更新されました:"
+ },
+ "rows": {
+ "owner_account": "所有者のアカウント: {owner_account} ({owner_accountOP})",
+ "offer_id": "オファー ID: {offer_id}",
+ "delta_amount": "デルタ金額: {delta_amount}",
+ "fee_rate": "手数料率: {fee_rate}",
+ "max_duration_seconds": "最大継続時間秒: {max_duration_seconds}",
+ "min_deal_amount": "最低取引額: {min_deal_amount}",
+ "enabled": "有効: {enabled}",
+ "auto_disable_time": "自動無効化時間: {auto_disable_time}",
+ "acceptable_collateral": "許容可能な担保: {acceptable_collateral}",
+ "acceptable_borrowers": "受け入れ可能な借り手: {acceptable_borrowers}",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "クレジットオファーを更新する"
+ },
+ "credit_offer_accept": {
+ "method": "クレジットオファーを受け入れる",
+ "title": "クレジットオファー受諾リクエスト",
+ "result": "クレジットオファーの受け入れ結果",
+ "headers": {
+ "request": "次のクレジットオファーを承認しますか?",
+ "result": "次のクレジットオファーが承認されました:"
+ },
+ "rows": {
+ "borrower": "借り手: {borrower} ({borrowerOP})",
+ "offer_id": "オファー ID: {offer_id}",
+ "borrow_amount": "借入額: {borrow_amount}",
+ "collateral": "担保: {collateral}",
+ "max_fee_rate": "最大手数料率: {max_fee_rate}",
+ "min_duration_seconds": "最小継続時間秒: {min_duration_seconds}",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "クレジットのオファーを受け入れ、クレジット取引を作成します。"
+ },
+ "credit_deal_repay": {
+ "method": "クレジット取引の返済",
+ "title": "クレジット取引の返済リクエスト",
+ "result": "信用取引の返済結果",
+ "headers": {
+ "request": "次のクレジット契約を返済しますか?",
+ "result": "次のクレジット取引を返済しました"
+ },
+ "rows": {
+ "account": "アカウント: {account} ({accountOP})",
+ "deal_id": "取引 ID: {deal_id}",
+ "repay_amount": "返済額: {repay_amount}",
+ "credit_fee": "クレジット手数料: {credit_fee}",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "クレジット契約を返済します。"
+ },
+ "liquidity_pool_update_operation": {
+ "method": "流動性プールの更新",
+ "title": "流動性プール更新リクエスト",
+ "result": "流動性プールの更新結果",
+ "headers": {
+ "request": "次の流動性プールを更新しますか?",
+ "result": "次の流動性プールが更新されました。"
+ },
+ "rows": {
+ "owner_account": "所有者のアカウント: {owner_account} ({owner_accountOP})",
+ "pool_id": "プール ID: {pool_id}",
+ "new_parameters": "新しいパラメータ: {new_parameters}",
+ "extensions": "拡張機能: {extensions}",
+ "fee": "推定料金: {fee}"
+ },
+ "tooltip": "流動性プールを更新する"
+ },
+ "credit_deal_update_operation": {
+ "method": "クレジット取引の更新",
+ "title": "クレジット取引更新リクエスト",
+ "result": "信用取引の更新結果",
+ "headers": {
+ "request": "次のクレジット取引を更新しますか?",
+ "result": "次のクレジット取引が更新されました:"
+ },
+ "rows": {
+ "fee": "推定料金: {fee}",
+ "account": "アカウント: {account} ({accountOP})",
+ "deal_id": "取引 ID: {deal_id}",
+ "auto_repay": "自動返済: {auto_repay}"
+ },
+ "tooltip": "クレジット取引を更新する"
+ },
+ "limit_order_update_operation": {
+ "method": "指値注文の更新",
+ "title": "指値注文更新リクエスト",
+ "result": "指値注文更新結果",
+ "headers": {
+ "request": "次の指値注文を更新しますか?",
+ "result": "次の指値注文が更新されました。"
+ },
+ "rows": {
+ "fee": "推定料金: {fee}",
+ "seller": "販売者: {seller} ({sellerOP})",
+ "order": "注文: {order}",
+ "new_price": "新しい価格: {new_price}",
+ "delta_amount_to_sell": "売却するデルタ金額: {delta_amount_to_sell}",
+ "new_expiration": "新しい有効期限: {new_expiration}",
+ "on_fill": "オンフィル: {on_fill}",
+ "extensions": "拡張機能: {extensions}"
+ },
+ "tooltip": "指値注文を更新する"
+ }
+ },
"EOS": {
"setalimits": {
"method": "アカウント制限を設定する",
diff --git a/src/translations/operations/ko.json b/src/translations/operations/ko.json
index 7cb67db8..f01e8e17 100644
--- a/src/translations/operations/ko.json
+++ b/src/translations/operations/ko.json
@@ -100,6 +100,1444 @@
"reject_btn": "무시하다"
},
"injected": {
+ "BTS": {
+ "getAccount": {
+ "method": "계정 가져오기",
+ "title": "계정 세부정보 요청",
+ "result": "계정 세부정보 결과",
+ "headers": {
+ "request": "계정 세부정보를 공유하시겠습니까?",
+ "result": "귀하의 계정 세부정보가 공유되었습니다."
+ },
+ "tooltip": "지갑에 블록체인 계정 세부정보를 요청합니다."
+ },
+ "requestSignature": {
+ "method": "요청서명",
+ "title": "서명 요청",
+ "result": "서명 결과",
+ "headers": {
+ "request": "서명을 공유하시겠습니까?",
+ "result": "귀하의 서명이 공유되었습니다:"
+ },
+ "tooltip": "지갑에 블록체인 서명을 요청합니다."
+ },
+ "injectedCall": {
+ "method": "주입전화",
+ "title": "삽입된 통화 요청",
+ "result": "삽입된 통화 결과",
+ "headers": {
+ "request": "다음 삽입된 통화를 승인하시겠습니까?",
+ "result": "다음 삽입된 호출이 승인되었습니다."
+ },
+ "tooltip": "주입된 블록체인 작업을 처리하도록 지갑에 요청"
+ },
+ "voteFor": {
+ "method": "투표하다",
+ "title": "투표요청",
+ "result": "투표 결과",
+ "headers": {
+ "request": "다음 투표 요청을 승인하시겠습니까?",
+ "result": "다음 투표 요청이 승인되었습니다"
+ },
+ "tooltip": "블록체인 투표 수행"
+ },
+ "signMessage": {
+ "method": "로그인메시지",
+ "title": "메시지 요청 서명",
+ "result": "서명 메시지 결과",
+ "headers": {
+ "request": "다음 메시지에 서명하는 것을 승인하시겠습니까?",
+ "result": "다음 메시지가 서명되었습니다."
+ },
+ "tooltip": "블록체인 기반 메시지에 서명"
+ },
+ "signNFT": {
+ "method": "NFT 서명",
+ "title": "NFT 요청에 서명",
+ "result": "NFT 결과 서명",
+ "headers": {
+ "request": "다음 NFT 서명을 승인하시겠습니까?",
+ "result": "다음 NFT가 서명되었습니다:"
+ },
+ "tooltip": "NFT 콘텐츠에 서명하세요"
+ },
+ "verifyMessage": {
+ "method": "확인 메시지",
+ "title": "메시지 요청 확인",
+ "result": "메시지 결과 확인",
+ "headers": {
+ "request": "다음 메시지를 확인하시겠습니까?",
+ "result": "다음 메시지가 확인되었습니다."
+ },
+ "tooltip": "블록체인 기반 서명된 메시지 확인"
+ },
+ "transfer": {
+ "method": "옮기다",
+ "title": "이전 요청",
+ "result": "전송 결과",
+ "headers": {
+ "request": "다음 이전 요청을 승인하시겠습니까?",
+ "result": "다음 이전 요청이 승인되었습니다."
+ },
+ "rows": {
+ "from": "보낸 사람: {from} ({opFrom})",
+ "to": "받는 사람: {to} ({opTo})",
+ "amount": "금액: {amount}"
+ },
+ "tooltip": "한 계정에서 다른 계정으로 자산 보내기"
+ },
+ "limit_order_create": {
+ "method": "제한 주문 생성",
+ "title": "지정가 주문 생성 요청",
+ "result": "지정가 주문 생성 결과",
+ "headers": {
+ "request": "다음 지정가 주문 생성 요청을 승인하시겠습니까?",
+ "result": "다음 지정가 주문이 생성되었습니다:"
+ },
+ "rows": {
+ "trade": "거래",
+ "tradeFK": "거래(채우기 또는 죽이기)",
+ "seller": "판매자: {seller} ({opSeller})",
+ "selling": "판매: {amount}",
+ "buying": "구매: {amount}",
+ "price": "가격: {price} {sellSymbol}/{buySymbol}"
+ },
+ "tooltip": "특정 시점까지 특정 환율로 자산 금액을 판매하겠다는 제안"
+ },
+ "limit_order_cancel": {
+ "method": "지정가 주문 취소",
+ "title": "지정가 주문 취소 요청",
+ "result": "지정가 주문 취소 결과",
+ "headers": {
+ "request": "다음 지정가 주문을 취소하시겠습니까?",
+ "result": "다음 지정가 주문이 취소되었습니다:"
+ },
+ "rows": {
+ "id": "주문 ID: {id}",
+ "fees": "예상 수수료: {fees}",
+ "account": "수수료 지불 계정: {account}"
+ },
+ "tooltip": "지정가 주문 작업 취소"
+ },
+ "call_order_update": {
+ "method": "호출 순서 업데이트",
+ "title": "전화주문 업데이트 요청",
+ "result": "호출 순서 업데이트 결과",
+ "headers": {
+ "request": "통화 순서를 다음으로 업데이트하시겠습니까?",
+ "result": "다음 통화 순서가 업데이트되었습니다."
+ },
+ "rows": {
+ "funding_account": "자금 계좌: {funding_account}",
+ "delta_collateral": "델타 담보: {delta_collateral} ({id})",
+ "delta_debt": "델타 부채: {delta_debt} ({id})",
+ "fees": "예상 수수료: {fees}"
+ },
+ "tooltip": "기존 통화 순서 업데이트"
+ },
+ "account_create": {
+ "method": "계정 생성",
+ "title": "계정 생성 요청",
+ "result": "계정 생성 결과",
+ "headers": {
+ "request": "다음 계정을 만드시겠습니까?",
+ "result": "다음 계정이 생성되었습니다."
+ },
+ "rows": {
+ "registrar": "등록기관: {registrar} ({opRegistrar})",
+ "referrer": "추천인: {referrer} ({opReferrer})",
+ "referrer_percent": "추천자 비율: {referrer_percent}",
+ "name": "이름: {name}",
+ "ownerHeader": "소유자:",
+ "activeHeader": "활동적인:",
+ "weight_threshold": "체중 임계값: {weight_threshold}",
+ "account_auths": "계정 인증: {account_auths}",
+ "key_auths": "주요 인증: {key_auths}",
+ "address_auths": "주소 인증: {address_auths}",
+ "optionsHeader": "옵션:",
+ "memo_key": "메모 키: {memo_key}",
+ "voting_account": "투표 계정: {voting_account} ({opVotingAccount})",
+ "num_witness": "증인 수: {num_witness}",
+ "num_committee": "위원회 구성원 수: {num_committee}",
+ "votes": "투표수: {votes}",
+ "extensions": "확장자: {extensions}",
+ "fees": "예상 수수료: {fees}"
+ },
+ "tooltip": "새 계정 만들기"
+ },
+ "account_update": {
+ "method": "계정 업데이트",
+ "title": "계정 업데이트 요청",
+ "result": "계정 업데이트 결과",
+ "headers": {
+ "request": "다음 계정을 업데이트하시겠습니까?",
+ "result": "다음 계정이 업데이트되었습니다:"
+ },
+ "rows": {
+ "warning": "경고: 이 작업은 되돌릴 수 없습니다!",
+ "account": "계정: {account} ({opAccount})",
+ "owner": "소유자: {owner}",
+ "active": "활성: {active}",
+ "new_options": "새로운 옵션: {new_options}",
+ "extensions": "확장자: {extensions}",
+ "fees": "예상 수수료: {fees}"
+ },
+ "tooltip": "이 작업은 기존 계정을 업데이트하는 데 사용됩니다. "
+ },
+ "account_whitelist": {
+ "method": "계정 허용 목록",
+ "title": "계정 화이트리스트 요청",
+ "result": "계정 화이트리스트 결과",
+ "headers": {
+ "request": "계정 허용 목록을 다음으로 업데이트하시겠습니까?",
+ "result": "귀하의 계정 허용 목록이 다음과 같이 업데이트되었습니다."
+ },
+ "rows": {
+ "authorizing_account": "승인 계정: {authorizingAccount}(authorizingAccountOP)",
+ "account_to_list": "나열할 계정: {accountToList}(accountToListOP)",
+ "new_listing": "새 목록: {newListing}",
+ "extensions": "확장자: {extensions}",
+ "fee": "수수료: {fee}"
+ },
+ "tooltip": "이 작업은 주로 화이트리스트 자산 거래를 위해 화이트리스트 및 블랙리스트 계정에 사용됩니다."
+ },
+ "account_upgrade": {
+ "method": "계정 업그레이드",
+ "title": "계정 업그레이드 요청",
+ "result": "계정 업그레이드 결과",
+ "headers": {
+ "request": "계정을 평생 회원으로 업그레이드하시겠습니까?",
+ "result": "귀하의 계정이 평생회원으로 업그레이드되었습니다!"
+ },
+ "rows": {
+ "account_to_upgrade": "업그레이드할 계정: {accountToUpgrade}(accountToUpgradeOP)",
+ "upgrade_to_lifetime_member": "평생 회원으로 업그레이드: {upgradeToLifetimeMember}",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "이 작업은 계정을 회원으로 업그레이드하거나 구독을 갱신하는 데 사용됩니다."
+ },
+ "account_transfer": {
+ "method": "계좌이체",
+ "title": "계좌이체요청",
+ "result": "계좌이체 결과",
+ "headers": {
+ "request": "새 소유자에게 계정을 이전하시겠습니까?",
+ "result": "다음 계정이 새 소유자에게 이전되었습니다."
+ },
+ "rows": {
+ "warning": "경고: 이 작업은 되돌릴 수 없습니다!",
+ "account_id": "계정 ID: {originalOwner} ({account_id})",
+ "new_owner": "새 소유자: {newOwner} ({newOwnerOP})",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "화이트리스트를 삭제하면서 해당 계정을 다른 계정으로 이전합니다."
+ },
+ "asset_create": {
+ "method": "자산 생성",
+ "title": "자산 생성 요청",
+ "result": "자산 생성 결과",
+ "headers": {
+ "request": "다음 자산을 만드시겠습니까?",
+ "result": "다음 자산이 생성되었습니다."
+ },
+ "rows": {
+ "symbol": "기호: {symbol}",
+ "main": "메인: {main}",
+ "market": "시장: {market}",
+ "short_name": "짧은 이름: {short_name}",
+ "precision": "정밀도: {precision}",
+ "max_supply": "최대 공급량: {max_supply}",
+ "market_fee_percent": "시장 수수료 비율: {market_fee_percent}",
+ "max_market_fee": "최대 시장 수수료: {max_market_fee}",
+ "cer": "핵심 환율:",
+ "cer_base_amount": "기본 금액: {cer_base_amount}",
+ "cer_base_id": "기본 자산 ID: {cer_base_id}",
+ "cer_quote_amount": "견적 금액: {cer_quote_amount}",
+ "cer_quote_id": "견적 자산 ID: {cer_quote_id}",
+ "whitelist_authorities": "화이트리스트 권한: {whitelist_authorities}",
+ "blacklist_authorities": "블랙리스트 권한: {blacklist_authorities}",
+ "whitelist_markets": "화이트리스트 시장: {whitelist_markets}",
+ "blacklist_markets": "블랙리스트 시장: {blacklist_markets}",
+ "is_prediction_market": "예측 시장: {is_prediction_market}",
+ "permissions": "권한:",
+ "perm_charge_market_fee": "청구 시장 수수료: {charge_market_fee}",
+ "perm_white_list": "화이트리스트: {white_list}",
+ "perm_override_authority": "재정의 권한: {override_authority}",
+ "perm_transfer_restricted": "이체 제한됨: {transfer_restricted}",
+ "perm_disable_confidential": "기밀 비활성화: {disable_confidential}",
+ "flags": "플래그:",
+ "flag_charge_market_fee": "청구 시장 수수료: {charge_market_fee}",
+ "flag_white_list": "화이트리스트: {white_list}",
+ "flag_override_authority": "재정의 권한: {override_authority}",
+ "flag_transfer_restricted": "이체 제한됨: {transfer_restricted}",
+ "flag_disable_confidential": "기밀 비활성화: {disable_confidential}",
+ "bitasset": "비트자산 정보:",
+ "feed_lifetime_sec": "피드 수명(초): {feed_lifetime_sec}",
+ "force_settlement_delay_sec": "강제 정산 지연(초): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "강제 정산 상쇄 비율: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "최대 강제 정산량: {maximum_force_settlement_volume}",
+ "minimum_feeds": "최소 피드: {minimum_feeds}",
+ "short_backing_asset": "단기 지원 자산: {short_backing_asset}",
+ "nft": "NFT 콘텐츠:",
+ "acknowledgements": "감사의 말씀: {acknowledgements}",
+ "artist": "아티스트: {artist}",
+ "attestation": "증명: {attestation}",
+ "holder_license": "보유자 라이선스: {holder_license}",
+ "license": "라이선스: {license}",
+ "narrative": "내러티브: {narrative}",
+ "title": "제목: {title}",
+ "tags": "태그: {tags}",
+ "type": "유형: {type}"
+ },
+ "tooltip": "Bitshares 블록체인에 자산을 생성합니다."
+ },
+ "asset_update": {
+ "method": "자산 업데이트",
+ "title": "자산 업데이트 요청",
+ "result": "자산 업데이트 결과",
+ "headers": {
+ "request": "다음 자산을 업데이트하시겠습니까?",
+ "result": "자산이 다음 세부정보로 업데이트되었습니다."
+ },
+ "rows": {
+ "symbol": "기호: {symbol}",
+ "main": "메인: {main}",
+ "market": "시장: {market}",
+ "short_name": "짧은 이름: {short_name}",
+ "precision": "정밀도: {precision}",
+ "max_supply": "최대 공급량: {max_supply}",
+ "market_fee_percent": "시장 수수료 비율: {market_fee_percent}",
+ "max_market_fee": "최대 시장 수수료: {max_market_fee}",
+ "cer": "핵심 환율:",
+ "cer_base_amount": "기본 금액: {cer_base_amount}",
+ "cer_base_id": "기본 자산 ID: {cer_base_id}",
+ "cer_quote_amount": "견적 금액: {cer_quote_amount}",
+ "cer_quote_id": "견적 자산 ID: {cer_quote_id}",
+ "whitelist_authorities": "화이트리스트 권한: {whitelist_authorities}",
+ "blacklist_authorities": "블랙리스트 권한: {blacklist_authorities}",
+ "whitelist_markets": "화이트리스트 시장: {whitelist_markets}",
+ "blacklist_markets": "블랙리스트 시장: {blacklist_markets}",
+ "is_prediction_market": "예측 시장: {is_prediction_market}",
+ "permissions": "권한:",
+ "perm_charge_market_fee": "청구 시장 수수료: {charge_market_fee}",
+ "perm_white_list": "화이트리스트: {white_list}",
+ "perm_override_authority": "재정의 권한: {override_authority}",
+ "perm_transfer_restricted": "이체 제한됨: {transfer_restricted}",
+ "perm_disable_confidential": "기밀 비활성화: {disable_confidential}",
+ "flags": "플래그:",
+ "flag_charge_market_fee": "청구 시장 수수료: {charge_market_fee}",
+ "flag_white_list": "화이트리스트: {white_list}",
+ "flag_override_authority": "재정의 권한: {override_authority}",
+ "flag_transfer_restricted": "이체 제한됨: {transfer_restricted}",
+ "flag_disable_confidential": "기밀 비활성화: {disable_confidential}",
+ "bitasset": "비트자산 정보:",
+ "feed_lifetime_sec": "피드 수명(초): {feed_lifetime_sec}",
+ "force_settlement_delay_sec": "강제 정산 지연(초): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "강제 정산 상쇄 비율: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "최대 강제 정산량: {maximum_force_settlement_volume}",
+ "minimum_feeds": "최소 피드: {minimum_feeds}",
+ "short_backing_asset": "단기 지원 자산: {short_backing_asset}",
+ "nft": "NFT 콘텐츠:",
+ "acknowledgements": "감사의 말씀: {acknowledgements}",
+ "artist": "아티스트: {artist}",
+ "attestation": "증명: {attestation}",
+ "holder_license": "보유자 라이선스: {holder_license}",
+ "license": "라이선스: {license}",
+ "narrative": "내러티브: {narrative}",
+ "title": "제목: {title}",
+ "tags": "태그: {tags}",
+ "type": "유형: {type}"
+ },
+ "tooltip": "자산 설정을 업데이트합니다."
+ },
+ "asset_update_bitasset": {
+ "method": "자산 업데이트 비트 자산",
+ "title": "자산 업데이트 비트 자산 요청",
+ "result": "자산 업데이트 비트 자산 결과",
+ "headers": {
+ "request": "비트자산 업데이트를 승인하시겠습니까?",
+ "result": "다음 비트 자산 업데이트가 승인되었습니다."
+ },
+ "rows": {
+ "issuer": "발급자: {issuer}",
+ "asset_to_update": "업데이트할 자산: {asset_to_update}",
+ "new_options": "새로운 옵션:",
+ "feed_lifetime_sec": "피드 수명(초): {feed_lifetime_sec}",
+ "minimum_feeds": "최소 피드: {minimum_feeds}",
+ "force_settlement_delay_sec": "강제 정산 지연(초): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "강제 정산 상쇄 비율: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "최대 강제 정산량: {maximum_force_settlement_volume}",
+ "short_backing_asset": "매도 지원 자산: {symbol} ({short_backing_asset})",
+ "extensions": "확장자: {extensions}",
+ "noExtensions": "확장 프로그램 없음",
+ "fee": "예상 수수료: {fee} ({id})"
+ },
+ "tooltip": "생성된 비트 자산 설정 업데이트"
+ },
+ "asset_update_feed_producers": {
+ "method": "자산 업데이트 피드 생산자",
+ "title": "자산 업데이트 피드 제작자 요청",
+ "result": "자산 업데이트 피드 생성자 결과",
+ "headers": {
+ "request": "bitasset 피드 생산자에 대한 변경을 승인하시겠습니까?",
+ "result": "bitasset 피드 생산자에 대한 다음 변경 사항이 승인되었습니다."
+ },
+ "rows": {
+ "issuer": "발급자: {issuer}({issuerOP})",
+ "asset_to_update": "업데이트할 자산: {symbol} ({asset_to_update})",
+ "new_feed_producers": "새 피드 제작자: {new_feed_producers}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "생성된 비트 자산에 대해 승인된 피드 생산자 목록 업데이트"
+ },
+ "asset_issue": {
+ "method": "자산 문제",
+ "title": "자산 발행 요청",
+ "result": "자산 발행 결과",
+ "headers": {
+ "request": "다음 자산 발행을 승인하시겠습니까?",
+ "result": "다음 자산 발행이 승인되었습니다."
+ },
+ "rows": {
+ "prompt": "{amount} {symbol}({assetID})을(를) {to}({toID})에 발행하시겠습니까?",
+ "fee": "예상 수수료: {fee} ({id})"
+ },
+ "tooltip": "생성된 자산을 개인에게 발행"
+ },
+ "asset_reserve": {
+ "method": "자산준비금",
+ "title": "자산보유요청",
+ "result": "자산준비금 결과",
+ "headers": {
+ "request": "다음 자산 예약을 승인하시겠습니까?",
+ "result": "다음 자산 예약이 승인되었습니다."
+ },
+ "rows": {
+ "payer": "지불인: {payer} ({payerOP})",
+ "amount_to_reserve": "예치할 금액: {amount_to_reserve} ({amount_to_reserveOP})",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "생성된 자산을 예약하세요"
+ },
+ "asset_fund_fee_pool": {
+ "method": "자산펀드 수수료 풀",
+ "title": "자산펀드 수수료풀 요청",
+ "result": "자산펀드 수수료 풀 결과",
+ "headers": {
+ "request": "다음 자산의 수수료 풀에 자금을 지원하시겠습니까?",
+ "result": "다음 자산의 수수료 풀 자금 조달이 승인되었습니다."
+ },
+ "rows": {
+ "from_account": "계정: {from_account} ({from_accountOP})",
+ "asset": "자산: {asset} ({assetOP})",
+ "amount": "금액: {amount}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "생성된 자산에 대한 수수료 풀에 자금을 조달하세요"
+ },
+ "asset_settle": {
+ "method": "자산정산",
+ "title": "자산 정산 요청",
+ "result": "자산 정산 결과",
+ "headers": {
+ "request": "담보로 다음 자산을 정산하시겠습니까?",
+ "result": "다음 자산이 담보로 정산되었습니다:"
+ },
+ "rows": {
+ "account": "계정: {account} ({accountOP})",
+ "amount": "금액: {amount} ({assetID})",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "포트폴리오에서 자산 정산"
+ },
+ "asset_global_settle": {
+ "method": "자산 글로벌 정산",
+ "title": "자산 글로벌 정산 요청",
+ "result": "자산 글로벌 정산 결과",
+ "headers": {
+ "request": "다음 자산에 대해 글로벌 정산을 수행하시겠습니까?",
+ "result": "다음 자산이 전 세계적으로 정산되었습니다."
+ },
+ "rows": {
+ "issuer": "발급자: {issuer}({issuerOP})",
+ "asset_to_settle": "정산할 자산: {asset_to_settle} ({asset_to_settleOP})",
+ "settle_price": "정산가: {settle_price}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "생성된 비트자산 중 하나를 전 세계적으로 정산합니다."
+ },
+ "asset_publish_feed": {
+ "method": "자산 게시 피드",
+ "title": "자산 게시 피드 요청",
+ "result": "자산 게시 피드 결과",
+ "headers": {
+ "request": "다음 자산에 대한 가격 피드를 게시하시겠습니까?",
+ "result": "다음 자산 가격 피드 업데이트가 게시되었습니다."
+ },
+ "rows": {
+ "publisher": "출판사: {publisher} ({publisherOP})",
+ "asset_id": "자산 ID: {symbol} ({asset_idOP})",
+ "feed": "밥을 먹이다:",
+ "core_exchange_rate": "핵심 환율: {core_exchange_rate}",
+ "settlement_price": "정산 가격: {settlement_price}",
+ "maintenance_collateral_ratio": "유지담보 비율: {maintenance_collateral_ratio}",
+ "maximum_short_squeeze_ratio": "최대 숏 스퀴즈 비율: {maximum_short_squeeze_ratio}",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "bitasset에 대한 가격 피드 게시"
+ },
+ "witness_create": {
+ "method": "증인 생성",
+ "title": "증인 생성 요청",
+ "result": "증인 생성 결과",
+ "headers": {
+ "request": "다음 세부정보로 증인을 만드시겠습니까?",
+ "result": "다음 증인이 생성되었습니다."
+ },
+ "rows": {
+ "witness_account": "증인 계정: {witness_account} ({witness_accountOP})",
+ "url": "URL: {url}",
+ "block_signing_key": "블록 서명 키: {block_signing_key}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "증인 계정 만들기"
+ },
+ "witness_update": {
+ "method": "증인 업데이트",
+ "title": "증인 업데이트 요청",
+ "result": "증인 업데이트 결과",
+ "headers": {
+ "request": "증인 세부정보를 다음과 같이 업데이트하시겠습니까?",
+ "result": "다음 증인 세부정보가 업데이트되었습니다."
+ },
+ "rows": {
+ "witness": "증인: {witness}",
+ "witness_account": "증인 계정: {witness_account} ({witness_accountOP})",
+ "new_url": "새 URL: {new_url}",
+ "new_signing_key": "새 서명 키: {new_signing_key}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "증인 계정 업데이트"
+ },
+ "proposal_create": {
+ "method": "제안서 작성",
+ "title": "제안서 생성 요청",
+ "result": "제안 생성 결과",
+ "headers": {
+ "request": "다음 제안서를 작성하시겠습니까?",
+ "result": "다음 제안이 작성되었습니다."
+ },
+ "rows": {
+ "expiration_time": "만료 시간: {expiration_time}",
+ "proposed_ops": "제안된 작업: {proposed_ops}",
+ "review_period_seconds": "검토 기간(초): {review_period_seconds}",
+ "fee_paying_account": "수수료 지불 계정: {fee_paying_account} ({fee_paying_accountOP})",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "블록체인 운영 제안서 작성"
+ },
+ "proposal_update": {
+ "method": "제안 업데이트",
+ "title": "제안 업데이트 요청",
+ "result": "제안 업데이트 결과",
+ "headers": {
+ "request": "다음 제안을 업데이트하시겠습니까?",
+ "result": "다음 제안이 업데이트되었습니다."
+ },
+ "rows": {
+ "proposal": "제안: {proposal}",
+ "active_approvals_to_add": "추가할 활성 승인: {active_approvals_to_add}",
+ "active_approvals_to_remove": "제거할 활성 승인: {active_approvals_to_remove}",
+ "owner_approvals_to_add": "추가할 소유자 승인: {owner_approvals_to_add}",
+ "owner_approvals_to_remove": "제거할 소유자 승인: {owner_approvals_to_remove}",
+ "key_approvals_to_add": "추가할 주요 승인: {key_approvals_to_add}",
+ "key_approvals_to_remove": "삭제할 주요 승인: {key_approvals_to_remove}",
+ "fee_paying_account": "수수료 지불 계정: {fee_paying_account} ({fee_paying_accountOP})",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "블록체인 운영 제안 업데이트"
+ },
+ "proposal_delete": {
+ "method": "제안 삭제",
+ "title": "제안 삭제 요청",
+ "result": "제안 삭제 결과",
+ "headers": {
+ "request": "다음 제안을 삭제하시겠습니까?",
+ "result": "다음 제안이 삭제되었습니다."
+ },
+ "rows": {
+ "using_owner_authority": "소유자 권한 사용: {using_owner_authority}",
+ "proposal": "제안: {proposal}",
+ "fee_paying_account": "수수료 지불 계정: {fee_paying_account} ({fee_paying_accountOP})",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "블록체인 운영 제안 삭제"
+ },
+ "withdraw_permission_create": {
+ "method": "철회 권한 생성",
+ "title": "권한 생성 요청 철회",
+ "result": "철회 권한 생성 결과",
+ "headers": {
+ "request": "자동 이체 승인",
+ "result": "다음 자동이체 승인이 승인되었습니다."
+ },
+ "rows": {
+ "recipient": "수신자: {recipient} ({recipientOP})",
+ "withdraw_from": "출금할 계좌: {withdraw_from} ({withdraw_fromOP})",
+ "taking": "{period_qty} 기간 동안 {period_sec}초마다 {amount}씩 가져가세요.",
+ "start": "시작: {start}"
+ },
+ "tooltip": "철회 권한 생성"
+ },
+ "withdraw_permission_update": {
+ "method": "철회 권한 업데이트",
+ "title": "권한 업데이트 요청 철회",
+ "result": "철회 권한 업데이트 결과",
+ "headers": {
+ "request": "증인 권한을 다음으로 업데이트하시겠습니까?",
+ "result": "다음 증인 권한 업데이트가 승인되었습니다."
+ },
+ "rows": {
+ "withrdaw_from_account": "계좌에서 인출: {withrdaw_from_account} ({withrdaw_from_accountOP})",
+ "authorized_account": "승인된 계정: {authorized_account} ({authorized_accountOP})",
+ "permission_to_update": "업데이트 권한: {permission_to_update}",
+ "withdrawal_limited": "출금 한도: {withdrawal_limit}",
+ "withdrawal_unlimited": "출금 한도: {withdrawal_limit} ({withdrawal_limitOP})",
+ "withdrawal_period_sec": "출금 기간(초): {withdrawal_period_sec}",
+ "period_start_time": "기간 시작 시간: {period_start_time}",
+ "periods_until_expiration": "만료까지의 기간: {periods_until_expiration}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "철회 권한 업데이트"
+ },
+ "withdraw_permission_claim": {
+ "method": "철회 허가 청구",
+ "title": "권한청구철회요청",
+ "result": "철회권 주장 결과",
+ "headers": {
+ "request": "다음 철회 권한을 요청하세요",
+ "result": "다음과 같은 철회 허가가 요청되었습니다:"
+ },
+ "rows": {
+ "withdraw_permission": "철회 권한: {withdraw_permission}",
+ "withdraw_from_account": "계좌에서 인출: {withdraw_from_account} ({withdraw_from_accountOP})",
+ "withdraw_to_account": "계좌로 인출: {withdraw_to_account} ({withdraw_to_accountOP})",
+ "amount_to_withdraw": "인출 금액: {amount_to_withdraw} ({amount_to_withdrawOP})",
+ "memo": "메모: {memo}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "철회 허가 청구"
+ },
+ "withdraw_permission_delete": {
+ "method": "철회권한 삭제",
+ "title": "권한 삭제 요청 철회",
+ "result": "철회권한 삭제 결과",
+ "headers": {
+ "request": "다음 철회 권한을 삭제하시겠습니까?",
+ "result": "다음 철회 권한이 삭제되었습니다."
+ },
+ "rows": {
+ "withdraw_from_account": "계좌에서 인출: {withdraw_from_account} ({withdraw_from_accountOP})",
+ "authorized_account": "승인된 계정: {authorized_account} ({authorized_accountOP})",
+ "withdrawal_permission": "철회 권한: {withdrawal_permission}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "철회 권한 삭제"
+ },
+ "committee_member_create": {
+ "method": "위원회 회원 생성",
+ "title": "위원 생성 요청",
+ "result": "위원회 회원 생성 결과",
+ "headers": {
+ "request": "위원회 구성원을 만드시겠습니까?",
+ "result": "다음 위원회 구성원이 생성되었습니다."
+ },
+ "rows": {
+ "committee_member_account": "위원회 회원 계정: {committee_member_account} ({committee_member_accountOP})",
+ "url": "URL: {url}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "위원회 구성원 계정 만들기"
+ },
+ "committee_member_update": {
+ "method": "위원회 구성원 업데이트",
+ "title": "위원 업데이트 요청",
+ "result": "위원 업데이트 결과",
+ "headers": {
+ "request": "다음 위원회 구성원의 세부정보를 업데이트하시겠습니까?",
+ "result": "다음 위원회 구성원의 세부 업데이트가 승인되었습니다."
+ },
+ "rows": {
+ "committee_member": "위원회 회원: {committee_member}",
+ "committee_member_account": "위원회 회원 계정: {committee_member_account} ({committee_member_accountOP})",
+ "new_url": "새 URL: {new_url}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "위원회 구성원 계정 세부정보를 업데이트하세요."
+ },
+ "committee_member_update_global_parameters": {
+ "method": "위원회 구성원은 글로벌 매개변수를 업데이트합니다.",
+ "title": "위원회 구성원 업데이트 글로벌 매개변수 요청",
+ "result": "위원회 구성원 업데이트 글로벌 매개변수 결과",
+ "headers": {
+ "request": "위원회로서 글로벌 매개변수를 따르는 것을 승인하시겠습니까?",
+ "result": "다음 글로벌 위원회 매개변수가 승인되었습니다."
+ },
+ "rows": {
+ "new_parameters": "새로운 매개변수:",
+ "current_fees": "현재 수수료: {current_fees}",
+ "block_interval": "블록 간격: {block_interval}",
+ "maintenance_interval": "유지보수 간격: {maintenance_interval}",
+ "maintenance_skip_slots": "유지보수 건너뛰기 슬롯: {maintenance_skip_slots}",
+ "committee_proposal_review_period": "위원회 제안 검토 기간: {committee_proposal_review_period}",
+ "maximum_transaction_size": "최대 거래 크기: {maximum_transaction_size}",
+ "maximum_block_size": "최대 블록 크기: {maximum_block_size}",
+ "maximum_time_until_expiration": "만료까지의 최대 시간: {maximum_time_until_expiration}",
+ "maximum_proposal_lifetime": "최대 제안 기간: {maximum_proposal_lifetime}",
+ "maximum_asset_whitelist_authorities": "최대 자산 화이트리스트 권한: {maximum_asset_whitelist_authorities}",
+ "maximum_asset_feed_publishers": "최대 자산 피드 게시자 수: {maximum_asset_feed_publishers}",
+ "maximum_witness_count": "최대 증인 수: {maximum_witness_count}",
+ "maximum_committee_count": "최대 위원회 수: {maximum_committee_count}",
+ "maximum_authority_membership": "최대 권한 멤버십: {maximum_authority_membership}",
+ "reserve_percent_of_fee": "수수료 예비 비율: {reserve_percent_of_fee}",
+ "network_percent_of_fee": "네트워크 수수료 비율: {network_percent_of_fee}",
+ "lifetime_referrer_percent_of_fee": "평생 추천인 수수료 비율: {lifetime_referrer_percent_of_fee}",
+ "cashback_vesting_period_seconds": "캐시백 베스팅 기간(초): {cashback_vesting_period_seconds}",
+ "cashback_vesting_threshold": "캐시백 베스팅 기준: {cashback_vesting_threshold}",
+ "count_non_member_votes": "비회원 투표 수: {count_non_member_votes}",
+ "allow_non_member_whitelists": "비회원 허용 목록 허용: {allow_non_member_whitelists}",
+ "witness_pay_per_block": "블록당 증인 지불: {witness_pay_per_block}",
+ "worker_budget_per_day": "일일 작업자 예산: {worker_budget_per_day}",
+ "max_predicate_opcode": "최대 조건자 opcode: {max_predicate_opcode}",
+ "fee_liquidation_threshold": "수수료 청산 기준점: {fee_liquidation_threshold}",
+ "accounts_per_fee_scale": "수수료 규모별 계정: {accounts_per_fee_scale}",
+ "account_fee_scale_bitshifts": "계정 수수료 규모 비트 이동: {account_fee_scale_bitshifts}",
+ "max_authority_depth": "최대 권한 깊이: {max_authority_depth}",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "Bitshares 블록체인 글로벌 매개변수 값에 대한 위원회 구성원의 입장을 게시하세요."
+ },
+ "vesting_balance_create": {
+ "method": "베스팅 잔액 생성",
+ "title": "베스팅 잔액 생성 요청",
+ "result": "베스팅 잔액 생성 결과",
+ "headers": {
+ "request": "다음 베스팅 잔액을 만드시겠습니까?",
+ "result": "다음 베스팅 잔액이 생성되었습니다."
+ },
+ "rows": {
+ "creator": "작성자: {creator} ({creatorOP})",
+ "owner": "소유자: {owner} ({ownerOP})",
+ "amount": "금액: {amount} ({asset_id})",
+ "policy": "정책:",
+ "begin_timestamp": "시작 타임스탬프: {begin_timestamp}",
+ "vesting_cliff_seconds": "베스팅 절벽 초: {vesting_cliff_seconds}",
+ "vesting_duration_seconds": "베스팅 기간(초): {vesting_duration_seconds}",
+ "start_claim": "소유권 주장 시작: {start_claim}",
+ "vesting_seconds": "베스팅 초: {vesting_seconds}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "베스팅 잔액 생성"
+ },
+ "vesting_balance_withdraw": {
+ "method": "베스팅 잔액 인출",
+ "title": "베스팅 잔액 출금 요청",
+ "result": "베스팅 잔액 출금 결과",
+ "headers": {
+ "request": "다음 베스팅 잔액을 인출하시겠습니까?",
+ "result": "다음 베스팅 잔액이 인출되었습니다:"
+ },
+ "rows": {
+ "owner": "소유자: {owner} ({ownerOP})",
+ "claim": "소유권 주장: {claim}({asset_id})"
+ },
+ "tooltip": "가득 잔액에서 인출"
+ },
+ "worker_create": {
+ "method": "작업자 생성",
+ "title": "작업자 생성 요청",
+ "result": "작업자 생성 결과",
+ "headers": {
+ "request": "다음 작업자 제안을 작성하시겠습니까?",
+ "result": "다음 작업자 제안이 생성되었습니다."
+ },
+ "rows": {
+ "owner": "소유자: {owner} ({ownerOP})",
+ "work_begin_date": "작업 시작 날짜: {work_begin_date}",
+ "work_end_date": "근무 종료 날짜: {work_end_date}",
+ "daily_pay": "일일 급여: {daily_pay}",
+ "name": "이름: {name}",
+ "url": "URL: {url}",
+ "initializer": "초기화 프로그램: {initializer}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "작업자 제안 만들기"
+ },
+ "custom": {
+ "method": "관습",
+ "title": "맞춤 요청",
+ "result": "맞춤 결과",
+ "headers": {
+ "request": "다음 사용자 정의 작업을 만드시겠습니까?",
+ "result": "다음 사용자 정의 작업이 생성되었습니다."
+ },
+ "rows": {
+ "payer": "지불인: {payer} ({payerOP})",
+ "required_auths": "필수 권한: {required_auths}",
+ "id": "ID: {id}",
+ "data": "데이터: {data}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "증인 합의 위에 더 높은 수준의 프로토콜을 추가하는 일반적인 방법을 제공합니다."
+ },
+ "assert": {
+ "method": "주장하다",
+ "title": "요청 주장",
+ "result": "결과 주장",
+ "headers": {
+ "request": "다음 어설션 요청 작업을 승인하시겠습니까?",
+ "result": "다음 어설션 요청 작업이 승인되었습니다."
+ },
+ "rows": {
+ "fee_paying_account": "수수료 지불 계정: {fee_paying_account} ({fee_paying_accountOP})",
+ "predicates": "술어: {predicates}",
+ "required_auths": "필수 권한: {required_auths}",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "일부 조건이 true인지 확인합니다."
+ },
+ "balance_claim": {
+ "method": "잔액 청구",
+ "title": "잔액 청구 요청",
+ "result": "잔액 청구 결과",
+ "headers": {
+ "request": "다음 잔액을 청구하시겠습니까?",
+ "result": "청구된 잔액은 다음과 같습니다."
+ },
+ "rows": {
+ "deposit_to_account": "계좌 입금: {deposit_to_account} ({deposit_to_accountOP})",
+ "balance_to_claim": "청구할 잔액: {balance_to_claim} ({asset_id})",
+ "balance_owner_key": "잔액 소유자 키: {balance_owner_key}",
+ "total_claimed": "청구된 총 금액: {total_claimed}({asset_id})",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "잔액 청구"
+ },
+ "override_transfer": {
+ "method": "환승 재정의",
+ "title": "이전 요청 무시",
+ "result": "이체 결과 무시",
+ "headers": {
+ "request": "다음 전송을 재정의하시겠습니까?",
+ "result": "다음 전송이 재정의되었습니다."
+ },
+ "rows": {
+ "issuer": "발급자: {issuer}({issuerOP})",
+ "from": "보낸 사람: {from} ({fromOP})",
+ "to": "받는 사람: {to} ({toOP})",
+ "amount": "금액: {amount} ({asset_id})",
+ "memo": "메모: {memo}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "전송 작업 재정의"
+ },
+ "transfer_to_blind": {
+ "method": "시각 장애인으로 전환",
+ "title": "블라인드 요청으로 전환",
+ "result": "블라인드 결과로 전환",
+ "headers": {
+ "request": "다음을 시각 장애인에게 전달하시겠습니까?",
+ "result": "다음 내용이 시각 장애인으로 전환되었습니다."
+ },
+ "rows": {
+ "amount": "금액: {amount}",
+ "from": "보낸 사람: {from} ({fromOP})",
+ "blinding_factor": "눈부신 요인: {blinding_factor}",
+ "outputs": "출력: {outputs}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "맹목적인 대상으로 자산 전송"
+ },
+ "blind_transfer": {
+ "method": "블라인드 전송",
+ "title": "블라인드 전송 요청",
+ "result": "블라인드 전송 결과",
+ "headers": {
+ "request": "다음 비공개 전달을 승인하시겠습니까?",
+ "result": "다음의 블라인드 이전이 승인되었습니다:"
+ },
+ "rows": {
+ "inputs": "입력: {inputs}",
+ "outputs": "출력: {outputs}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "블라인드 자산을 맹목적으로 양도"
+ },
+ "transfer_from_blind": {
+ "method": "시각 장애인에서 전송",
+ "title": "블라인드 요청에서 전송",
+ "result": "블라인드 결과에서 전송",
+ "headers": {
+ "request": "다음을 블라인드에서 전송하시겠습니까?",
+ "result": "다음은 블라인드에서 전송되었습니다."
+ },
+ "rows": {
+ "amount": "금액: {amount}",
+ "to": "받는 사람: {to} ({toOP})",
+ "blinding_factor": "눈부신 요인: {blinding_factor}",
+ "inputs": "입력: {inputs}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "블라인드 잔액에서 자산 인출"
+ },
+ "asset_claim_fees": {
+ "method": "자산 청구 수수료",
+ "title": "자산 청구 수수료 요청",
+ "result": "자산 청구 수수료 결과",
+ "headers": {
+ "request": "다음 자산에서 수수료를 인출하시겠습니까?",
+ "result": "다음 자산의 수수료가 청구되었습니다."
+ },
+ "rows": {
+ "issuer": "발급자: {issuer}({issuerOP})",
+ "amount_to_claim": "청구 금액: {amount_to_claim} ({asset_id})",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "자산에서 수수료 청구"
+ },
+ "bid_collateral": {
+ "method": "입찰 자료",
+ "title": "입찰 담보 요청",
+ "result": "입찰 담보 결과",
+ "headers": {
+ "request": "다음 담보 입찰을 승인하시겠습니까?",
+ "result": "다음 담보 입찰이 승인되었습니다."
+ },
+ "rows": {
+ "bidder": "입찰자: {bidder} ({bidderOP})",
+ "additional_collateral": "추가 담보: {additional_collateral}",
+ "debt_covered": "담보된 부채: {debt_covered}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "전 세계적으로 결제될 때 비트에셋을 뒷받침하는 담보에 입찰하세요."
+ },
+ "asset_claim_pool": {
+ "method": "자산 청구 풀",
+ "title": "자산 청구 풀 요청",
+ "result": "자산 청구 풀 결과",
+ "headers": {
+ "request": "다음 자산 풀에 대한 소유권을 주장하시겠습니까?",
+ "result": "다음 자산 풀이 청구되었습니다:"
+ },
+ "rows": {
+ "issuer": "발급자: {issuer}({issuerOP})",
+ "asset_id": "자산: {asset_id}",
+ "amount_to_claim": "청구 금액: {amount_to_claim}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "지정된 자산의 수수료 풀에서 발행자의 잔액으로 BTS를 다시 이체합니다."
+ },
+ "asset_update_issuer": {
+ "method": "자산 업데이트 발급자",
+ "title": "자산 업데이트 발급자 요청",
+ "result": "자산 업데이트 발급자 결과",
+ "headers": {
+ "request": "다음 자산의 발급자를 업데이트하시겠습니까?",
+ "result": "다음 자산의 발급자가 업데이트되었습니다."
+ },
+ "rows": {
+ "issuer": "발급자: {issuer}({issuerOP})",
+ "asset_to_update": "업데이트할 자산: {asset_to_update}",
+ "new_issuer": "새 발급자: {new_issuer}({new_issuerOP})",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "자산 발급자를 새 관리자 계정으로 업데이트합니다."
+ },
+ "htlc_create": {
+ "method": "HTLC 생성",
+ "title": "HTLC 생성 요청",
+ "result": "HTLC 생성 결과",
+ "headers": {
+ "request": "다음과 같은 해시된 Timelock 계약 작업을 생성하시겠습니까?",
+ "result": "다음과 같은 해시된 시간 잠금 계약 작업 생성이 승인되었습니다."
+ },
+ "rows": {
+ "from": "보낸 사람: {from} ({fromOP})",
+ "to": "받는 사람: {to} ({toOP})",
+ "amount": "금액: {amount}",
+ "preimage_hash": "사전 이미지 해시: {preimage_hash}",
+ "preimage_size": "사전 이미지 크기: {preimage_size}",
+ "claim_period_seconds": "청구 기간(초): {claim_period_seconds}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "해시 시간 잠금 계약(HTLC) 작업 생성"
+ },
+ "htlc_redeem": {
+ "method": "HTLC 사용",
+ "title": "HTLC 상환 요청",
+ "result": "HTLC 상환 결과",
+ "headers": {
+ "request": "다음 해시 시간 잠금 계약 작업을 사용하시겠습니까?",
+ "result": "다음 해시 시간 잠금 계약 작업의 상환이 승인되었습니다."
+ },
+ "rows": {
+ "htlc_id": "HTLC ID: {htlc_id}",
+ "redeemer": "구속자: {redeemer} ({redeemerOP})",
+ "preimage": "사전 이미지: {preimage}",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "HTLC 작업의 콘텐츠 상환"
+ },
+ "htlc_extend": {
+ "method": "HTLC 확장",
+ "title": "HTLC 연장 요청",
+ "result": "HTLC 확장 결과",
+ "headers": {
+ "request": "다음 해시 시간 잠금 계약 연장을 승인하시겠습니까?",
+ "result": "다음 해시 시간 잠금 계약의 연장이 승인되었습니다."
+ },
+ "rows": {
+ "htlc_id": "HTLC ID: {htlc_id}",
+ "update_issuer": "업데이트 발급자: {update_issuer}({update_issuerOP})",
+ "seconds_to_add": "추가할 시간(초): {seconds_to_add}",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "HTLC 작업 기간 연장"
+ },
+ "custom_authority_create": {
+ "method": "사용자 정의 권한 생성",
+ "title": "커스텀 권한 생성 요청",
+ "result": "커스텀 권한 생성 결과",
+ "headers": {
+ "request": "다음 사용자 정의 권한을 만드시겠습니까?",
+ "result": "다음 사용자 정의 권한이 생성되었습니다."
+ },
+ "rows": {
+ "account": "계정: {account} ({accountOP})",
+ "enabled": "활성화됨: {enabled}",
+ "valid_from": "유효 기간: {valid_from}",
+ "valid_to": "유효 기간: {valid_to}",
+ "operation_type": "작업 유형: {operation_type}",
+ "auth": "권한: {auth}",
+ "restrictions": "제한사항: {restrictions}",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "새 사용자 정의 권한을 만듭니다."
+ },
+ "custom_authority_update": {
+ "method": "커스텀 권한 업데이트",
+ "title": "커스텀 권한 업데이트 요청",
+ "result": "커스텀 권한 업데이트 결과",
+ "headers": {
+ "request": "다음 사용자 정의 권한을 업데이트하시겠습니까?",
+ "result": "다음 사용자 정의 권한이 업데이트되었습니다."
+ },
+ "rows": {
+ "account": "계정: {account} ({accountOP})",
+ "authority_to_update": "업데이트 권한: {authority_to_update}",
+ "new_enabled": "새로 활성화됨: {new_enabled}",
+ "new_valid_from": "새로운 유효 기간: {new_valid_from}",
+ "new_valid_to": "새로운 유효 대상: {new_valid_to}",
+ "new_auth": "새 권한: {new_auth}",
+ "restrictions_to_remove": "제거할 제한사항: {restrictions_to_remove}",
+ "restrictions_to_add": "추가할 제한사항: {restrictions_to_add}",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "사용자 정의 권한을 업데이트합니다."
+ },
+ "custom_authority_delete": {
+ "method": "사용자 정의 권한 삭제",
+ "title": "커스텀 권한 삭제 요청",
+ "result": "사용자 정의 권한 삭제 결과",
+ "headers": {
+ "request": "다음 사용자 정의 권한을 삭제하시겠습니까?",
+ "result": "다음 사용자 정의 권한이 삭제되었습니다."
+ },
+ "rows": {
+ "account": "계정: {account} ({accountOP})",
+ "authority_to_delete": "삭제 권한 : {authority_to_delete}",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "사용자 정의 권한을 삭제합니다."
+ },
+ "ticket_create": {
+ "method": "티켓 생성",
+ "title": "티켓 생성 요청",
+ "result": "티켓 생성 결과",
+ "headers": {
+ "request": "다음 티켓을 만드시겠습니까?",
+ "result": "다음 티켓이 생성되었습니다."
+ },
+ "rows": {
+ "account": "계정: {account} ({accountOP})",
+ "target_type": "대상 유형: {target_type}",
+ "amount": "금액: {amount}",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "새 티켓을 만듭니다."
+ },
+ "ticket_update": {
+ "method": "티켓 업데이트",
+ "title": "티켓 업데이트 요청",
+ "result": "티켓 업데이트 결과",
+ "headers": {
+ "request": "다음 티켓을 업데이트하시겠습니까?",
+ "result": "다음 티켓이 업데이트되었습니다:"
+ },
+ "rows": {
+ "ticket": "티켓: {ticket}",
+ "account": "계정: {account} ({accountOP})",
+ "target_type": "대상 유형: {target_type}",
+ "amount_for_new_target": "새 목표 금액: {amount_for_new_target}",
+ "extensions": "확장자: {extensions}"
+ },
+ "tooltip": "기존 티켓을 업데이트합니다."
+ },
+ "liquidity_pool_create": {
+ "method": "유동성 풀 생성",
+ "title": "유동성 풀 생성 요청",
+ "result": "유동성 풀 생성 결과",
+ "headers": {
+ "request": "다음 세부정보로 유동성 풀을 만드시겠습니까?",
+ "result": "다음과 같은 유동성 풀이 생성되었습니다:"
+ },
+ "rows": {
+ "account": "계정: {account} ({accountOP})",
+ "asset_a": "자산 A: {asset_a} ({asset_aOP})",
+ "asset_b": "자산 B: {asset_b} ({asset_bOP})",
+ "share_asset": "자산 공유: {share_asset} ({share_assetOP})",
+ "taker_fee_percent": "테이커 수수료 비율: {taker_fee_percent}",
+ "withdrawal_fee_percent": "인출 수수료 비율: {withdrawal_fee_percent}",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "유동성 풀 생성"
+ },
+ "liquidity_pool_delete": {
+ "method": "유동성 풀 삭제",
+ "title": "유동성 풀 삭제 요청",
+ "result": "유동성 풀 삭제 결과",
+ "headers": {
+ "request": "다음 유동성 풀을 삭제하시겠습니까?",
+ "result": "다음 유동성 풀이 삭제되었습니다:"
+ },
+ "rows": {
+ "account": "계정: {account} ({accountOP})",
+ "pool_id": "풀 ID: {pool_id}",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "유동성 풀 삭제"
+ },
+ "liquidity_pool_deposit": {
+ "method": "유동성 풀 예금",
+ "title": "유동성 풀 입금 요청",
+ "result": "유동성 풀 입금 결과",
+ "headers": {
+ "request": "다음 자산을 유동성 풀에 예치하시겠습니까?",
+ "result": "다음 자산이 유동성 풀에 예치되었습니다:"
+ },
+ "rows": {
+ "account": "계정: {account} ({accountOP})",
+ "pool": "풀: {pool}",
+ "asset_a": "자산 A: {asset_a} ({asset_aOP})",
+ "asset_b": "자산 B: {asset_b} ({asset_bOP})",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "유동성 풀에 자금 예치"
+ },
+ "liquidity_pool_withdraw": {
+ "method": "유동성 풀 인출",
+ "title": "유동성 풀 출금 요청",
+ "result": "유동성 풀 출금 결과",
+ "headers": {
+ "request": "유동성 풀에서 다음 자산을 인출하시겠습니까?",
+ "result": "유동성 풀에서 다음 자산이 인출되었습니다."
+ },
+ "rows": {
+ "account": "계정: {account} ({accountOP})",
+ "pool": "풀: {pool}",
+ "share_asset": "자산 공유: {share_asset} ({share_assetOP})",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "유동성 풀에서 자금 인출"
+ },
+ "liquidity_pool_exchange": {
+ "method": "유동성 풀 교환",
+ "title": "유동성 풀 교환 요청",
+ "result": "유동성 풀 교환 결과",
+ "headers": {
+ "request": "다음 유동성 풀 교환을 승인하시겠습니까?",
+ "result": "다음 유동성 풀 교환이 승인되었습니다:"
+ },
+ "rows": {
+ "account": "계정: {account} ({accountOP})",
+ "pool": "풀: {pool}",
+ "amount_to_sell": "판매 금액: {amount_to_sell}",
+ "min_to_receive": "최소 수신 가능 시간: {min_to_receive}",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "유동성 풀과 교환하세요."
+ },
+ "samet_fund_create": {
+ "method": "SameT 펀드 생성",
+ "title": "SameT 펀드 생성 요청",
+ "result": "SameT 펀드 생성 결과",
+ "headers": {
+ "request": "다음의 사메트 펀드 조성을 승인하시겠습니까?",
+ "result": "다음과 같은 사멧 기금이 만들어졌습니다:"
+ },
+ "rows": {
+ "owner_account": "소유자 계정: {owner_account} ({owner_accountOP})",
+ "asset_type": "자산 유형: {asset_type}",
+ "balance": "잔액: {balance}",
+ "fee_rate": "수수료율: {fee_rate}",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "새로운 SameT 펀드를 만드세요. "
+ },
+ "samet_fund_delete": {
+ "method": "SameT 기금 삭제",
+ "title": "SameT 자금 삭제 요청",
+ "result": "SameT 펀드 삭제 결과",
+ "headers": {
+ "request": "다음 사메트 펀드를 삭제하시겠습니까?",
+ "result": "다음 사메트 펀드가 삭제되었습니다:"
+ },
+ "rows": {
+ "owner_account": "소유자 계정: {owner_account} ({owner_accountOP})",
+ "fund_id": "펀드 ID: {fund_id}",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "SameT 자금 객체를 삭제합니다."
+ },
+ "samet_fund_update": {
+ "method": "SameT 펀드 업데이트",
+ "title": "SameT 펀드 업데이트 요청",
+ "result": "SameT 펀드 업데이트 결과",
+ "headers": {
+ "request": "다음 사메트 펀드를 업데이트하시겠습니까?",
+ "result": "다음과 같은 사메트 펀드가 업데이트되었습니다:"
+ },
+ "rows": {
+ "owner_account": "소유자 계정: {owner_account} ({owner_accountOP})",
+ "fund_id": "펀드 ID: {fund_id}",
+ "delta_amount": "델타 금액: {delta_amount}",
+ "new_fee_rate": "새로운 수수료율: {new_fee_rate}",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "SameT 자금 객체를 업데이트합니다."
+ },
+ "samet_fund_borrow": {
+ "method": "SameT 펀드 대출",
+ "title": "SameT 자금 대출 요청",
+ "result": "SameT 펀드 차입 결과",
+ "headers": {
+ "request": "다음 사메트 펀드에서 빌리시겠습니까?",
+ "result": "다음 Samet 펀드에서 성공적으로 차입되었습니다."
+ },
+ "rows": {
+ "borrower": "차용자: {borrower} ({borrowerOP})",
+ "fund_id": "펀드 ID: {fund_id}",
+ "borrow_amount": "대출 금액: {borrow_amount}",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "SameT 펀드에서 빌리세요."
+ },
+ "samt_fund_repay": {
+ "method": "SameT 자금 상환",
+ "title": "SameT 자금 상환 요청",
+ "result": "SameT 펀드 상환 결과",
+ "headers": {
+ "request": "다음 사메트펀드를 상환하세요",
+ "result": "다음 사메트 자금을 성공적으로 상환했습니다."
+ },
+ "rows": {
+ "account": "계정: {account} ({accountOP})",
+ "fund_id": "펀드 ID: {fund_id}",
+ "repay_amount": "상환 금액: {repay_amount}",
+ "fund_fee": "펀드 수수료: {fund_fee}",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "SameT 펀드에 부채를 상환하세요."
+ },
+ "credit_offer_create": {
+ "method": "크레딧 제안 생성",
+ "title": "크레딧 제안 생성 요청",
+ "result": "크레딧 제안 생성 결과",
+ "headers": {
+ "request": "다음 크레딧 제안 생성을 승인하시겠습니까?",
+ "result": "다음 크레딧 제안이 생성되었습니다."
+ },
+ "rows": {
+ "owner_account": "소유자 계정: {owner_account} ({owner_accountOP})",
+ "asset_type": "자산 유형: {asset_type}",
+ "balance": "잔액: {balance}",
+ "fee_rate": "수수료율: {fee_rate}",
+ "max_duration_seconds": "최대 기간(초): {max_duration_seconds}",
+ "min_deal_amount": "최소 거래 금액: {min_deal_amount}",
+ "enabled": "활성화됨: {enabled}",
+ "auto_disable_time": "자동 비활성화 시간: {auto_disable_time}",
+ "acceptable_collateral": "허용되는 담보: {acceptable_collateral}",
+ "acceptable_borrowers": "허용되는 차용자: {acceptable_borrowers}",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "새로운 크레딧 제안을 생성하세요. "
+ },
+ "credit_offer_delete": {
+ "method": "크레딧 제안 삭제",
+ "title": "크레딧 제안 삭제 요청",
+ "result": "크레딧 제안 삭제 결과",
+ "headers": {
+ "request": "다음 크레딧 제안을 삭제하시겠습니까?",
+ "result": "다음 크레딧 제안이 삭제되었습니다."
+ },
+ "rows": {
+ "owner_account": "소유자 계정: {owner_account} ({owner_accountOP})",
+ "offer_id": "제안 ID: {offer_id}",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "크레딧 제안을 삭제합니다."
+ },
+ "credit_offer_update": {
+ "method": "크레딧 제안 업데이트",
+ "title": "신용 제안 업데이트 요청",
+ "result": "신용 제안 업데이트 결과",
+ "headers": {
+ "request": "다음 크레딧 제안을 업데이트하시겠습니까?",
+ "result": "다음 크레딧 제안이 업데이트되었습니다."
+ },
+ "rows": {
+ "owner_account": "소유자 계정: {owner_account} ({owner_accountOP})",
+ "offer_id": "제안 ID: {offer_id}",
+ "delta_amount": "델타 금액: {delta_amount}",
+ "fee_rate": "수수료율: {fee_rate}",
+ "max_duration_seconds": "최대 기간(초): {max_duration_seconds}",
+ "min_deal_amount": "최소 거래 금액: {min_deal_amount}",
+ "enabled": "활성화됨: {enabled}",
+ "auto_disable_time": "자동 비활성화 시간: {auto_disable_time}",
+ "acceptable_collateral": "허용되는 담보: {acceptable_collateral}",
+ "acceptable_borrowers": "허용되는 차용자: {acceptable_borrowers}",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "크레딧 제안 업데이트"
+ },
+ "credit_offer_accept": {
+ "method": "신용 제안 수락",
+ "title": "신용 제안 수락 요청",
+ "result": "신용 제안 수락 결과",
+ "headers": {
+ "request": "다음 크레딧 제안을 승인하시겠습니까?",
+ "result": "다음 크레딧 제안이 승인되었습니다:"
+ },
+ "rows": {
+ "borrower": "차용자: {borrower} ({borrowerOP})",
+ "offer_id": "제안 ID: {offer_id}",
+ "borrow_amount": "대출 금액: {borrow_amount}",
+ "collateral": "담보: {collateral}",
+ "max_fee_rate": "최대 수수료율: {max_fee_rate}",
+ "min_duration_seconds": "최소 기간(초): {min_duration_seconds}",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "신용 제안을 수락하고 신용 거래를 생성하세요."
+ },
+ "credit_deal_repay": {
+ "method": "신용 거래 상환",
+ "title": "신용 거래 상환 요청",
+ "result": "신용거래 상환 결과",
+ "headers": {
+ "request": "다음 신용 거래를 상환하시겠습니까?",
+ "result": "다음 신용 거래를 상환했습니다."
+ },
+ "rows": {
+ "account": "계정: {account} ({accountOP})",
+ "deal_id": "거래 ID: {deal_id}",
+ "repay_amount": "상환 금액: {repay_amount}",
+ "credit_fee": "신용 수수료: {credit_fee}",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "신용 거래를 상환하십시오."
+ },
+ "liquidity_pool_update_operation": {
+ "method": "유동성 풀 업데이트",
+ "title": "유동성 풀 업데이트 요청",
+ "result": "유동성 풀 업데이트 결과",
+ "headers": {
+ "request": "다음 유동성 풀을 업데이트하시겠습니까?",
+ "result": "다음 유동성 풀이 업데이트되었습니다:"
+ },
+ "rows": {
+ "owner_account": "소유자 계정: {owner_account} ({owner_accountOP})",
+ "pool_id": "풀 ID: {pool_id}",
+ "new_parameters": "새 매개변수: {new_parameters}",
+ "extensions": "확장자: {extensions}",
+ "fee": "예상 수수료: {fee}"
+ },
+ "tooltip": "유동성 풀 업데이트"
+ },
+ "credit_deal_update_operation": {
+ "method": "신용 거래 업데이트",
+ "title": "신용 거래 업데이트 요청",
+ "result": "신용 거래 업데이트 결과",
+ "headers": {
+ "request": "다음 크레딧 거래를 업데이트하시겠습니까?",
+ "result": "다음 크레딧 거래가 업데이트되었습니다."
+ },
+ "rows": {
+ "fee": "예상 수수료: {fee}",
+ "account": "계정: {account} ({accountOP})",
+ "deal_id": "거래 ID: {deal_id}",
+ "auto_repay": "자동 상환: {auto_repay}"
+ },
+ "tooltip": "신용 거래 업데이트"
+ },
+ "limit_order_update_operation": {
+ "method": "제한 주문 업데이트",
+ "title": "제한 주문 업데이트 요청",
+ "result": "지정가 주문 업데이트 결과",
+ "headers": {
+ "request": "다음 지정가 주문을 업데이트하시겠습니까?",
+ "result": "다음 지정가 주문이 업데이트되었습니다:"
+ },
+ "rows": {
+ "fee": "예상 수수료: {fee}",
+ "seller": "판매자: {seller} ({sellerOP})",
+ "order": "주문: {order}",
+ "new_price": "새 가격: {new_price}",
+ "delta_amount_to_sell": "판매할 델타 금액: {delta_amount_to_sell}",
+ "new_expiration": "새 만료: {new_expiration}",
+ "on_fill": "채울 때: {on_fill}",
+ "extensions": "확장자: {extensions}"
+ },
+ "tooltip": "지정가 주문 업데이트"
+ }
+ },
"EOS": {
"setalimits": {
"method": "계정 한도 설정",
diff --git a/src/translations/operations/pt.json b/src/translations/operations/pt.json
index a2f83bfb..c03743ae 100644
--- a/src/translations/operations/pt.json
+++ b/src/translations/operations/pt.json
@@ -100,6 +100,1444 @@
"reject_btn": "Ignorar"
},
"injected": {
+ "BTS": {
+ "getAccount": {
+ "method": "obter conta",
+ "title": "Solicitação de detalhes da conta",
+ "result": "Resultado dos detalhes da conta",
+ "headers": {
+ "request": "Quer compartilhar os detalhes da sua conta?",
+ "result": "Os detalhes da sua conta foram compartilhados."
+ },
+ "tooltip": "Solicita à sua carteira detalhes da conta blockchain"
+ },
+ "requestSignature": {
+ "method": "solicitaçãoAssinatura",
+ "title": "Solicitação de assinatura",
+ "result": "Resultado da assinatura",
+ "headers": {
+ "request": "Quer compartilhar sua assinatura?",
+ "result": "Sua assinatura foi compartilhada:"
+ },
+ "tooltip": "Solicita assinaturas de blockchain à sua carteira"
+ },
+ "injectedCall": {
+ "method": "chamada injetada",
+ "title": "Solicitação de chamada injetada",
+ "result": "Resultado da chamada injetada",
+ "headers": {
+ "request": "Aprovar a seguinte chamada injetada?",
+ "result": "A seguinte chamada injetada foi aprovada:"
+ },
+ "tooltip": "Pede à sua carteira para lidar com uma operação de blockchain injetada"
+ },
+ "voteFor": {
+ "method": "vote para",
+ "title": "Solicitação de voto",
+ "result": "Resultado da votação",
+ "headers": {
+ "request": "Aprova o seguinte pedido de votação?",
+ "result": "O seguinte pedido de votação foi aprovado"
+ },
+ "tooltip": "Realize uma votação blockchain"
+ },
+ "signMessage": {
+ "method": "assinarMensagem",
+ "title": "Assinar solicitação de mensagem",
+ "result": "Resultado da mensagem de assinatura",
+ "headers": {
+ "request": "Aprova a assinatura da seguinte mensagem?",
+ "result": "A seguinte mensagem foi assinada:"
+ },
+ "tooltip": "Assine uma mensagem baseada em blockchain"
+ },
+ "signNFT": {
+ "method": "sinalNFT",
+ "title": "Assinar solicitação NFT",
+ "result": "Assinar resultado NFT",
+ "headers": {
+ "request": "Aprova a assinatura do seguinte NFT?",
+ "result": "O seguinte NFT foi assinado:"
+ },
+ "tooltip": "Assine um conteúdo NFTs"
+ },
+ "verifyMessage": {
+ "method": "verificarMensagem",
+ "title": "Verifique a solicitação de mensagem",
+ "result": "Resultado da verificação da mensagem",
+ "headers": {
+ "request": "Deseja verificar a seguinte mensagem?",
+ "result": "A seguinte mensagem foi verificada:"
+ },
+ "tooltip": "Verifique uma mensagem assinada baseada em blockchain"
+ },
+ "transfer": {
+ "method": "Transferir",
+ "title": "Solicitação de transferência",
+ "result": "Resultado da transferência",
+ "headers": {
+ "request": "Deseja aprovar a seguinte solicitação de transferência?",
+ "result": "Foi aprovado o seguinte pedido de transferência:"
+ },
+ "rows": {
+ "from": "De: {from} ({opFrom})",
+ "to": "Para: {to} ({opTo})",
+ "amount": "Valor: {amount}"
+ },
+ "tooltip": "Envie ativos de uma conta para outra"
+ },
+ "limit_order_create": {
+ "method": "Criação de ordem limite",
+ "title": "Solicitação de criação de pedido limite",
+ "result": "Resultado de criação de pedido limite",
+ "headers": {
+ "request": "Aprova a seguinte solicitação de criação de ordem com limite?",
+ "result": "A seguinte ordem limite foi criada:"
+ },
+ "rows": {
+ "trade": "Troca",
+ "tradeFK": "Negociar (preencher ou matar)",
+ "seller": "Vendedor: {seller} ({opSeller})",
+ "selling": "Venda: {amount}",
+ "buying": "Comprando: {amount}",
+ "price": "Preço: {price} {sellSymbol}/{buySymbol}"
+ },
+ "tooltip": "Uma oferta para vender uma quantia de um ativo a uma taxa de câmbio especificada e em um determinado momento"
+ },
+ "limit_order_cancel": {
+ "method": "Limite de cancelamento de pedido",
+ "title": "Limitar solicitação de cancelamento de pedido",
+ "result": "Limite de resultado de cancelamento de pedido",
+ "headers": {
+ "request": "Cancelar o seguinte pedido com limite?",
+ "result": "O seguinte pedido de limite foi cancelado:"
+ },
+ "rows": {
+ "id": "ID do pedido: {id}",
+ "fees": "Taxas estimadas: {fees}",
+ "account": "Conta pagadora de taxas: {account}"
+ },
+ "tooltip": "Cancelando uma operação de pedido com limite"
+ },
+ "call_order_update": {
+ "method": "Atualização do pedido de chamada",
+ "title": "Solicitação de atualização de pedido de chamada",
+ "result": "Resultado da atualização do pedido de chamada",
+ "headers": {
+ "request": "Atualize seu pedido de chamada para o seguinte?",
+ "result": "A seguinte ordem de chamada foi atualizada:"
+ },
+ "rows": {
+ "funding_account": "Conta de financiamento: {funding_account}",
+ "delta_collateral": "Garantia delta: {delta_collateral} ({id})",
+ "delta_debt": "Dívida delta: {delta_debt} ({id})",
+ "fees": "Taxas estimadas: {fees}"
+ },
+ "tooltip": "Atualizando um pedido de chamada existente"
+ },
+ "account_create": {
+ "method": "Criação de conta",
+ "title": "Solicitação de criação de conta",
+ "result": "Resultado da criação da conta",
+ "headers": {
+ "request": "Deseja criar a seguinte conta?",
+ "result": "A seguinte conta foi criada:"
+ },
+ "rows": {
+ "registrar": "Registrador: {registrar} ({opRegistrar})",
+ "referrer": "Referenciador: {referrer} ({opReferrer})",
+ "referrer_percent": "Porcentagem de referência: {referrer_percent}",
+ "name": "Nome {name}",
+ "ownerHeader": "Proprietário:",
+ "activeHeader": "Ativo:",
+ "weight_threshold": "Limite de peso: {weight_threshold}",
+ "account_auths": "Autenticações de conta: {account_auths}",
+ "key_auths": "Autenticações principais: {key_auths}",
+ "address_auths": "Autenticações de endereço: {address_auths}",
+ "optionsHeader": "Opções:",
+ "memo_key": "Chave de memorando: {memo_key}",
+ "voting_account": "Conta de votação: {voting_account} ({opVotingAccount})",
+ "num_witness": "Número de testemunhas: {num_witness}",
+ "num_committee": "Número de membros do comitê: {num_committee}",
+ "votes": "Votos: {votes}",
+ "extensions": "Extensões: {extensions}",
+ "fees": "Taxas estimadas: {fees}"
+ },
+ "tooltip": "Criando uma nova conta"
+ },
+ "account_update": {
+ "method": "Atualização da conta",
+ "title": "Solicitação de atualização de conta",
+ "result": "Resultado da atualização da conta",
+ "headers": {
+ "request": "Deseja atualizar a seguinte conta?",
+ "result": "A seguinte conta foi atualizada:"
+ },
+ "rows": {
+ "warning": "Atenção: Esta operação é irreversível!",
+ "account": "Conta: {account} ({opAccount})",
+ "owner": "Proprietário: {owner}",
+ "active": "Ativo: {active}",
+ "new_options": "Novas opções: {new_options}",
+ "extensions": "Extensões: {extensions}",
+ "fees": "Taxa estimada: {fees}"
+ },
+ "tooltip": "Esta operação é usada para atualizar uma conta existente. "
+ },
+ "account_whitelist": {
+ "method": "Lista de permissões de conta",
+ "title": "Solicitação de lista de permissões de conta",
+ "result": "Resultado da lista de permissões da conta",
+ "headers": {
+ "request": "Atualizar a lista de permissões da sua conta para o seguinte?",
+ "result": "A lista de permissões da sua conta foi atualizada para o seguinte:"
+ },
+ "rows": {
+ "authorizing_account": "Autorizando conta: {authorizingAccount} (authorizingAccountOP)",
+ "account_to_list": "Conta a ser listada: {accountToList} (accountToListOP)",
+ "new_listing": "Nova listagem: {newListing}",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa: {fee}"
+ },
+ "tooltip": "Esta operação é usada para colocar contas na lista branca e na lista negra, principalmente para transações em ativos na lista branca"
+ },
+ "account_upgrade": {
+ "method": "Atualização de conta",
+ "title": "Solicitação de atualização de conta",
+ "result": "Resultado da atualização da conta",
+ "headers": {
+ "request": "Atualizar sua conta para membro vitalício?",
+ "result": "Sua conta foi atualizada para membro vitalício!"
+ },
+ "rows": {
+ "account_to_upgrade": "Conta para atualizar: {accountToUpgrade} (accountToUpgradeOP)",
+ "upgrade_to_lifetime_member": "Faça upgrade para membro vitalício: {upgradeToLifetimeMember}",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Esta operação é usada para atualizar uma conta para membro ou renovar sua assinatura."
+ },
+ "account_transfer": {
+ "method": "Transferência de conta",
+ "title": "Solicitação de transferência de conta",
+ "result": "Resultado da transferência de conta",
+ "headers": {
+ "request": "Transferir conta para um novo proprietário?",
+ "result": "A seguinte conta foi transferida para um novo proprietário:"
+ },
+ "rows": {
+ "warning": "Aviso: Esta ação é irreversível!",
+ "account_id": "ID da conta: {originalOwner} ({account_id})",
+ "new_owner": "Novo proprietário: {newOwner} ({newOwnerOP})",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Transfere a conta para outra conta enquanto limpa a lista branca"
+ },
+ "asset_create": {
+ "method": "Criação de recurso",
+ "title": "Solicitação de criação de ativo",
+ "result": "Resultado da criação de recurso",
+ "headers": {
+ "request": "Criar o seguinte ativo?",
+ "result": "O seguinte ativo foi criado:"
+ },
+ "rows": {
+ "symbol": "Símbolo: {symbol}",
+ "main": "Principal: {main}",
+ "market": "Mercado: {market}",
+ "short_name": "Nome curto: {short_name}",
+ "precision": "Precisão: {precision}",
+ "max_supply": "Fornecimento máximo: {max_supply}",
+ "market_fee_percent": "Porcentagem da taxa de mercado: {market_fee_percent}",
+ "max_market_fee": "Taxa máxima de mercado: {max_market_fee}",
+ "cer": "Taxas de câmbio básicas:",
+ "cer_base_amount": "Valor base: {cer_base_amount}",
+ "cer_base_id": "ID do recurso base: {cer_base_id}",
+ "cer_quote_amount": "Valor da cotação: {cer_quote_amount}",
+ "cer_quote_id": "ID do recurso de cotação: {cer_quote_id}",
+ "whitelist_authorities": "Autoridades da lista de permissões: {whitelist_authorities}",
+ "blacklist_authorities": "Autoridades da lista negra: {blacklist_authorities}",
+ "whitelist_markets": "Mercados da lista branca: {whitelist_markets}",
+ "blacklist_markets": "Mercados da lista negra: {blacklist_markets}",
+ "is_prediction_market": "O mercado de previsão é: {is_prediction_market}",
+ "permissions": "Permissões:",
+ "perm_charge_market_fee": "Cobrar taxa de mercado: {charge_market_fee}",
+ "perm_white_list": "Lista branca: {white_list}",
+ "perm_override_authority": "Substituir autoridade: {override_authority}",
+ "perm_transfer_restricted": "Transferência restrita: {transfer_restricted}",
+ "perm_disable_confidential": "Desativar confidencial: {disable_confidential}",
+ "flags": "Bandeiras:",
+ "flag_charge_market_fee": "Cobrar taxa de mercado: {charge_market_fee}",
+ "flag_white_list": "Lista branca: {white_list}",
+ "flag_override_authority": "Substituir autoridade: {override_authority}",
+ "flag_transfer_restricted": "Transferência restrita: {transfer_restricted}",
+ "flag_disable_confidential": "Desativar confidencial: {disable_confidential}",
+ "bitasset": "Informações de Bitasset:",
+ "feed_lifetime_sec": "Duração do feed (segundos): {feed_lifetime_sec}",
+ "force_settlement_delay_sec": "Atraso de liquidação forçada (segundos): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "Porcentagem de compensação de liquidação forçada: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "Volume máximo de liquidação forçada: {maximum_force_settlement_volume}",
+ "minimum_feeds": "Feeds mínimos: {minimum_feeds}",
+ "short_backing_asset": "Ativo de garantia vendido: {short_backing_asset}",
+ "nft": "Conteúdo NFT:",
+ "acknowledgements": "Agradecimentos: {acknowledgements}",
+ "artist": "Artista: {artist}",
+ "attestation": "Atestado: {attestation}",
+ "holder_license": "Licença de titular: {holder_license}",
+ "license": "Licença: {license}",
+ "narrative": "Narrativa: {narrative}",
+ "title": "Título: {title}",
+ "tags": "Tags: {tags}",
+ "type": "Tipo: {type}"
+ },
+ "tooltip": "Cria um ativo na blockchain Bitshares"
+ },
+ "asset_update": {
+ "method": "Atualização de ativos",
+ "title": "Solicitação de atualização de ativo",
+ "result": "Resultado da atualização de ativos",
+ "headers": {
+ "request": "Atualizar o seguinte ativo?",
+ "result": "O ativo foi atualizado com os seguintes detalhes:"
+ },
+ "rows": {
+ "symbol": "Símbolo: {symbol}",
+ "main": "Principal: {main}",
+ "market": "Mercado: {market}",
+ "short_name": "Nome curto: {short_name}",
+ "precision": "Precisão: {precision}",
+ "max_supply": "Fornecimento máximo: {max_supply}",
+ "market_fee_percent": "Porcentagem da taxa de mercado: {market_fee_percent}",
+ "max_market_fee": "Taxa máxima de mercado: {max_market_fee}",
+ "cer": "Taxas de câmbio básicas:",
+ "cer_base_amount": "Valor base: {cer_base_amount}",
+ "cer_base_id": "ID do recurso base: {cer_base_id}",
+ "cer_quote_amount": "Valor da cotação: {cer_quote_amount}",
+ "cer_quote_id": "ID do recurso de cotação: {cer_quote_id}",
+ "whitelist_authorities": "Autoridades da lista de permissões: {whitelist_authorities}",
+ "blacklist_authorities": "Autoridades da lista negra: {blacklist_authorities}",
+ "whitelist_markets": "Mercados da lista branca: {whitelist_markets}",
+ "blacklist_markets": "Mercados da lista negra: {blacklist_markets}",
+ "is_prediction_market": "O mercado de previsão é: {is_prediction_market}",
+ "permissions": "Permissões:",
+ "perm_charge_market_fee": "Cobrar taxa de mercado: {charge_market_fee}",
+ "perm_white_list": "Lista branca: {white_list}",
+ "perm_override_authority": "Substituir autoridade: {override_authority}",
+ "perm_transfer_restricted": "Transferência restrita: {transfer_restricted}",
+ "perm_disable_confidential": "Desativar confidencial: {disable_confidential}",
+ "flags": "Bandeiras:",
+ "flag_charge_market_fee": "Cobrar taxa de mercado: {charge_market_fee}",
+ "flag_white_list": "Lista branca: {white_list}",
+ "flag_override_authority": "Substituir autoridade: {override_authority}",
+ "flag_transfer_restricted": "Transferência restrita: {transfer_restricted}",
+ "flag_disable_confidential": "Desativar confidencial: {disable_confidential}",
+ "bitasset": "Informações de Bitasset:",
+ "feed_lifetime_sec": "Duração do feed (segundos): {feed_lifetime_sec}",
+ "force_settlement_delay_sec": "Atraso de liquidação forçada (segundos): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "Porcentagem de compensação de liquidação forçada: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "Volume máximo de liquidação forçada: {maximum_force_settlement_volume}",
+ "minimum_feeds": "Feeds mínimos: {minimum_feeds}",
+ "short_backing_asset": "Ativo de garantia vendido: {short_backing_asset}",
+ "nft": "Conteúdo NFT:",
+ "acknowledgements": "Agradecimentos: {acknowledgements}",
+ "artist": "Artista: {artist}",
+ "attestation": "Atestado: {attestation}",
+ "holder_license": "Licença de titular: {holder_license}",
+ "license": "Licença: {license}",
+ "narrative": "Narrativa: {narrative}",
+ "title": "Título: {title}",
+ "tags": "Tags: {tags}",
+ "type": "Tipo: {type}"
+ },
+ "tooltip": "Atualiza as configurações de um ativo"
+ },
+ "asset_update_bitasset": {
+ "method": "Bitasset de atualização de ativos",
+ "title": "Solicitação de bitasset de atualização de ativo",
+ "result": "Resultado de bitasset de atualização de ativos",
+ "headers": {
+ "request": "Aprova atualização de bitasset?",
+ "result": "A seguinte atualização de bitasset foi aprovada:"
+ },
+ "rows": {
+ "issuer": "Emissor: {issuer}",
+ "asset_to_update": "Recurso a ser atualizado: {asset_to_update}",
+ "new_options": "Novas opções:",
+ "feed_lifetime_sec": "Duração do feed (segundos): {feed_lifetime_sec}",
+ "minimum_feeds": "Feeds mínimos: {minimum_feeds}",
+ "force_settlement_delay_sec": "Atraso de liquidação forçada (segundos): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "Porcentagem de compensação de liquidação forçada: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "Volume máximo de liquidação forçada: {maximum_force_settlement_volume}",
+ "short_backing_asset": "Ativo de garantia vendido: {symbol} ({short_backing_asset})",
+ "extensions": "Extensões: {extensions}",
+ "noExtensions": "Sem extensões",
+ "fee": "Taxa estimada: {fee} ({id})"
+ },
+ "tooltip": "Atualizar configurações de bitasset criadas"
+ },
+ "asset_update_feed_producers": {
+ "method": "Produtores de feed de atualização de ativos",
+ "title": "Solicitação de produtores de feed de atualização de recursos",
+ "result": "Resultado dos produtores de feed de atualização de recursos",
+ "headers": {
+ "request": "Aprovar mudança para produtores de feeds de bitasset?",
+ "result": "A seguinte alteração para produtores de feeds de bitasset foi aprovada:"
+ },
+ "rows": {
+ "issuer": "Emissor: {issuer} ({issuerOP})",
+ "asset_to_update": "Ativo a ser atualizado: {symbol} ({asset_to_update})",
+ "new_feed_producers": "Novos produtores de feed: {new_feed_producers}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Atualizar a lista de produtores de feeds aprovados para o bitasset criado"
+ },
+ "asset_issue": {
+ "method": "Problema de ativo",
+ "title": "Solicitação de emissão de ativos",
+ "result": "Resultado da emissão de ativos",
+ "headers": {
+ "request": "Aprova a seguinte emissão de ativos?",
+ "result": "Foi aprovada a seguinte emissão de ativos:"
+ },
+ "rows": {
+ "prompt": "Emitir {amount} {symbol} ({assetID}) para {to} ({toID})?",
+ "fee": "Taxa estimada: {fee} ({id})"
+ },
+ "tooltip": "Emita seus ativos criados para indivíduos"
+ },
+ "asset_reserve": {
+ "method": "Reserva de ativos",
+ "title": "Solicitação de reserva de ativos",
+ "result": "Resultado de reserva de ativos",
+ "headers": {
+ "request": "Aprova a seguinte reserva de ativos?",
+ "result": "Foi aprovada a seguinte reserva de ativos:"
+ },
+ "rows": {
+ "payer": "Pagador: {payer} ({payerOP})",
+ "amount_to_reserve": "Valor a ser reservado: {amount_to_reserve} ({amount_to_reserveOP})",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Reserve seus ativos criados"
+ },
+ "asset_fund_fee_pool": {
+ "method": "Conjunto de taxas de fundos de ativos",
+ "title": "Solicitação de conjunto de taxas de fundos de ativos",
+ "result": "Resultado do pool de taxas de fundos de ativos",
+ "headers": {
+ "request": "Financiar o seguinte conjunto de taxas de ativos?",
+ "result": "O seguinte financiamento conjunto de taxas de ativos foi aprovado:"
+ },
+ "rows": {
+ "from_account": "Da conta: {from_account} ({from_accountOP})",
+ "asset": "Ativo: {asset} ({assetOP})",
+ "amount": "Valor: {amount}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Financie o conjunto de taxas para o seu ativo criado"
+ },
+ "asset_settle": {
+ "method": "Liquidação de ativos",
+ "title": "Solicitação de liquidação de ativos",
+ "result": "Resultado da liquidação de ativos",
+ "headers": {
+ "request": "Liquidar o seguinte ativo como garantia?",
+ "result": "O seguinte ativo foi liquidado como garantia:"
+ },
+ "rows": {
+ "account": "Conta: {account} ({accountOP})",
+ "amount": "Valor: {amount} ({assetID})",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Liquidar um ativo em seu portfólio"
+ },
+ "asset_global_settle": {
+ "method": "Liquidação global de ativos",
+ "title": "Solicitação de liquidação global de ativos",
+ "result": "Resultado da liquidação global de ativos",
+ "headers": {
+ "request": "Realizar liquidação global no seguinte ativo?",
+ "result": "O seguinte ativo foi liquidado globalmente:"
+ },
+ "rows": {
+ "issuer": "Emissor: {issuer} ({issuerOP})",
+ "asset_to_settle": "Ativo a ser liquidado: {asset_to_settle} ({asset_to_settleOP})",
+ "settle_price": "Preço de liquidação: {settle_price}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Liquidar globalmente um dos seus bitassets criados"
+ },
+ "asset_publish_feed": {
+ "method": "Feed de publicação de recursos",
+ "title": "Solicitação de feed de publicação de recursos",
+ "result": "Resultado do feed de publicação de recursos",
+ "headers": {
+ "request": "Publicar um feed de preços para o seguinte ativo?",
+ "result": "A seguinte atualização de feed de preços de ativos foi publicada:"
+ },
+ "rows": {
+ "publisher": "Editor: {publisher} ({publisherOP})",
+ "asset_id": "ID do recurso: {symbol} ({asset_idOP})",
+ "feed": "Alimentar:",
+ "core_exchange_rate": "Taxa de câmbio básica: {core_exchange_rate}",
+ "settlement_price": "Preço de liquidação: {settlement_price}",
+ "maintenance_collateral_ratio": "Proporção de garantia de manutenção: {maintenance_collateral_ratio}",
+ "maximum_short_squeeze_ratio": "Proporção máxima de compressão curta: {maximum_short_squeeze_ratio}",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Publicar um feed de preços para um bitasset"
+ },
+ "witness_create": {
+ "method": "Testemunha criar",
+ "title": "Solicitação de criação de testemunha",
+ "result": "Testemunha criar resultado",
+ "headers": {
+ "request": "Criar uma testemunha com os seguintes detalhes?",
+ "result": "A seguinte testemunha foi criada:"
+ },
+ "rows": {
+ "witness_account": "Conta de testemunha: {witness_account} ({witness_accountOP})",
+ "url": "URL: {url}",
+ "block_signing_key": "Chave de assinatura do bloco: {block_signing_key}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Crie uma conta de testemunha"
+ },
+ "witness_update": {
+ "method": "Atualização de testemunha",
+ "title": "Solicitação de atualização de testemunha",
+ "result": "Resultado da atualização da testemunha",
+ "headers": {
+ "request": "Atualizar os detalhes da testemunha para o seguinte?",
+ "result": "Os seguintes detalhes das testemunhas foram atualizados:"
+ },
+ "rows": {
+ "witness": "Testemunha: {witness}",
+ "witness_account": "Conta de testemunha: {witness_account} ({witness_accountOP})",
+ "new_url": "Novo URL: {new_url}",
+ "new_signing_key": "Nova chave de assinatura: {new_signing_key}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Atualize sua conta de testemunha"
+ },
+ "proposal_create": {
+ "method": "Criação de proposta",
+ "title": "Solicitação de criação de proposta",
+ "result": "Resultado da criação da proposta",
+ "headers": {
+ "request": "Criar a seguinte proposta?",
+ "result": "Foi criada a seguinte proposta:"
+ },
+ "rows": {
+ "expiration_time": "Prazo de validade: {expiration_time}",
+ "proposed_ops": "Operações propostas: {proposed_ops}",
+ "review_period_seconds": "Segundos do período de revisão: {review_period_seconds}",
+ "fee_paying_account": "Conta pagadora de taxas: {fee_paying_account} ({fee_paying_accountOP})",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Crie uma proposta de operação blockchain"
+ },
+ "proposal_update": {
+ "method": "Atualização da proposta",
+ "title": "Solicitação de atualização de proposta",
+ "result": "Resultado da atualização da proposta",
+ "headers": {
+ "request": "Atualizar a seguinte proposta?",
+ "result": "A seguinte proposta foi atualizada:"
+ },
+ "rows": {
+ "proposal": "Proposta: {proposal}",
+ "active_approvals_to_add": "Aprovações ativas para adicionar: {active_approvals_to_add}",
+ "active_approvals_to_remove": "Aprovações ativas para remover: {active_approvals_to_remove}",
+ "owner_approvals_to_add": "Aprovações do proprietário para adicionar: {owner_approvals_to_add}",
+ "owner_approvals_to_remove": "Aprovações do proprietário para remover: {owner_approvals_to_remove}",
+ "key_approvals_to_add": "Aprovações principais a serem adicionadas: {key_approvals_to_add}",
+ "key_approvals_to_remove": "Aprovações principais a serem removidas: {key_approvals_to_remove}",
+ "fee_paying_account": "Conta pagadora de taxas: {fee_paying_account} ({fee_paying_accountOP})",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Atualizar uma proposta de operação blockchain"
+ },
+ "proposal_delete": {
+ "method": "Exclusão de proposta",
+ "title": "Solicitação de exclusão de proposta",
+ "result": "Resultado de exclusão da proposta",
+ "headers": {
+ "request": "Excluir a seguinte proposta?",
+ "result": "A seguinte proposta foi eliminada:"
+ },
+ "rows": {
+ "using_owner_authority": "Usando autoridade de proprietário: {using_owner_authority}",
+ "proposal": "Proposta: {proposal}",
+ "fee_paying_account": "Conta pagadora de taxas: {fee_paying_account} ({fee_paying_accountOP})",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Excluir uma proposta de operação blockchain"
+ },
+ "withdraw_permission_create": {
+ "method": "Retirar permissão criar",
+ "title": "Retirar solicitação de criação de permissão",
+ "result": "Retirar permissão criar resultado",
+ "headers": {
+ "request": "Autorização de Débito Direto",
+ "result": "Foi aprovada a seguinte autorização de débito direto:"
+ },
+ "rows": {
+ "recipient": "Destinatário: {recipient} ({recipientOP})",
+ "withdraw_from": "Conta para retirada: {withdraw_from} ({withdraw_fromOP})",
+ "taking": "Receba {amount} a cada {period_sec} segundos, por {period_qty} períodos",
+ "start": "Iniciando: {start}"
+ },
+ "tooltip": "Crie uma permissão de retirada"
+ },
+ "withdraw_permission_update": {
+ "method": "Retirar atualização de permissão",
+ "title": "Retirar solicitação de atualização de permissão",
+ "result": "Resultado da atualização da permissão de retirada",
+ "headers": {
+ "request": "Atualizar as permissões de testemunha para o seguinte?",
+ "result": "As seguintes atualizações de permissão de testemunha foram aprovadas:"
+ },
+ "rows": {
+ "withrdaw_from_account": "Saque da conta: {withrdaw_from_account} ({withrdaw_from_accountOP})",
+ "authorized_account": "Conta autorizada: {authorized_account} ({authorized_accountOP})",
+ "permission_to_update": "Permissão para atualizar: {permission_to_update}",
+ "withdrawal_limited": "Limite de retirada: {withdrawal_limit}",
+ "withdrawal_unlimited": "Limite de retirada: {withdrawal_limit} ({withdrawal_limitOP})",
+ "withdrawal_period_sec": "Período de retirada (segundos): {withdrawal_period_sec}",
+ "period_start_time": "Hora de início do período: {period_start_time}",
+ "periods_until_expiration": "Períodos até a expiração: {periods_until_expiration}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Atualizar uma permissão de retirada"
+ },
+ "withdraw_permission_claim": {
+ "method": "Retirar reivindicação de permissão",
+ "title": "Retirar solicitação de reivindicação de permissão",
+ "result": "Resultado da reivindicação de retirada de permissão",
+ "headers": {
+ "request": "Solicite a seguinte permissão de retirada",
+ "result": "A seguinte permissão de retirada foi reivindicada:"
+ },
+ "rows": {
+ "withdraw_permission": "Retirar permissão: {withdraw_permission}",
+ "withdraw_from_account": "Sacar da conta: {withdraw_from_account} ({withdraw_from_accountOP})",
+ "withdraw_to_account": "Saque para conta: {withdraw_to_account} ({withdraw_to_accountOP})",
+ "amount_to_withdraw": "Valor a ser retirado: {amount_to_withdraw} ({amount_to_withdrawOP})",
+ "memo": "Memorando: {memo}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Reivindicar uma permissão de retirada"
+ },
+ "withdraw_permission_delete": {
+ "method": "Retirar permissão excluir",
+ "title": "Retirar solicitação de exclusão de permissão",
+ "result": "Retirar permissão excluir resultado",
+ "headers": {
+ "request": "Excluir a seguinte permissão de retirada?",
+ "result": "A seguinte permissão de retirada foi excluída:"
+ },
+ "rows": {
+ "withdraw_from_account": "Sacar da conta: {withdraw_from_account} ({withdraw_from_accountOP})",
+ "authorized_account": "Conta autorizada: {authorized_account} ({authorized_accountOP})",
+ "withdrawal_permission": "Permissão de retirada: {withdrawal_permission}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Excluir uma permissão de retirada"
+ },
+ "committee_member_create": {
+ "method": "Membro do comitê criar",
+ "title": "Membro do comitê criar solicitação",
+ "result": "Membro do comitê cria resultado",
+ "headers": {
+ "request": "Criar um membro do comitê?",
+ "result": "Foi criado o seguinte membro do comitê:"
+ },
+ "rows": {
+ "committee_member_account": "Conta de membro do comitê: {committee_member_account} ({committee_member_accountOP})",
+ "url": "URL: {url}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Crie uma conta de membro do comitê"
+ },
+ "committee_member_update": {
+ "method": "Atualização dos membros do comitê",
+ "title": "Solicitação de atualização de membro do comitê",
+ "result": "Resultado da atualização dos membros do comitê",
+ "headers": {
+ "request": "Atualizar os detalhes do seguinte membro do comitê?",
+ "result": "As seguintes atualizações detalhadas dos membros do comitê foram aprovadas:"
+ },
+ "rows": {
+ "committee_member": "Membro do comitê: {committee_member}",
+ "committee_member_account": "Conta de membro do comitê: {committee_member_account} ({committee_member_accountOP})",
+ "new_url": "Novo URL: {new_url}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Atualize os detalhes da sua conta de membro do comitê"
+ },
+ "committee_member_update_global_parameters": {
+ "method": "Membro do comitê atualiza parâmetros globais",
+ "title": "Solicitação de atualização de parâmetros globais de membro do comitê",
+ "result": "Resultado dos parâmetros globais da atualização do membro do comitê",
+ "headers": {
+ "request": "Aprova seguir os parâmetros globais como um comitê?",
+ "result": "Foram aprovados os seguintes parâmetros do comitê global:"
+ },
+ "rows": {
+ "new_parameters": "Novos parâmetros:",
+ "current_fees": "Taxas atuais: {current_fees}",
+ "block_interval": "Intervalo de bloqueio: {block_interval}",
+ "maintenance_interval": "Intervalo de manutenção: {maintenance_interval}",
+ "maintenance_skip_slots": "Espaços para ignorar manutenção: {maintenance_skip_slots}",
+ "committee_proposal_review_period": "Período de revisão da proposta do comitê: {committee_proposal_review_period}",
+ "maximum_transaction_size": "Tamanho máximo da transação: {maximum_transaction_size}",
+ "maximum_block_size": "Tamanho máximo do bloco: {maximum_block_size}",
+ "maximum_time_until_expiration": "Tempo máximo até a expiração: {maximum_time_until_expiration}",
+ "maximum_proposal_lifetime": "Duração máxima da proposta: {maximum_proposal_lifetime}",
+ "maximum_asset_whitelist_authorities": "Máximo de autoridades da lista de permissões de recursos: {maximum_asset_whitelist_authorities}",
+ "maximum_asset_feed_publishers": "Máximo de editores de feed de recursos: {maximum_asset_feed_publishers}",
+ "maximum_witness_count": "Contagem máxima de testemunhas: {maximum_witness_count}",
+ "maximum_committee_count": "Contagem máxima de comitês: {maximum_committee_count}",
+ "maximum_authority_membership": "Associação máxima de autoridade: {maximum_authority_membership}",
+ "reserve_percent_of_fee": "Porcentagem de reserva da taxa: {reserve_percent_of_fee}",
+ "network_percent_of_fee": "Porcentagem da taxa da rede: {network_percent_of_fee}",
+ "lifetime_referrer_percent_of_fee": "Porcentagem vitalícia da taxa do referenciador: {lifetime_referrer_percent_of_fee}",
+ "cashback_vesting_period_seconds": "Segundos do período de aquisição de reembolso: {cashback_vesting_period_seconds}",
+ "cashback_vesting_threshold": "Limite de aquisição de reembolso: {cashback_vesting_threshold}",
+ "count_non_member_votes": "Contar votos de não membros: {count_non_member_votes}",
+ "allow_non_member_whitelists": "Permitir listas de permissões de não membros: {allow_non_member_whitelists}",
+ "witness_pay_per_block": "Pagamento de testemunha por bloco: {witness_pay_per_block}",
+ "worker_budget_per_day": "Orçamento do trabalhador por dia: {worker_budget_per_day}",
+ "max_predicate_opcode": "Código de operação máximo do predicado: {max_predicate_opcode}",
+ "fee_liquidation_threshold": "Limite de liquidação de taxas: {fee_liquidation_threshold}",
+ "accounts_per_fee_scale": "Contas por escala de taxas: {accounts_per_fee_scale}",
+ "account_fee_scale_bitshifts": "Bitshifts da escala de taxas da conta: {account_fee_scale_bitshifts}",
+ "max_authority_depth": "Profundidade máxima de autoridade: {max_authority_depth}",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Publique a posição dos membros do seu comitê sobre os valores dos parâmetros globais do blockchain da Bitshares"
+ },
+ "vesting_balance_create": {
+ "method": "Criação de saldo de aquisição",
+ "title": "Solicitação de criação de saldo de aquisição",
+ "result": "Equilíbrio de aquisição criar resultado",
+ "headers": {
+ "request": "Criar o seguinte saldo de aquisição?",
+ "result": "Foi criado o seguinte saldo de vesting:"
+ },
+ "rows": {
+ "creator": "Criador: {creator} ({creatorOP})",
+ "owner": "Proprietário: {owner} ({ownerOP})",
+ "amount": "Valor: {amount} ({asset_id})",
+ "policy": "Política:",
+ "begin_timestamp": "Carimbo de data e hora de início: {begin_timestamp}",
+ "vesting_cliff_seconds": "Vestindo segundos de penhasco: {vesting_cliff_seconds}",
+ "vesting_duration_seconds": "Segundos de duração da aquisição: {vesting_duration_seconds}",
+ "start_claim": "Iniciar reivindicação: {start_claim}",
+ "vesting_seconds": "Segundos de aquisição: {vesting_seconds}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Crie um saldo de aquisição"
+ },
+ "vesting_balance_withdraw": {
+ "method": "Retirada de saldo adquirido",
+ "title": "Solicitação de saque de saldo adquirido",
+ "result": "Resultado de retirada de saldo adquirido",
+ "headers": {
+ "request": "Retirar o seguinte saldo de aquisição?",
+ "result": "O seguinte saldo de aquisição foi sacado:"
+ },
+ "rows": {
+ "owner": "Proprietário: {owner} ({ownerOP})",
+ "claim": "Reivindicação: {claim} ({asset_id})"
+ },
+ "tooltip": "Sacar de um saldo adquirido"
+ },
+ "worker_create": {
+ "method": "Criação de trabalhador",
+ "title": "Solicitação de criação de trabalhador",
+ "result": "Resultado da criação do trabalhador",
+ "headers": {
+ "request": "Criar a seguinte proposta de trabalho?",
+ "result": "A seguinte proposta de trabalhador foi criada:"
+ },
+ "rows": {
+ "owner": "Proprietário: {owner} ({ownerOP})",
+ "work_begin_date": "Data de início do trabalho: {work_begin_date}",
+ "work_end_date": "Data de término do trabalho: {work_end_date}",
+ "daily_pay": "Pagamento diário: {daily_pay}",
+ "name": "Nome {name}",
+ "url": "URL: {url}",
+ "initializer": "Inicializador: {initializer}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Crie uma proposta de trabalho"
+ },
+ "custom": {
+ "method": "Personalizado",
+ "title": "Solicitação personalizada",
+ "result": "Resultado personalizado",
+ "headers": {
+ "request": "Criar a seguinte operação personalizada?",
+ "result": "A seguinte operação personalizada foi criada:"
+ },
+ "rows": {
+ "payer": "Pagador: {payer} ({payerOP})",
+ "required_auths": "Autoridades necessárias: {required_auths}",
+ "id": "Eu {id}",
+ "data": "Dados: {data}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Fornece uma maneira genérica de adicionar protocolos de nível superior além do consenso de testemunhas"
+ },
+ "assert": {
+ "method": "Afirmar",
+ "title": "Afirmar solicitação",
+ "result": "Afirmar resultado",
+ "headers": {
+ "request": "Aprovar a seguinte operação de solicitação de declaração?",
+ "result": "A seguinte operação de solicitação de afirmação foi aprovada:"
+ },
+ "rows": {
+ "fee_paying_account": "Conta pagadora de taxas: {fee_paying_account} ({fee_paying_accountOP})",
+ "predicates": "Predicados: {predicates}",
+ "required_auths": "Autoridades necessárias: {required_auths}",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Afirme que algumas condições são verdadeiras."
+ },
+ "balance_claim": {
+ "method": "Reivindicação de saldo",
+ "title": "Solicitação de reivindicação de saldo",
+ "result": "Resultado da reivindicação de saldo",
+ "headers": {
+ "request": "Reivindicar o seguinte saldo?",
+ "result": "Foi reclamado o seguinte saldo:"
+ },
+ "rows": {
+ "deposit_to_account": "Depósito na conta: {deposit_to_account} ({deposit_to_accountOP})",
+ "balance_to_claim": "Saldo a reivindicar: {balance_to_claim} ({asset_id})",
+ "balance_owner_key": "Chave do proprietário do saldo: {balance_owner_key}",
+ "total_claimed": "Total reivindicado: {total_claimed} ({asset_id})",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Reclamar de um saldo"
+ },
+ "override_transfer": {
+ "method": "Substituir transferência",
+ "title": "Substituir solicitação de transferência",
+ "result": "Substituir resultado da transferência",
+ "headers": {
+ "request": "Substituir a seguinte transferência?",
+ "result": "A seguinte transferência foi substituída:"
+ },
+ "rows": {
+ "issuer": "Emissor: {issuer} ({issuerOP})",
+ "from": "De: {from} ({fromOP})",
+ "to": "Para: {to} ({toOP})",
+ "amount": "Valor: {amount} ({asset_id})",
+ "memo": "Memorando: {memo}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Substituir uma operação de transferência"
+ },
+ "transfer_to_blind": {
+ "method": "Transferir para cego",
+ "title": "Transferência para solicitação cega",
+ "result": "Transferir para resultado cego",
+ "headers": {
+ "request": "Transferir o seguinte para cego?",
+ "result": "O seguinte foi transferido para cegos:"
+ },
+ "rows": {
+ "amount": "Valor: {amount}",
+ "from": "De: {from} ({fromOP})",
+ "blinding_factor": "Fator de cegueira: {blinding_factor}",
+ "outputs": "Saídas: {outputs}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Transferir ativos para um destino cego"
+ },
+ "blind_transfer": {
+ "method": "Transferência cega",
+ "title": "Solicitação de transferência cega",
+ "result": "Resultado da transferência cega",
+ "headers": {
+ "request": "Aprovar a seguinte transferência cega?",
+ "result": "A seguinte transferência cega foi aprovada:"
+ },
+ "rows": {
+ "inputs": "Entradas: {inputs}",
+ "outputs": "Saídas: {outputs}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Transferir ativos cegos de maneira cega"
+ },
+ "transfer_from_blind": {
+ "method": "Transferência de cego",
+ "title": "Transferência de solicitação cega",
+ "result": "Transferência do resultado cego",
+ "headers": {
+ "request": "Transferir o seguinte do cego?",
+ "result": "O seguinte foi transferido das cegas:"
+ },
+ "rows": {
+ "amount": "Valor: {amount}",
+ "to": "Para: {to} ({toOP})",
+ "blinding_factor": "Fator de cegueira: {blinding_factor}",
+ "inputs": "Entradas: {inputs}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Retirar ativos de um saldo cego"
+ },
+ "asset_claim_fees": {
+ "method": "Taxas de reivindicação de ativos",
+ "title": "Solicitação de taxas de reivindicação de ativos",
+ "result": "Resultado das taxas de reivindicação de ativos",
+ "headers": {
+ "request": "Retirar as taxas do seguinte ativo?",
+ "result": "As seguintes taxas de ativos foram reivindicadas:"
+ },
+ "rows": {
+ "issuer": "Emissor: {issuer} ({issuerOP})",
+ "amount_to_claim": "Valor a ser reivindicado: {amount_to_claim} ({asset_id})",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Reivindique as taxas de um ativo"
+ },
+ "bid_collateral": {
+ "method": "Material de lance",
+ "title": "Solicitação de garantia do lance",
+ "result": "Resultado do material do lance",
+ "headers": {
+ "request": "Aprova a seguinte oferta de garantia?",
+ "result": "Foi aprovada a seguinte oferta de garantia:"
+ },
+ "rows": {
+ "bidder": "Licitante: {bidder} ({bidderOP})",
+ "additional_collateral": "Garantia adicional: {additional_collateral}",
+ "debt_covered": "Dívida coberta: {debt_covered}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Faça lances em uma garantia de garantia de bitassets quando liquidada globalmente"
+ },
+ "asset_claim_pool": {
+ "method": "Conjunto de reivindicações de ativos",
+ "title": "Solicitação de conjunto de reivindicações de ativos",
+ "result": "Resultado do conjunto de reivindicações de ativos",
+ "headers": {
+ "request": "Reivindicar o seguinte pool de ativos?",
+ "result": "O seguinte pool de ativos foi reivindicado:"
+ },
+ "rows": {
+ "issuer": "Emissor: {issuer} ({issuerOP})",
+ "asset_id": "Recurso: {asset_id}",
+ "amount_to_claim": "Valor a ser reivindicado: {amount_to_claim}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Transfere BTS do pool de taxas de um ativo específico de volta para o saldo do emissor"
+ },
+ "asset_update_issuer": {
+ "method": "Emissor de atualização de ativos",
+ "title": "Solicitação do emissor de atualização de ativos",
+ "result": "Resultado do emissor de atualização de ativos",
+ "headers": {
+ "request": "Atualizar o emissor do seguinte ativo?",
+ "result": "O seguinte emissor do ativo foi atualizado:"
+ },
+ "rows": {
+ "issuer": "Emissor: {issuer} ({issuerOP})",
+ "asset_to_update": "Recurso a ser atualizado: {asset_to_update}",
+ "new_issuer": "Novo emissor: {new_issuer} ({new_issuerOP})",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Atualize o emissor de um ativo para uma nova conta de administrador."
+ },
+ "htlc_create": {
+ "method": "Criação de HTML",
+ "title": "Solicitação de criação HTML",
+ "result": "Resultado de criação HTML",
+ "headers": {
+ "request": "Criar a seguinte operação de contrato de timelock com hash?",
+ "result": "Foi aprovada a criação da seguinte operação de contrato de timelock com hash:"
+ },
+ "rows": {
+ "from": "De: {from} ({fromOP})",
+ "to": "Para: {to} ({toOP})",
+ "amount": "Valor: {amount}",
+ "preimage_hash": "Hash de pré-imagem: {preimage_hash}",
+ "preimage_size": "Tamanho da pré-imagem: {preimage_size}",
+ "claim_period_seconds": "Período de reivindicação (segundos): {claim_period_seconds}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Criar uma operação de contrato hash time bloqueado (HTLC)"
+ },
+ "htlc_redeem": {
+ "method": "Resgatar HTML",
+ "title": "Solicitação de resgate de HTLC",
+ "result": "Resultado de resgate de HTLC",
+ "headers": {
+ "request": "Resgatar a seguinte operação de contrato bloqueado por tempo de hash?",
+ "result": "Foi aprovado o resgate da seguinte operação de contrato hash time locked:"
+ },
+ "rows": {
+ "htlc_id": "ID HTML: {htlc_id}",
+ "redeemer": "Redentor: {redeemer} ({redeemerOP})",
+ "preimage": "Pré-imagem: {preimage}",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Resgatar o conteúdo de uma operação HTLC"
+ },
+ "htlc_extend": {
+ "method": "Extensão HTML",
+ "title": "Solicitação de extensão HTML",
+ "result": "Resultado de extensão HTML",
+ "headers": {
+ "request": "Aprovar a seguinte extensão de contrato com hash timelocked?",
+ "result": "A extensão do seguinte contrato hash timelocked foi aprovada:"
+ },
+ "rows": {
+ "htlc_id": "ID HTML: {htlc_id}",
+ "update_issuer": "Emissor de atualização: {update_issuer} ({update_issuerOP})",
+ "seconds_to_add": "Segundos para adicionar: {seconds_to_add}",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Prolongue a duração de uma operação HTML"
+ },
+ "custom_authority_create": {
+ "method": "Criação de autoridade personalizada",
+ "title": "Solicitação de criação de autoridade personalizada",
+ "result": "Autoridade personalizada cria resultado",
+ "headers": {
+ "request": "Criar a seguinte autoridade personalizada?",
+ "result": "A seguinte autoridade personalizada foi criada:"
+ },
+ "rows": {
+ "account": "Conta: {account} ({accountOP})",
+ "enabled": "Ativado: {enabled}",
+ "valid_from": "Válido de: {valid_from}",
+ "valid_to": "Válido para: {valid_to}",
+ "operation_type": "Tipo de operação: {operation_type}",
+ "auth": "Autoridade: {auth}",
+ "restrictions": "Restrições: {restrictions}",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Crie uma nova autoridade personalizada."
+ },
+ "custom_authority_update": {
+ "method": "Atualização de autoridade personalizada",
+ "title": "Solicitação de atualização de autoridade personalizada",
+ "result": "Resultado da atualização de autoridade personalizada",
+ "headers": {
+ "request": "Atualizar a seguinte autoridade personalizada?",
+ "result": "A seguinte autoridade personalizada foi atualizada:"
+ },
+ "rows": {
+ "account": "Conta: {account} ({accountOP})",
+ "authority_to_update": "Autoridade para atualizar: {authority_to_update}",
+ "new_enabled": "Novo ativado: {new_enabled}",
+ "new_valid_from": "Novo válido de: {new_valid_from}",
+ "new_valid_to": "Novo válido para: {new_valid_to}",
+ "new_auth": "Nova autoridade: {new_auth}",
+ "restrictions_to_remove": "Restrições a serem removidas: {restrictions_to_remove}",
+ "restrictions_to_add": "Restrições para adicionar: {restrictions_to_add}",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Atualize uma autoridade personalizada."
+ },
+ "custom_authority_delete": {
+ "method": "Exclusão de autoridade personalizada",
+ "title": "Solicitação de exclusão de autoridade personalizada",
+ "result": "Resultado de exclusão de autoridade personalizada",
+ "headers": {
+ "request": "Excluir a seguinte autoridade personalizada?",
+ "result": "A seguinte autoridade personalizada foi excluída:"
+ },
+ "rows": {
+ "account": "Conta: {account} ({accountOP})",
+ "authority_to_delete": "Autoridade para excluir: {authority_to_delete}",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Exclua uma autoridade personalizada."
+ },
+ "ticket_create": {
+ "method": "Criação de ingresso",
+ "title": "Solicitação de criação de ticket",
+ "result": "Resultado da criação do ticket",
+ "headers": {
+ "request": "Criar o seguinte ticket?",
+ "result": "O seguinte ticket foi criado:"
+ },
+ "rows": {
+ "account": "Conta: {account} ({accountOP})",
+ "target_type": "Tipo de destino: {target_type}",
+ "amount": "Valor: {amount}",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Crie um novo tíquete."
+ },
+ "ticket_update": {
+ "method": "Atualização de ingressos",
+ "title": "Solicitação de atualização de ticket",
+ "result": "Resultado da atualização do ticket",
+ "headers": {
+ "request": "Atualizar o seguinte ticket?",
+ "result": "O seguinte ticket foi atualizado:"
+ },
+ "rows": {
+ "ticket": "Ingresso: {ticket}",
+ "account": "Conta: {account} ({accountOP})",
+ "target_type": "Tipo de destino: {target_type}",
+ "amount_for_new_target": "Valor para a nova meta: {amount_for_new_target}",
+ "extensions": "Extensões: {extensions}"
+ },
+ "tooltip": "Atualize um ticket existente."
+ },
+ "liquidity_pool_create": {
+ "method": "Criação de pool de liquidez",
+ "title": "Solicitação de criação de pool de liquidez",
+ "result": "Resultado da criação do pool de liquidez",
+ "headers": {
+ "request": "Criar um pool de liquidez com os seguintes detalhes?",
+ "result": "Foi criada a seguinte pool de liquidez:"
+ },
+ "rows": {
+ "account": "Conta: {account} ({accountOP})",
+ "asset_a": "Ativo A: {asset_a} ({asset_aOP})",
+ "asset_b": "Ativo B: {asset_b} ({asset_bOP})",
+ "share_asset": "Compartilhar ativo: {share_asset} ({share_assetOP})",
+ "taker_fee_percent": "Porcentagem da taxa do tomador: {taker_fee_percent}",
+ "withdrawal_fee_percent": "Porcentagem da taxa de retirada: {withdrawal_fee_percent}",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Crie um pool de liquidez"
+ },
+ "liquidity_pool_delete": {
+ "method": "Exclusão do pool de liquidez",
+ "title": "Solicitação de exclusão do pool de liquidez",
+ "result": "Resultado de exclusão do pool de liquidez",
+ "headers": {
+ "request": "Excluir o seguinte pool de liquidez?",
+ "result": "O seguinte pool de liquidez foi excluído:"
+ },
+ "rows": {
+ "account": "Conta: {account} ({accountOP})",
+ "pool_id": "ID do pool: {pool_id}",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Excluir um pool de liquidez"
+ },
+ "liquidity_pool_deposit": {
+ "method": "Depósito do pool de liquidez",
+ "title": "Solicitação de depósito de pool de liquidez",
+ "result": "Resultado do depósito do pool de liquidez",
+ "headers": {
+ "request": "Depositar os seguintes ativos no pool de liquidez?",
+ "result": "Os seguintes ativos foram depositados na carteira de liquidez:"
+ },
+ "rows": {
+ "account": "Conta: {account} ({accountOP})",
+ "pool": "Piscina: {pool}",
+ "asset_a": "Ativo A: {asset_a} ({asset_aOP})",
+ "asset_b": "Ativo B: {asset_b} ({asset_bOP})",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Deposite fundos em um pool de liquidez"
+ },
+ "liquidity_pool_withdraw": {
+ "method": "Retirada do pool de liquidez",
+ "title": "Solicitação de retirada do pool de liquidez",
+ "result": "Resultado de retirada do pool de liquidez",
+ "headers": {
+ "request": "Retirar os seguintes ativos do pool de liquidez?",
+ "result": "Os seguintes ativos foram retirados do pool de liquidez:"
+ },
+ "rows": {
+ "account": "Conta: {account} ({accountOP})",
+ "pool": "Piscina: {pool}",
+ "share_asset": "Compartilhar ativo: {share_asset} ({share_assetOP})",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Retirar fundos de um pool de liquidez"
+ },
+ "liquidity_pool_exchange": {
+ "method": "Troca de pool de liquidez",
+ "title": "Solicitação de troca de pool de liquidez",
+ "result": "Resultado da troca do pool de liquidez",
+ "headers": {
+ "request": "Aprova a seguinte troca de pool de liquidez?",
+ "result": "A seguinte troca de pool de liquidez foi aprovada:"
+ },
+ "rows": {
+ "account": "Conta: {account} ({accountOP})",
+ "pool": "Piscina: {pool}",
+ "amount_to_sell": "Valor a ser vendido: {amount_to_sell}",
+ "min_to_receive": "Min para receber: {min_to_receive}",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Troque com um pool de liquidez."
+ },
+ "samet_fund_create": {
+ "method": "Criação de fundo SameT",
+ "title": "Solicitação de criação de fundo SameT",
+ "result": "Resultado da criação do fundo SameT",
+ "headers": {
+ "request": "Aprova a seguinte criação de fundo Samet?",
+ "result": "O seguinte fundo Samet foi criado:"
+ },
+ "rows": {
+ "owner_account": "Conta do proprietário: {owner_account} ({owner_accountOP})",
+ "asset_type": "Tipo de recurso: {asset_type}",
+ "balance": "Saldo: {balance}",
+ "fee_rate": "Taxa de taxa: {fee_rate}",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Crie um novo fundo SameT. "
+ },
+ "samet_fund_delete": {
+ "method": "Exclusão de fundo SameT",
+ "title": "Solicitação de exclusão de fundos SameT",
+ "result": "Resultado de exclusão de fundo SameT",
+ "headers": {
+ "request": "Excluir o seguinte fundo Samet?",
+ "result": "O seguinte fundo Samet foi excluído:"
+ },
+ "rows": {
+ "owner_account": "Conta do proprietário: {owner_account} ({owner_accountOP})",
+ "fund_id": "ID do fundo: {fund_id}",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Exclua um objeto de fundo SameT."
+ },
+ "samet_fund_update": {
+ "method": "Atualização do fundo SameT",
+ "title": "Solicitação de atualização de fundos SameT",
+ "result": "Resultado da atualização do fundo SameT",
+ "headers": {
+ "request": "Atualizar o seguinte fundo Samet?",
+ "result": "O seguinte fundo Samet foi atualizado:"
+ },
+ "rows": {
+ "owner_account": "Conta do proprietário: {owner_account} ({owner_accountOP})",
+ "fund_id": "ID do fundo: {fund_id}",
+ "delta_amount": "Valor delta: {delta_amount}",
+ "new_fee_rate": "Nova taxa: {new_fee_rate}",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Atualize um objeto de fundo SameT."
+ },
+ "samet_fund_borrow": {
+ "method": "Empréstimo de fundo SameT",
+ "title": "Solicitação de empréstimo de fundos SameT",
+ "result": "Resultado do empréstimo do fundo SameT",
+ "headers": {
+ "request": "Pedir emprestado do seguinte fundo Samet?",
+ "result": "Emprestado com sucesso do seguinte fundo Samet:"
+ },
+ "rows": {
+ "borrower": "Mutuário: {borrower} ({borrowerOP})",
+ "fund_id": "ID do fundo: {fund_id}",
+ "borrow_amount": "Valor do empréstimo: {borrow_amount}",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Peça emprestado de um fundo SameT."
+ },
+ "samt_fund_repay": {
+ "method": "Reembolso do fundo SameT",
+ "title": "Solicitação de reembolso de fundos SameT",
+ "result": "Resultado de reembolso do fundo SameT",
+ "headers": {
+ "request": "Reembolsar o seguinte fundo Samet",
+ "result": "Reembolsado com sucesso o seguinte fundo Samet"
+ },
+ "rows": {
+ "account": "Conta: {account} ({accountOP})",
+ "fund_id": "ID do fundo: {fund_id}",
+ "repay_amount": "Valor do reembolso: {repay_amount}",
+ "fund_fee": "Taxa do fundo: {fund_fee}",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Reembolsar dívidas com um fundo SameT."
+ },
+ "credit_offer_create": {
+ "method": "Criação de oferta de crédito",
+ "title": "Oferta de crédito criar solicitação",
+ "result": "Oferta de crédito cria resultado",
+ "headers": {
+ "request": "Aprova a criação da seguinte oferta de crédito?",
+ "result": "Foi criada a seguinte oferta de crédito:"
+ },
+ "rows": {
+ "owner_account": "Conta do proprietário: {owner_account} ({owner_accountOP})",
+ "asset_type": "Tipo de recurso: {asset_type}",
+ "balance": "Saldo: {balance}",
+ "fee_rate": "Taxa de taxa: {fee_rate}",
+ "max_duration_seconds": "Duração máxima em segundos: {max_duration_seconds}",
+ "min_deal_amount": "Valor mínimo do negócio: {min_deal_amount}",
+ "enabled": "Ativado: {enabled}",
+ "auto_disable_time": "Tempo de desativação automática: {auto_disable_time}",
+ "acceptable_collateral": "Garantia aceitável: {acceptable_collateral}",
+ "acceptable_borrowers": "Mutuários aceitáveis: {acceptable_borrowers}",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Crie uma nova oferta de crédito. "
+ },
+ "credit_offer_delete": {
+ "method": "Exclusão de oferta de crédito",
+ "title": "Solicitação de exclusão de oferta de crédito",
+ "result": "Resultado de exclusão da oferta de crédito",
+ "headers": {
+ "request": "Excluir a seguinte oferta de crédito?",
+ "result": "A seguinte oferta de crédito foi excluída:"
+ },
+ "rows": {
+ "owner_account": "Conta do proprietário: {owner_account} ({owner_accountOP})",
+ "offer_id": "ID da oferta: {offer_id}",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Exclua uma oferta de crédito."
+ },
+ "credit_offer_update": {
+ "method": "Atualização da oferta de crédito",
+ "title": "Solicitação de atualização de oferta de crédito",
+ "result": "Resultado da atualização da oferta de crédito",
+ "headers": {
+ "request": "Atualizar a seguinte oferta de crédito?",
+ "result": "A seguinte oferta de crédito foi atualizada:"
+ },
+ "rows": {
+ "owner_account": "Conta do proprietário: {owner_account} ({owner_accountOP})",
+ "offer_id": "ID da oferta: {offer_id}",
+ "delta_amount": "Valor delta: {delta_amount}",
+ "fee_rate": "Taxa de taxa: {fee_rate}",
+ "max_duration_seconds": "Duração máxima em segundos: {max_duration_seconds}",
+ "min_deal_amount": "Valor mínimo do negócio: {min_deal_amount}",
+ "enabled": "Ativado: {enabled}",
+ "auto_disable_time": "Tempo de desativação automática: {auto_disable_time}",
+ "acceptable_collateral": "Garantia aceitável: {acceptable_collateral}",
+ "acceptable_borrowers": "Mutuários aceitáveis: {acceptable_borrowers}",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Atualizar uma oferta de crédito"
+ },
+ "credit_offer_accept": {
+ "method": "Oferta de crédito aceita",
+ "title": "Oferta de crédito aceitar solicitação",
+ "result": "Resultado de aceitação da oferta de crédito",
+ "headers": {
+ "request": "Aprova a seguinte oferta de crédito?",
+ "result": "Foi aprovada a seguinte oferta de crédito:"
+ },
+ "rows": {
+ "borrower": "Mutuário: {borrower} ({borrowerOP})",
+ "offer_id": "ID da oferta: {offer_id}",
+ "borrow_amount": "Valor do empréstimo: {borrow_amount}",
+ "collateral": "Garantia: {collateral}",
+ "max_fee_rate": "Taxa máxima: {max_fee_rate}",
+ "min_duration_seconds": "Segundos de duração mínima: {min_duration_seconds}",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Aceite uma oferta de crédito e crie um acordo de crédito."
+ },
+ "credit_deal_repay": {
+ "method": "Reembolso de acordo de crédito",
+ "title": "Solicitação de reembolso de acordo de crédito",
+ "result": "Resultado de reembolso da transação de crédito",
+ "headers": {
+ "request": "Reembolsar o seguinte acordo de crédito?",
+ "result": "Você reembolsou o seguinte acordo de crédito"
+ },
+ "rows": {
+ "account": "Conta: {account} ({accountOP})",
+ "deal_id": "ID da transação: {deal_id}",
+ "repay_amount": "Valor do reembolso: {repay_amount}",
+ "credit_fee": "Taxa de crédito: {credit_fee}",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Reembolsar um acordo de crédito."
+ },
+ "liquidity_pool_update_operation": {
+ "method": "Atualização do pool de liquidez",
+ "title": "Solicitação de atualização do pool de liquidez",
+ "result": "Resultado da atualização do pool de liquidez",
+ "headers": {
+ "request": "Atualizar o seguinte pool de liquidez?",
+ "result": "O seguinte pool de liquidez foi atualizado:"
+ },
+ "rows": {
+ "owner_account": "Conta do proprietário: {owner_account} ({owner_accountOP})",
+ "pool_id": "ID do pool: {pool_id}",
+ "new_parameters": "Novos parâmetros: {new_parameters}",
+ "extensions": "Extensões: {extensions}",
+ "fee": "Taxa estimada: {fee}"
+ },
+ "tooltip": "Atualizar um pool de liquidez"
+ },
+ "credit_deal_update_operation": {
+ "method": "Atualização do acordo de crédito",
+ "title": "Solicitação de atualização de transação de crédito",
+ "result": "Resultado da atualização da transação de crédito",
+ "headers": {
+ "request": "Atualizar a seguinte oferta de crédito?",
+ "result": "A seguinte oferta de crédito foi atualizada:"
+ },
+ "rows": {
+ "fee": "Taxa estimada: {fee}",
+ "account": "Conta: {account} ({accountOP})",
+ "deal_id": "ID da transação: {deal_id}",
+ "auto_repay": "Reembolso automático: {auto_repay}"
+ },
+ "tooltip": "Atualizar uma oferta de crédito"
+ },
+ "limit_order_update_operation": {
+ "method": "Atualização de pedido limite",
+ "title": "Solicitação de atualização de pedido limitado",
+ "result": "Resultado da atualização do pedido limite",
+ "headers": {
+ "request": "Atualizar a seguinte ordem de limite?",
+ "result": "A seguinte ordem de limite foi atualizada:"
+ },
+ "rows": {
+ "fee": "Taxa estimada: {fee}",
+ "seller": "Vendedor: {seller} ({sellerOP})",
+ "order": "Pedido: {order}",
+ "new_price": "Novo preço: {new_price}",
+ "delta_amount_to_sell": "Valor delta para vender: {delta_amount_to_sell}",
+ "new_expiration": "Nova expiração: {new_expiration}",
+ "on_fill": "No preenchimento: {on_fill}",
+ "extensions": "Extensões: {extensions}"
+ },
+ "tooltip": "Atualizar um pedido com limite"
+ }
+ },
"EOS": {
"setalimits": {
"method": "Definir limites de conta",
diff --git a/src/translations/operations/th.json b/src/translations/operations/th.json
index e4d54096..824cb898 100644
--- a/src/translations/operations/th.json
+++ b/src/translations/operations/th.json
@@ -100,6 +100,1444 @@
"reject_btn": "ไม่สนใจ"
},
"injected": {
+ "BTS": {
+ "getAccount": {
+ "method": "รับบัญชี",
+ "title": "ขอรายละเอียดบัญชี",
+ "result": "ผลรายละเอียดบัญชี",
+ "headers": {
+ "request": "คุณต้องการแบ่งปันรายละเอียดบัญชีของคุณหรือไม่?",
+ "result": "รายละเอียดบัญชีของคุณถูกแชร์"
+ },
+ "tooltip": "ขอรายละเอียดบัญชีบล็อคเชนจากกระเป๋าเงินของคุณ"
+ },
+ "requestSignature": {
+ "method": "ขอลายเซ็น",
+ "title": "คำขอลงนาม",
+ "result": "ผลลัพธ์ลายเซ็น",
+ "headers": {
+ "request": "คุณต้องการแบ่งปันลายเซ็นของคุณหรือไม่?",
+ "result": "ลายเซ็นของคุณถูกแชร์:"
+ },
+ "tooltip": "ขอลายเซ็นบล็อคเชนจากกระเป๋าเงินของคุณ"
+ },
+ "injectedCall": {
+ "method": "ฉีดโทร",
+ "title": "คำขอโทรที่ฉีดเข้าไป",
+ "result": "ฉีดผลการโทร",
+ "headers": {
+ "request": "อนุมัติการโทรที่แทรกต่อไปนี้หรือไม่",
+ "result": "การโทรที่แทรกต่อไปนี้ได้รับการอนุมัติ:"
+ },
+ "tooltip": "ขอให้กระเป๋าเงินของคุณจัดการกับการดำเนินการบล็อคเชนที่ถูกแทรกเข้าไป"
+ },
+ "voteFor": {
+ "method": "โหวตให้",
+ "title": "คำขอลงคะแนนเสียง",
+ "result": "ผลการโหวต",
+ "headers": {
+ "request": "อนุมัติคำขอลงคะแนนเสียงต่อไปนี้หรือไม่",
+ "result": "คำขอลงคะแนนเสียงต่อไปนี้ได้รับการอนุมัติแล้ว"
+ },
+ "tooltip": "ดำเนินการลงคะแนนบล็อคเชน"
+ },
+ "signMessage": {
+ "method": "เข้าสู่ระบบข้อความ",
+ "title": "ลงชื่อขอข้อความ",
+ "result": "เซ็นผลข้อความ",
+ "headers": {
+ "request": "อนุมัติการลงนามในข้อความต่อไปนี้หรือไม่",
+ "result": "ข้อความต่อไปนี้ถูกลงนาม:"
+ },
+ "tooltip": "ลงนามข้อความตามบล็อคเชน"
+ },
+ "signNFT": {
+ "method": "ลงชื่อNFT",
+ "title": "ลงนามคำขอ NFT",
+ "result": "ลงนามผล NFT",
+ "headers": {
+ "request": "อนุมัติการลงนาม NFT ต่อไปนี้หรือไม่",
+ "result": "มีการลงนาม NFT ต่อไปนี้:"
+ },
+ "tooltip": "ลงนามในเนื้อหา NFT"
+ },
+ "verifyMessage": {
+ "method": "ตรวจสอบข้อความ",
+ "title": "ตรวจสอบคำขอข้อความ",
+ "result": "ตรวจสอบผลลัพธ์ข้อความ",
+ "headers": {
+ "request": "คุณต้องการตรวจสอบข้อความต่อไปนี้หรือไม่",
+ "result": "ข้อความต่อไปนี้ได้รับการตรวจสอบแล้ว:"
+ },
+ "tooltip": "ตรวจสอบข้อความที่ลงนามตามบล็อคเชน"
+ },
+ "transfer": {
+ "method": "โอนย้าย",
+ "title": "คำขอโอน",
+ "result": "ผลการโอน",
+ "headers": {
+ "request": "คุณต้องการอนุมัติคำขอโอนต่อไปนี้หรือไม่",
+ "result": "คำขอโอนต่อไปนี้ได้รับการอนุมัติ:"
+ },
+ "rows": {
+ "from": "จาก: {from} ({opFrom})",
+ "to": "ถึง: {to} ({opTo})",
+ "amount": "จำนวนเงิน: {amount}"
+ },
+ "tooltip": "ส่งสินทรัพย์จากบัญชีหนึ่งไปยังอีกบัญชีหนึ่ง"
+ },
+ "limit_order_create": {
+ "method": "สร้างคำสั่งจำกัด",
+ "title": "จำกัดคำขอสร้างคำสั่งซื้อ",
+ "result": "คำสั่งจำกัดการสร้างผลลัพธ์",
+ "headers": {
+ "request": "อนุมัติคำขอสร้างคำสั่งจำกัดต่อไปนี้หรือไม่",
+ "result": "มีการสร้างคำสั่งจำกัดต่อไปนี้:"
+ },
+ "rows": {
+ "trade": "ซื้อขาย",
+ "tradeFK": "การค้า (เติมหรือฆ่า)",
+ "seller": "ผู้ขาย: {seller} ({opSeller})",
+ "selling": "ขาย: {amount}",
+ "buying": "กำลังซื้อ: {amount}",
+ "price": "ราคา: {price} {sellSymbol}/{buySymbol}"
+ },
+ "tooltip": "การเสนอขายสินทรัพย์ตามอัตราแลกเปลี่ยนที่ระบุภายในระยะเวลาหนึ่ง"
+ },
+ "limit_order_cancel": {
+ "method": "ยกเลิกคำสั่งจำกัด",
+ "title": "จำกัดคำขอยกเลิกคำสั่งซื้อ",
+ "result": "ผลการยกเลิกคำสั่งจำกัด",
+ "headers": {
+ "request": "ยกเลิกคำสั่งจำกัดต่อไปนี้หรือไม่",
+ "result": "คำสั่งจำกัดต่อไปนี้ถูกยกเลิก:"
+ },
+ "rows": {
+ "id": "รหัสคำสั่งซื้อ: {id}",
+ "fees": "ค่าธรรมเนียมโดยประมาณ: {fees}",
+ "account": "บัญชีการชำระค่าธรรมเนียม: {account}"
+ },
+ "tooltip": "การยกเลิกการดำเนินการคำสั่งจำกัด"
+ },
+ "call_order_update": {
+ "method": "อัพเดทออเดอร์โทร",
+ "title": "โทรขออัพเดตคำสั่งซื้อ",
+ "result": "ผลการอัพเดตคำสั่งโทร",
+ "headers": {
+ "request": "อัพเดตลำดับการโทรของคุณเป็นดังต่อไปนี้?",
+ "result": "อัปเดตลำดับการโทรต่อไปนี้:"
+ },
+ "rows": {
+ "funding_account": "บัญชีเงินทุน: {funding_account}",
+ "delta_collateral": "หลักประกันเดลต้า: {delta_collateral} ({id})",
+ "delta_debt": "หนี้เดลต้า: {delta_debt} ({id})",
+ "fees": "ค่าธรรมเนียมโดยประมาณ: {fees}"
+ },
+ "tooltip": "การอัพเดตคำสั่งโทรที่มีอยู่"
+ },
+ "account_create": {
+ "method": "สร้างบัญชี",
+ "title": "คำขอสร้างบัญชี",
+ "result": "ผลลัพธ์การสร้างบัญชี",
+ "headers": {
+ "request": "คุณต้องการสร้างบัญชีต่อไปนี้หรือไม่?",
+ "result": "บัญชีต่อไปนี้ถูกสร้างขึ้น:"
+ },
+ "rows": {
+ "registrar": "นายทะเบียน: {registrar} ({opRegistrar})",
+ "referrer": "ผู้อ้างอิง: {referrer} ({opReferrer})",
+ "referrer_percent": "เปอร์เซ็นต์ผู้อ้างอิง: {referrer_percent}",
+ "name": "ชื่อ: {name}",
+ "ownerHeader": "เจ้าของ:",
+ "activeHeader": "คล่องแคล่ว:",
+ "weight_threshold": "เกณฑ์น้ำหนัก: {weight_threshold}",
+ "account_auths": "การตรวจสอบบัญชี: {account_auths}",
+ "key_auths": "การรับรองความถูกต้องที่สำคัญ: {key_auths}",
+ "address_auths": "การตรวจสอบสิทธิ์ที่อยู่: {address_auths}",
+ "optionsHeader": "ตัวเลือก:",
+ "memo_key": "ปุ่มบันทึก: {memo_key}",
+ "voting_account": "บัญชีการลงคะแนนเสียง: {voting_account} ({opVotingAccount})",
+ "num_witness": "จำนวนพยาน: {num_witness}",
+ "num_committee": "จำนวนสมาชิกคณะกรรมการ: {num_committee}",
+ "votes": "โหวต: {votes}",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fees": "ค่าธรรมเนียมโดยประมาณ: {fees}"
+ },
+ "tooltip": "การสร้างบัญชีใหม่"
+ },
+ "account_update": {
+ "method": "การอัปเดตบัญชี",
+ "title": "คำขออัปเดตบัญชี",
+ "result": "ผลการอัพเดตบัญชี",
+ "headers": {
+ "request": "คุณต้องการอัปเดตบัญชีต่อไปนี้หรือไม่?",
+ "result": "บัญชีต่อไปนี้ได้รับการอัปเดต:"
+ },
+ "rows": {
+ "warning": "คำเตือน: การดำเนินการนี้ไม่สามารถย้อนกลับได้!",
+ "account": "บัญชี: {account} ({opAccount})",
+ "owner": "เจ้าของ: {owner}",
+ "active": "ใช้งานอยู่: {active}",
+ "new_options": "ตัวเลือกใหม่: {new_options}",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fees": "ค่าธรรมเนียมโดยประมาณ: {fees}"
+ },
+ "tooltip": "การดำเนินการนี้ใช้เพื่ออัปเดตบัญชีที่มีอยู่ "
+ },
+ "account_whitelist": {
+ "method": "บัญชีขาว",
+ "title": "คำขอบัญชีขาว",
+ "result": "ผลลัพธ์บัญชีขาว",
+ "headers": {
+ "request": "อัปเดตรายการบัญชีขาวของคุณเป็นดังต่อไปนี้หรือไม่",
+ "result": "รายการบัญชีขาวของคุณได้รับการอัปเดตเป็นดังนี้:"
+ },
+ "rows": {
+ "authorizing_account": "การอนุญาตบัญชี: {authorizingAccount} (authorizingAccountOP)",
+ "account_to_list": "บัญชีที่จะแสดงรายการ: {accountToList} (accountToListOP)",
+ "new_listing": "รายการใหม่: {newListing}",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียม: {fee}"
+ },
+ "tooltip": "การดำเนินการนี้ใช้เพื่อขึ้นบัญชีไวท์ลิสต์และบัญชีดำ โดยหลักแล้วสำหรับการทำธุรกรรมในสินทรัพย์ที่ไวท์ลิสต์"
+ },
+ "account_upgrade": {
+ "method": "อัปเกรดบัญชี",
+ "title": "คำขออัปเกรดบัญชี",
+ "result": "ผลการอัปเกรดบัญชี",
+ "headers": {
+ "request": "อัพเกรดบัญชีของคุณเป็นสมาชิกตลอดชีพ?",
+ "result": "บัญชีของคุณได้รับการอัปเกรดเป็นสมาชิกตลอดชีพ!"
+ },
+ "rows": {
+ "account_to_upgrade": "บัญชีที่จะอัปเกรด: {accountToUpgrade} (accountToUpgradeOP)",
+ "upgrade_to_lifetime_member": "อัปเกรดเป็นสมาชิกตลอดชีพ: {upgradeToLifetimeMember}",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "การดำเนินการนี้ใช้เพื่ออัพเกรดบัญชีเป็นสมาชิกหรือต่ออายุการสมัคร"
+ },
+ "account_transfer": {
+ "method": "การโอนบัญชี",
+ "title": "ขอโอนบัญชี",
+ "result": "ผลการโอนบัญชี",
+ "headers": {
+ "request": "โอนบัญชีไปยังเจ้าของใหม่หรือไม่?",
+ "result": "บัญชีต่อไปนี้ถูกโอนไปยังเจ้าของใหม่:"
+ },
+ "rows": {
+ "warning": "คำเตือน: การกระทำนี้ไม่สามารถย้อนกลับได้!",
+ "account_id": "รหัสบัญชี: {originalOwner} ({account_id})",
+ "new_owner": "เจ้าของใหม่: {newOwner} ({newOwnerOP})",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "โอนบัญชีไปยังบัญชีอื่นในขณะที่ล้างรายการสีขาว"
+ },
+ "asset_create": {
+ "method": "สร้างสินทรัพย์",
+ "title": "คำขอสร้างเนื้อหา",
+ "result": "ผลลัพธ์การสร้างสินทรัพย์",
+ "headers": {
+ "request": "สร้างเนื้อหาต่อไปนี้หรือไม่?",
+ "result": "เนื้อหาต่อไปนี้ถูกสร้างขึ้น:"
+ },
+ "rows": {
+ "symbol": "สัญลักษณ์: {symbol}",
+ "main": "หลัก: {main}",
+ "market": "ตลาด: {market}",
+ "short_name": "ชื่อสั้น: {short_name}",
+ "precision": "ความแม่นยำ: {precision}",
+ "max_supply": "อุปทานสูงสุด: {max_supply}",
+ "market_fee_percent": "เปอร์เซ็นต์ค่าธรรมเนียมการตลาด: {market_fee_percent}",
+ "max_market_fee": "ค่าธรรมเนียมตลาดสูงสุด: {max_market_fee}",
+ "cer": "อัตราแลกเปลี่ยนหลัก:",
+ "cer_base_amount": "จำนวนฐาน: {cer_base_amount}",
+ "cer_base_id": "รหัสสินทรัพย์ฐาน: {cer_base_id}",
+ "cer_quote_amount": "จำนวนใบเสนอราคา: {cer_quote_amount}",
+ "cer_quote_id": "รหัสสินทรัพย์ใบเสนอราคา: {cer_quote_id}",
+ "whitelist_authorities": "หน่วยงานที่อนุญาตพิเศษ: {whitelist_authorities}",
+ "blacklist_authorities": "ผู้มีอำนาจในบัญชีดำ: {blacklist_authorities}",
+ "whitelist_markets": "ตลาดไวท์ลิสต์: {whitelist_markets}",
+ "blacklist_markets": "ตลาดบัญชีดำ: {blacklist_markets}",
+ "is_prediction_market": "เป็นตลาดการคาดการณ์: {is_prediction_market}",
+ "permissions": "สิทธิ์:",
+ "perm_charge_market_fee": "เรียกเก็บค่าธรรมเนียมตลาด: {charge_market_fee}",
+ "perm_white_list": "รายการที่อนุญาต: {white_list}",
+ "perm_override_authority": "แทนที่อำนาจ: {override_authority}",
+ "perm_transfer_restricted": "จำกัดการโอน: {transfer_restricted}",
+ "perm_disable_confidential": "ปิดการใช้งานข้อมูลลับ: {disable_confidential}",
+ "flags": "ธง:",
+ "flag_charge_market_fee": "เรียกเก็บค่าธรรมเนียมตลาด: {charge_market_fee}",
+ "flag_white_list": "รายการที่อนุญาต: {white_list}",
+ "flag_override_authority": "แทนที่อำนาจ: {override_authority}",
+ "flag_transfer_restricted": "จำกัดการโอน: {transfer_restricted}",
+ "flag_disable_confidential": "ปิดการใช้งานข้อมูลลับ: {disable_confidential}",
+ "bitasset": "ข้อมูลบิตเซ็ต:",
+ "feed_lifetime_sec": "อายุการใช้งานฟีด (วินาที): {feed_lifetime_sec}",
+ "force_settlement_delay_sec": "บังคับใช้ความล่าช้าในการชำระหนี้ (วินาที): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "เปอร์เซ็นต์การชดเชยการบังคับชำระหนี้: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "ปริมาณการชำระหนี้สูงสุด: {maximum_force_settlement_volume}",
+ "minimum_feeds": "ฟีดขั้นต่ำ: {minimum_feeds}",
+ "short_backing_asset": "เนื้อหาสำรองแบบสั้น: {short_backing_asset}",
+ "nft": "เนื้อหา NFT:",
+ "acknowledgements": "กิตติกรรมประกาศ: {acknowledgements}",
+ "artist": "ศิลปิน: {artist}",
+ "attestation": "การรับรอง: {attestation}",
+ "holder_license": "ใบอนุญาตของผู้ถือ: {holder_license}",
+ "license": "ใบอนุญาต: {license}",
+ "narrative": "เรื่องเล่า: {narrative}",
+ "title": "ชื่อเรื่อง: {title}",
+ "tags": "แท็ก: {tags}",
+ "type": "ประเภท: {type}"
+ },
+ "tooltip": "สร้างสินทรัพย์บนบล็อกเชน Bitshares"
+ },
+ "asset_update": {
+ "method": "อัปเดตเนื้อหา",
+ "title": "คำขออัปเดตเนื้อหา",
+ "result": "ผลการอัพเดตเนื้อหา",
+ "headers": {
+ "request": "อัปเดตเนื้อหาต่อไปนี้หรือไม่",
+ "result": "เนื้อหาได้รับการอัปเดตโดยมีรายละเอียดดังต่อไปนี้:"
+ },
+ "rows": {
+ "symbol": "สัญลักษณ์: {symbol}",
+ "main": "หลัก: {main}",
+ "market": "ตลาด: {market}",
+ "short_name": "ชื่อสั้น: {short_name}",
+ "precision": "ความแม่นยำ: {precision}",
+ "max_supply": "อุปทานสูงสุด: {max_supply}",
+ "market_fee_percent": "เปอร์เซ็นต์ค่าธรรมเนียมการตลาด: {market_fee_percent}",
+ "max_market_fee": "ค่าธรรมเนียมตลาดสูงสุด: {max_market_fee}",
+ "cer": "อัตราแลกเปลี่ยนหลัก:",
+ "cer_base_amount": "จำนวนฐาน: {cer_base_amount}",
+ "cer_base_id": "รหัสสินทรัพย์ฐาน: {cer_base_id}",
+ "cer_quote_amount": "จำนวนใบเสนอราคา: {cer_quote_amount}",
+ "cer_quote_id": "รหัสสินทรัพย์ใบเสนอราคา: {cer_quote_id}",
+ "whitelist_authorities": "หน่วยงานที่อนุญาตพิเศษ: {whitelist_authorities}",
+ "blacklist_authorities": "ผู้มีอำนาจในบัญชีดำ: {blacklist_authorities}",
+ "whitelist_markets": "ตลาดไวท์ลิสต์: {whitelist_markets}",
+ "blacklist_markets": "ตลาดบัญชีดำ: {blacklist_markets}",
+ "is_prediction_market": "เป็นตลาดการคาดการณ์: {is_prediction_market}",
+ "permissions": "สิทธิ์:",
+ "perm_charge_market_fee": "เรียกเก็บค่าธรรมเนียมตลาด: {charge_market_fee}",
+ "perm_white_list": "รายการที่อนุญาต: {white_list}",
+ "perm_override_authority": "แทนที่อำนาจ: {override_authority}",
+ "perm_transfer_restricted": "จำกัดการโอน: {transfer_restricted}",
+ "perm_disable_confidential": "ปิดการใช้งานข้อมูลลับ: {disable_confidential}",
+ "flags": "ธง:",
+ "flag_charge_market_fee": "เรียกเก็บค่าธรรมเนียมตลาด: {charge_market_fee}",
+ "flag_white_list": "รายการที่อนุญาต: {white_list}",
+ "flag_override_authority": "แทนที่อำนาจ: {override_authority}",
+ "flag_transfer_restricted": "จำกัดการโอน: {transfer_restricted}",
+ "flag_disable_confidential": "ปิดการใช้งานข้อมูลลับ: {disable_confidential}",
+ "bitasset": "ข้อมูลบิตเซ็ต:",
+ "feed_lifetime_sec": "อายุการใช้งานฟีด (วินาที): {feed_lifetime_sec}",
+ "force_settlement_delay_sec": "บังคับใช้ความล่าช้าในการชำระหนี้ (วินาที): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "เปอร์เซ็นต์การชดเชยการบังคับชำระหนี้: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "ปริมาณการชำระหนี้สูงสุด: {maximum_force_settlement_volume}",
+ "minimum_feeds": "ฟีดขั้นต่ำ: {minimum_feeds}",
+ "short_backing_asset": "เนื้อหาสำรองแบบสั้น: {short_backing_asset}",
+ "nft": "เนื้อหา NFT:",
+ "acknowledgements": "กิตติกรรมประกาศ: {acknowledgements}",
+ "artist": "ศิลปิน: {artist}",
+ "attestation": "การรับรอง: {attestation}",
+ "holder_license": "ใบอนุญาตของผู้ถือ: {holder_license}",
+ "license": "ใบอนุญาต: {license}",
+ "narrative": "เรื่องเล่า: {narrative}",
+ "title": "ชื่อเรื่อง: {title}",
+ "tags": "แท็ก: {tags}",
+ "type": "ประเภท: {type}"
+ },
+ "tooltip": "อัปเดตการตั้งค่าของเนื้อหา"
+ },
+ "asset_update_bitasset": {
+ "method": "บิตแอสเซทอัพเดตสินทรัพย์",
+ "title": "คำขอบิตแอสเซทการอัปเดตเนื้อหา",
+ "result": "ผลการอัพเดตสินทรัพย์บิตแอสเซท",
+ "headers": {
+ "request": "อนุมัติการอัปเดต bitasset หรือไม่",
+ "result": "การอัปเดต bitasset ต่อไปนี้ได้รับการอนุมัติ:"
+ },
+ "rows": {
+ "issuer": "ผู้ออก: {issuer}",
+ "asset_to_update": "เนื้อหาที่จะอัปเดต: {asset_to_update}",
+ "new_options": "ตัวเลือกใหม่:",
+ "feed_lifetime_sec": "อายุการใช้งานฟีด (วินาที): {feed_lifetime_sec}",
+ "minimum_feeds": "ฟีดขั้นต่ำ: {minimum_feeds}",
+ "force_settlement_delay_sec": "บังคับใช้ความล่าช้าในการชำระหนี้ (วินาที): {force_settlement_delay_sec}",
+ "force_settlement_offset_percent": "เปอร์เซ็นต์การชดเชยการบังคับชำระหนี้: {force_settlement_offset_percent}",
+ "maximum_force_settlement_volume": "ปริมาณการชำระหนี้สูงสุด: {maximum_force_settlement_volume}",
+ "short_backing_asset": "สินทรัพย์สำรองแบบสั้น: {symbol} ({short_backing_asset})",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "noExtensions": "ไม่มีส่วนขยาย",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee} ({id})"
+ },
+ "tooltip": "อัปเดตการตั้งค่าบิตแอสเซทที่สร้างขึ้น"
+ },
+ "asset_update_feed_producers": {
+ "method": "ผู้ผลิตฟีดอัพเดตเนื้อหา",
+ "title": "คำขอของผู้ผลิตฟีดการอัปเดตเนื้อหา",
+ "result": "ผลลัพธ์ของผู้ผลิตฟีดการอัปเดตเนื้อหา",
+ "headers": {
+ "request": "อนุมัติการเปลี่ยนแปลงผู้ผลิตฟีด bitasset หรือไม่",
+ "result": "การเปลี่ยนแปลงต่อไปนี้กับผู้ผลิตฟีด bitasset ได้รับการอนุมัติ:"
+ },
+ "rows": {
+ "issuer": "ผู้ออก: {issuer} ({issuerOP})",
+ "asset_to_update": "เนื้อหาที่จะอัปเดต: {symbol} ({asset_to_update})",
+ "new_feed_producers": "ผู้ผลิตฟีดใหม่: {new_feed_producers}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "อัปเดตรายชื่อผู้ผลิตฟีดที่ได้รับอนุมัติสำหรับบิตแอสเซ็ตที่สร้างขึ้น"
+ },
+ "asset_issue": {
+ "method": "ปัญหาเกี่ยวกับสินทรัพย์",
+ "title": "คำขอออกสินทรัพย์",
+ "result": "ผลการออกสินทรัพย์",
+ "headers": {
+ "request": "อนุมัติการออกสินทรัพย์ดังต่อไปนี้?",
+ "result": "อนุมัติการออกสินทรัพย์ดังต่อไปนี้:"
+ },
+ "rows": {
+ "prompt": "ออก {amount} {symbol} ({assetID}) ถึง {to} ({toID})?",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee} ({id})"
+ },
+ "tooltip": "ออกสินทรัพย์ที่คุณสร้างขึ้นให้กับบุคคล"
+ },
+ "asset_reserve": {
+ "method": "สำรองสินทรัพย์",
+ "title": "คำขอจองสินทรัพย์",
+ "result": "ผลการสำรองสินทรัพย์",
+ "headers": {
+ "request": "อนุมัติการจองทรัพย์สินดังต่อไปนี้?",
+ "result": "การสำรองสินทรัพย์ต่อไปนี้ได้รับการอนุมัติแล้ว:"
+ },
+ "rows": {
+ "payer": "ผู้ชำระเงิน: {payer} ({payerOP})",
+ "amount_to_reserve": "จำนวนเงินที่จะจอง: {amount_to_reserve} ({amount_to_reserveOP})",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "สำรองทรัพย์สินที่คุณสร้างขึ้น"
+ },
+ "asset_fund_fee_pool": {
+ "method": "ค่าธรรมเนียมกองทุนรวม",
+ "title": "คำขอรวมค่าธรรมเนียมกองทุนรวม",
+ "result": "ผลรวมค่าธรรมเนียมกองทุนรวม",
+ "headers": {
+ "request": "กองทุนรวมค่าธรรมเนียมของสินทรัพย์ต่อไปนี้หรือไม่?",
+ "result": "กองทุนรวมค่าธรรมเนียมของสินทรัพย์ต่อไปนี้ได้รับการอนุมัติแล้ว:"
+ },
+ "rows": {
+ "from_account": "จากบัญชี: {from_account} ({from_accountOP})",
+ "asset": "สินทรัพย์: {asset} ({assetOP})",
+ "amount": "จำนวนเงิน: {amount}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "กองทุนรวมค่าธรรมเนียมสำหรับสินทรัพย์ที่คุณสร้างขึ้น"
+ },
+ "asset_settle": {
+ "method": "ชำระสินทรัพย์",
+ "title": "คำขอชำระหนี้สินทรัพย์",
+ "result": "ผลการชำระสินทรัพย์",
+ "headers": {
+ "request": "ชำระสินทรัพย์ต่อไปนี้เป็นหลักทรัพย์ค้ำประกันหรือไม่",
+ "result": "สินทรัพย์ต่อไปนี้ได้รับการชำระสำหรับหลักประกันสำรองแล้ว:"
+ },
+ "rows": {
+ "account": "บัญชี: {account} ({accountOP})",
+ "amount": "จำนวนเงิน: {amount} ({assetID})",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "ชำระสินทรัพย์ในพอร์ตโฟลิโอของคุณ"
+ },
+ "asset_global_settle": {
+ "method": "การชำระหนี้ทั่วโลกของสินทรัพย์",
+ "title": "คำขอชำระเงินทั่วโลกของสินทรัพย์",
+ "result": "ผลการชำระบัญชีทั่วโลกของสินทรัพย์",
+ "headers": {
+ "request": "ดำเนินการชำระบัญชีทั่วโลกกับสินทรัพย์ต่อไปนี้หรือไม่",
+ "result": "สินทรัพย์ต่อไปนี้ได้รับการชำระทั่วโลก:"
+ },
+ "rows": {
+ "issuer": "ผู้ออก: {issuer} ({issuerOP})",
+ "asset_to_settle": "สินทรัพย์ที่จะชำระ: {asset_to_settle} ({asset_to_settleOP})",
+ "settle_price": "กำหนดราคา: {settle_price}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "ชำระหนึ่งในบิตแอสเซทที่คุณสร้างขึ้นทั่วโลก"
+ },
+ "asset_publish_feed": {
+ "method": "ฟีดการเผยแพร่เนื้อหา",
+ "title": "คำขอฟีดเผยแพร่เนื้อหา",
+ "result": "ผลลัพธ์ฟีดการเผยแพร่เนื้อหา",
+ "headers": {
+ "request": "เผยแพร่ฟีดราคาสำหรับเนื้อหาต่อไปนี้หรือไม่",
+ "result": "มีการเผยแพร่การอัปเดตฟีดราคาสินทรัพย์ต่อไปนี้:"
+ },
+ "rows": {
+ "publisher": "ผู้จัดพิมพ์: {publisher} ({publisherOP})",
+ "asset_id": "รหัสสินทรัพย์: {symbol} ({asset_idOP})",
+ "feed": "ให้อาหาร:",
+ "core_exchange_rate": "อัตราแลกเปลี่ยนหลัก: {core_exchange_rate}",
+ "settlement_price": "ราคาชำระบัญชี: {settlement_price}",
+ "maintenance_collateral_ratio": "อัตราส่วนหลักประกันการบำรุงรักษา: {maintenance_collateral_ratio}",
+ "maximum_short_squeeze_ratio": "อัตราส่วนการบีบสั้นสูงสุด: {maximum_short_squeeze_ratio}",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "เผยแพร่ฟีดราคาสำหรับบิตแอสเซ็ต"
+ },
+ "witness_create": {
+ "method": "พยานสร้าง",
+ "title": "พยานสร้างคำขอ",
+ "result": "พยานสร้างผล",
+ "headers": {
+ "request": "สร้างพยานโดยมีรายละเอียดดังนี้?",
+ "result": "มีการสร้างพยานดังต่อไปนี้:"
+ },
+ "rows": {
+ "witness_account": "บัญชีพยาน: {witness_account} ({witness_accountOP})",
+ "url": "URL: {url}",
+ "block_signing_key": "คีย์การลงนามแบบบล็อก: {block_signing_key}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "สร้างบัญชีพยาน"
+ },
+ "witness_update": {
+ "method": "อัพเดทพยาน.",
+ "title": "คำขออัปเดตพยาน",
+ "result": "ผลการอัพเดตพยาน",
+ "headers": {
+ "request": "อัพเดตรายละเอียดพยานดังต่อไปนี้?",
+ "result": "รายละเอียดพยานต่อไปนี้ได้รับการอัปเดต:"
+ },
+ "rows": {
+ "witness": "พยาน: {witness}",
+ "witness_account": "บัญชีพยาน: {witness_account} ({witness_accountOP})",
+ "new_url": "URL ใหม่: {new_url}",
+ "new_signing_key": "รหัสการลงนามใหม่: {new_signing_key}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "อัปเดตบัญชีพยานของคุณ"
+ },
+ "proposal_create": {
+ "method": "สร้างข้อเสนอ",
+ "title": "คำขอสร้างข้อเสนอ",
+ "result": "ผลลัพธ์การสร้างข้อเสนอ",
+ "headers": {
+ "request": "สร้างข้อเสนอต่อไปนี้?",
+ "result": "ข้อเสนอต่อไปนี้ถูกสร้างขึ้น:"
+ },
+ "rows": {
+ "expiration_time": "เวลาหมดอายุ: {expiration_time}",
+ "proposed_ops": "การดำเนินการที่เสนอ: {proposed_ops}",
+ "review_period_seconds": "ช่วงเวลาตรวจสอบ วินาที: {review_period_seconds}",
+ "fee_paying_account": "บัญชีการชำระค่าธรรมเนียม: {fee_paying_account} ({fee_paying_accountOP})",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "สร้างข้อเสนอการดำเนินงานบล็อคเชน"
+ },
+ "proposal_update": {
+ "method": "การปรับปรุงข้อเสนอ",
+ "title": "คำขออัปเดตข้อเสนอ",
+ "result": "ผลการอัพเดตข้อเสนอ",
+ "headers": {
+ "request": "อัปเดตข้อเสนอต่อไปนี้หรือไม่",
+ "result": "ข้อเสนอต่อไปนี้ได้รับการอัปเดต:"
+ },
+ "rows": {
+ "proposal": "ข้อเสนอ: {proposal}",
+ "active_approvals_to_add": "การอนุมัติที่ใช้งานอยู่เพื่อเพิ่ม: {active_approvals_to_add}",
+ "active_approvals_to_remove": "การอนุมัติที่ใช้งานอยู่เพื่อลบ: {active_approvals_to_remove}",
+ "owner_approvals_to_add": "การอนุมัติของเจ้าของที่จะเพิ่ม: {owner_approvals_to_add}",
+ "owner_approvals_to_remove": "การอนุมัติของเจ้าของที่จะลบ: {owner_approvals_to_remove}",
+ "key_approvals_to_add": "การอนุมัติที่สำคัญที่จะเพิ่ม: {key_approvals_to_add}",
+ "key_approvals_to_remove": "การอนุมัติที่สำคัญที่จะลบ: {key_approvals_to_remove}",
+ "fee_paying_account": "บัญชีการชำระค่าธรรมเนียม: {fee_paying_account} ({fee_paying_accountOP})",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "อัปเดตข้อเสนอการดำเนินงานบล็อคเชน"
+ },
+ "proposal_delete": {
+ "method": "ลบข้อเสนอ",
+ "title": "คำขอลบข้อเสนอ",
+ "result": "ผลการลบข้อเสนอ",
+ "headers": {
+ "request": "ลบข้อเสนอต่อไปนี้ใช่ไหม",
+ "result": "ข้อเสนอต่อไปนี้ถูกลบแล้ว:"
+ },
+ "rows": {
+ "using_owner_authority": "การใช้สิทธิ์ของเจ้าของ: {using_owner_authority}",
+ "proposal": "ข้อเสนอ: {proposal}",
+ "fee_paying_account": "บัญชีการชำระค่าธรรมเนียม: {fee_paying_account} ({fee_paying_accountOP})",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "ลบข้อเสนอการดำเนินงานบล็อคเชน"
+ },
+ "withdraw_permission_create": {
+ "method": "ถอนสิทธิ์การสร้าง",
+ "title": "ถอนคำขอสร้างสิทธิ์",
+ "result": "ถอนสิทธิ์สร้างผลลัพธ์",
+ "headers": {
+ "request": "การอนุมัติการหักบัญชีธนาคาร",
+ "result": "การอนุมัติการหักบัญชีเงินฝากอัตโนมัติต่อไปนี้ได้รับการอนุมัติ:"
+ },
+ "rows": {
+ "recipient": "ผู้รับ: {recipient} ({recipientOP})",
+ "withdraw_from": "บัญชีที่จะถอนออกจาก: {withdraw_from} ({withdraw_fromOP})",
+ "taking": "ใช้เวลา {amount} ทุกๆ {period_sec} วินาที เป็นเวลา {period_qty} ช่วง",
+ "start": "เริ่มต้น: {start}"
+ },
+ "tooltip": "สร้างการอนุญาตการถอน"
+ },
+ "withdraw_permission_update": {
+ "method": "ถอนการอัปเดตการอนุญาต",
+ "title": "ถอนคำขออัปเดตสิทธิ์",
+ "result": "ถอนผลการอัพเดตสิทธิ์",
+ "headers": {
+ "request": "อัปเดตการอนุญาตของพยานดังต่อไปนี้หรือไม่",
+ "result": "การอัปเดตการอนุญาตพยานต่อไปนี้ได้รับการอนุมัติ:"
+ },
+ "rows": {
+ "withrdaw_from_account": "ถอนออกจากบัญชี: {withrdaw_from_account} ({withrdaw_from_accountOP})",
+ "authorized_account": "บัญชีที่ได้รับอนุญาต: {authorized_account} ({authorized_accountOP})",
+ "permission_to_update": "การอนุญาตให้อัปเดต: {permission_to_update}",
+ "withdrawal_limited": "ขีดจำกัดการถอน: {withdrawal_limit}",
+ "withdrawal_unlimited": "ขีดจำกัดการถอน: {withdrawal_limit} ({withdrawal_limitOP})",
+ "withdrawal_period_sec": "ระยะเวลาการถอน (วินาที): {withdrawal_period_sec}",
+ "period_start_time": "เวลาเริ่มต้นช่วงเวลา: {period_start_time}",
+ "periods_until_expiration": "ระยะเวลาจนกว่าจะหมดอายุ: {periods_until_expiration}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "อัพเดทการอนุญาตถอน"
+ },
+ "withdraw_permission_claim": {
+ "method": "เพิกถอนการเรียกร้องสิทธิ์",
+ "title": "ถอนคำร้องขอรับอนุญาต",
+ "result": "ถอนผลการเรียกร้องสิทธิ์",
+ "headers": {
+ "request": "อ้างสิทธิ์การถอนดังต่อไปนี้",
+ "result": "มีการอ้างสิทธิ์การถอนดังต่อไปนี้:"
+ },
+ "rows": {
+ "withdraw_permission": "ถอนการอนุญาต: {withdraw_permission}",
+ "withdraw_from_account": "ถอนออกจากบัญชี: {withdraw_from_account} ({withdraw_from_accountOP})",
+ "withdraw_to_account": "ถอนไปยังบัญชี: {withdraw_to_account} ({withdraw_to_accountOP})",
+ "amount_to_withdraw": "จำนวนเงินที่จะถอน: {amount_to_withdraw} ({amount_to_withdrawOP})",
+ "memo": "บันทึกช่วยจำ: {memo}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "เรียกร้องจากการเพิกถอนใบอนุญาต"
+ },
+ "withdraw_permission_delete": {
+ "method": "เพิกถอนใบอนุญาตลบ",
+ "title": "ถอนคำร้องขอลบสิทธิ์",
+ "result": "ถอนสิทธิ์ลบผล",
+ "headers": {
+ "request": "ลบการถอนการอนุญาตต่อไปนี้หรือไม่",
+ "result": "การถอนสิทธิ์ต่อไปนี้ถูกลบแล้ว:"
+ },
+ "rows": {
+ "withdraw_from_account": "ถอนออกจากบัญชี: {withdraw_from_account} ({withdraw_from_accountOP})",
+ "authorized_account": "บัญชีที่ได้รับอนุญาต: {authorized_account} ({authorized_accountOP})",
+ "withdrawal_permission": "การอนุญาตการถอน: {withdrawal_permission}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "ลบการอนุญาตการถอน"
+ },
+ "committee_member_create": {
+ "method": "สมาชิกคณะกรรมการสร้าง",
+ "title": "สมาชิกคณะกรรมการสร้างคำขอ",
+ "result": "กรรมการสร้างผลงาน",
+ "headers": {
+ "request": "สร้างสมาชิกคณะกรรมการ?",
+ "result": "สมาชิกคณะกรรมการต่อไปนี้ถูกสร้างขึ้น:"
+ },
+ "rows": {
+ "committee_member_account": "บัญชีสมาชิกคณะกรรมการ: {committee_member_account} ({committee_member_accountOP})",
+ "url": "URL: {url}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "สร้างบัญชีสมาชิกคณะกรรมการ"
+ },
+ "committee_member_update": {
+ "method": "อัพเดทสมาชิกคณะกรรมการ",
+ "title": "คำขออัปเดตสมาชิกคณะกรรมการ",
+ "result": "ผลการอัพเดตสมาชิกคณะกรรมการ",
+ "headers": {
+ "request": "Update รายละเอียดสมาชิกคณะกรรมการดังต่อไปนี้?",
+ "result": "การอัปเดตรายละเอียดของสมาชิกคณะกรรมการต่อไปนี้ได้รับการอนุมัติแล้ว:"
+ },
+ "rows": {
+ "committee_member": "สมาชิกคณะกรรมการ: {committee_member}",
+ "committee_member_account": "บัญชีสมาชิกคณะกรรมการ: {committee_member_account} ({committee_member_accountOP})",
+ "new_url": "URL ใหม่: {new_url}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "อัปเดตรายละเอียดบัญชีสมาชิกคณะกรรมการของคุณ"
+ },
+ "committee_member_update_global_parameters": {
+ "method": "สมาชิกคณะกรรมการอัปเดตพารามิเตอร์ทั่วโลก",
+ "title": "สมาชิกคณะกรรมการอัปเดตคำขอพารามิเตอร์ส่วนกลาง",
+ "result": "สมาชิกคณะกรรมการอัปเดตผลลัพธ์พารามิเตอร์ทั่วโลก",
+ "headers": {
+ "request": "อนุมัติให้พารามิเตอร์ระดับโลกดังต่อไปนี้เป็นคณะกรรมการหรือไม่?",
+ "result": "พารามิเตอร์ของคณะกรรมการระดับโลกต่อไปนี้ได้รับการอนุมัติ:"
+ },
+ "rows": {
+ "new_parameters": "พารามิเตอร์ใหม่:",
+ "current_fees": "ค่าธรรมเนียมปัจจุบัน: {current_fees}",
+ "block_interval": "ช่วงเวลาบล็อก: {block_interval}",
+ "maintenance_interval": "ช่วงการบำรุงรักษา: {maintenance_interval}",
+ "maintenance_skip_slots": "ช่วงเวลาการข้ามการบำรุงรักษา: {maintenance_skip_slots}",
+ "committee_proposal_review_period": "ระยะเวลาการทบทวนข้อเสนอของคณะกรรมการ: {committee_proposal_review_period}",
+ "maximum_transaction_size": "ขนาดธุรกรรมสูงสุด: {maximum_transaction_size}",
+ "maximum_block_size": "ขนาดบล็อกสูงสุด: {maximum_block_size}",
+ "maximum_time_until_expiration": "เวลาสูงสุดจนกว่าจะหมดอายุ: {maximum_time_until_expiration}",
+ "maximum_proposal_lifetime": "อายุการใช้งานข้อเสนอสูงสุด: {maximum_proposal_lifetime}",
+ "maximum_asset_whitelist_authorities": "สิทธิ์อนุญาตรายการเนื้อหาสูงสุด: {maximum_asset_whitelist_authorities}",
+ "maximum_asset_feed_publishers": "ผู้เผยแพร่ฟีดเนื้อหาสูงสุด: {maximum_asset_feed_publishers}",
+ "maximum_witness_count": "จำนวนพยานสูงสุด: {maximum_witness_count}",
+ "maximum_committee_count": "จำนวนคณะกรรมการสูงสุด: {maximum_committee_count}",
+ "maximum_authority_membership": "สมาชิกผู้มีอำนาจสูงสุด: {maximum_authority_membership}",
+ "reserve_percent_of_fee": "เปอร์เซ็นต์ค่าธรรมเนียมการจอง: {reserve_percent_of_fee}",
+ "network_percent_of_fee": "เปอร์เซ็นต์ค่าธรรมเนียมเครือข่าย: {network_percent_of_fee}",
+ "lifetime_referrer_percent_of_fee": "เปอร์เซ็นต์ค่าธรรมเนียมผู้อ้างอิงตลอดชีพ: {lifetime_referrer_percent_of_fee}",
+ "cashback_vesting_period_seconds": "ระยะเวลาการให้สิทธิ์คืนเงินเป็นวินาที: {cashback_vesting_period_seconds}",
+ "cashback_vesting_threshold": "เกณฑ์การได้รับเงินคืน: {cashback_vesting_threshold}",
+ "count_non_member_votes": "นับคะแนนเสียงของผู้ที่ไม่ใช่สมาชิก: {count_non_member_votes}",
+ "allow_non_member_whitelists": "อนุญาตรายการที่อนุญาตพิเศษที่ไม่ใช่สมาชิก: {allow_non_member_whitelists}",
+ "witness_pay_per_block": "พยานจ่ายต่อบล็อก: {witness_pay_per_block}",
+ "worker_budget_per_day": "งบประมาณผู้ปฏิบัติงานต่อวัน: {worker_budget_per_day}",
+ "max_predicate_opcode": "opcode ภาคแสดงสูงสุด: {max_predicate_opcode}",
+ "fee_liquidation_threshold": "เกณฑ์การชำระบัญชีค่าธรรมเนียม: {fee_liquidation_threshold}",
+ "accounts_per_fee_scale": "บัญชีต่อระดับค่าธรรมเนียม: {accounts_per_fee_scale}",
+ "account_fee_scale_bitshifts": "ระดับค่าธรรมเนียมบัญชี bitshifts: {account_fee_scale_bitshifts}",
+ "max_authority_depth": "ความลึกของอำนาจสูงสุด: {max_authority_depth}",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "เผยแพร่จุดยืนของสมาชิกคณะกรรมการของคุณเกี่ยวกับค่าพารามิเตอร์ทั่วโลกของ Bitshares blockchain"
+ },
+ "vesting_balance_create": {
+ "method": "สร้างยอดเงินคงเหลือ",
+ "title": "คำขอสร้างยอดเงินคงเหลือ",
+ "result": "การได้รับยอดคงเหลือสร้างผลลัพธ์",
+ "headers": {
+ "request": "สร้างยอดคงเหลือการให้สิทธิต่อไปนี้หรือไม่",
+ "result": "มีการสร้างยอดดุลการให้สิทธิต่อไปนี้:"
+ },
+ "rows": {
+ "creator": "ผู้สร้าง: {creator} ({creatorOP})",
+ "owner": "เจ้าของ: {owner} ({ownerOP})",
+ "amount": "จำนวนเงิน: {amount} ({asset_id})",
+ "policy": "นโยบาย:",
+ "begin_timestamp": "เริ่มต้นการประทับเวลา: {begin_timestamp}",
+ "vesting_cliff_seconds": "วินาทีที่หน้าผาตก: {vesting_cliff_seconds}",
+ "vesting_duration_seconds": "ระยะเวลาการได้รับสิทธิ์เป็นวินาที: {vesting_duration_seconds}",
+ "start_claim": "เริ่มการอ้างสิทธิ์: {start_claim}",
+ "vesting_seconds": "วินาทีที่ได้รับสิทธิ์: {vesting_seconds}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "สร้างยอดดุลการให้สิทธิ"
+ },
+ "vesting_balance_withdraw": {
+ "method": "การถอนยอดเงินคงเหลือ",
+ "title": "คำขอถอนยอดเงินคงเหลือ",
+ "result": "ผลการถอนยอดเงินคงเหลือ",
+ "headers": {
+ "request": "ถอนยอดคงเหลือการได้รับสิทธิต่อไปนี้หรือไม่",
+ "result": "ยอดคงเหลือการให้สิทธิต่อไปนี้ถูกถอนออก:"
+ },
+ "rows": {
+ "owner": "เจ้าของ: {owner} ({ownerOP})",
+ "claim": "การอ้างสิทธิ์: {claim} ({asset_id})"
+ },
+ "tooltip": "ถอนออกจากยอดคงเหลือการได้รับสิทธิ"
+ },
+ "worker_create": {
+ "method": "คนงานสร้าง",
+ "title": "ผู้ปฏิบัติงานสร้างคำขอ",
+ "result": "ผู้ปฏิบัติงานสร้างผลลัพธ์",
+ "headers": {
+ "request": "สร้างข้อเสนอของผู้ปฏิบัติงานต่อไปนี้หรือไม่",
+ "result": "มีการสร้างข้อเสนอของผู้ปฏิบัติงานต่อไปนี้:"
+ },
+ "rows": {
+ "owner": "เจ้าของ: {owner} ({ownerOP})",
+ "work_begin_date": "วันที่เริ่มงาน: {work_begin_date}",
+ "work_end_date": "วันที่สิ้นสุดงาน: {work_end_date}",
+ "daily_pay": "จ่ายรายวัน: {daily_pay}",
+ "name": "ชื่อ: {name}",
+ "url": "URL: {url}",
+ "initializer": "เครื่องมือเริ่มต้น: {initializer}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "สร้างข้อเสนอของผู้ปฏิบัติงาน"
+ },
+ "custom": {
+ "method": "กำหนดเอง",
+ "title": "คำขอที่กำหนดเอง",
+ "result": "ผลลัพธ์ที่กำหนดเอง",
+ "headers": {
+ "request": "สร้างการดำเนินการแบบกำหนดเองต่อไปนี้หรือไม่",
+ "result": "การดำเนินการแบบกำหนดเองต่อไปนี้ถูกสร้างขึ้น:"
+ },
+ "rows": {
+ "payer": "ผู้ชำระเงิน: {payer} ({payerOP})",
+ "required_auths": "หน่วยงานที่จำเป็น: {required_auths}",
+ "id": "{id}",
+ "data": "ข้อมูล: {data}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "มอบวิธีการทั่วไปในการเพิ่มโปรโตคอลระดับที่สูงขึ้นนอกเหนือจากฉันทามติของพยาน"
+ },
+ "assert": {
+ "method": "ยืนยัน",
+ "title": "ยืนยันคำขอ",
+ "result": "ยืนยันผล",
+ "headers": {
+ "request": "อนุมัติการดำเนินการขอยืนยันต่อไปนี้หรือไม่",
+ "result": "การดำเนินการร้องขอการยืนยันต่อไปนี้ได้รับการอนุมัติ:"
+ },
+ "rows": {
+ "fee_paying_account": "บัญชีการชำระค่าธรรมเนียม: {fee_paying_account} ({fee_paying_accountOP})",
+ "predicates": "ภาคแสดง: {predicates}",
+ "required_auths": "หน่วยงานที่จำเป็น: {required_auths}",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "ยืนยันว่าเงื่อนไขบางประการเป็นจริง"
+ },
+ "balance_claim": {
+ "method": "การเรียกร้องยอดคงเหลือ",
+ "title": "คำขอเรียกร้องยอดคงเหลือ",
+ "result": "ผลการเรียกร้องยอดคงเหลือ",
+ "headers": {
+ "request": "รับยอดคงเหลือต่อไปนี้หรือไม่",
+ "result": "มีการอ้างสิทธิ์ยอดคงเหลือต่อไปนี้:"
+ },
+ "rows": {
+ "deposit_to_account": "ฝากเข้าบัญชี: {deposit_to_account} ({deposit_to_accountOP})",
+ "balance_to_claim": "ยอดคงเหลือที่จะอ้างสิทธิ์: {balance_to_claim} ({asset_id})",
+ "balance_owner_key": "รหัสเจ้าของยอดคงเหลือ: {balance_owner_key}",
+ "total_claimed": "อ้างสิทธิ์ทั้งหมด: {total_claimed} ({asset_id})",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "เรียกร้องจากยอดคงเหลือ"
+ },
+ "override_transfer": {
+ "method": "แทนที่การถ่ายโอน",
+ "title": "แทนที่คำขอโอน",
+ "result": "แทนที่ผลการโอน",
+ "headers": {
+ "request": "แทนที่การถ่ายโอนต่อไปนี้หรือไม่",
+ "result": "การถ่ายโอนต่อไปนี้ถูกแทนที่:"
+ },
+ "rows": {
+ "issuer": "ผู้ออก: {issuer} ({issuerOP})",
+ "from": "จาก: {from} ({fromOP})",
+ "to": "ถึง: {to} ({toOP})",
+ "amount": "จำนวนเงิน: {amount} ({asset_id})",
+ "memo": "บันทึกช่วยจำ: {memo}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "แทนที่การดำเนินการถ่ายโอน"
+ },
+ "transfer_to_blind": {
+ "method": "โอนไปยังคนตาบอด",
+ "title": "โอนไปยังคำขอตาบอด",
+ "result": "โอนไปยังผลบอด",
+ "headers": {
+ "request": "โอนสิ่งต่อไปนี้ไปยังคนตาบอด?",
+ "result": "สิ่งต่อไปนี้ถูกถ่ายโอนไปยังคนตาบอด:"
+ },
+ "rows": {
+ "amount": "จำนวนเงิน: {amount}",
+ "from": "จาก: {from} ({fromOP})",
+ "blinding_factor": "ปัจจัยที่ทำให้ไม่เห็น: {blinding_factor}",
+ "outputs": "เอาท์พุท: {outputs}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "โอนสินทรัพย์ไปยังปลายทางที่มองไม่เห็น"
+ },
+ "blind_transfer": {
+ "method": "การถ่ายโอนแบบตาบอด",
+ "title": "คำขอโอนตาบอด",
+ "result": "ผลการโอนบอด",
+ "headers": {
+ "request": "อนุมัติการโอนแบบตาบอดต่อไปนี้หรือไม่",
+ "result": "การถ่ายโอนแบบปกปิดต่อไปนี้ได้รับการอนุมัติแล้ว:"
+ },
+ "rows": {
+ "inputs": "อินพุต: {inputs}",
+ "outputs": "เอาท์พุท: {outputs}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "โอนทรัพย์สินที่มองไม่เห็นในลักษณะที่มองไม่เห็น"
+ },
+ "transfer_from_blind": {
+ "method": "โอนจากคนตาบอด",
+ "title": "โอนจากคำขอตาบอด",
+ "result": "โอนจากผลบอด",
+ "headers": {
+ "request": "ถ่ายโอนสิ่งต่อไปนี้จากคนตาบอด?",
+ "result": "สิ่งต่อไปนี้ถูกถ่ายโอนจากคนตาบอด:"
+ },
+ "rows": {
+ "amount": "จำนวนเงิน: {amount}",
+ "to": "ถึง: {to} ({toOP})",
+ "blinding_factor": "ปัจจัยที่ทำให้ไม่เห็น: {blinding_factor}",
+ "inputs": "อินพุต: {inputs}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "ถอนสินทรัพย์ออกจากยอดคงเหลือที่ไม่เปิดเผย"
+ },
+ "asset_claim_fees": {
+ "method": "ค่าธรรมเนียมการเรียกร้องทรัพย์สิน",
+ "title": "คำขอค่าธรรมเนียมการเรียกร้องทรัพย์สิน",
+ "result": "ผลค่าธรรมเนียมการเรียกร้องทรัพย์สิน",
+ "headers": {
+ "request": "ถอนค่าธรรมเนียมออกจากสินทรัพย์ต่อไปนี้หรือไม่?",
+ "result": "มีการอ้างสิทธิ์ค่าธรรมเนียมของสินทรัพย์ต่อไปนี้:"
+ },
+ "rows": {
+ "issuer": "ผู้ออก: {issuer} ({issuerOP})",
+ "amount_to_claim": "จำนวนเงินที่จะอ้างสิทธิ์: {amount_to_claim} ({asset_id})",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "เรียกร้องค่าธรรมเนียมจากสินทรัพย์"
+ },
+ "bid_collateral": {
+ "method": "หลักประกันการประมูล",
+ "title": "ขอหลักประกันการประมูล",
+ "result": "ผลการค้ำประกันการประมูล",
+ "headers": {
+ "request": "อนุมัติการประมูลหลักประกันดังต่อไปนี้?",
+ "result": "การเสนอราคาหลักประกันต่อไปนี้ได้รับการอนุมัติ:"
+ },
+ "rows": {
+ "bidder": "ผู้เสนอราคา: {bidder} ({bidderOP})",
+ "additional_collateral": "หลักประกันเพิ่มเติม: {additional_collateral}",
+ "debt_covered": "หนี้ที่ครอบคลุม: {debt_covered}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "ประมูลหลักประกันสำหรับสินทรัพย์บิตเมื่อชำระบัญชีทั่วโลก"
+ },
+ "asset_claim_pool": {
+ "method": "กลุ่มการเรียกร้องสินทรัพย์",
+ "title": "คำขอกลุ่มการอ้างสิทธิ์สินทรัพย์",
+ "result": "ผลรวมการอ้างสิทธิ์สินทรัพย์",
+ "headers": {
+ "request": "อ้างสิทธิ์กลุ่มสินทรัพย์ต่อไปนี้หรือไม่",
+ "result": "มีการอ้างสิทธิ์กลุ่มสินทรัพย์ต่อไปนี้:"
+ },
+ "rows": {
+ "issuer": "ผู้ออก: {issuer} ({issuerOP})",
+ "asset_id": "เนื้อหา: {asset_id}",
+ "amount_to_claim": "จำนวนเงินที่จะเรียกร้อง: {amount_to_claim}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "โอน BTS จากกลุ่มค่าธรรมเนียมของสินทรัพย์ที่ระบุกลับไปยังยอดคงเหลือของผู้ออก"
+ },
+ "asset_update_issuer": {
+ "method": "ผู้ออกการปรับปรุงสินทรัพย์",
+ "title": "คำขอของผู้ออกการปรับปรุงสินทรัพย์",
+ "result": "ผลลัพธ์ของผู้ออกการอัปเดตสินทรัพย์",
+ "headers": {
+ "request": "อัปเดตผู้ออกสินทรัพย์ต่อไปนี้หรือไม่",
+ "result": "ผู้ออกสินทรัพย์ต่อไปนี้ได้รับการอัปเดต:"
+ },
+ "rows": {
+ "issuer": "ผู้ออก: {issuer} ({issuerOP})",
+ "asset_to_update": "เนื้อหาที่จะอัปเดต: {asset_to_update}",
+ "new_issuer": "ผู้ออกใหม่: {new_issuer} ({new_issuerOP})",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "อัปเดตผู้ออกสินทรัพย์เป็นบัญชีผู้ดูแลระบบใหม่"
+ },
+ "htlc_create": {
+ "method": "สร้าง HTML",
+ "title": "คำขอสร้าง HTML",
+ "result": "HTML สร้างผลลัพธ์",
+ "headers": {
+ "request": "สร้างการดำเนินการตามสัญญาการล็อคเวลาแบบแฮชต่อไปนี้หรือไม่",
+ "result": "การสร้างการดำเนินการตามสัญญาการล็อคเวลาแบบแฮชต่อไปนี้ได้รับการอนุมัติ:"
+ },
+ "rows": {
+ "from": "จาก: {from} ({fromOP})",
+ "to": "ถึง: {to} ({toOP})",
+ "amount": "จำนวนเงิน: {amount}",
+ "preimage_hash": "แฮชพรีอิมเมจ: {preimage_hash}",
+ "preimage_size": "ขนาดภาพล่วงหน้า: {preimage_size}",
+ "claim_period_seconds": "ระยะเวลาการอ้างสิทธิ์ (วินาที): {claim_period_seconds}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "สร้างการดำเนินการสัญญาล็อคเวลาแฮช (HTLC)"
+ },
+ "htlc_redeem": {
+ "method": "แลก HTLC",
+ "title": "คำขอแลก HTTP",
+ "result": "ผลการแลก HTLC",
+ "headers": {
+ "request": "แลกการดำเนินการตามสัญญาที่ถูกล็อคเวลาแฮชต่อไปนี้หรือไม่",
+ "result": "การแลกการดำเนินการตามสัญญาที่ถูกล็อคเวลาแฮชต่อไปนี้ได้รับการอนุมัติแล้ว:"
+ },
+ "rows": {
+ "htlc_id": "รหัส HTML: {htlc_id}",
+ "redeemer": "ผู้ไถ่: {redeemer} ({redeemerOP})",
+ "preimage": "พรีอิมเมจ: {preimage}",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "แลกเนื้อหาของการดำเนินการ HTLC"
+ },
+ "htlc_extend": {
+ "method": "ส่วนขยาย HTML",
+ "title": "คำขอขยาย HTML",
+ "result": "HTML ขยายผลลัพธ์",
+ "headers": {
+ "request": "อนุมัติการขยายสัญญาแฮชไทม์ล็อกต่อไปนี้หรือไม่",
+ "result": "การขยายเวลาของสัญญาแฮชไทม์ล็อกต่อไปนี้ได้รับการอนุมัติแล้ว:"
+ },
+ "rows": {
+ "htlc_id": "รหัส HTML: {htlc_id}",
+ "update_issuer": "อัปเดตผู้ออก: {update_issuer} ({update_issuerOP})",
+ "seconds_to_add": "วินาทีที่จะเพิ่ม: {seconds_to_add}",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "ขยายระยะเวลาของการดำเนินการ HTLC"
+ },
+ "custom_authority_create": {
+ "method": "สร้างสิทธิ์แบบกำหนดเอง",
+ "title": "คำขอสร้างสิทธิ์แบบกำหนดเอง",
+ "result": "อำนาจที่กำหนดเองสร้างผลลัพธ์",
+ "headers": {
+ "request": "สร้างสิทธิ์แบบกำหนดเองต่อไปนี้หรือไม่",
+ "result": "สิทธิแบบกำหนดเองต่อไปนี้ถูกสร้างขึ้น:"
+ },
+ "rows": {
+ "account": "บัญชี: {account} ({accountOP})",
+ "enabled": "เปิดใช้งาน: {enabled}",
+ "valid_from": "ใช้ได้ตั้งแต่: {valid_from}",
+ "valid_to": "ใช้ได้กับ: {valid_to}",
+ "operation_type": "ประเภทการดำเนินการ: {operation_type}",
+ "auth": "ผู้มีอำนาจ: {auth}",
+ "restrictions": "ข้อจำกัด: {restrictions}",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "สร้างสิทธิ์แบบกำหนดเองใหม่"
+ },
+ "custom_authority_update": {
+ "method": "การอัปเดตสิทธิ์แบบกำหนดเอง",
+ "title": "คำขออัปเดตสิทธิ์แบบกำหนดเอง",
+ "result": "ผลการอัปเดตสิทธิ์แบบกำหนดเอง",
+ "headers": {
+ "request": "อัปเดตสิทธิ์แบบกำหนดเองต่อไปนี้หรือไม่",
+ "result": "อำนาจแบบกำหนดเองต่อไปนี้ได้รับการปรับปรุง:"
+ },
+ "rows": {
+ "account": "บัญชี: {account} ({accountOP})",
+ "authority_to_update": "สิทธิ์ในการอัปเดต: {authority_to_update}",
+ "new_enabled": "เปิดใช้งานใหม่: {new_enabled}",
+ "new_valid_from": "ใหม่ใช้ได้ตั้งแต่: {new_valid_from}",
+ "new_valid_to": "ใหม่ใช้ได้กับ: {new_valid_to}",
+ "new_auth": "ผู้มีอำนาจใหม่: {new_auth}",
+ "restrictions_to_remove": "ข้อจำกัดในการลบ: {restrictions_to_remove}",
+ "restrictions_to_add": "ข้อจำกัดในการเพิ่ม: {restrictions_to_add}",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "อัปเดตสิทธิ์แบบกำหนดเอง"
+ },
+ "custom_authority_delete": {
+ "method": "ลบสิทธิ์แบบกำหนดเอง",
+ "title": "คำขอลบสิทธิ์แบบกำหนดเอง",
+ "result": "ผลลัพธ์การลบสิทธิ์แบบกำหนดเอง",
+ "headers": {
+ "request": "ลบสิทธิ์แบบกำหนดเองต่อไปนี้หรือไม่",
+ "result": "สิทธิ์แบบกำหนดเองต่อไปนี้ถูกลบแล้ว:"
+ },
+ "rows": {
+ "account": "บัญชี: {account} ({accountOP})",
+ "authority_to_delete": "ผู้มีอำนาจในการลบ: {authority_to_delete}",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "ลบสิทธิ์แบบกำหนดเอง"
+ },
+ "ticket_create": {
+ "method": "สร้างตั๋ว",
+ "title": "คำขอสร้างตั๋ว",
+ "result": "ผลลัพธ์การสร้างตั๋ว",
+ "headers": {
+ "request": "สร้างตั๋วต่อไปนี้?",
+ "result": "ตั๋วต่อไปนี้ถูกสร้างขึ้น:"
+ },
+ "rows": {
+ "account": "บัญชี: {account} ({accountOP})",
+ "target_type": "ประเภทเป้าหมาย: {target_type}",
+ "amount": "จำนวนเงิน: {amount}",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "สร้างตั๋วใหม่"
+ },
+ "ticket_update": {
+ "method": "อัพเดตตั๋ว",
+ "title": "คำขออัปเดตตั๋ว",
+ "result": "ผลการอัพเดตตั๋ว",
+ "headers": {
+ "request": "อัพเดตตั๋วต่อไปนี้?",
+ "result": "ตั๋วต่อไปนี้ได้รับการอัปเดต:"
+ },
+ "rows": {
+ "ticket": "ตั๋ว: {ticket}",
+ "account": "บัญชี: {account} ({accountOP})",
+ "target_type": "ประเภทเป้าหมาย: {target_type}",
+ "amount_for_new_target": "จำนวนเงินสำหรับเป้าหมายใหม่: {amount_for_new_target}",
+ "extensions": "ส่วนขยาย: {extensions}"
+ },
+ "tooltip": "อัปเดตตั๋วที่มีอยู่"
+ },
+ "liquidity_pool_create": {
+ "method": "สร้างแหล่งสภาพคล่อง",
+ "title": "คำขอสร้างกลุ่มสภาพคล่อง",
+ "result": "พูลสภาพคล่องสร้างผลลัพธ์",
+ "headers": {
+ "request": "สร้างกลุ่มสภาพคล่องโดยมีรายละเอียดดังต่อไปนี้หรือไม่",
+ "result": "กลุ่มสภาพคล่องต่อไปนี้ถูกสร้างขึ้น:"
+ },
+ "rows": {
+ "account": "บัญชี: {account} ({accountOP})",
+ "asset_a": "สินทรัพย์ A: {asset_a} ({asset_aOP})",
+ "asset_b": "สินทรัพย์ B: {asset_b} ({asset_bOP})",
+ "share_asset": "แบ่งปันเนื้อหา: {share_asset} ({share_assetOP})",
+ "taker_fee_percent": "เปอร์เซ็นต์ค่าธรรมเนียมผู้รับ: {taker_fee_percent}",
+ "withdrawal_fee_percent": "เปอร์เซ็นต์ค่าธรรมเนียมการถอน: {withdrawal_fee_percent}",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "สร้างแหล่งรวมสภาพคล่อง"
+ },
+ "liquidity_pool_delete": {
+ "method": "ลบพูลสภาพคล่อง",
+ "title": "คำขอลบกลุ่มสภาพคล่อง",
+ "result": "ผลการลบกลุ่มสภาพคล่อง",
+ "headers": {
+ "request": "ลบกลุ่มสภาพคล่องต่อไปนี้หรือไม่",
+ "result": "กลุ่มสภาพคล่องต่อไปนี้ถูกลบแล้ว:"
+ },
+ "rows": {
+ "account": "บัญชี: {account} ({accountOP})",
+ "pool_id": "รหัสพูล: {pool_id}",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "ลบกลุ่มสภาพคล่อง"
+ },
+ "liquidity_pool_deposit": {
+ "method": "เงินฝากสภาพคล่อง",
+ "title": "การขอฝากสภาพคล่อง",
+ "result": "ผลการฝากสภาพคล่อง",
+ "headers": {
+ "request": "ฝากสินทรัพย์ต่อไปนี้เข้าคลังสภาพคล่อง?",
+ "result": "สินทรัพย์ต่อไปนี้ถูกฝากเข้าในแหล่งรวมสภาพคล่อง:"
+ },
+ "rows": {
+ "account": "บัญชี: {account} ({accountOP})",
+ "pool": "พูล: {pool}",
+ "asset_a": "สินทรัพย์ A: {asset_a} ({asset_aOP})",
+ "asset_b": "สินทรัพย์ B: {asset_b} ({asset_bOP})",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "ฝากเงินเข้าในแหล่งรวมสภาพคล่อง"
+ },
+ "liquidity_pool_withdraw": {
+ "method": "ถอนสภาพคล่องพูล",
+ "title": "คำขอถอนสภาพคล่องรวม",
+ "result": "ผลการถอนสภาพคล่องรวม",
+ "headers": {
+ "request": "ถอนสินทรัพย์ต่อไปนี้ออกจากกลุ่มสภาพคล่องหรือไม่",
+ "result": "สินทรัพย์ต่อไปนี้ถูกถอนออกจากกลุ่มสภาพคล่อง:"
+ },
+ "rows": {
+ "account": "บัญชี: {account} ({accountOP})",
+ "pool": "พูล: {pool}",
+ "share_asset": "แบ่งปันเนื้อหา: {share_asset} ({share_assetOP})",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "ถอนเงินออกจากแหล่งรวมสภาพคล่อง"
+ },
+ "liquidity_pool_exchange": {
+ "method": "การแลกเปลี่ยนสภาพคล่องพูล",
+ "title": "คำขอแลกเปลี่ยนสภาพคล่อง",
+ "result": "ผลการแลกเปลี่ยนสภาพคล่องพูล",
+ "headers": {
+ "request": "อนุมัติการแลกเปลี่ยนสภาพคล่องรวมดังต่อไปนี้?",
+ "result": "การแลกเปลี่ยนสภาพคล่องต่อไปนี้ได้รับการอนุมัติ:"
+ },
+ "rows": {
+ "account": "บัญชี: {account} ({accountOP})",
+ "pool": "พูล: {pool}",
+ "amount_to_sell": "จำนวนที่จะขาย: {amount_to_sell}",
+ "min_to_receive": "ขั้นต่ำที่จะได้รับ: {min_to_receive}",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "แลกเปลี่ยนกับแหล่งรวมสภาพคล่อง"
+ },
+ "samet_fund_create": {
+ "method": "สร้างกองทุน SameT",
+ "title": "คำขอสร้างกองทุน SameT",
+ "result": "กองทุน SameT สร้างผลลัพธ์",
+ "headers": {
+ "request": "อนุมัติให้จัดตั้งกองทุนเสม็ดดังต่อไปนี้?",
+ "result": "กองทุน Samet ต่อไปนี้ถูกสร้างขึ้น:"
+ },
+ "rows": {
+ "owner_account": "บัญชีเจ้าของ: {owner_account} ({owner_accountOP})",
+ "asset_type": "ประเภทเนื้อหา: {asset_type}",
+ "balance": "ยอดคงเหลือ: {balance}",
+ "fee_rate": "อัตราค่าธรรมเนียม: {fee_rate}",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "สร้างกองทุน SameT ใหม่ "
+ },
+ "samet_fund_delete": {
+ "method": "ลบกองทุน SameT",
+ "title": "คำขอลบกองทุน SameT",
+ "result": "ผลการลบกองทุน SameT",
+ "headers": {
+ "request": "ลบกองทุน Samet ต่อไปนี้หรือไม่",
+ "result": "กองทุน Samet ต่อไปนี้ถูกลบแล้ว:"
+ },
+ "rows": {
+ "owner_account": "บัญชีเจ้าของ: {owner_account} ({owner_accountOP})",
+ "fund_id": "รหัสกองทุน: {fund_id}",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "ลบออบเจ็กต์กองทุน SameT"
+ },
+ "samet_fund_update": {
+ "method": "อัพเดทกองทุน SameT",
+ "title": "คำขออัปเดตกองทุน SameT",
+ "result": "ผลการอัพเดตกองทุน SameT",
+ "headers": {
+ "request": "อัพเดทกองทุนเสม็ดต่อไปนี้?",
+ "result": "กองทุน Samet ต่อไปนี้ได้รับการอัปเดต:"
+ },
+ "rows": {
+ "owner_account": "บัญชีเจ้าของ: {owner_account} ({owner_accountOP})",
+ "fund_id": "รหัสกองทุน: {fund_id}",
+ "delta_amount": "จำนวนเดลต้า: {delta_amount}",
+ "new_fee_rate": "อัตราค่าธรรมเนียมใหม่: {new_fee_rate}",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "อัปเดตออบเจ็กต์กองทุน SameT"
+ },
+ "samet_fund_borrow": {
+ "method": "ยืมกองทุน SameT",
+ "title": "ขอยืมกองทุน SameT",
+ "result": "ผลการยืมกองทุน SameT",
+ "headers": {
+ "request": "ยืมจากกองทุนเสม็ดดังต่อไปนี้?",
+ "result": "ยืมเงินจากกองทุนเสม็ดสำเร็จแล้ว:"
+ },
+ "rows": {
+ "borrower": "ผู้ยืม: {borrower} ({borrowerOP})",
+ "fund_id": "รหัสกองทุน: {fund_id}",
+ "borrow_amount": "จำนวนยืม: {borrow_amount}",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "ยืมจากกองทุน SameT"
+ },
+ "samt_fund_repay": {
+ "method": "การชำระคืนกองทุน SameT",
+ "title": "คำขอชำระคืนกองทุน SameT",
+ "result": "ผลการชำระคืนกองทุน SameT",
+ "headers": {
+ "request": "ชำระคืนกองทุนเสม็ดดังต่อไปนี้",
+ "result": "ชำระคืนกองทุนเสม็ดต่อไปนี้สำเร็จแล้ว"
+ },
+ "rows": {
+ "account": "บัญชี: {account} ({accountOP})",
+ "fund_id": "รหัสกองทุน: {fund_id}",
+ "repay_amount": "จำนวนเงินที่ชำระคืน: {repay_amount}",
+ "fund_fee": "ค่าธรรมเนียมกองทุน: {fund_fee}",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "ชำระหนี้ให้กับกองทุน SameT"
+ },
+ "credit_offer_create": {
+ "method": "สร้างข้อเสนอสินเชื่อ",
+ "title": "คำขอสร้างข้อเสนอเครดิต",
+ "result": "ข้อเสนอสินเชื่อสร้างผลลัพธ์",
+ "headers": {
+ "request": "อนุมัติการสร้างข้อเสนอเครดิตต่อไปนี้หรือไม่",
+ "result": "ข้อเสนอเครดิตต่อไปนี้ถูกสร้างขึ้น:"
+ },
+ "rows": {
+ "owner_account": "บัญชีเจ้าของ: {owner_account} ({owner_accountOP})",
+ "asset_type": "ประเภทเนื้อหา: {asset_type}",
+ "balance": "ยอดคงเหลือ: {balance}",
+ "fee_rate": "อัตราค่าธรรมเนียม: {fee_rate}",
+ "max_duration_seconds": "ระยะเวลาสูงสุดวินาที: {max_duration_seconds}",
+ "min_deal_amount": "จำนวนเงินซื้อขายขั้นต่ำ: {min_deal_amount}",
+ "enabled": "เปิดใช้งาน: {enabled}",
+ "auto_disable_time": "เวลาปิดการใช้งานอัตโนมัติ: {auto_disable_time}",
+ "acceptable_collateral": "หลักประกันที่ยอมรับได้: {acceptable_collateral}",
+ "acceptable_borrowers": "ผู้กู้ยืมที่ยอมรับได้: {acceptable_borrowers}",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "สร้างข้อเสนอสินเชื่อใหม่ "
+ },
+ "credit_offer_delete": {
+ "method": "ลบข้อเสนอเครดิต",
+ "title": "คำขอลบข้อเสนอเครดิต",
+ "result": "ผลการลบข้อเสนอเครดิต",
+ "headers": {
+ "request": "ลบข้อเสนอเครดิตต่อไปนี้หรือไม่",
+ "result": "ข้อเสนอเครดิตต่อไปนี้ถูกลบแล้ว:"
+ },
+ "rows": {
+ "owner_account": "บัญชีเจ้าของ: {owner_account} ({owner_accountOP})",
+ "offer_id": "รหัสข้อเสนอ: {offer_id}",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "ลบข้อเสนอสินเชื่อ"
+ },
+ "credit_offer_update": {
+ "method": "อัพเดตข้อเสนอสินเชื่อ",
+ "title": "คำขออัปเดตข้อเสนอเครดิต",
+ "result": "ผลการอัพเดตข้อเสนอสินเชื่อ",
+ "headers": {
+ "request": "อัปเดตข้อเสนอเครดิตต่อไปนี้หรือไม่",
+ "result": "ข้อเสนอเครดิตต่อไปนี้ได้รับการอัปเดต:"
+ },
+ "rows": {
+ "owner_account": "บัญชีเจ้าของ: {owner_account} ({owner_accountOP})",
+ "offer_id": "รหัสข้อเสนอ: {offer_id}",
+ "delta_amount": "จำนวนเดลต้า: {delta_amount}",
+ "fee_rate": "อัตราค่าธรรมเนียม: {fee_rate}",
+ "max_duration_seconds": "ระยะเวลาสูงสุดวินาที: {max_duration_seconds}",
+ "min_deal_amount": "จำนวนเงินซื้อขายขั้นต่ำ: {min_deal_amount}",
+ "enabled": "เปิดใช้งาน: {enabled}",
+ "auto_disable_time": "เวลาปิดการใช้งานอัตโนมัติ: {auto_disable_time}",
+ "acceptable_collateral": "หลักประกันที่ยอมรับได้: {acceptable_collateral}",
+ "acceptable_borrowers": "ผู้กู้ยืมที่ยอมรับได้: {acceptable_borrowers}",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "อัพเดตข้อเสนอสินเชื่อ"
+ },
+ "credit_offer_accept": {
+ "method": "ยอมรับข้อเสนอเครดิต",
+ "title": "ข้อเสนอเครดิตยอมรับคำขอ",
+ "result": "ข้อเสนอสินเชื่อยอมรับผล",
+ "headers": {
+ "request": "อนุมัติข้อเสนอสินเชื่อต่อไปนี้หรือไม่",
+ "result": "ข้อเสนอสินเชื่อต่อไปนี้ได้รับการอนุมัติแล้ว:"
+ },
+ "rows": {
+ "borrower": "ผู้ยืม: {borrower} ({borrowerOP})",
+ "offer_id": "รหัสข้อเสนอ: {offer_id}",
+ "borrow_amount": "จำนวนยืม: {borrow_amount}",
+ "collateral": "หลักประกัน: {collateral}",
+ "max_fee_rate": "อัตราค่าธรรมเนียมสูงสุด: {max_fee_rate}",
+ "min_duration_seconds": "ระยะเวลาต่ำสุด วินาที: {min_duration_seconds}",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "ยอมรับข้อเสนอสินเชื่อและสร้างข้อตกลงสินเชื่อ"
+ },
+ "credit_deal_repay": {
+ "method": "การชำระคืนข้อตกลงเครดิต",
+ "title": "คำขอชำระคืนข้อตกลงเครดิต",
+ "result": "ผลการชำระคืนข้อตกลงสินเชื่อ",
+ "headers": {
+ "request": "ชำระคืนข้อตกลงเครดิตต่อไปนี้หรือไม่",
+ "result": "คุณชำระคืนข้อตกลงเครดิตต่อไปนี้"
+ },
+ "rows": {
+ "account": "บัญชี: {account} ({accountOP})",
+ "deal_id": "รหัสดีล: {deal_id}",
+ "repay_amount": "จำนวนเงินที่ชำระคืน: {repay_amount}",
+ "credit_fee": "ค่าธรรมเนียมเครดิต: {credit_fee}",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "ชำระคืนข้อตกลงเครดิต"
+ },
+ "liquidity_pool_update_operation": {
+ "method": "การอัปเดตกลุ่มสภาพคล่อง",
+ "title": "คำขออัปเดตพูลสภาพคล่อง",
+ "result": "ผลการอัพเดตสภาพคล่องพูล",
+ "headers": {
+ "request": "อัพเดตกลุ่มสภาพคล่องต่อไปนี้หรือไม่",
+ "result": "อัพเดตกลุ่มสภาพคล่องต่อไปนี้:"
+ },
+ "rows": {
+ "owner_account": "บัญชีเจ้าของ: {owner_account} ({owner_accountOP})",
+ "pool_id": "รหัสพูล: {pool_id}",
+ "new_parameters": "พารามิเตอร์ใหม่: {new_parameters}",
+ "extensions": "ส่วนขยาย: {extensions}",
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}"
+ },
+ "tooltip": "อัพเดตกลุ่มสภาพคล่อง"
+ },
+ "credit_deal_update_operation": {
+ "method": "อัพเดตข้อตกลงสินเชื่อ",
+ "title": "คำขออัปเดตข้อตกลงสินเชื่อ",
+ "result": "ผลการอัพเดตข้อตกลงสินเชื่อ",
+ "headers": {
+ "request": "อัปเดตข้อตกลงเครดิตต่อไปนี้หรือไม่",
+ "result": "ข้อตกลงสินเชื่อต่อไปนี้ได้รับการปรับปรุง:"
+ },
+ "rows": {
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}",
+ "account": "บัญชี: {account} ({accountOP})",
+ "deal_id": "รหัสดีล: {deal_id}",
+ "auto_repay": "ชำระคืนอัตโนมัติ: {auto_repay}"
+ },
+ "tooltip": "อัพเดตข้อตกลงสินเชื่อ"
+ },
+ "limit_order_update_operation": {
+ "method": "อัพเดตคำสั่งจำกัด",
+ "title": "จำกัดคำขออัปเดตคำสั่งซื้อ",
+ "result": "จำกัดผลการอัพเดตคำสั่งซื้อ",
+ "headers": {
+ "request": "อัปเดตคำสั่งจำกัดต่อไปนี้หรือไม่",
+ "result": "อัปเดตคำสั่งจำกัดต่อไปนี้แล้ว:"
+ },
+ "rows": {
+ "fee": "ค่าธรรมเนียมโดยประมาณ: {fee}",
+ "seller": "ผู้ขาย: {seller} ({sellerOP})",
+ "order": "คำสั่งซื้อ: {order}",
+ "new_price": "ราคาใหม่: {new_price}",
+ "delta_amount_to_sell": "จำนวนเดลต้าที่จะขาย: {delta_amount_to_sell}",
+ "new_expiration": "การหมดอายุใหม่: {new_expiration}",
+ "on_fill": "เมื่อเติม: {on_fill}",
+ "extensions": "ส่วนขยาย: {extensions}"
+ },
+ "tooltip": "อัพเดตคำสั่งจำกัด"
+ }
+ },
"EOS": {
"setalimits": {
"method": "กำหนดวงเงินบัญชี",
From 8485ec861fc407ad4fa86ba46f0ce74b420803c0 Mon Sep 17 00:00:00 2001
From: CM
Date: Fri, 2 Feb 2024 14:09:15 +0000
Subject: [PATCH 02/27] Context isolation
Large commit for the context isolation and BTS crypto reintroduction
Rely on mitt for event emittion in fewer locations
Code cleanup
Allow testnet and tusc to try deeplink tech
---
src/background.js | 681 +++++++++++++++++-
src/components/account-details.vue | 31 +-
src/components/account-select.vue | 10 +-
src/components/actionbar.vue | 5 +-
src/components/add-account.vue | 61 +-
src/components/balances.vue | 74 +-
src/components/blockchains/ImportKeys.vue | 95 +--
.../blockchains/bitshares/ImportBinFile.vue | 65 +-
.../blockchains/bitshares/ImportCloudPass.vue | 99 +--
.../blockchains/bitshares/ImportMemo.vue | 70 +-
src/components/blockchains/operations.vue | 52 +-
src/components/dapps.vue | 5 +-
src/components/dashboard.vue | 82 ++-
src/components/header-guest.vue | 7 -
src/components/header-small.vue | 11 -
src/components/lang-select.vue | 10 +-
src/components/local.vue | 204 ++----
src/components/popups.vue | 34 +-
src/components/popups/genericrequestpopup.vue | 8 +-
.../popups/identityrequestpopup.vue | 8 +-
src/components/popups/linkrequestpopup.vue | 8 +-
src/components/popups/relinkrequestpopup.vue | 8 +-
src/components/popups/signedmessagepopup.vue | 8 +-
.../popups/transactionrequestpopup.vue | 8 +-
.../popups/transactionresultpopup.vue | 11 +-
.../popups/transferrequestpopup.vue | 8 +-
src/components/qr.vue | 161 ++---
src/components/qr/Scan.vue | 2 +-
src/components/raw-link.vue | 264 ++-----
src/components/totp.vue | 285 ++------
src/lib/BeetServer.js | 3 -
src/lib/IdGenerator.js | 28 +-
src/lib/Operations.js | 4 +-
src/lib/apiUtils.js | 49 +-
34 files changed, 1341 insertions(+), 1118 deletions(-)
diff --git a/src/background.js b/src/background.js
index f9e9122f..ab58c7bf 100644
--- a/src/background.js
+++ b/src/background.js
@@ -8,9 +8,15 @@ import fs from 'fs';
import os from 'os';
import { argv } from 'node:process';
import queryString from "query-string";
+import {PrivateKey} from "bitsharesjs";
+
+import { v4 as uuidv4 } from 'uuid';
+import sha512 from "crypto-js/sha512.js";
+import aes from "crypto-js/aes.js";
+import ENC from 'crypto-js/enc-utf8.js';
+import Base64 from 'crypto-js/enc-base64';
+import * as secp from "@noble/secp256k1";
-// Special module holding environment variables which you declared
-// in config/env_xxx.json file.
import {
app,
BrowserWindow,
@@ -20,16 +26,15 @@ import {
ipcMain,
Notification
} from 'electron';
-import mitt from 'mitt';
-import sha256 from "crypto-js/sha256.js";
-import aes from "crypto-js/aes.js";
-import ENC from 'crypto-js/enc-utf8.js';
-import * as secp from "@noble/secp256k1";
import Logger from '~/lib/Logger';
import {initApplicationMenu} from '~/lib/applicationMenu';
import { getSignature } from "./lib/SecureRemote";
import * as Actions from './lib/Actions';
+import getBlockchainAPI from "./lib/blockchains/blockchainFactory";
+import BTSWalletHandler from "./lib/blockchains/bitshares/BTSWalletHandler";
+
+import { injectedCall, voteFor, transfer } from './lib/apiUtils.js';
// Keep a global reference of the window object, if you don't, the window will
// be closed automatically when the JavaScript object is garbage collected.
@@ -370,12 +375,671 @@ const createWindow = async () => {
}
}
]);
- tray.setToolTip('Beet');
+ tray.setToolTip('BeetEOS');
tray.on('right-click', (event, bounds) => {
tray.popUpContextMenu(contextMenu);
});
+ /*
+ * Handling front end blockchain requests
+ */
+ ipcMain.on('blockchainRequest', async (event, arg) => {
+ const { method, account, chain, location } = arg;
+
+ let blockchain;
+ try {
+ blockchain = getBlockchainAPI(chain);
+ } catch (error) {
+ console.log(error);
+ return;
+ }
+
+ if (!blockchain) {
+ return;
+ }
+
+ let blockchainActions = [
+ Actions.TRANSFER,
+ Actions.VOTE_FOR,
+ Actions.INJECTED_CALL
+ ];
+
+ let responses = {
+ chain
+ };
+
+ if (method.includes("getBalances")) {
+ blockchain.getBalances(account.name)
+ .then(result => {
+ responses['getBalances'] = result;
+ return result;
+ })
+ .catch(error => {
+ console.log(error);
+ });
+ }
+
+ if (method.includes("getExplorer")) {
+ responses['getExplorer'] = blockchain.getExplorer(account.name);
+ }
+
+ if (method.includes("getAccessType")) {
+ responses['getAccessType'] = blockchain.getAccessType();
+ }
+
+ if (method.includes("getImportOptions")) {
+ responses['getImportOptions'] = blockchain.getImportOptions();
+ }
+
+ if (method.includes("getOperationTypes")) {
+ responses['getOperationTypes'] = blockchain.getOperationTypes();
+ }
+
+ if (method.includes("totpCode")) {
+ const { timestamp } = arg;
+ const msg = uuidv4();
+ let shaMSG = sha512(msg + timestamp).toString().substring(0, 15);
+ responses['code'] = shaMSG;
+ }
+
+ if (method.includes("totpDeeplink")) {
+ const { requestContent, currentCode } = args;
+
+ let processedRequest;
+ try {
+ processedRequest = decodeURIComponent(requestContent);
+ } catch (error) {
+ console.log('Processing request failed');
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ let parsedRequest;
+ try {
+ parsedRequest = Base64.parse(processedRequest).toString(ENC)
+ } catch (error) {
+ console.log('Parsing request failed');
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ let decryptedBytes;
+ try {
+ decryptedBytes = aes.decrypt(parsedRequest, currentCode.value);
+ } catch (error) {
+ console.log(error);
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ let decryptedData;
+ try {
+ decryptedData = decryptedBytes.toString(ENC);
+ } catch (error) {
+ console.log(error);
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ let request;
+ try {
+ request = JSON.parse(decryptedData);
+ } catch (error) {
+ console.log(error);
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ if (
+ !request
+ || !request.id
+ || !request.payload
+ || !request.payload.chain
+ || !request.payload.method
+ || request.payload.method === Actions.INJECTED_CALL && !request.payload.params
+ ) {
+ console.log('invalid request format');
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ let requestedChain = request.payload.chain;
+ if (!requestedChain || chain !== requestedChain) {
+ console.log("Incoming deeplink request for wrong chain");
+ mainWindow.webContents.send(`blockchainResponse:${location}:fail`);
+ return;
+ }
+
+ if (!Object.keys(Actions).map(key => Actions[key]).includes(request.payload.method)) {
+ console.log("Unsupported request type rejected");
+ mainWindow.webContents.send(`blockchainResponse:${location}:fail`);
+ return;
+ }
+
+ let apiobj = {
+ id: request.id,
+ type: request.payload.method,
+ payload: request.payload
+ };
+
+ if (!blockchainActions.includes(apiobj.type)) {
+ console.log({
+ msg: "Unsupported request type rejected",
+ apiobj
+ });
+ mainWindow.webContents.send(`blockchainResponse:${location}:fail`);
+ }
+
+
+ if (!settingsRows.value.includes(apiobj.type)) {
+ console.log("Unauthorized beet operation");
+ mainWindow.webContents.send(`blockchainResponse:${location}:fail`);
+ return;
+ }
+
+ if (apiobj.type === Actions.INJECTED_CALL) {
+ let tr;
+ try {
+ tr = blockchain._parseTransactionBuilder(request.payload.params);
+ } catch (error) {
+ console.log(error)
+ }
+
+ let authorizedUse = false;
+ if (tr && ["BTS", "BTS_TEST", "TUSC"].includes(chain)) {
+ for (let i = 0; i < tr.operations.length; i++) {
+ let operation = tr.operations[i];
+ if (settingsRows.value && settingsRows.value.includes(operation[0])) {
+ authorizedUse = true;
+ break;
+ }
+ }
+ } else if (tr && ["EOS", "BEOS", "TLOS"].includes(chain)) {
+ for (let i = 0; i < tr.actions.length; i++) {
+ let operation = tr.actions[i];
+ if (settingsRows.value && settingsRows.value.includes(operation.name)) {
+ authorizedUse = true;
+ break;
+ }
+ }
+ }
+
+ if (!authorizedUse) {
+ console.log(`Unauthorized use of deeplinked ${chain} blockchain operation`);
+ mainWindow.webContents.send(`blockchainResponse:${location}:fail`);
+ return;
+ }
+ console.log("Authorized use of deeplinks")
+ }
+
+ let status;
+ try {
+ if (apiobj.type === Actions.INJECTED_CALL) {
+ status = await injectedCall(apiobj, blockchain);
+ } else if (apiobj.type === Actions.VOTE_FOR) {
+ status = await voteFor(apiobj, blockchain);
+ } else if (apiobj.type === Actions.TRANSFER) {
+ status = await transfer(apiobj, blockchain);
+ }
+ } catch (error) {
+ console.log({error: error || "No status"});
+ mainWindow.webContents.send(`blockchainResponse:${location}:fail`);
+ return;
+ }
+
+ if (!status || !status.result || status.result.isError || status.result.canceled) {
+ console.log("Issue occurred in approved prompt");
+ mainWindow.webContents.send(`blockchainResponse:${location}:fail`);
+ return;
+ }
+
+ mainWindow.webContents.send(`blockchainResponse:${location}`, {status});
+ }
+
+ if (method.includes("getRawLink")) {
+
+ let processedRequest;
+ try {
+ processedRequest = decodeURIComponent(args.request);
+ } catch (error) {
+ console.log('Processing request failed');
+ deepLinkInProgress.value = false;
+ ipcRenderer.send("notify", t("common.raw.promptFailure"));
+ return;
+ }
+
+ let request;
+ try {
+ request = JSON.parse(processedRequest);
+ } catch (error) {
+ console.log(error);
+ deepLinkInProgress.value = false;
+ ipcRenderer.send("notify", t("common.raw.promptFailure"));
+ return;
+ }
+
+ if (
+ !request
+ || !request.id
+ || !request.payload
+ || !request.payload.chain
+ || !request.payload.method
+ || request.payload.method === Actions.INJECTED_CALL && !request.payload.params
+ ) {
+ console.log('invalid request format')
+ deepLinkInProgress.value = false;
+ ipcRenderer.send("notify", t("common.raw.promptFailure"));
+ return;
+ }
+
+ let requestedChain = args.chain || request.payload.chain;
+ if (!requestedChain || chain.value !== requestedChain) {
+ console.log("Incoming deeplink request for wrong chain");
+ ipcRenderer.send("notify", t("common.raw.failed"));
+ deepLinkInProgress.value = false;
+ return;
+ }
+
+ if (!Object.keys(Actions).map(key => Actions[key]).includes(request.payload.method)) {
+ console.log("Unsupported request type rejected");
+ return;
+ }
+
+ let apiobj = {
+ id: request.id,
+ type: request.payload.method,
+ payload: request.payload
+ };
+
+ let blockchain;
+ if (blockchainActions.includes(apiobj.type)) {
+ try {
+ blockchain = await getBlockchainAPI(chain);
+ } catch (error) {
+ console.log(error);
+ deepLinkInProgress.value = false;
+ return;
+ }
+ }
+
+ if (!blockchain) {
+ console.log('no blockchain')
+ deepLinkInProgress.value = false;
+ return;
+ }
+
+ if (!settingsRows.value.includes(apiobj.type)) {
+ console.log("Unauthorized beet operation")
+ deepLinkInProgress.value = false;
+ return;
+ }
+
+ if (apiobj.type === Actions.INJECTED_CALL) {
+ let tr;
+ try {
+ if (["BTS", "BTS_TEST", "TUSC"].includes(chain)) {
+ tr = blockchain._parseTransactionBuilder(request.payload.params);
+ } else if (["EOS", "BEOS", "TLOS"].includes(chain)) {
+ tr = JSON.parse(request.payload.params[1]);
+ }
+ } catch (error) {
+ console.log(error)
+ }
+
+ let authorizedUse = false;
+ if (["BTS", "BTS_TEST", "TUSC"].includes(chain)) {
+ for (let i = 0; i < tr.operations.length; i++) {
+ let operation = tr.operations[i];
+ if (settingsRows.value && settingsRows.value.includes(operation[0])) {
+ authorizedUse = true;
+ break;
+ }
+ }
+ } else if (["EOS", "BEOS", "TLOS"].includes(chain)) {
+ for (let i = 0; i < tr.actions.length; i++) {
+ let operation = tr.actions[i];
+ if (settingsRows.value && settingsRows.value.includes(operation.name)) {
+ authorizedUse = true;
+ break;
+ }
+ }
+ }
+
+ if (!authorizedUse) {
+ console.log(`Unauthorized use of raw deeplinked ${chain.value} blockchain operation`);
+ deepLinkInProgress.value = false;
+ return;
+ }
+ console.log("Authorized use of raw deeplinks")
+ }
+
+ let status;
+ try {
+ if (apiobj.type === Actions.INJECTED_CALL) {
+ status = await injectedCall(apiobj, blockchain);
+ } else if (apiobj.type === Actions.VOTE_FOR) {
+ status = await voteFor(apiobj, blockchain);
+ } else if (apiobj.type === Actions.TRANSFER) {
+ status = await transfer(apiobj, blockchain);
+ }
+ } catch (error) {
+ console.log(error || "No status")
+ deepLinkInProgress.value = false;
+ return;
+ }
+
+ if (!status || !status.result || status.result.isError || status.result.canceled) {
+ console.log("Issue occurred in approved prompt");
+ deepLinkInProgress.value = false;
+ return;
+ }
+
+ console.log(status);
+ deepLinkInProgress.value = false;
+ }
+
+ if (method.includes("localFileUpload")) {
+ const {settingsRows, filePath} = arg;
+ fs.readFile(filePath, 'utf-8', async (error, data) => {
+ if (error) {
+ console.log({error})
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ const { requestBody } = data;
+
+ let request;
+ try {
+ request = JSON.parse(requestBody);
+ } catch (error) {
+ console.log(error);
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ if (
+ !request
+ || !request.id
+ || !request.payload
+ || !request.payload.chain
+ || !request.payload.method
+ || request.payload.method === Actions.INJECTED_CALL && !request.payload.params
+ ) {
+ console.log('invalid request format');
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ let requestedChain = request.payload.chain;
+ if (!requestedChain || chain !== requestedChain) {
+ console.log("Incoming uploaded request for wrong chain");
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ if (!Object.keys(Actions).map(key => Actions[key]).includes(request.payload.method)) {
+ console.log("Unsupported request type rejected");
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ if (!blockchainActions.includes(request.payload.method)) {
+ console.log("Unsupported request type rejected");
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ if (!settingsRows.includes(request.payload.method)) {
+ console.log("Unauthorized beet operation");
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ if (request.payload.method === Actions.INJECTED_CALL) {
+ let tr;
+ try {
+ tr = blockchain._parseTransactionBuilder(request.payload.params);
+ } catch (error) {
+ console.log(error);
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ let authorizedUse = false;
+ for (let i = 0; i < tr.operations.length; i++) {
+ let operation = tr.operations[i];
+ if (settingsRows && settingsRows.includes(operation[0])) {
+ authorizedUse = true;
+ break;
+ }
+ }
+
+ if (!authorizedUse) {
+ console.log(`Unauthorized use of local ${chain.value} blockchain operation`);
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+ console.log("Authorized use of local json upload")
+ }
+
+ let apiobj = {
+ id: request.id,
+ type: request.payload.method,
+ payload: request.payload
+ };
+
+ let status;
+ try {
+ if (apiobj.type === Actions.INJECTED_CALL) {
+ status = await injectedCall(apiobj, blockchain);
+ } else if (apiobj.type === Actions.VOTE_FOR) {
+ status = await voteFor(apiobj, blockchain);
+ } else if (apiobj.type === Actions.TRANSFER) {
+ status = await transfer(apiobj, blockchain);
+ }
+ } catch (error) {
+ console.log(error || "No status")
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ if (!status || !status.result || status.result.isError || status.result.canceled) {
+ console.log("Issue occurred in approved prompt");
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ responses['localFileUpload'] = status;
+ });
+ }
+
+ if (method.includes("processQR")) {
+ const { qrChoice, qrData, settingsRows } = arg;
+ let qrTX;
+ try {
+ qrTX = ["BTS", "BTS_TEST", "TUSC"].includes(chain)
+ ? await blockchain.handleQR(qrData)
+ : JSON.parse(qrData);
+ } catch (error) {
+ console.log(error);
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ if (!qrTX) {
+ console.log("Couldn't process scanned QR code, sorry.")
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ let authorizedUse = false;
+ if (["BTS", "BTS_TEST", "TUSC"].includes(chain)) {
+ for (let i = 0; i < qrTX.operations.length; i++) {
+ let operation = qrTX.operations[i];
+ if (settingsRows && settingsRows.includes(operation[0])) {
+ authorizedUse = true;
+ break;
+ }
+ }
+ } else if (
+ ["EOS", "BEOS", "TLOS"].includes(chain)
+ ) {
+ for (let i = 0; i < qrTX.actions.length; i++) {
+ let operation = qrTX.actions[i];
+ if (settingsRows && settingsRows.includes(operation.name)) {
+ authorizedUse = true;
+ break;
+ }
+ }
+ }
+
+ if (!authorizedUse) {
+ console.log(`Unauthorized QR use of ${chain} blockchain operation`);
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ console.log('Authorized use of QR codes');
+
+ let apiobj = {
+ type: Actions.INJECTED_CALL,
+ id: await uuidv4(),
+ payload: {
+ origin: 'localhost',
+ appName: 'qr',
+ browser: qrChoice,
+ params: ["BTS", "BTS_TEST", "TUSC"].includes(chain)
+ ? qrTX.toObject()
+ : qrTX,
+ chain: chain
+ }
+ }
+
+ let status;
+ try {
+ status = await injectedCall(apiobj, blockchain);
+ } catch (error) {
+ console.log(error);
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ if (!status || !status.result || status.result.isError || status.result.canceled) {
+ console.log("Issue occurred in approved prompt");
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ responses['qrData'] = status;
+ }
+
+ if (method.includes("verifyAccount")) {
+ const { accountname, authorities } = arg;
+ let account;
+ try {
+ account = await blockchain.verifyAccount(accountname, authorities, chain);
+ } catch (error) {
+ console.log(error);
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ if (!account) {
+ console.log("Couldn't verify account, sorry.")
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ responses['verifyAccount'] = {account, authorities};
+ }
+
+ if (method.includes("verifyCloudAccount")) {
+ const { accountname, pass, legacy } = arg;
+
+ const active_seed = accountname + 'active' + pass;
+ const owner_seed = accountname + 'owner' + pass;
+ const memo_seed = accountname + 'memo' + pass;
+
+ let authorities;
+ try {
+ authorities = legacy
+ ? {
+ active: PrivateKey.fromSeed(active_seed).toWif(),
+ memo: PrivateKey.fromSeed(active_seed).toWif(), // legacy wallets improperly used active key for memo
+ owner: PrivateKey.fromSeed(owner_seed).toWif()
+ }
+ : {
+ active: PrivateKey.fromSeed(active_seed).toWif(),
+ memo: PrivateKey.fromSeed(memo_seed).toWif(),
+ owner: PrivateKey.fromSeed(owner_seed).toWif()
+ };
+ } catch (error) {
+ console.log(error);
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ let account;
+ try {
+ account = await blockchain.verifyAccount(accountname, authorities);
+ } catch (error) {
+ console.log(error);
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ if (!account) {
+ console.log("Couldn't verify account, sorry.")
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ responses['verifyCloudAccount'] = {account, authorities};
+ }
+
+ if (method.includes("decryptBackup")) {
+ const { filePath, pass } = arg;
+ fs.readFile(filePath, async (err, data) => {
+ if (err) {
+ console.log({err});
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ let wh = new BTSWalletHandler(data);
+ let unlocked;
+ try {
+ unlocked = await wh.unlock(pass);
+ } catch (error) {
+ console.log({error});
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ if (!unlocked) {
+ console.log("Wallet could not be unlocked");
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ let retrievedAccounts;
+ try{
+ retrievedAccounts = await wh.lookupAccounts();
+ } catch (error) {
+ console.log({error});
+ mainWindow.webContents.send(`blockchainResponse:${location}:error`);
+ return;
+ }
+
+ responses['decryptBackup'] = retrievedAccounts;
+ });
+ }
+
+ mainWindow.webContents.send(`blockchainResponse:${location}`, responses);
+ });
+
/*
* Create modal popup & wait for user response
*/
@@ -423,7 +1087,6 @@ const createWindow = async () => {
let seed;
function timeoutHandler() {
seed = null;
- const emitter = mitt();
try {
mainWindow.webContents.send('timeout', 'logout');
} catch (error) {
diff --git a/src/components/account-details.vue b/src/components/account-details.vue
index 847a455b..4763654f 100644
--- a/src/components/account-details.vue
+++ b/src/components/account-details.vue
@@ -13,12 +13,15 @@
return {}
}
},
- blockchain: {
- type: Object,
+ explorer: {
+ type: String,
required: true,
- default() {
- return {}
- }
+ default: ""
+ },
+ type: {
+ type: String,
+ required: true,
+ default: ""
}
});
@@ -26,26 +29,18 @@
return formatChain(props.account.chain);
});
- let explorer = computed(() => {
- if (!props.blockchain) {
- return;
- }
- return props.blockchain.getExplorer(props.account);
- });
-
let accessType = computed(() => {
- if (!props.blockchain) {
+ if (!props.type) {
return;
}
- let type = props.blockchain.getAccessType();
- return type == "account"
+ return props.type == "account"
? t('common.account_details_name_lbl')
: t('common.account_details_address_lbl');
});
- function openExplorer(account) {
+ function openExplorer() {
// TODO: Copy/Paste link for external browser instead?
- shell.openExternal(explorer.value);
+ shell.openExternal(props.explorer);
}
@@ -58,7 +53,7 @@
v-if="explorer"
class="step_btn"
outline
- @click="openExplorer(account)"
+ @click="openExplorer()"
>
{{ t('common.account_details_explorer_lbl') }}
diff --git a/src/components/account-select.vue b/src/components/account-select.vue
index 805ee45a..b64c0e0f 100644
--- a/src/components/account-select.vue
+++ b/src/components/account-select.vue
@@ -7,7 +7,7 @@
const { t } = useI18n({ useScope: 'global' });
let chosenAccount = ref(store.getters["AccountStore/getCurrentIndex"]);
- let selectedAccount = ref()
+ let selectedAccount = ref();
/*
* Retrieve the list of accounts for allocation to prop
@@ -28,15 +28,11 @@
* @returns {Array}
*/
let accountOptions = computed(() => {
- let accountList;
- try {
- accountList = store.getters['AccountStore/getSafeAccountList'];
- } catch (error) {
- console.log(error);
+ if (!accounts.value || !accounts.value || !accounts.value.length) {
return [];
}
- let options = accountList.map((account, i) => {
+ let options = accounts.value.map((account, i) => {
return {
label: !account.accountID && account.trackId == 0
? 'cta' // TODO: Replace
diff --git a/src/components/actionbar.vue b/src/components/actionbar.vue
index fdcae3f9..f04ad213 100644
--- a/src/components/actionbar.vue
+++ b/src/components/actionbar.vue
@@ -1,10 +1,9 @@
@@ -107,7 +116,7 @@
{{ t('common.back_btn') }}
diff --git a/src/components/blockchains/bitshares/ImportBinFile.vue b/src/components/blockchains/bitshares/ImportBinFile.vue
index b0a0b95c..16a1493d 100644
--- a/src/components/blockchains/bitshares/ImportBinFile.vue
+++ b/src/components/blockchains/bitshares/ImportBinFile.vue
@@ -3,9 +3,6 @@
import { ipcRenderer } from 'electron';
import { useI18n } from 'vue-i18n';
- import getBlockchainAPI from "../../../lib/blockchains/blockchainFactory";
- import BTSWalletHandler from "../../../lib/blockchains/bitshares/BTSWalletHandler";
- const emitter = inject('emitter');
const { t } = useI18n({ useScope: 'global' });
const props = defineProps({
@@ -16,6 +13,8 @@
}
});
+ const emit = defineEmits(['back', 'continue', 'imported']);
+
onMounted(() => {
if (!["BTS", "BTS_TEST", "TUSC"].includes(props.chain)) {
throw "Unsupported chain!";
@@ -28,7 +27,6 @@
let wallet_file = ref(null);
let bin_file_password = ref(null);
let accounts = ref([]);
- let picked = ref([]);
// function to remove account from accounts given an account id
function removeAccount(id) {
@@ -39,36 +37,6 @@
wallet_file.value = e.target.files[0];
}
- async function _decryptBackup() {
- let loaderPromise = new Promise((resolve, reject) => {
- inProgress.value = true;
- let reader = new FileReader();
- reader.onload = async evt => {
- let wh = new BTSWalletHandler(evt.target.result);
- let unlocked;
- try {
- unlocked = await wh.unlock(bin_file_password.value);
- } catch (e) {
- ipcRenderer.send("notify", t("common.error_text"));
- reject(e);
- }
-
- if (unlocked) {
- accounts.value = await wh.lookupAccounts();
- substep1.value = false;
- substep2.value = true;
- inProgress.value = false;
- resolve(null);
- } else {
- inProgress.value = false;
- reject("Wallet could not be unlocked");
- }
- };
- reader.readAsBinaryString(wallet_file.value);
- });
- return await loaderPromise;
- }
-
function _getPickedAccounts() {
let pickedAccounts = [];
for (let i in accounts.value) {
@@ -89,21 +57,36 @@
if (pickedAccounts && pickedAccounts.length) {
console.log('importing accounts');
- emitter.emit('accounts_to_import', pickedAccounts);
+ emit('imported', pickedAccounts);
}
}
- function back() {
- emitter.emit('back', true);
- }
-
async function next() {
if (substep1.value) {
- await _decryptBackup()
+ ipcRenderer.send("blockchainRequest", {
+ methods: ["decryptBackup"],
+ location: 'importBinFile',
+ chain: props.chain,
+ filePath: wallet_file.value,
+ pass: bin_file_password.value
+ });
} else {
_getPickedAccounts();
}
}
+
+ ipcRenderer.on("blockchainResponse:importBinFile", (event, data) => {
+ const { decryptBackup } = data;
+ if (decryptBackup) {
+ accounts.value = decryptBackup;
+ substep1.value = false;
+ substep2.value = true;
+ }
+ });
+
+ ipcRenderer.on("blockchainResponse:importBinFile:error", (event, data) => {
+ ipcRenderer.send("notify", t("common.error_text"));
+ })
@@ -145,7 +128,7 @@
{{ t('common.back_btn') }}
diff --git a/src/components/blockchains/bitshares/ImportCloudPass.vue b/src/components/blockchains/bitshares/ImportCloudPass.vue
index a98c4d95..ca034b12 100644
--- a/src/components/blockchains/bitshares/ImportCloudPass.vue
+++ b/src/components/blockchains/bitshares/ImportCloudPass.vue
@@ -1,10 +1,8 @@
@@ -116,7 +87,7 @@
{{ t('common.back_btn') }}
{{ t('common.next_btn') }}
-
+
-
+
Connecting to blockchain
- import {ref, inject, computed} from "vue";
- const emitter = inject('emitter');
+ import {ref, inject, computed, defineEmits} from "vue";
import { useI18n } from 'vue-i18n';
const { t } = useI18n({ useScope: 'global' });
- import getBlockchainAPI from "../../../lib/blockchains/blockchainFactory";
+ import { watchEffect } from "vue";
+ import { ipcRenderer } from "electron";
const props = defineProps({
chain: {
@@ -13,45 +13,52 @@
}
});
+ const emit = defineEmits(['back', 'continue', 'imported']);
+
let accountname = ref("");
let memopk = ref("");
- let accessType = computed(() => {
- if (!props.chain) {
- return null;
+ let accessType = ref();
+ let requiredFields = ref();
+ watchEffect(() => {
+ if (props.chain) {
+ ipcRenderer.send("blockchainRequest", {
+ methods: ["getAccessType", "getSignUpInput"],
+ location: 'importMemoInit',
+ });
}
- let blockchain = getBlockchainAPI(props.chain);
- return blockchain.getAccessType();
});
- let requiredFields = computed(() => {
- if (!props.chain) {
- return null;
+ ipcRenderer.on("blockchainResponse:importMemoInit", (event, data) => {
+ const { getAccessType, getSignUpInput } = data;
+ if (getAccessType) {
+ accessType.value = getAccessType;
+ }
+ if (getSignUpInput) {
+ requiredFields.value = getSignUpInput;
}
- let blockchain = getBlockchainAPI(props.chain);
- return blockchain.getSignUpInput();
});
- function back() {
- emitter.emit('back', true);
- }
-
- async function next() {
- let blockchain = getBlockchainAPI(props.chain);
+ async function next() {
let authorities = {};
if (requiredFields.value.memo != null) {
authorities.memo = memopk.value;
}
- let account;
- try {
- account = await blockchain.verifyAccount(accountname.value, authorities);
- } catch (error) {
- console.log(error);
- return;
- }
+ ipcRenderer.send("blockchainRequest", {
+ methods: ["verifyAccount"],
+ location: 'importMemo',
+ accountname: accountname.value,
+ chain: props.chain,
+ authorities: authorities
+ });
+ }
- emitter.emit('accounts_to_import', [{
+ ipcRenderer.on("blockchainResponse:importMemo", (event, data) => {
+ const { account, authorities } = data;
+
+ emit('continue');
+ emit('imported', [{
account: {
accountName: accountname.value,
accountID: account.id,
@@ -59,7 +66,12 @@
keys: authorities
}
}]);
- }
+ });
+
+ ipcRenderer.on("blockchainResponse:importMemo:error", (event, data) => {
+ console.log("Account verification error, check your memo key and try again");
+ ipcRenderer.send("notify", t("common.unverified_account_error"));
+ });
@@ -100,7 +112,7 @@
{{ t('common.back_btn') }}
diff --git a/src/components/blockchains/operations.vue b/src/components/blockchains/operations.vue
index 8e8fe458..01adaa0a 100644
--- a/src/components/blockchains/operations.vue
+++ b/src/components/blockchains/operations.vue
@@ -2,7 +2,7 @@
import { onMounted, watchEffect, ref, computed, inject } from 'vue';
import { useI18n } from 'vue-i18n';
import store from '../../store/index';
- import getBlockchainAPI from "../../lib/blockchains/blockchainFactory";
+ import { ipcRenderer } from 'electron';
const { t } = useI18n({ useScope: 'global' });
const emitter = inject('emitter');
@@ -28,9 +28,6 @@
}
let thead = ref(['ID', 'Method', 'Info'])
-
- let chain = store.getters['AccountStore/getChain'];
-
let tbody = ref([
{
field: 'id',
@@ -41,33 +38,54 @@
{
field: 'method',
fn: data => {
- return t(`operations.injected.${chain}.${data.method}.method`)
+ return t(`operations.injected.${chain.value}.${data.method}.method`)
}
},
{
field: 'info',
fn: data => {
- return t(`operations.injected.${chain}.${data.method}.tooltip`)
+ return t(`operations.injected.${chain.value}.${data.method}.tooltip`)
}
}
]);
- let data = computed(() => {
- // get operations
- let chain = store.getters['AccountStore/getChain'];
- let types = getBlockchainAPI(chain).getOperationTypes();
- return types;
+ let chain = computed(() => {
+ return store.getters['AccountStore/getChain'];
+ });
+
+ let data = ref([]);
+ watchEffect(() => {
+ if (chain.value) {
+ ipcRenderer.send('blockchainRequest', {
+ methods: ["getOperationTypes"],
+ location: 'operations',
+ chain: chain.value
+ });
+ }
+ });
+
+ ipcRenderer.on('blockchainResponse:operations', (event, arg) => {
+ const { getOperationTypes } = arg;
+ if (getOperationTypes) {
+ data.value = getOperationTypes;
+ }
+ });
+
+ ipcRenderer.on('blockchainResponse:operations:error', (event, arg) => {
+ console.log('Error getting operation types');
});
let settingsRows = computed(() => {
// last approved TOTP rows for this chain
- let chain = store.getters['AccountStore/getChain']
- let rememberedRows = store.getters['SettingsStore/getChainPermissions'](chain);
- if (!rememberedRows || !rememberedRows.length) {
- return [];
- }
+ if (chain.value) {
+ let rememberedRows = store.getters['SettingsStore/getChainPermissions'](chain.value);
+ if (!rememberedRows || !rememberedRows.length) {
+ return [];
+ }
- return rememberedRows;
+ return rememberedRows;
+ }
+ return [];
});
let hasSelectedNewRows = ref(false);
diff --git a/src/components/dapps.vue b/src/components/dapps.vue
index 008717b6..7f44334b 100644
--- a/src/components/dapps.vue
+++ b/src/components/dapps.vue
@@ -4,7 +4,6 @@
import store from '../store/index';
import RendererLogger from "../lib/RendererLogger";
import {formatAccount} from "../lib/formatter";
- import getBlockchainAPI from '../lib/blockchains/blockchainFactory';
const { t } = useI18n({ useScope: 'global' });
const logger = new RendererLogger();
@@ -55,8 +54,6 @@
if (dapps.value && dapps.value.length) {
tableData.value = {
data: dapps.value.map(dapp => {
- let types = getBlockchainAPI(dapp.chain).getOperationTypes();
-
return {
appName: dapp.appName,
origin: dapp.origin,
@@ -64,7 +61,7 @@
chain: dapp.chain,
injectables: dapp.injectables && dapp.injectables.length
? dapp.injectables.length
- : types.length,
+ : '100%',
actions: dapp.id
}
}),
diff --git a/src/components/dashboard.vue b/src/components/dashboard.vue
index b8d9c0ae..34103fc7 100644
--- a/src/components/dashboard.vue
+++ b/src/components/dashboard.vue
@@ -1,6 +1,5 @@
diff --git a/src/components/header-small.vue b/src/components/header-small.vue
index 1f3baca2..ac29ba6c 100644
--- a/src/components/header-small.vue
+++ b/src/components/header-small.vue
@@ -1,16 +1,5 @@
diff --git a/src/components/lang-select.vue b/src/components/lang-select.vue
index 9ac8f4b2..e5562e8f 100644
--- a/src/components/lang-select.vue
+++ b/src/components/lang-select.vue
@@ -1,13 +1,11 @@
@@ -260,7 +168,7 @@
{{ t('common.local.upload') }}
diff --git a/src/components/popups.vue b/src/components/popups.vue
index 5f4929e6..327fd823 100644
--- a/src/components/popups.vue
+++ b/src/components/popups.vue
@@ -3,7 +3,6 @@
import { ipcRenderer } from 'electron';
import queryString from "query-string";
import { useI18n } from 'vue-i18n';
- import getBlockchainAPI from "../lib/blockchains/blockchainFactory";
import * as Actions from '../lib/Actions';
@@ -103,6 +102,30 @@
});
})
+ watchEffect(() => {
+ let thisType = type.value ?? payload.value?.type;
+ if (thisType !== Actions.REQUEST_LINK) {
+ return;
+ }
+
+ let thisChain = chain.value ?? request.value.chain;
+
+ ipcRenderer.send('blockchainRequest', {
+ methods: ["getOperationTypes"],
+ account: null,
+ chain: thisChain,
+ location: 'popups'
+ });
+ })
+
+ let types = ref();
+ ipcRenderer.on('blockchainResponse:popups', (event, data) => {
+ const { getOperationTypes } = data;
+ if (getOperationTypes) {
+ types.value = getOperationTypes;
+ }
+ });
+
let chainOperations = computed(() => {
let thisType = type.value ?? payload.value?.type;
if (thisType !== Actions.REQUEST_LINK) {
@@ -112,10 +135,9 @@
let thisChain = chain.value ?? request.value.chain;
let thisRequest = request.value ?? payload.value.request;
- let types = getBlockchainAPI(thisChain).getOperationTypes();
- if (!thisRequest.injectables || !thisRequest.injectables.length) {
+ if (types && (!thisRequest.injectables || !thisRequest.injectables.length)) {
// All operations are required
- return types.map(type => {
+ return types.value.map(type => {
return {
text: !type.id === type.method
? `${type.id}: ${type.method.replaceAll("_", " ")}`
@@ -129,7 +151,9 @@
for (let i = 0; i < thisRequest.injectables.length; i++) {
// Subset of operations are required
const currentInjection = thisRequest.injectables[i]; // id
- let foundCurrent = types.find(type => type.id === currentInjection.id);
+ let foundCurrent = types.value
+ ? types.value.find(type => type.id === currentInjection.id)
+ : null;
if (!foundCurrent) {
injectChips = []; // invalid op will nullify link request
break;
diff --git a/src/components/popups/genericrequestpopup.vue b/src/components/popups/genericrequestpopup.vue
index 99bcb0ab..68522698 100644
--- a/src/components/popups/genericrequestpopup.vue
+++ b/src/components/popups/genericrequestpopup.vue
@@ -1,11 +1,9 @@
diff --git a/src/components/popups/transactionrequestpopup.vue b/src/components/popups/transactionrequestpopup.vue
index 46ecd6bf..e4647aaf 100644
--- a/src/components/popups/transactionrequestpopup.vue
+++ b/src/components/popups/transactionrequestpopup.vue
@@ -1,12 +1,10 @@
@@ -179,7 +124,7 @@
v-if="settingsRows"
class="bottom p-0"
>
-
+
{{ t('common.qr.progress') }}
diff --git a/src/components/qr/Scan.vue b/src/components/qr/Scan.vue
index 6dd1ca3f..77c28d9a 100644
--- a/src/components/qr/Scan.vue
+++ b/src/components/qr/Scan.vue
@@ -1,5 +1,5 @@
@@ -240,7 +134,7 @@
v-if="settingsRows"
class="bottom p-0"
>
-
+
diff --git a/src/components/totp.vue b/src/components/totp.vue
index b4bb34e9..6af640f1 100644
--- a/src/components/totp.vue
+++ b/src/components/totp.vue
@@ -1,38 +1,27 @@
@@ -327,7 +192,7 @@
v-if="settingsRows"
class="bottom p-0"
>
-
+
diff --git a/src/lib/BeetServer.js b/src/lib/BeetServer.js
index 2bc435ba..b05445eb 100644
--- a/src/lib/BeetServer.js
+++ b/src/lib/BeetServer.js
@@ -1,6 +1,3 @@
-import {
- v4 as uuidv4
-} from "uuid";
import * as OTPAuth from "otpauth";
import sha256 from "crypto-js/sha256.js";
diff --git a/src/lib/IdGenerator.js b/src/lib/IdGenerator.js
index af8f61d7..e252df0d 100644
--- a/src/lib/IdGenerator.js
+++ b/src/lib/IdGenerator.js
@@ -1,3 +1,4 @@
+/*
export default class IdGenerator {
static rand(){
@@ -6,11 +7,6 @@ export default class IdGenerator {
return arr[0]/(0xffffffff + 1);
}
- /***
- * Generates a random string of specified size
- * @param size - The length of the string to generate
- * @returns {string} - The generated random string
- */
static text(size){
let text = "";
const possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
@@ -18,11 +14,6 @@ export default class IdGenerator {
return text;
}
- /***
- * Generates a random number of specified size
- * @param size - The length of the number to generate
- * @returns {string} - The generated random number ( as a string )
- */
static numeric(size){
const add = 1;
let max = 12 - add;
@@ -36,4 +27,19 @@ export default class IdGenerator {
return ("" + number).substring(add);
}
-}
\ No newline at end of file
+}
+*/
+
+/***
+ * Generates a random number of specified size
+ * @param size - The length of the number to generate
+ * @returns {string} - The generated random number ( as a string )
+ * text
+ */
+
+/***
+ * Generates a random string of specified size
+ * @param size - The length of the string to generate
+ * @returns {string} - The generated random string
+ * numeric
+ */
\ No newline at end of file
diff --git a/src/lib/Operations.js b/src/lib/Operations.js
index 20a66a82..2b7a146e 100644
--- a/src/lib/Operations.js
+++ b/src/lib/Operations.js
@@ -1,3 +1,4 @@
+/*
import getBlockchainAPI from "../lib/blockchains/blockchainFactory";
export default class operations {
@@ -10,4 +11,5 @@ export default class operations {
data: operation.data
};
}
-}
\ No newline at end of file
+}
+*/
\ No newline at end of file
diff --git a/src/lib/apiUtils.js b/src/lib/apiUtils.js
index b05e0468..2c53c544 100644
--- a/src/lib/apiUtils.js
+++ b/src/lib/apiUtils.js
@@ -1,7 +1,6 @@
import {ipcRenderer} from 'electron';
import store from '../store/index.js';
import {getKey} from './SecureRemote.js';
-import getBlockchainAPI from "./blockchains/blockchainFactory.js";
/*
* @param {String} method
@@ -174,7 +173,7 @@ async function _signOrBroadcast(
}
let activeKey;
- if (blockchain._config.identifier === "BTS") {
+ if (["BTS", "BTS_TEST", "TUSC"].includes(blockchain._config.identifier)) {
try {
activeKey = request.payload.account_id
? store.getters['AccountStore/getActiveKey'](request)
@@ -183,11 +182,7 @@ async function _signOrBroadcast(
console.log(error)
return _promptFail(txType + '.getActiveKey', request.id, error, reject);
}
- } else if (
- blockchain._config.identifier === "EOS" ||
- blockchain._config.identifier === "BEOS" ||
- blockchain._config.identifier === "TLOS"
- ) {
+ } else if (["EOS", "BEOS", "TLOS"].includes(blockchain._config.identifier)) {
activeKey = store.getters['AccountStore/getEOSKey']();
}
@@ -201,13 +196,9 @@ async function _signOrBroadcast(
let transaction;
try {
- if (blockchain._config.identifier === "BTS") {
+ if (["BTS", "BTS_TEST", "TUSC"].includes(blockchain._config.identifier)) {
transaction = await blockchain.sign(request.payload.params, signingKey);
- } else if (
- blockchain._config.identifier === "EOS" ||
- blockchain._config.identifier === "BEOS" ||
- blockchain._config.identifier === "TLOS"
- ) {
+ } else if (["EOS", "BEOS", "TLOS"].includes(blockchain._config.identifier)) {
transaction = await blockchain.sign(JSON.parse(request.payload.params[1]), signingKey);
}
} catch (error) {
@@ -277,18 +268,14 @@ export async function requestSignature(request, blockchain) {
}
let visualizedAccount;
- if (blockchain._config.identifier === "BTS") {
+ if (["BTS", "BTS_TEST", "TUSC"].includes(blockchain._config.identifier)) {
try {
visualizedAccount = await blockchain.visualize(request.payload.account_id);
} catch (error) {
console.log(error);
return _promptFail("requestSignature.visualizedAccount", request.id, request, reject);
}
- } else if (
- blockchain._config.identifier === "EOS" ||
- blockchain._config.identifier === "BEOS" ||
- blockchain._config.identifier === "TLOS"
- ) {
+ } else if (["EOS", "BEOS", "TLOS"].includes(blockchain._config.identifier)) {
visualizedAccount = request.payload.authorization && request.payload.authorization.length
? request.payload.authorization[0].actor
: "";
@@ -331,7 +318,7 @@ export async function injectedCall(request, blockchain) {
let blockedAccounts;
let foundIDs = [];
- if (blockchain._config.identifier === "BTS") {
+ if (["BTS", "BTS_TEST", "TUSC"].includes(blockchain._config.identifier)) {
// Decentralized warn list
let stringifiedPayload = JSON.stringify(request.payload.params);
@@ -363,7 +350,7 @@ export async function injectedCall(request, blockchain) {
return _promptFail("injectedCall", request.id, request, reject);
}
- if (blockchain._config.identifier === "BTS") {
+ if (["BTS", "BTS_TEST", "TUSC"].includes(blockchain._config.identifier)) {
if (!isBlocked && visualizedParams) {
// account names will have 1.2.x in parenthesis now - check again
if (!blockedAccounts) {
@@ -392,7 +379,7 @@ export async function injectedCall(request, blockchain) {
let account = "";
let visualizedAccount;
- if (blockchain._config.identifier === "BTS") {
+ if (["BTS", "BTS_TEST", "TUSC"].includes(blockchain._config.identifier)) {
let fromField = types.find(type => type.method === request.type).from;
if (!fromField || !fromField.length) {
account = store.getters['AccountStore/getCurrentSafeAccount']();
@@ -405,17 +392,13 @@ export async function injectedCall(request, blockchain) {
return _promptFail("injectedCall", request.id, request, reject);
}
}
- } else if (
- blockchain._config.identifier === "EOS" ||
- blockchain._config.identifier === "BEOS" ||
- blockchain._config.identifier === "TLOS"
- ) {
+ } else if (["EOS", "BEOS", "TLOS"].includes(blockchain._config.identifier)) {
const _actions = JSON.parse(request.payload.params[1]).actions;
visualizedAccount = _actions[0].authorization[0].actor;
}
if (
- blockchain._config.identifier === "BTS" &&
+ (["BTS", "BTS_TEST", "TUSC"].includes(blockchain._config.identifier)) &&
((!visualizedAccount && !account || !account.accountName) || !visualizedParams)
) {
console.log("Missing required fields for injected BTS call");
@@ -423,18 +406,14 @@ export async function injectedCall(request, blockchain) {
}
if (
- (blockchain._config.identifier === "EOS" ||
- blockchain._config.identifier === "BEOS" ||
- blockchain._config.identifier === "TLOS") &&
+ (["EOS", "BEOS", "TLOS"].includes(blockchain._config.identifier)) &&
!visualizedParams
) {
console.log(`Missing required fields for injected ${blockchain._config.identifier} based call`);
return _promptFail("injectedCall", request.id, request, reject);
}
- const popupContents = blockchain._config.identifier === "EOS" ||
- blockchain._config.identifier === "BEOS" ||
- blockchain._config.identifier === "TLOS"
+ const popupContents = (["EOS", "BEOS", "TLOS"].includes(blockchain._config.identifier))
? {
request: request,
visualizedAccount: visualizedAccount,
@@ -468,7 +447,7 @@ export async function injectedCall(request, blockchain) {
ipcRenderer.once(`popupApproved_${request.id}`, async (event, args) => {
let memoObject;
let _request = request;
- if (blockchain._config.identifier === "BTS") {
+ if (["BTS", "BTS_TEST", "TUSC"].includes(blockchain._config.identifier)) {
if (request.payload.memo) {
let from;
let to;
From 59f8c8590054c3dd8a581ef9da86a0c6ac3bf9c6 Mon Sep 17 00:00:00 2001
From: CM
Date: Fri, 2 Feb 2024 14:36:58 +0000
Subject: [PATCH 03/27] Apply context isolation and change logo colour scheme
Apply critical webpreferences security settings
Change colour scheme of logos to reflect it's beeteos not beet wallet
---
app/img/beet-notification.png | Bin 99037 -> 87304 bytes
app/img/beet-taskbar.png | Bin 42675 -> 29234 bytes
app/img/beet-tray.png | Bin 42675 -> 29234 bytes
app/img/beet.png | Bin 99037 -> 87220 bytes
app/img/beetSmall.png | Bin 19337 -> 24013 bytes
src/background.js | 22 +++++++++++-----------
6 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/app/img/beet-notification.png b/app/img/beet-notification.png
index 2550ca0b28041bf81e6c785018698842c3489b38..6f0f966359297a64b34c9d0479c3595b4abf4596 100644
GIT binary patch
literal 87304
zcmeFZbyQqUmoDD8yGx*P3DPvK!7V`W-~k$U*WgZYcPF?z1Pdg%yGsb}Zb>c)?|k1o
zb4Tv1b?&RYhrF?40Lk0GX@&FnVSFrZi^KerYw@FLT;
z)a$2v2Or5v_D!~iwcEQN-<>b+V8&kGAK#^qJlyT`RTWjeqd)WVdc1FCxVZZ|cO!a&
zA;d!HWID!u@M6m|cRhP<<-v98@j`xVjcn(~s|3%mG45ZFo=kFIWj_&qI^%EFKgs^t
zqB8!A?egL3=K#ry7tJT1pC&(t`O$CMkRBh8`yLnWI>HdJlQ!J
zoxH)~{pD`@%S+tz&ZP6#h4s%-&8v(b0=m%)Al*B!;%KRswX?6?PQeeBsXi#b=sH+$
z*1mSmxbUame#u9NAo!S%vVZH7Xwq@*J9=<#9l*?A>o}cx*z57C2;NN3-q3{p>D)(v
zqot8sD-@qNReC#C)9ktS@xi`sFf;jE=Bhp0?CqS-$QZ%TDIcGfab9FchidOpyl>~>
ztX0EXnz!+;HNfLfj%mk_d>8L)Uj3T*46hDaF|QQRZ~E5KD}DU3@w4uZe*8wogb>Ba
zpa*LguKh``zK%Yel?z47q19OjPoIGLY!SPIau8?PYreR@jamrjGLnvZTn_RE`_
zvh7v13)kGsj`IeKPdbBrG#TsE<|7(x$7p&T9>|5{#YID0i%y=IUH^G?_*sY&n%><4T5BTuysc|AJ@)&kE(f
z)jCxEW&5N+!)kV{6RN^mq2}noLLrVDy7vtr)QczHl_|fW9*2EHcFRUEfs7ETlY8LX
zm$%;VLi?fIWppGt3R@wIMC*gH~u;?yscj
zG7#7?-ST6|ab(ugC+-c03c476=+2I6Uvh5Vcib`nCsuyDn)xLLqSG6fU{T+4!O`-f
zHh%Ra`Y6|8rmvoO(67XQ&cfgvK%6tR*EBioeO9D~j*yD$LP*ljjZed{z;dOdSd#sey2e=@0N*s{TG+WPz8CbU)2ZY0NH$3uS6d
z-_R`aww~DtIDLnb@p>D+_VH!RDC0LYQGdsCGVN{B{E$SQBmP-;^{M@p^upEa0sBj(
zZ|7dIHcN-^@uPK6COWJQp_c=B;||#8^mJP%eTOTM+XlX95yM=k7!)ZwW=Hr`KZfzJ
zm}kgIeyO&cb*i%&{Ux1#7o}lOmXdvGnUQ`De?MW?rbkM#?Yx$B5n42dcTH=bl22m)
zJ>fx!w)E@RQku_6$C^z#Ej?OX!ibijTcGG@Za{N8%}NI5`itRLsgFm;++Tl&;%&D-
ztQm2;nl28dw>#UV8_wN-r@c$*Y#aJ@P3xx$=1xwLx}kFHlSqB#H+(K`MCX4ESTo%R
z8bu1CD8Ba1ODSw&R^eR1AH(StOoRja+84ZpF%#`~mcqZ#SeQX3GSVohKYpzp8MMwS
zAQRpesr;3AuUB+Eem#sZh`gyc>ZhTPHz&GINa&dPXjX6JJ^C9CO%nk2;>a%?ha1%}
zs^-gruW11>Z$zW}A{g;z9Lv@~SyF*|G2WDI#V*}cN0CJPqL11x
zJ@wq5qsAncl2{h0k9|Q-go0Fh#F2G^YvSd#lUY^FIq^G-KUxBAa#pr%Jn8Dg3TgWA!w*`L+ydKnU=GvzGzI9Tk2vM2x!H69Z%Cn&C;gm
z@JPP`d_&$%i@ORk;Jo|Frs-btVP-=MA*@N07Bl{EAu5ax@Uhsesx7Ilb~qjP8|(YI
zM(&pKx|=U3k0_nO)XSGpGm8`q$B0|yK0mYw8IeDTM~QTyPT9Z>X2r8%lPP|iUlsMi
zGa*9$>={2}A!_TF2D_<`jd*8Bu6`M@2D+6hK=bVY>K26~xutDWD$R|>)$gUSvIOdA
zQ|A(9q*MxNPsYs4Y!D{s&+6~fsKydvhX(J=h=>UH}If65QF<^K}bewlwT0errSA?MoX$aWs
zX_xbDpx}!MUv3So73@1|3le2<8*IUF$uV{qAM9iFv&jLf_+%sZlrcaHMtd{>wPWU8GwOGP`?f~?Zp(&MiSk72l14*{19V}r6kIUNP#|?VPeNJ
zLjTnMI3v&AWDUC=eKt(=-ecgyQ#2Wh92J6a#m#wdjo#|F4H0fog~$_iG{$lmrG+Ab
zxob&3v*cLhOUlCD+U$KkfD<7+#3UlZ1Sq++;V^Ocqj&LsHU_RJwZaOp^y{(^lYCUt
z$HYK({*H2}R1;NgEVm5CXd2if1o0M!h8mkARO(1eBTxo%HR&|sGx@(KVb;KqEGcXS
zD$hE{NfzaD`n7Au4n$(^zMNh}a(zqJD|4x7_gSh(Czn##rf=UsM;6dOo+cNh2)zc)
zL=eQx8~81)BX52ZZTQoTNC=h?gpgKU2TsSx@3Yi`8I1KXKkr#=c?``Rru3(eiVBRm
zI%e>DuvWsSYswDxzDp(VrNo2m@)4xyk)V(Q>VIrbvU!I?eB8>TtNb|c5t4Mz%eg2i
z$F*B}ywnP_oC_bCVE{#`}q
zB2c7LaYkIgL(#(P>9wHA#NO$uVt?`VenXfmx?EE7neLtU)&RaK6H{Nq%l2)zb$
z7SUYI7kw++UPT8_x7fL@&5)Q&!=czWgq~zeaM6O2=8rHJA}am6JU2#S=gIV5T3%-PkPMTKYV;%9m}C8kIV*`oJnOqBm|pW
zQP=AtW+t#mQP28aF*B#692%!cB_q}b>A{FkO!Pc(;`mR)e9Ym&L6eOoWx~SG;;&eZ
zAH-jlhmmr}T$rN?dC`J9E+9!mFU_Z6);go;F81iPsiEU0(LB5jOOH?iqmCUR6SlyP
zvc@U(A(7M!+pG%*751(FT0dhKSF@E;5S;(#Z$OH!rV(35+s-%%6>wkht;`m0T_EPm
z(g<;fqy@tgs*H{1VAFfD|Kz4Qn
zEly&H#NXLosf|Zh@yxs1hU<54XB)=^hK7X9(Qt1Svkm3kgk62g@@=_|q{A!)9sv?t
zY7S)Pz1Y4)MSl<;ba6d@Cx_dv$Jb!SX&QKlZiUuLu)VHyu!Rt{JM5k>
z#~3vaLzaqoO3Kf*w${>lexyuh074b=CpfJt{lt+dc6mbv!sfc#?fd~vTI*FMO>;hW
z-TO$bd{IsOGQC^5`u?-VdIDYuO8iyn432tcL4+E$VCgD4SiB1+HL|#SB}jpgi|ni4
z0)2lmzb@F9+OlIl`i_!bziXCOK~ih%t?r8@7$s||JgH)EIJ_>D#nL5+Yc}9A?u@z!
zg%6igmLo?1=p7m*RVx>jhn7gI|CJ&}Qp@gFf>$sla?@6{V!?<59Wl467g&3E1uUHSwV
zDIrB%^PEB39_nNHHZ!cg9j=+wN|-_Ad7mVDMRFQjOMB3|gYx#LT33VHf4))cWGWM=
zxm1Z|OvY%ZX7E&uU*7A5xv$i16pm+8DlSq>$lGm&C0!w2f}TfV03{>qbo3~1eL`;H
z4Ty6oz-_lSxb!On66vSLiiyM4A0VBDyg)D|O}0bCSzb9O8WB`#8i$M=NBNbkql;5<
zM0XJTBbWEHyE5KxTqwqNUv{t9^Gl^+VsZJkX9rBAMI~feDnQg{_ua{cBQ_|#J?2!$ihxG{>uzpNyizA&*{1-H0VN()E$VP0wmfzqy^LH+yB1`NX{
z0wTmL0yYeK5XmyB?&OBTFdJ4;DUw^aKhSHUF9|_y0k>_GRXn&+T6I%UE{5-+QTRo{
zB;Lm#hU1~|=E`BWm4bxJuzA6OZcHZ1?(qx7@*F{e5~db6{vk_h7k*!xh4mbWX_>7P
za^4|U3}9X}?-sn2B{_rQ57?0>Ica+hZO#op6l1rUrJ3+a6VZW6poAp98%>dh2U=MT
zUksUNFuy>%K+0x=F{nqjl#Rr{6GDsq$sj;bpG#;ri9h2#J@})PQ(ZZE0yckA5Z3yg
z;(~gRP#_03v@eZqSI24dvaw?MU<@3bDD9gD6L5C)0&O#`qCkCdgHmmP`YLBve
zAK4^#QW_3sF6g5Ja|oMczi%uDb{lk8m))GN`coHmI)@(OebmMhWzlF#60s5ZOmTV`
ziU|lLz0jLwiJJ3Nb;k(KNGyP4-%s0x>C7A@ihogM_>fOgyx$MnR`IpT+VQZ!jGK=j
zX^%p5yzX6t3cH)>dED_e?7;l~3!Z+PwfKxgm}180^;glJg8!xyas83e;Hkh5gEzx^fxXJ-h80wQ`kd9
z#IMQylDL#5bBn<1RNWkfJIdtDT>5-U8UX!LYYn4fEG;=pD&8DC9E<3W;PNccyugGK
z6KJzX)E{cD(t@JwqZhEPT2Mnk;NBwDJS-&!l1R6>K*YG!N^iiRrXm2ydf|P~L^wjH
z+Qs#u8+i|1b_Y-V-YNe=>VgCWBFa*_!%Z(^0PLTmfTF%mTF|m
zxWSp0S-;SXcZviUhss{m9(&=AaRTZwi?ku+Lxw~($MyiC@y0B1sP4S
zea2kv7o=b~u)Lr55D}RB%Mg)TtU!+8w63r0J3P7|{qI?iXuz+BcOQ?_X(Ys=a6&Y$
z^ETFT5iDyf$Cv;u5~i;exCS`zqpl8&V^Z{WK7W%f*ch^#R`xPlNO1nJ>)H>u5)~K`
zYGyPU_~0IrMy=Xx0h_6&o31KVgPwzvNfg5M0;!7UMR0@&nxSOeIKN=RX4ZF8qf{|Uje2lt?U$;EK|?7>BUIxADUqU=-3V)+V7o#amCbs7fS
zT`r9QtCK~$M?sdzkF}g!vL<9>X!*`
z(2Q^WqREbLr4`+hVH2_gm)Vku^P8qPee3e4WBE{PF6q~}}wSOrH_
zyFmeY4A!NGdTw|*$qRqQ@3}!;tQxZk3zF<2rj})o3iU1i)a!9_1Goe@O2PHl?b-wF
zgI{Xm@#%Kmhoks#sGxm|Ez`%n(7sQGJBtZIo0nN*^p~AJf~IDmDyS^zx|G8>)o{=)
zyX0W*Pl5St#{i;~SV;+VY_ai+!W*Z`(@
zKv_}lUi_i4Q||LkhP{{{n3#Ukq&g{^i8tCbiew#2E9e-ZpA(Cm{ccMix*AvbV20WQ
zXmMsXr`bWV7r(JpC~-TiDZy={`|n
zGNcnLu5>pmyG+n-Yw+m1)tobHdq;R`WJ65#*>I+$s9BnW5}SBy@;GGBi01`Ol5B)%
z>VgRNEt*tr1%2N-tj)`1|82f8{~Wy(oNbJOI-s|XmTs*r(w(3Fs;eu3cn1~AqUFzC
zy9=D&SD;6mh%V+IC7pXi^MU>@<2fq0oTFG;RfDe!nxXP*8y^~Yzs}9tcq;6(-yBvq
zrF>1_5KA}XRI@@3opBGw$~w;U1Tw7!9m#jBn=RbBSG>jd5VS
z&!M|zTi8=;jabYPEao8^o3eRnE!$IxjL?NF|NRZDP}ch3d}ah&Iu|
z07|HZ60R^AcycIDc#EONCR0&dkDRoOd`5)Tv~aziVrP0YIl`%Er=Y|bSoAn+C8eWG
z4a2vIc9+2rSrBQ~7F+^Lm3=@dOYB)v7nTt>u>M<^gee8p8>vPpSZ((2TN~wb$en0!
ziZNmODgB}PejZ?~&Os5`aavnP$2T}kvJX0+JG6TR?c?byjf|Q2<%TyiPgOa{*V3$c
zjQVGs6k2(hW`1eWZ1(io5}tm
zDeNz9rc@!wF!{U*bZQ|8l2cIV7{g6=+_P`KB$u
z;uOmA86o?Pq@d@){+s1)-U*mJ2mos+zX!%5^CrO%9EZv$B|;
zSCRjx(fUm{))0oBlm({9mogEUV^Q>mG%Tn6K@J&1ED1%sgrHptf8hHaoSL!EIus3j3H9Z*rcL8hq;y91X>^>-ZX0iy1U;efz%7SHqgg
z9lLNDg-5*B%#2$V?$QQ>hk6rKUk83yCe!<}P##rtRFBhDp4*+*`1SP+JferG+1y^M
zfWXn%Ta`vb&~UftF>aU_=Ju{!zX~%A`DlkXUQMlFt;~g{-1oDIZB2Q`nv!TzKC?y3
zb_QsU>uW2c;#!yKzQB%m4#O54MjvPB4VpNNx@nwe$*)rhE4lmJh~eGX6=sZ1W7Q}%R)DexibYPsl&JHeadF9t(XbL1frQ3X156pzc={esE7;NYrl3e^_rC}dC
zV3n00)Fvxm(@Kn}?#N4}u^*^SM`LR0@6J!-XT3DMFa0nF;*C7cO2|Q9=h@w$xMC
zyk6vLR3?+~o@D(^b`BLm&EN?#cUd%l$mO(~%~TQv$_u`-Zc!bW5(&}#wIW95XvDAP
zw?)4c_*ci!-@@(WUE4zC4~Gw199M>EnJsGeT-`@ljKG`bPvyR1;$x!RL8JlVSxij;
z$V5Z&!~+~4CKsy(KckW10krPwAtOD%qU=BPf?90VRt&w1ACLvtR9{Okl5X0x!0Rl4
z?D@;|49jbIn3<4{N|WR@e!gpoA%G)snSuhGt#MX;QRE%J6Y9f;Yq3@9fd&xg(&?xjgJ?AF?c$Fk`I!UvsCgm2
z+sAp|Hi2stEi_mYUL}2_#!@^CUU4R4Y6JAKy+nhr28TVa!s$D6ythWM^+kB*Z*uIA_A%!JizO~*G
z-CfF>M#1^>=G=6`G%A53cG0qP^)0B;s7oy9h>J_OrHgUV2}<(3dk-InC}ST6fm)*0
zO-v|`7ZKsDuRzr%FNaH<69*#+fk&;FI1iqFIHaQ`FP_?9@J?HqSHn}vH}bVbfr_ic
z=@uJ{`u3-Y!
zB+bmmufwXps8RFs=GQ(Vzp122RO>=ortkA#&GBoBK{hN;8dVYU-x0iC$N+LDN!gD+K2*
z{e|L?o{BtG!I-ixMn3mf2O$_-nfZ!D2`
zh2@y$l#3kv}%1E0RDujyAtpr5c_C%rM`wd4(j#~N)u-!Z&w^;~nOD$v__@lwG
z&eAbo9A@wGa6UcGN-tKaSHzaT{l)bY%tVEqL?{vMCjRs2d!M0ACJL>^oc3p`rhH`>
zi6SAy?^;<3E5&B-UQ?#W*I%6Skr1)aemD&{B=|Z&b37uz^kSW!v0T$xC;m+B2sIR+
z@`W6=IRWYFjE;;Vk`F1d=n+t2B&x&sh4_VH)G$h?{WPONZndZz->LiEq2nx<*9=kT
zzW#niJEogSn^o0&878Dw6@*VZZ`We3^>NX4)$p_Azwn9^=yj%fdN9}GTj&moqtt}w
zR=ENEa>tb9Q36$x!+lBW+h^O4zY&KLY&+hM0LODG!?oaOL~;CC*CTld1PK@?&n=$U6nvgd*Y+
z^iE3IpM^cqG^vYWl->gSPQ{1`m3d&-(kh+_5`OHGP=E4nht(rskgbx$WJv=_FP#G9
zy&SsHH@l$i8J^NZFxhlq&i<}h#J&(CSyH+XCMcrQcs>~&>281$;F)UIHq?2s`*{S~
z-aNAQUOQHniO-?rveHlnQE+6rT;UBK_N$QcfbwD1Vs+eh`o=<)7VmwlTVKWFkCly`
z7z5P-s!PycL|U3dQS7uCG3%mG>7guFLF-<0J&WJ2{5vx(fI=8iMKn+~e5k1!Cw!&b
z>v+SVDs)A-=nzrDx^qOb7_N2mB9BeKuS&*P4JdwfleBf{q(UL+ZQ@=NC6|;rTXACG
zUWyA$6B`5en!HLW5w5+d26-d6pkC}~zb_(qX6#TiXb8IwVmm$n{i8Y{Uu}l#*8@oy
z1@2R+2z5=pJ*YeHZE{w(UWL+6PH#5~aWwEU;r+B4iAe?G1HcD*FO=dpxUM*ox)y1#
zqy#B8nBVx#9rNjan?XSxQk|_~(9wYEy&H*RBD!Ge?y0y6D=ZpYT^Vzvp&h_X$`3(k|S26wHDYQA86fORaBUM#AwYaCxy
zy-%S$ig!pG#8@e}Tlx*UFzI0D&EkIe#t$9~o%7E%!j3LuJfE%{<$xu;Ka$xQB~2?E
zyk?V?F#Jq!DZo<1YBqd$HVtf($9nue&O~^uFL=-gKK?8#PyuKkjiU5@hAj&t%E1}I
zoTQ?0Bc#Eh+DtUs3>NX1H+HYakl!>lUZG0r=fk}mbiu&xPh|sin&uPjaQMwsV1xWg
zL%w}T(-#&MNfcNNPPQH8-V%@A(6KYQgNYTS=xh#X-_eI3)Qh~6*4SX6-$KGkAQ`Ls
zBpG=%%ODC3#gk=Wra2h`50+qEFGo(9*{)d50ctSOMu}`oNLIV(SxfAyU-|Z|c;a~R
z$;|cBVbYS6c^O!vGSPk0L2}bzep7~{PEB#E;Y4V?DqyA02lg)j2#;5)U5VdrU
z(D1yXqMAG=+%3|L4gTO!%5ZAigEWEWjBBMrsYNpjBb+;8_
zAo3S=B}{0HGrdt+u9@-142Lkcy|64`cloWnzklkIc&PQ%s2?`I!MBD?v$iNpW9!ab
zP2hn}%{32Q&$s2at{3d3ntQqE(ilVV_iN^T9Qc_dd;3-6-l=L5jee#-v-)QI{Pwbx
z`NwzE+lsV5@(p!ue4p9ecjm+Kp18BvB!ub8_s1`8s?fD6PY93yT2-kRC1*oR%D}=x
z=hj);rbBFnM}A!C2JAz;+m&sPTvyl4()U1aKG8)ZE-DLS>=!P%)OD&>rL+AZ_>O)h
zg@DpH=cpb-HdvnXL+Lz1d@eB0BQMfpQorlL7bxS#?K5qS{LXor8z1sk(J`!3BS>jF
zf(S&f9kU;Y-irH8qEDNP5$uj+SYo#ucV)357`G$>Z6z#wYvSBm$|zi}@B?MDGz1x8
z;Y^<8X3=RBKTWhDz~Wv5ZG~Z<1EU5|l-r7=eUzr}IcR=Wp}ud1eUBJpN~Czp7j=^C
za$Bk(Q2l;#yLCubkK~#$I<6d2;Yrx3PX_!|aF0E?5bClq&LAD{oZvG<@lIxH$%bM#
zp=bT`zO!U#sl;kcXqTF@ri4V2fhwh9V(QhbUd#^P{8))PZBM#rY;aU2d_pc7%3H*Beh7g?7Hx8wlfk@+YJ(#^o5pc36YG;mP*UgRfNUV1D
z`yB02H1M2j(jGz~tC#}<-6~M;8&hXjg1f`;-i6$K~?tS%zPq_NsU=Uf!m39
z40ZZk4OumI)FA%>qVo9mp0_qjgbr`vll!;7^qwR>pmP
z$agM+M~Y_I*X;$3i6U+eO#4#+;ggRSRpuoDJ*8A3y;2XWrSe$0*`EWjN|_sTXBmqD
zlxs~eYHE`838Oy!CHwX0WtrK^9_ms<01|L3)I(zQYR3#9Rh>|bMUP5z|6d<@=P{B&IMTnv{pR9TaIkOU1Lr`d30GmFo6xnRstJqYb
z_XAlnQdIt=S?H*8Fj<~QG?+)eu=YFkZE7oi2dRjgMLosTG0eQCDy+}R%@bo%{-T^yx_SHeqP
zxdjIl)}cy4l?FWV?_7)_PO5QW80L6L?~MMS1v*|
zCQLwm+mo^t1HPOnZa2W?4CgXib2NPIoT4RvXQ39ouj53Hw!1Dwuqm%OvSPv7dsR8%
zeEYWI_O#nxvmH^HZ?u7!JWn&gx3Pu!3pT4>U2^sR4)$u`DS8fbTgdC-;kHh4L(4r
zrt$J0OA)OvDJi^ZnOc2g31%u9g)wWsI5X_JDp@q0wO`z^%JO+-QnD*(0meec+%E4B
zyd!%-8D+BCQ}*-Ldlu7wvQGTV{v(hjlUq#5tcZo?rP4>nZ?il2mPZ6a%9N{SreYR?$PdP
zZ*Q3n9BLVwQP~>hTD!uofDLWis$|sHiiqfHJ;yOUEdnPjT{2t3X)*sC^*)5~h%XW(
z>qo*1(DRiQ?sS4zcYJ(~pR7E#Q1lcFX4aU-n8W#2upqjTp|=EO_;GpP5~1MjA5>p>mq8k%(nI*wI?&f+
zN1IAL*$33t`>;`3D|xVOxD$Gz0usN&r9!!e51zsSxhK-o9uGt!`|)!gKYD=Grw|yH
z$E$g+8ZqgJihI7hmsr!YQL!_+DYdzn)uD^4-R62!NZ>F?;4rTzXrIs_Z2!6^aSi)z2XyJak3-fA0^+>=i
z?6MgR=eDHC-ZyL-WeIyAI(Sef8|246ZW?XepulKRb6X^sov^(wT@>d}jOZLbBRuDS
zb-(3`-qZw$@es=1C|=Ix&yHe0;M>dWRJ@XU;tH
z!jWG90+h3_Qq~+)002~wxtN%ujF{NJ-2DA?%XfxXte|v{Fk$f8M_Gwde-})pe#K0t
z&~P4Eybt=h^>|v&pq5LFG!AM8mMDMA?(Xa_r2!x6D$y(bfwwT5hwBBqlr-MSxLUn#
zefAh9UME8@$Zc0M!w2TupJxKxMe!TSN{|Hh=H1R1blMl;EA)){y8ESFEh>
zx;Hz!N)EIz?Red?&B96A=(ht>)_qna~LUgIGk#dkC5m!{hZ
z6YDk1jr`7KA|XbTMT`EjRPs*rt8vf;zG;Jw@rdU+0led)Z1_QaFjf!trnGQi1fwi{
zk7%GvBrc8&U$n<<2&s?14!A{De@jCcj*+?#<0nF=r{#7L?Mi_@?(X}Vqi7{yH42AC
z;}0*ZrAVBvU#L3f%sz$a!`^XvmgXB&IkqIt%{J!eWOgkus6u;j6ufcSNikzEC#IM3
zn)>VbyLyffvjTm4FfkwXnAZRZAzd1NwR3{2D>JK2K9*@e9-z3A9iq4AFbV+xY-aPP
zyYV&T<@g}B)+`1_wuZ(mZq{~Bck2TH0HY6!
zR!ZO>h?AutrG~sBP|ViB7|6lG!2)8Ia5HxSQwkvi1sse__>{#Z|Dt$06QneAaYm1hb>Njgx^JvyCIwZ;EFQabrh_gSnlPxvdTG
zH>ZK2t+SILCFN5;@GtVGUWkO-Q{!I(exLuLcXTphm3cbhc(UgSzzPO|c$h(8W-u@7
z-^V}o%FF*_w2k9mUVQQ=tDAuxD;o=l)!O=Bjc|05aQUaae|LnV>eH7ZSe1<(ZJiw;
z#u6^ZHcnK37iwqa?D%(?&W^^voBrr+Wn{woq|_hDe;*?yBd_?6F~8ktYHn@!XT)#x
z-;qX;f8gw#9jyLfj3BJWR>sy(ia0(ov;8Z)otdqZt)rQ(-9Lu?E2I9={lBU7B>3MS
z@-LqIqtzb|^NHI+oPUd#5&xHfGO~r38}a>vosZYpgqH(i$jb}?nQ$<(ad2=l8?bR2
zGqaoU7?`jb8iLr^IR8c{W8>U;{D!P52~r%oP2*M390-10!LpVUj%p9CxE@ndx
zUJ$bZ*ciga#R)Oyc#87h!Sk%s8wc~J%rLO}yKcX!jGm~tIC+e@4LA*%4LD37%)Evi
zY|K2yyu43*-0V+!nt-{$9Dk^O&kLW3qKqIVm<9CD7DX!qClgx->!)-xw=uGHb^K?S
zs=2kXij%=_=dp2vxOjLtIG$cOc(}pb{{*QUJ2*at{clz_5DOdlPmd9VPx6V=;3@pf
ztqn|#S?z30|8)G*i(PM#h4a?Ej|gscK|V#l`$2
z;}7=9cs?-)V*@8+@u%ZSHi+#hXLy*|L8@Rd9|sQ~i0vhaoe%VE=ReT44yv}cR)Unj
zT><>9??1@opDKotfs?`C=-9x_AU0JHHy=AEADHtc2>f@tC&kT8-2W@|@A?1~_$%}I
zk%bRRTduk>3jzQ1M^N
z5AbPYLH}2_F#HLje++arGya_l|6w>jPxD`^#(!X!qk)U@zp)BpW?*A#{In$gRS*9&
zYYlmL4I%6%hRlW_un98{_ftVIFo75|8?$p6a2gwc48Wj&!~TE6+J84&{=cvmWMaa@
z&JAWZ0$tIk`(t7%D>DLVEw)1|4YmY{9Y90<@x>|)dIg4O+K05l~Bdm&d$o**x_GC`@dxWe}Mbj
z_&>$N_P-qdci8i2F5Z$+e=7dp0X{RxnL~_i9RE|&^`|8IfBE>UhWx)20R;Y!kpGr{|HobbjHohOec>0l$9#<+K;YKeZs)NozU+
z04O-W4=6xd2H{g9f|HEA1i~&fG&&_&4a3hP000P(5f@Q)TRdEG%`kfFwew@_WZAQ<
zw2h7t8Gh=k!bGISk>N=O#a
z4IiH{J`8}5cf>~Y+cZ;leLK^>^LQPty}}+RnU-m9b0sZ_2j{5%>ud#lEGq6KrcpJ)`pTXn94(Ci%P$@9z=-W`yVT5hs2XQ+%TbejG
zfh6nb$J7WP^nLMiJ2E%dkDK9`k~GvdC2&N8TLS2i*=CZD(-_jJu)uvI5X>YlI*bUQeoq}bLdijxO@vVc>6`4>*<3-fh7J>3sR{r-Gk&+@J
z-OOiPl~vx|FvK^;@>(KA7V+F^)a-F|4k!g%JPP>G1+6ax2+7dcs{vWq`1`+_n1)sz
zBNAqq+*c`wh<)QjVUbIx4Q%gFvLGkZ(;#%I*NYL_mIblavN@s_a9(=cD7QU3Jv|kE2^e)houK*r<2YQ)nqnz3O5
zgp$QRgl=+(uU-f-Hz_-QPcI>k8zU|*j=!I(W0%Yle57OZQJ-UapXMzPg$R%RF!GgY
zxLS&_uqsU0Gik0ypGRlg#M`L3m%M|gFM)27>Rg}`<{AddJYQ-`N(V%AWwA92c8mO6
z71oJNyFC7im^#|*F8`7q>1Rpkb9fr&N?}Hg^6%c3p;G0XIrk965tIHSFw!BP^=_z?
zIv8|BCyuJLwqhey58htZ0)Sz2%{qjU{1$5SNbSHQO+F@zVn-%}nordzt(h4rPW~#`ZbPB}x4A>Ln+0SZP?{$>7j4yFD^hF&$
zpueQ~MTX^;vXVWF<~pZJg+)}HLyL(OJAom!!*~>d9pWEB3ujyLGm<;umt2>ba}RJ^vDV{7NnYCR5k7~J
zw9kj5Dc(y7qQ)AD!n+)!2RJG;d)#O2Pq&PBE*iR0Oa7lHfG`!t!Zyx4vSu2Ye?_o;
z=FuKvrAujla++pwfMU2ld}RdVp9vl+B7~(>=*!gSB?`8QC)az;7t6toK6Id7Zuird
zIb_ardf6)NrndeB4uQ{}pn0OUq($sG!fJJ>bBz5UOqgEyMWSkVxsDm-O+obVDc>+D
z1!A1U-)ST<5zp*+(H(b#v=)%-!2y4CVPe;HjY5LE8AWkXePzsbOv&!mOI9j9fPDN#
zi%fiw6k}8~^Gb@V;+5*&(pKnM@i*Q{gFkpA1T+btWV)jtS5QKYJ?PE7g1sk6wh%biJ?gI
z;`w3IT^Z8TN@jSv
zb(?0oG+ta}spmvanzU9JS>!0WGP1IHe+iw;%X$4}?EJHKaSXopHhQDo^HQLSHGk0&j_*Mp#S`IOcP`ft>ZHi*8TV
ztQJ_eY8*b3@m3%`due1@aaFuJr$yQoThO8EkTC15t{!y8l9y-pzI%h?yKk`wwTi-6
zIjHmm&n_U16Q=}7)y0LQ*A2(y`Z}57#X>Y^ZmLL-btmt?*q4juKG)T)(;3GY{WLCX
zS?sVl>?3^kCU8BDC)D2IeqKlN>HtUmaesU)#6%-W1T0{lP4(;wA=tvWaH7^NqqON!
z9jU-rD1x(9=N~`s-#X-~t!QSxm&%CFzyu?wtBw`@Nh4{W%?V^Js~!ILDXiyASp#RJ
zQt8*VHi?rPtD4TJtU3h6Vj!yXyeXSDQle|2;4mk2M$8~~Ycx0rcth=XQR-;&!Je@9Hm&vy?$oPVXF
zpkg0s>=*EtUvT&t%at&Q|H(-Frc)>62!zS?SdN7jRG3MfkWq#X?}>YtGztWri)eI}
zR7xdlx<4A#&R>%oayPAQJCH!(Yd%tFTb|2gT7@`zYqf*Kn$o`LLU5kf-y|RdKY
zT=K~T?K@i6eHB*VD)-i-p%HqWRAzfUwliZt2IOo
z{GunU)z<$q*BbJnP_~^sBxa$zOQp0&*~IOn>Umi(lHrMg)PvH7n1DZ$_Y*&4>#44=
zK8kZx!z=pHac2Ih^!)(Br|5oxJ!CAb62v+ZSSCvI^Rt3zPZ=V0gxnFuAA`U=SQ_$Q
zkvJHV1}t4ZolTwA#S?f11uxg%Oo&E(U9N7$75Tk2c{+@$p$2%fGP+k
z3*AZv8Y=cg#jtY<$Dhp(E)vjX;lE-shRt9wb#hqwR#QCII$#J*#nhd5@VphM1*D4D
zge6R-+)(hof%L?E>Ww~6o{cP2sPyE)mjpIJJNDQ`O5*;BXCkLCEeu{uqj7Li=H?@r
z2;|Nq*{)w3%K?puzrV#aD^|PC^=rw^b44;r@t^dLw)f6_ZEP%5h;v|*LPY5F^64jI
zZse4dpG|1?4}gL*5P*s6A$rYGZ=;a3ckZ05AE@*(T!AT-o_Nbdb)WZn7eF++*{}*y
zzt5LVQ*!LPwT2CFDNm_fG}4s(NYnn8t?dbkLU0A(QmpNsCIi?wI#Rk66VvC-9;zn?
zIAFPY>*~0MONjLdcT~If&=oFy7+~$kK@bH^!#?alrE*uZB?MQJAB^>E>%A;KIA0SV
z;8Z-%Env}$Gl@MYn#oy+-(T`+C}OS4C?)T7Myp!k*%GH(aT(_#{aioSkUV;SVuN2@
zW`1CJ(HQ{7;?ZC3P!+Ob2cF{pOe8XKV;cj~t+9e4^%gyAf6V|&?VZV2c%5DvefU!a
zA~H~W`kRw%Yd&OtN~s$FwI<|iCS#ak#{|zEy_P(lj;~3Geoht1s*DOBy&haY>Cd5r
z=Hi~>qnn&Cj6bDn`ZQD>-fG~K>MW7?|;#BO@VbaTexwWq-kthjqNnHZ8x@UJB^(*wr$(C&BnT?
z$$uZt+di|`EPe|!dvDof8afblcVfrni0(9`h7~<|UG7sqbE&_8`2?by^tuXgFRYrA
zIwf!uwNbsFjn_6*88*`U=+?@Midm~U6A3?ySsDaw$9&qFvo+op5rR!`f(dt>+Z%7j
znc*Hp`~7Q3hk63YsV(%X*0`;DO7>R&kJJ8I-1tu<1`}&zdf)0J)THjQP;LGg9;5X=
zbBS!swI}*8YvIG%W6q8iMehc~R3;x?l_Xu5ccV<>#}WwboC3pke}IDk%B3#we^Vh#Ba{n*fKs`H(JudMNYUQh$dB?*#f%Og}X*?xuqtnx1aRuf4b
zC~|8*tV>?CFclV<#2_Mc!9b&zYx#n({|>5?KA1xM;+4qFc2~g?o0L7a<4hY>48)uEA_KJPR#khnFIr$xE0(71xE#C5hG*1{9pwN2X}R&8Uxx-J}5fRGCTAq
zu5HeB=bjriUlcmORgHu{%Xp9}cS08{!!o9DrXjvOJ}%wx*`~3LU)3iRT%w6lSn7U9
zbPfAt=k}73Iu#>u`r=-=X-^Jvd&kV$W@>jy=HseuPsce=$5F~D{obDzcSua^G+aeZ
z%R3RXU_D;U1391eb8INlr4K%4Y*#z{Ok~Lu_zLqqf>p!s4XkJ#B
z2Kd<>XTaAqvzR1_ZEwPb>qBt0S`0O6XasSwMS4s#@8q1v|~1l{U7iy6BjF2^wUvuSQ
zN!}#95`Xcy{Ys0ro8q{B((P(LSN1{1+BYXIPm~)N2i@h@(
zpjPq2Oa|dd4mOW;=*pYnk<4wgXH%>VK7oJ;klzDR^zh*zfladrmL=#C7F+qc1J6$B
z#Ovpd=9hu@=J(7A5zMr^cAodL*QG%Sl7XeOnlx;jk(r(yGA;zjU4NhWap~iBR$z^}
z*JbP4C}tv*4_!rP{z@8Cj$41A=o&CV6UMnrXYyO}3Z%nFat`9L?)2(~&yj>9d47mR
zXr$TYqB~VTo+#G!(_I@dG7Xx@SzFkJ1z3)gzr|)3p1%2Z*s&Aag5CZaE+Ftz84gG97v*QMxWU8rO6FC0c#^+^$A0MR%_8>)w7MVby#e2O;$1?*D`x<(dwm3J)Iqg)d;gO!JL
zg>-P=0VoInGBI?1A6`pzWftl>qomEFT7!Nh4*O!|mZeZOZT1(^aEVhVd-B7l`
zHea7G0v+mDadSNrk`OXtt3Q1^6>3j=%4+ku>&E;t{og$k-EXl@jdd^R^XdgwQ(;at
zK@1AvQ*bRg_tb#O9^i$lLggmrwTtQdRMa@b>hA@$CjrFuOo2}D5QLio>=ODoiFx0N
zr?-&KJIpY7G`ScLKd-`_Q-GI6^BFlyF7<8RuJu$ju50zm0GOyM*!KS^_>oe
zAyr%89%x_=G(OZMkd3Yh)F14Y?KOwuq}Eg6v?7ZW$>|nyj{$cgRRITOZ2d$S{$~*p
z^|@(VEH63P=di4G>i6~*hR!Iqv@k!%1(^GaXA7av+r6T6+eID+qeN=pDmhcb#GiQK
zKCny?^sBT%Ma^6v5ov=q^D19asd8J(Fg2F5qjefp*L`v3wWMdONKAiIdWam;%8?u8Bg}Ck_RR>$K4!uDoeTwc)+f|
ze5cuO_=>te@jBi&=O&E>IQbq*dwtN-^6d=anBYU>_`4ZV^|yusctz_Lb8DvQbkAlh
z+wRO2g7Q=gCu}Mv9KQi_!hf|RHo$!tsbkGG8oC?oEpc{lW-S*U$Cca*4sGk@XJsr@
zF4ZeLHEC$)12@+UC}rd0LpXnP&ebni%+I)EtGdI{j77AjhL!Yo_3M_(KEpG?5F}&i
z(DO7?W^>i@4e@5ZuGjd9>rDZ-C5>uzR&A;(j_&===;_vNV3o&tw6nqUL{PmePnk!%
z_RKP)+**W?5a}4g4r2tZ;QGq3@+WM99kwAcp*2M0u+qOj2sV8D}yG3
zycMRlTsU=4)R#Q_Cz(%0M)&COZgJ@2SAh=x-myWvNIWtonp^<=6J(4o4O>J>WAFGb
zGNA*{8~)k*{=|>*w3IahL7mH#P)ooYspAffy^<6tINU#}a8(yd)xi>p<7T`5`Q
znRpdozHug~3=Sv2R&(up*uh`ZS0Io{h|_!J%pu~I$iF9E!?SKg1kVdN1O$X|vH8EQ
zG~9+kGGch%wq>2iFUWXa$Hl`AI&NIduei8Z8Y;}dGhl{!_l107aJ%%079lyYZl$Qi
zPFoKYVcx?!-h;cRm^AbJIb+!-7-4w85=yIqMToG
zo&E6Ga=mQsB2kM%F=780(-p*Bo3A0WTSQ~X6!xVTHjE=C|e&&xxFy>
zBUjKbFPDfQNTg&jBp4?q*Q|Gnlt0t7yWu>HL7tAN3*g_%W_{PIEMuEn0A}*L18rR%&^Y)~`
zxc9gr@Frbf+;g3mU3s3L9A2F@3J?^^$X0#jxwDD
z)7_w@SEVQM0tWYq6TdANQiG;O#DxBFW|SRA%l2@5TXM8
zNmp!IR;2fVzanxRTBmFtKr6TpDZr-0p@Qa^`@)@$CW*tRE-U!jVqHm+ZhB^Q3wji+
zB->=E*Rc=c?_BsF5$cVs7(beM-VP!
z8f?oe?aJl+UsHH=+&3}q9hr%DKhcwJds&KAJu{k-y3qPugbV&8a-3~>c&?}?s?SL-
zJ17f)OYxry7^p6qVhVSh+I9>Wwk|9~y)nFcC&qjAEKEnKn91MN)Skbf2?E*)N>s0e
zyPzXOZYNNti;2O5&hh~NO@+A+opfpvtkT5Bmvk
za<#F{#mn^aU-u%XrKc};%@zAXPj72m-9nyFvmT`GBOiSmszw?v3UsHy{4i(UBz`Q)
zipWUI;Cae&HTG9tjdB0}65SBDa>H#j@)*JZN&Kyifq+<^NZl`@vlAL3W0lRT@cY9%
zl-G5y{xnF(A$W3fPE0Ti^0z9)m~65mm|xK|L}kHB8D@8yj>3jkChsXvvz
z?YTKPlhsYzifhWke#ZP_vy(Y3jI%Il0BEeq
z9rGc?_^9_0ZQNltWx29|u@S>NiDW=3-BSyOTir0Qk6!9>OZb6bStfKy@q#?CPT~=c
zoqdmYtq9Qk|17}q@)gTX+*q1$TKwzvUd3_y%~9^6k#Y69%>zI3S(XzlEePgrm|*ib2Pu8EutJJ7crNkNz&Z1
zvWWRw-*+nGraFqx${w4ysM_fjI=7t1TRHMEkb6J{);h~ESYC#e;Jsw$jBwN0_`c%X
z#ar=XG~-5vLFF*C+8hjV4R4dSU*vv%s&QiK%S{;zjckM87HbGKaRaPHW;o*G+;QF8
z3g>o8_IKeW@R`p4dRsDbV;<_at3HD4mw3caAPqwFOqRq*i6Fa1ItR6-7)2*y8>)BgP
z4@7)a7-77)eQ7S4DLq&Us&(^Fr_~0uIbahnTOYR^S*lW_t{gnWYD}Ie?iRD^)y|@f
z7kBF0N}fhz?RQJ}$#6QqvZ90ejC*Uh$XCcY??+ciIR)v=t{SKSIWZ{9d>S;6;HHjm
zY{b-gCimC2asnMD`C1XslW1Ak=08y)lxCVXHn&mY2+=s5A+6B|S9sxbMj+orNS(&f
zi$EL&8)r#EUHe3TZ2Ta|6#?-TG$4UU?aPz9Y
zPn{nEwmSx%9dnD5>tbadI9?@w+m>&FsAJB&qzOe+Ip76)_#=dxfWG-(i&q>qvK4yn
zY}29O8*EJP5~n|6l8y;!7e~}KXqq}LyZH!pt^9T$p;yoI?>P<@E*hR2SHJH~>Q27k
z0}o>PCj5|_*2BTKBBPIrI3Ag~s#U>Z60>8~^CTwLGzcN4yp(Tj<1;&8++w*io)Hk7
zCkJWoJC=4_WlZPHoiyM&BWwji_86;d)%ij?Wt7+6&bWSW%nVyK&$-d4y
z&3A-bQnJo+|7?ZyzH%4evJ`h0i`*yjop@E|wa02aooEBbs^%>dzOJo3=wfm!2yhmW
zYSP-)>2(nMPYGs4m3pz2UWO0&{6~*#5I;UE!R8<%hZ#8?XqBSk9tP?;V`5b(OJ8B*
z%rN0s5v)&!HEtAY1B=!Ds~Pj4O`7t+{Z)_3b*
zoBD{u;Lq{bf%+Q#&|1l%JZc$mkzk5CRSo!Atvs&t2a>U+ZQ-_G~YD&$FfV8x$(n@l1!$&dLn9k)MfQx7osXOO6;zD(OMJ{Y5vR2=3
z#1F0Vne}wfI;}N5~dnDan^8SL>=v%bmslcN)!oMu?w9kPf8+3ZOb%
zG$Q+wH4fk7wM;K|2{qJOFS%)G-ro)gu^*l|6Dhu6i&@sJweir5yO{F!nz(JNuH6Vz
z>uKmGsw+_`Zlruh1=FffeKbVIq&z`X5rKRW3Ef(uOQzqvAdS9~cO_{oD07<-k1q*c
zlG>aNhKO!LuXUWs%1?Dmf95l9P*WIHhKR~$vm_fDyoKKt&p8vJUmUhtZy+jp*Ws7?
zOUeLcHbBE@Hw&i6CjSWTYrMV4D81i|F5?B$z`B0Q)zaVVm6y{##Cg{l3=%JT*b35-
zXQ!_xYB_*I-VC*A%WEuY=ZYpX{j#PfW~WT~fXmnam5!=;Db0N^3NW3eZ?*2GkG^?@
zo`NmY#@1-1xw6g*kFtgYNtHp$OFv7z3UD3y&yHg-t(IVAuq**ye_Wk|W$
zwSML111`KYY;Ey$PJw-<3nfxTb6`nO9UHQqUEe;&^HleD;TCNM-T~Rm(ue|4z~J#K
zU`&kdbX5nglv=SR{uE=tdbTF)=&u(Bjm1%6lzgSM0qFcP6v?l@Y^{IjoW0EEV}hxq
zo0$MvgBGi-RsM2OR#;qX7sw;AR%ZnRzY~@A4Uwc0i38rZIQf->=lYPbAk9AMsck^j
zk4HIkNBk)06)hK5I&yBH;UYO<#}s;6eJ~!cD(oWuG_nW2
zqJ0I0Q}i2-@mmebZyXrK`f@mLoOvQ4F)Cw3EGseh?sslC%Y2Xtx4K4&9~w%O$gmS{Yww1_(?!x_X`p2M*-ybTML$%@q9#w&
zH4f!)?`KwLV39gWD`{oaDY$}yXk>0Vg&P;j745%&6{>%9O5*Bvu`6&KM?V6Tm(A%J
z0=z!5eKw-NIdKAYqFq6&v5H#r6~d!RZdscebmLx0|Woh$T2BQgOLpGRV{*Y23T4Uxq^0Jig
zl0nBYXYXv&18+5sA-|LMu|6w)KbtrdOD{nSt{^Rq!NYESVKAco^tNe3prJ)zL4gsG
zN-O8_ajbIrhhVTXrrLD!HomAY{Suw}?DxTDqcMumO^Z6f-vVbq@hS>6+atlca+@VC
z9=$>R=>y{U{jGhD8Ru_pt(M4g-(UO*u3}WjUwh-TJ5JL|xnaTKIM)V63B6*D8#5sZjXgtKqs%Pi*5uljdKMqQjSmP
zlrz1?!cFP*hN%wip~0&lw}1u{w!(S*?|ZR#j}ctuwk!ed1Ob$zj_Dm=S7u}Kra&uO
z1`brl`@+A$s(n#sBUTQp+LoxUFYbXDNsxenk5j<^5F#3qE_f3I+r
zXrF74q6KNi2~+pd^f3DLo#M3JB1JjH%Z~K{L^6i&mZE`!v{_DS9(NCAY}6
z4{FVkQF#+~hz%S1vf43+?3|hR;e9B4nd914Glp*3u=E3>0x+a^da_~OvO27Yqtiq(
zGSgk6_BI3-KmWQC(n27B68v$pb^`ktY>TleJpOhspjdZs&pKRZv8!9RtLW&HepI0}
z^G$`2!}?+pkRDVh^6Y~gZJJT-_73U)yy}(RfPd)G&k&AB3Hxk+i$4d!J(NI!X}pi^Y2lYn9dH8MaqFho}8$g~jJc7oo-|#3i-T*%ul*
z@m&h*CzLn?R=xN1Gu^;}Ydq#lEbAb+%2C$_Q1f=>-nEJ5#4?xHgY5?4W^C>uvogsd
z#LxJFqVUtTcbj@NjTf)5@j|@Cb6iW$xo_yj%XAWmt;wxjJJqUHd|*h*>IScaC2FsW
z2#ZQbRjAUx>1y-tor8Jcbh&cLsBL6*8Y+yk(n`J06+Ng)xb25`Ns#ErRvANG8q!=X
zXpm{>wTvh$l+{+G+o;tOVGXSkG&?za3PGk>uhyennZVTlUi7~h{Mfi~TY%=H?Fjk|
zp)m4T^djfAC839~^I2o2KiccbBF;=_@h1<*60bN`QCKS-((MMegVV=fH=I44`^By9
zFXBXci6KR9vGQEkl@~1a6DM>Oi_yeW*u@*7jS?bjegnkxY8TrdE*#94j3JQsvkseW
z@q*X<$4xzP=W$H77!!&O%?f)6A_8sPv^&q(P-0!a!7O-qA4r(ZEatd6mI-2*h_%W?4v*Sn_pHnN|@ts^_7per}I~2@n
z-H(dQWE9^zc^=fuQ~%tIvmjSE+jKt2p2`ttUaYbH$Y5a}*fU)*Z@AG!Anri|L9Al&
zXPI76MDYOqK$$QakelUh2jb&+jYXs;yq25ubDd#08BE%o{M!dbdEIPF17?
zPuHPv2!T|F+Elu#_~*n|SKJbH(CLg+#BOso+HfrX{U1FNI-x{H%hGoYj09akYHhu7
zb>3lO3e$>rncPOd_*dLRwZ}V4|52TVVeVLj2IVi=?-e&&t{|JY{jEeIZCo*bZT`*h
z(Mwck{ZUF3)@-i;mNn$&HGT1UUV9Mp;&+Z1i;Y~4=f0-dLFqgoBDmGa-12OTE9TS)!#*+RGgaWGRs^I0j
zz#s=yTDi;8k%JvIOT+Nz*p52i*nkeV?Xe1vB}*`WLDT&s1&DUWc7gze@|)u0P>g3F
z!!lP7xWaQAeD|BG^u_moPw+K5dA4Hk8OYS`HehA@)0HOtjDf6lr3l{{~A%-?@0aiUEuAuBJoy@3dbqX=Y5Bkc}b0Jo7b$lXW#sUF6DJ8~$E7kn6VX$yleX{-}1#G`8mj
z(OKL->+fvA{A1eF6^K7zDW9?Czp|21w7k@%KTVr>Ii`9nqotvO{;D5J$ybBk;t~M52RyM0wV;a%k1hmmUK2rakBTRAUqL+ViVw{YAOA0(
zfE|grQeyHA9)v4qytMU6TTJ~uyX|aiHC5K!NGd0T`LF1Ym6MsD36Ml!Z>o!rN3=zv
z#+Z|K`MkfZKav#-3vY{9Z^+zsB@<
zeFwS?b+k)lDYGQ~M;V#a;Q2p6XIXH5v>&pL!(6&H;0
zca8Z+2a4^H3}P@$Oj+3o%;xMJ_}t(~^oiW6vRh#z&%F^y$3)zA&m#tpQtm$#vdTbM
z2rnQI*s0jcw}$D#%)iYVx&O$SKD4-7;||S28p{|h3s8vNb6~lAAvk#S&CK05u7Kvb~tRbHc}TJ!{;^^&mx~$OnZ!+aN{lg5J^hOeB;1
zsL>)CNX`-!(n*oBGVEyT3Jjb9qp&s8#Xors;~lZJyk2=!c$!$h?A<$?dP!cF89A!=
zVg9D+S)Q_(17NnCaoxfRzYF@}daFc3ae|6be|fQgc9UlWiG|^znyf8J!%+qBBsK&woi_Ep6L~Z@JYp6z;G3ejVfy&B7bt)J*+>l7=yB=?fr%9
z*SiIGkfUKp^#n-T`dUtB+*dri1D5QXq*(*Giue_YuQ_`l?TguI$GGk~q`-ki^=|}$
zMElo{Rf^zUp$LePS!62d8ClnD_3S;RhRy_R!+E8+aMaI8!b&3S(zqUWyn&~aRunZW
zgjDpT+PwYHM}-FBcG}SBidlM&mwvXL#9fHHND&z`Av#jYtHzy7(>#1{7p@ke+#Quc
z5H;uuUIg07-a!-cOJmk7`$7f?D(g7|o9&0N8I|Tq6qCJeU%45b?+{pA6
zuk$T(+!MXDeJ6PTe25@DPWnj8xlT>beQk7oct6xGhVZG?dKD2-_nTP_L`*-h6}xQk=hc0=g83#)(NZP34>bR;AxTa1kMk&v-Ym0Dfyvc
zuMXDmhQ|z-yuQ=?LuTmkU9={m=vL!h{_Q1RR6d#G7}AG>JDE
zpVulphB}J+(FS4{YbC~Q6==@oqkewbSB_zTR!Nw%3q)wdRJAl9Cv=(q{S)A;3=}Hd
zZ}%wmuuxMt^OCxoBh|a12zwrt=C(MB#BX5v@foRp!eT||h~-q-5u>IgPo0ey(iyxh
z>#F*d{=z>i
zvC%R#yv9Eck#$&U`ZhLw6wW)`7Y;+kQb7>{qPkUe!m!UZ^PQaq;O_+b8!IE)kOTJ}
zGlI`cE5qyXORT>2Lnd67;{AEjR#kcr6HP(dJ^dp|1aCiugdP=U@oRJgF2=@yad5GR
z>Oy*jjkkK$t_r43|YTB%Q#eW
zNE!}<>1mANvM*BU0!6o@L<$)!q`XeR(1qb1**f0`Wur{qW;R-iBX0MnUY43F3Vea*4YA`%W>9^}ym{Xv(
zWcP3HU=wzTRw+A!r#gZ0{fblm)Pg4%A}K}RZ^yd^{oDR7B;#PyxYai0k#M|%0UdlB
z{~*-inAx;aEdk-6@3M}VrG?A#(rOhE|)RpG#G@`4W?+%?ccRj)&S`HvWa
zug0+`loqk!;VKTI>-f-uZHnL~o(>GD?@jHXl*}P8HvvkC%d!afsr)INF)=YBr=bfB
zy7zhnt6>J%w3!!ZX)OW7fY3=$omARxr+R^xL?)leO#BrRbQJjf_Rp$>hxpF^j$;g0
z56$$CLps`{=Gn+t)n>po(7ebitbh-0M#GnCxqZ~33_7t$;eHuOjxrd%Dj9jOQ1-M9
zdHB*h9LmkBry{9lwPXet8!7
z;Mlp*PeDu5(*q6hp_|yh2EA{#;7Y9A6%z-}s3}#?D^1o@*HlUBf_P*yE*{cs*1p8N5Uq|zweai}zL1@#;tKD@q;E__@pmm3B1z
zNQFMNxpZ8O@n>L5LOQZ4)O*Xz;tBQ8`|ho2NS6n}yvP1m&N;7h$rE!|Kg1HmUow>m
z$gBOJW=Y#*N^-J*&?%}=kNmM@gVoxfrr&4b<;tf;>=FUsF1{3O_@K0dT!4ZpHVt`E
zt$(9PCRb409Awy?i!zNaVv@RpB{j;}Z32f6WcC-RPEl|a7^j1~#zb{@QU?2^KO->M
zchmVfzUvxN-%9@Z#27jQwB$LTLW!8_P)5ve^w9Ppqm_xP!05@Y2?9@tV$`*m+mfci
zg0P}?{6QD2X^W8Yj7i|?AWNorw}E7SON_I{rl%vX-s~}5hCiY*PFB(;1U~5C%qb-45VO<#;a-sbcGL2D5|xz
zio1h=s0?S6-vu`HOMo#J6ji2E)wQVkKJCWst#OXa?`KlEsgb3_`+6&e>go1;ncYdo
z1=qm~?7AEM6&y*Cqa9N}8nj4%lJF$aj_2B##T7@|u4hI9Nic`(!cPq*Y_PgQ1BnS1
zWgZ0!L!*6iWJRxOBvJC{M{w*-Ve)H*pbp61wbVj(u@!;rE
zSp1BlCQu>Yv(9A{FrugZ_DdJd-SzkLr_k!d@`alhLWkQr+y$`c67rC&%SFK%XNYp<
z{<6&_i#jd8n(2pEc^iZusWOFaguxN^;u)v{LrCGH;sf(p&=Bk2_0d}_iXO@ab?!<;
zJSV?)`fgX7S6Ed3_=2uag@>+x2l!@13BPYNPz%$w9~!FwXHW>~sH1eLpWf)YRHF7N
z*7kemXQLG_FevuTtx{Se$Nwkk8VO5k6
zx`5(R9*hnzB{p{H#^p_WLux!j>3H@IY6{#<^dGaa9ZBw9-HZalqvK*2eMuDji5aa^
zqNzYQ#RM$)5s{
zo|}lJi`LdB4zqU#f#MoEbn#^jl@z8Sc-UA&&N1vExxkR3uM$8#60+5)>5ki<>w!!!
z@xj3hAnOUFRj~Vs%6@~?LA=}_a4e6e8?VuA2C_|fuM>QI!*u?_9fty36!9DI(GpsV_
zTW^51j7fTlk>K%rMbHWP%ZI4Rld?KZ^8RELDzaIn3K@UMU3Ia|B{Pnw0Mc--VZpRH
zy+&}}$mcouS>FY3wMnG>uLyxXNNZ0BsqzCv`!K*v9nM))D1ML_EYr7t5)gwZeT|L}
zDuA`Fj9-*aAS=(r^*xCHtm%r-@n@MC8yWTQ1ML>dwTOZ`JaxVK^lOynEiz;O{8C=5
zEQ@O-lO}k}h>d+M$=3c?a5hyY;)Rr;&vmPuPL3?eRxTrj_C?4i$qD%o%U7XxU_yrY61x&n?*4MmkM@+n;i#=1umcsInsS3T
z>-exev>WTT7g)uYs{hXd6vx#P;p#yOPshTYACwchN9o!Y&EqS$@j_7=h}OL$#D#Iw
z6K_H_4Q3Xg3Yv-BI#O=94R1x%=yZjLDFq;CupGarr;$)#ouoRG!lmY+SwmJU!&QqI
ze6W@-YH_T1cieB+KMzz)NW+hC6%GMp{A-i5FF1F)rS4B`o{1X1cmcKAw({Z>)FHJg
z9W>h@s-$2%-sEB?A<4{{kZ)oLKUgHr>BY)IX%0`5E=L-!2rJ{Qc+|PB1N%)
z0i$mj`|3zlL{5=^RO5;kjdIs}K~io?&RKIv#DK?tj9V(FkUN>fo6zEb=Z$-F_fBSp
z2orSMrxBQRx4?7y2oRWt%m`Ft{YUeSaC7>*+;4ASvFwoIb4|a2N0fnQlsJ5N&Aj9x
z3293kheqSK9DNHTxLw^#qo0Avj`__6b8JCIY{4aW91NdquJK}j|NctIXj5v969ng@
z3(sgD_dC-CYy$3ELNv`KnF;o6vm1f1x%xzj^1C|4@lq(L@3aRR-Hmt7(?+g0KM`Sb
z>GA>Y;-
zjm32rcG#EYg{5Qz)Ad!bis$SXAPoqx^5K#BG(oO#etQ36;`=m4BfQwSP=e!PP~?k)
z{l;{s!NmJxIBF^eGk#{K@u#=t?X{>HAsJ~&Ygjq0FlGk%ds(9une0o0i^rx?QJ-8*
z@YtUvF}Zt4*mK1UIx|QA8KX5D0*@|4+_F){+oo@An8^xGaX_`qzNHftpif!4J}cdYdNA6sSET#o0Ijnt_FQOuqt2aa>&;=+BA
zpkwgel{Z}`)v}TvOL?}aOUiM^`e6$k1Dl;9lgMkmN!X(26Biy+8Uiw`Kwkz=s;C=ro9-5ofNTq!G5-gA5B1Bu=R3Zxu#CPYKC!D
zry?A^0m1$JDdS#l-<;ZNlww4>q6!C~?qBQzGv6n7je|i-XyRuh!{h@CMig26wmo?1
z4Hp7(U#lT2bh}*dv3$$CzD)F7vYZ7OKDo^^&1DXQYgG4wW&9++^uxlO3Lw*ekpqQ}
zFPJEw{16WQigC4zNEGs$KoA^O%QR@npqyqX;sC!znCiwoq_<=RrZ?X6uXj|VH>})E
zV*OBN^&J-0(I2^c3?x)I=>M4mhZtE%Ay|mFNaRRhG|_5q%i*t}f~KCUV^JawO(U&8
ze-Go?CfjhpgBAKPSNIND2V0F*QmA53hVF(x_l9;es41QvAvOM$dSvoY6o1=-D==A@
z4(Vpv2w4ygi!CG=fj1x=Un9Y%#?kCkiSjF=8RaLW;0{D&c|i}7*LdxugX}KKm`-#R
zRgC#TnC{uAqvL;Oo+-%Cx0+?yFQ&Ik^CwK%j>w|M9O8Xde1$hd_!PSSJ~0h>AptBA
zYV4arh`uCIt(M}YuZOwA0TKV54Fu7W+08rz1d(tNTN5UU=#c+<5B)-33=OdugkqhJ
z!6z~MQ!wIlQT)~fg^>8QQ%Hl=D08{4C($Xw^S{C`2lwEc*+uz6)Op>0B)_p859qt7AEO>zDPFGsxdLs
zx)y7QJ^?Ox5i+jG_qL}21We9<^lQ4pWzV&6<7$;gLM#rW#rSe8UH@zd7dTUYQqZv2
z8qJ^~`)EOTqN;LhDsJAhiWKyeerv45Bbf&Y;2}l^$<^QS|OP5UfzkB?Cvd7i;l)Q85U_yL8jkplmEc&XI)m
z_qRGumx5|O^5(Acy1s4zQ~ya7?FNqP`Fv0oISp!UEb_WV0LlQj-8C+Oij>AlZXcQi
zi>U&E@z#;KiFw$q>l;yy0+2j
zI#j*Yu5E1Qne4nkfZ
zi4mc0_x6Y%7513p4aO?YC^v*qCSm60c^i0V$q4>JWyzEOhu?JZ-SW~-bATBY)qie+
zuI5SvqzT5x`VFSl8ApV}C95@vkTrgfiV)6o-zmNq#2);PL+!4Ir05667c4?y>?RfZTE^gX8r$%4p#aFyg01H{1Uo9=D`Wn+2Mu_M2(~Uxm6E=J{mSPZFQn@zT+BD
zbbsB2urn<*s5>;Zx@{9$zZV+vs;Rb10hR9|$BNX)03`guSrD;lUf_7|tYC;lzz18m
zvDsVhV|cOBoa)OQenW=jWnU~HV9hbN+Tf1=a%dMq(@P@JwrZF6lv^DLan=3Nvscoj
zMZTr
zi?J2rg_=LTO>B9Yab1g);+bWOV#|MKp^vj(Jl?DpMZMZ7WWs0%_4@V9R@e#%?pHx<
zBrl;^wBUEq=s;t3ZtpPkku}7Y_lY<2G3K!Q$SEnV1^Wnxk~I&Z^2)6L+*$vZ@FTT9
z@)!E8f9h2Ae5)lq+9JOYM6MN$)sjVxC2k`tAQo;9S~JQx;0?QL6qhI_8S)2}RFLDO!66OXmYvz{}=k-*@uTl)-TnDl~Wz?3~-0m9tUyY!}`_XDL7m+yh!`Z&H53hA7Ea;yYW2E+M
zU6Mur3=zPe2(;NQb`au{Qxy1}Kk~}}U3nnNTJeDvM|#~j`6^W%g&V-hQ(Zy;y*0Su
zbqlku>}!t9VT@UEcz2DWWx@Ic>-@94Be;=K-b#cbA&fKwN7k$b?kwv)GN#+D)$*iE
z#PX~$OMJym%k#@rI0M6uTqSD}{Y+y1(nBOwlJTE_svo9Qv2WQGB6l7IpFIAxJ$7@J
z0o_X=Yi#<3PUMrobl?7~N#L2Dy|_cm>@_V0di
zwaNLNA<>54^k8}wq93tXzIR!yS|JQ!YjIVaX*{=Wn5D5_J#9A|V;xT1bYEX&KwE26
z6)dkwDxHmgqP9^Vdp)&W`@5Id4%>s7W9Kv$qg0~)btqy;TEQ+PurJwZ-NqSPraNksWFI*l)3ten2mw`Ppd65MCrIRp6|E^T8>rJ
zZeI~>#UyJ8S=&U&uJEBKTI1ANPTAUS?0f~0Vg&LEbEKlo!a?!j$RY3NUhSkYo}b+R
zQ?VouDZ%1lm4fxTqyALo5QHh55wkGJ86=6x{AQh~fDWb!N~V
z`O3<;(wMI3A^-Q4Z$XhZb8K%seRJ9w1hbBQ3*hCgB=lRC+C0u@&YK5X2;6`T#cD@<1AXI;J?=Os31F?m8<@q(
zuu1z<&a-P5)}G#gLmA-(nMbtNnI=^gj9|(Jw^-AO=e0f1LYk>`N|XJ@8VI
zzf04??S4({z}atM+w@=*cah*EZ+b}Q!V3wu?QfI-|8tWZt1DQ&yPQ>$=V#KPZ-Vg0j7Jv`4a6`!H)dpgMMmdhB
za^+79@1Z38_xjV8s#+8^!emcY00r`+t&DaRox*Dis^0Zq(B!C;@O
z?2myzo`Ms~%hquny}tjDC6aMLCz?JA179m|c`%~Pkr_s6tVr*c@N*##a>sS~M1O@R
zViw-$h#7_0DN6mMrStKb10Mh2pSPu*Jm+lcho*pjGzQ@hci~;^OCq$wR3WvnOdx99
ze96^|50BteNKE0@CX^X9f@E0BN-GGZ3y$yZz7
z;#j%7F1fUkqUL84lC8hyiW&uNRI({n1=W_0Z8H()IT;+!;_iNO;*P)L7<(DW#W=tt
zZI|UE>$3>BsD74Y#8GNrL0~i-2UVZVE?S`T{WX511%2GmV#V
zR5`{O>3Woh$10itlPED;Ub-+wo*IQrN6e0K^TZ==_$@C{F#BHH1eD~+QhczI#-Tr&
zV+4pNNrGmIV=QiK=ggsuScYtKGhd=mg@r+Qf_d^p!}zcFdaHS@S?LK3t$f6P$4!IP
zp)t9#7UbQELDV-e-(!ms$Yeow|Bt4t42bG|x&n$INJ&a}NO$Lw!XmMxfOK~^(%s$N
zozl|X-QBQs*Sq-pzaRJl?B09lKF`dVGxMCWfE+Ga5sfZ(5@qOJ!N_(-`lKt$C(a<=
zoFkbL`HYQ1hx^l4dAle@|F*eN1f&lHfjlZ32{Df%
z5?RNX#DTU>_(lqhdH6~WtBgN#5L_*RuHQ`+WYgR~-hsI|NAYD8{Ed54!yN=;S8vnN
zEG{hLun~azB6MR%2(_P*l^eg4sWE;0FI`o|excHQ>_MNhw&(8+=@JM}+xGD2W5&_>
z7;||R%)L}MM&7kiER4=~=eIf2G|6X66_w7?fAUMe;a#8M4s+7uf+B@oa>Bz*iweGe
zQX=rnx_>i=IEMk5`Zy
zP~`H9_>43VUoD+1y$@J3Z9d$sJLtr{t)2034E|p#Z7Z1iBVFT>OQ@lF
zA1jbVks=Xwbjh}rAqfYjt}{0HTK0Qh)SVGN1>+4de)l@yB3#;A)}I{4C5i%_*d8_V
z7x9>%Q<#xKNTWC62)0vY9<;t
zPKUU-XZZ~W2Tl(THSf4>H(LTJ`M8s{mlpfYGvGY6C3PAbYm^NEBleVoxJ5+>XAW`?
z`w-Sy<#Jb8SL6XtW|XZ3QKU1A5lwuHy}^7l;QHGizL_*Z#7?|WJ8%isp|w`<+)P=}
zByG59yAH*D0p(E#Rsts%{F?oBbx*0`Q(;mc)3-8cSwzLUXQ}@q@rOMSMOOq4n<9oo
zZ>{}luf^AMZ`}im5p#^B3OVuAW(s0j)I+lx6e^2rMi1Eq6jcs^#*bKyg#`p2?+CVR
zY|NQK05qgiG-4U$9{e*tJzb%0TZJw2%}JD!A(wb{Pk&zUvOewo6?IQz!^YEE=S8
zL9_rtpTmE}a*+#`JX^uys(#qAT3uq$$+17g6u&45nZ5d*5eP6rOHHg;n^56qZ{REJ
z@WmQ`qC~izeSE3B4o=ycvxG6aJr{&{Wh63OA?9Ahp9OW`9I9wD(F$%JuQYkO;w
zR57S=#({PkP2A_iZ-iGe(JNEQIa>VL3a(uaHEvb)
zNKjfcRbiuxhnID~zqFXewrt>Jb=2@wOsoxxjcJXrc-orZm4NKIJijf0Fb2lXl)hj6
zk6$*z{x&z=q}yIsC)y%R4*Z2;j=Pr
z@uA(NF=b2v!S>{kEW_C262sjHpELEc1952Up%s+yNk=>+mJD@n9T=^AawhbfFY)iqAIH=^^h+O)^Zgj099v
zl}tDIX^vdM$77`oIYwL7fw$c%B;_=Ct4noc%kzJP)sn{ubXP*bb@wOrv!FNV@K)K`
zEg=6@t5Py%Ez57@o3(Z1lG?DXp1VaNKu__Aw;@T?sd!xJOHAMInUKdkEOWl*f+R-i
ze`%gJ0d@5nDQ}$Ew24e3kX-*>0TZSFpqIT5=FVR1?T*fLu!RI#ttwOs}F(CrE<)d
zx>8F4WMQ#@pY5jR)5HVHHOGL5^5d5taBO`;^LNc3Yo?=q~~Ac
z#_LyBb=Op;n^s6o=flUf$gSlq;1SAZ-N#VY$!9q-0Nf0L%8WqT<9F9}t&4B^rd*J+
zmgUmOG{elvQ&_e3jq5t>?9v<7c&kHN-^X2))q&^RnLH0z7`_Qu^{HRJy3aD>WS6CB
zlCGQaqsg5ip+@8uUoI{6N7(2%XT3nRSN5vOyPLtiIw77JcEp#8*hh`PM3pu81e^RvO{ULoJe5g9Sp~y}J)!SMo%lwZ+p@n9_Z{Z#?
zcEkFOD0`^A7%}Wi8b+2NQT{;5j9e3lHgo@|Zn0)oX1wto@YMr*FM$ysA#kcTSCrmc
z#Kig1>L_R3?!DpPD`xG^LWZtM&a3UhuN(7P4LLgDH@ofN_o_p7p`}^Y&=g
zKn|0k>LnFgR3=nz!w#rq=#mzl?p^z6-OSe%wE8h?LZXv!u}|Yx;o$+64Lqg&&_JSS
ziQIHkuI1@PDowuZhs+=HC6$Uw$R90gO&lQw=p;}T3nUSal(;~4Dl+bhLd!W25R2a0Pyb1GILB4CLE%@Zvm&>3ajHsr
zN|_Xh(sNVu=C@*sY4YR6=xBW)e5m|EVE-gYIcK{`Ll|`BNJl1wp>3&_@uxp*#ErK0
z4KLIn?U<4)2e!{+N(3jz2VSe#?Kh4by%nlCY5=k8?1d-h1U7agaiMkbCZEjli_g`|
zBKM?$IEQM|-lPIkiy!I@QuOUr+av8HUHW?7wJ&>g9apUkV?y|v#J2gbkPEN5
zEDagHE>bAp%p1$Uk4S*^{^2W#IM}hk*i|l+9B|tvHCD%lVNh{IeT}~+rypcm$&<3(
zdFJRwWTubP#TP*4rLLwVI*MJx`No&$8|JvQ-SCQ=dw$4qiwT5NyQv?QI72t)Xr4sI
zj>aGx8IM(o-XRK_*WF4W-;r;;-4X|TSb*5A`jDl8phni@#}`|ST@J<)tm-OGzs
zD2_G|Rz!v*(r}w{zEuu<1uJPPN=MDTTr~W!p*#o6OLPB7&E0bn!R_j
z{ME`@6P3PJ@}ul^9>2gj-xJz1kuRfQ5LG(YLCcim9q?G`8%sXcx2;AgU(dMD*?iKt
z-v#}x3WpNmqKy5NX7!|C=tYx9Z{5r|_AFzD>m<_t(j0O%@h;Mpw5`m_{RhJyqP*5<
z$L3_fn|t|+V^*xAF2q{G;}W51T+ihqkgj1sHVyED^=F4XZ^MBvTv^tv3e+|XYv6-<
z-~^jg-(pmfK*7<&g0U{vkiUESHrHikPL7n|Kx#n}#{x(?GMjl@tQcz2V>9gUjadyR
zL#f%EEzN<7>zGe4!=Dm52zn*R_xu&ggq$;NlGeF+70)nzL*$xz6aV9@9^wQ5uJ=!#@U=YaOj;%OFfX?AVSg>Mu-e8=IxTE
zt8{l4C61zEJ8K#Jz@9eBdq}@aLf-jjjqI|XANbzh8}{TL%2(u0SU0AH^Jg!b+9}Mc
zdf(;kvQ<6WdRi*P>zKs;uVN{qy5MYE#&ZLKFxi5~x&-6Hr^r*=@mDgdU+OQy`7c@j
zzZYP07M@o#MLHkar4$?|(L&WW;~lkdDi*>w)oXF1EGd8$@Tt(&DFc*3+&Az3ZXE@k
z96ZGaTNz92pEqDWVyfqum0DU+v2%Uy>Eu`^X$ikn23d!&DLRIsNe6ldpt{rLW@i^E
zdOZL`ihaE^1)#2x6jfiKdQDAWWEdbW@
zs;FI^aHIshv-aM`;S4bGtjGssW6lN+3vy4TxeR^W97$tfufQZ988S7IGQt^GY)!vn
zE6#lif9x?m^dQK=BqLF2<XkzY!kH`j
z>DOXs4LsZ3+-HT_IeuMQou}33>KRZQi&|XU5Se+PzjdgB5XO)YHT;fS`{8)e@lfD^
zK8o}LqlLRAW~H|Iw;nhkt#+}hpKI>3IQ-caiybTG-0^o&U0v8o;{%z+*6q8%_S^z+
zTi|*%adthtcJj}7D`Wv;qvG_^ar3?&qzSv;Ti$s72C6t5V0)|={@6Ip65pNnI>8grn6RG
zU0Ge#%SKn5NvLWh1kombFtC>?5gz#yL>JBB8^p@j?2(mVg|6_CmBcv&9lc;ZmGb&7
zS&D7Fwz#IZiPu2R+1l+pn|*1-k(Rp8SCq!j_k_l?K0
zaL3*`yF7``&9=E=g6!X-JNyzn=`1y33TI|%ju{3?W6pFwQQQ6a&8zjP>YW{sRD8yu
zDk%CdPTCMHdXlJRt@`4_u979bJ4l~eM0$`BzOM>AKt>%%EpN_6v69iKWwBLOvct2Z
z(L$l=H~?J4nm&Je7IstvGdBP>c`>>ed-1T@dq%M@3ma8tQ?DHy2Xx;(@s^q>l|3lY
z=UFI!e^4_O&XtFvg3E<4{`czCFDXl7&~g!w#$$jv_b
zehChe*r9EB_9$hz8wTlk;v^L=$*n+UP)ZqwLwg;W`>#!z*ElPbKTFcNg
zKgO`ps_y!ac;3*WwCB)W^nE=R_ZFv*-1RY=iyxH>zBQ=lFz;%YPMSP`#g_?BE(xSq
zl%L+4=huc2u`+)w65O(gBwx3AD6^`Z(W0jx3o1^XS5;3TtIoO$*z(%)8ZvxYaA=tD
zj|s&gf><>Xs;0V7YS<&ulDDK@i`G5#B6ooxo>>(bL%tK~hRrZ)aE)v0^)sXQRsLb0
zxzM{9=3D}4Q$ymyitSBlxd>kSY22x{ANJJzeo27EQ~1bfhEr2k{NvSy!wv-w4>@@6|~~ODNQG@>)}d
z4Qw1CUy{+mnh+R2RUu(YuY0!q>)j)RrAyTAoB@8IZ^4853{H4TlkdfN%ENz
z(lbpK-JhhM#|_$vwQF097lZ7&l562Sh&WLOO>-jjO)H#F_ON3AC4WI^)QWL*e-<3U
zNe%CiLxWuIhOvoH$>8fP*2nuiaZLq}ZH^Y2qR-8=>3V)Qt*IRv
zpQ_~u5c$nBg^Xf@6i-YB&fM`g-W{Tr*Q1QlTbWD$u3r+f=?5`wQB=-$rLyzWXG*N2
zHhb5jvAyL5Wf@MQ7{rdt^(d2*62?1b|9-O9DbvA-vu1F2$y$nqhx^Lt+JH;=Wcka3
z7hAGA3^hD{7v&S@^^_n&+-@#-ebBbp7#*
zJW;$k*>77e&97v1g#?Mb7oK7$yx}3Zo_B`drW9U|SDge3W-Aw0-uGmAroOZkJIu8V
zibcQmNJ0(-Fxm}m%{rfLO@V*n81vT`=%zM?h=YWKX|cx8&N)ej^x#QrCEP>5hWXn|
zRXXSm3%Z|LcN`N~Y}o)I)VnBGe}y0$vj({PJ1|?1TZXu{zu(mfBm|gWohK_oS1NGf
zul;(WxP)P5s$ncNkoep^*o9rwZeascO&K8}poQQ~1OP4ScTALbuv}u!B&vE^dMb`J
z$dT$|Rux7G3Ih6Th(9fiJon(gQIF1^4E*mVbU}|lACXuM1l~~XjZamwY(evYC1%FA
zFFnXEN9sm1&I_u*DCa(_S(0uE7^9nWJc^%lt{#omt!~4xeH6@j$
zNvEB;G3u9#c?S0K==Ip@V^88rCvin>$HPim(}|1E6uK#yQi;0CIhgR7vqg+aGAW85etlFy}yz1kd7~+wn_IS?cvIuxz)K^H-MF
zH&XG^W6RU0TzYT1-uAWk!V>rd<5^6baPQ1W1ML*C%cY5zeboZ#OsN90kX