Skip to content

Commit

Permalink
Many updates: golos, steem, minter. In minter add service my-coin
Browse files Browse the repository at this point in the history
  • Loading branch information
denis-skripnik committed Feb 1, 2021
1 parent 7f748d7 commit 20c04af
Show file tree
Hide file tree
Showing 16 changed files with 525 additions and 1,452 deletions.
27 changes: 15 additions & 12 deletions blockchains/cyber/apps/explorer/pages/block/content.php
Expand Up @@ -45,24 +45,27 @@ function node($params) {
<h3>Транзакции</h3>
<ol>';
$txs = node('block_results?height='.$datas)['txs_results'];
foreach ($txs as $num => $tr) {
$tx_data = isJSON($tr['log']);
if ($tx_data['approve'] !== false) {
$content .= '<li><table><tr><th>Тип события</th>
<th>JSON</th></tr>';
foreach ($tx_data['data'] as $op) {
foreach ($op['events'] as $event) {
$op_data = convert_operation_data($event['attributes'], $conf['siteUrl']);
$content .= '<tr><td>'.$event['type'].'</td>
<td>'.$op_data.'</td></tr>';
if (isset($txs) && count($txs) > 0) {
foreach ($txs as $num => $tr) {
$tx_data = isJSON($tr['log']);
if ($tx_data['approve'] !== false) {
$content .= '<li><table><tr><th>Тип события</th>
<th>JSON</th></tr>';
foreach ($tx_data['data'] as $op) {
foreach ($op['events'] as $event) {
$op_data = convert_operation_data($event['attributes'], $conf['siteUrl']);
$content .= '<tr><td>'.$event['type'].'</td>
<td>'.$op_data.'</td></tr>';
}
}
}
$content .= '</table></li>';
$content .= '</table></li>';
} else {
$content .= '<h3>Ошибка</h3>
<p>'.$tx_data['data'].'</p>';
}
}

}
$content .= '</ol>
<hr>
Expand Down
6 changes: 3 additions & 3 deletions blockchains/golos/apps/manage/pages/profile/footer.js
@@ -1,4 +1,3 @@
if(0<$('.profile-update').length){
golos.api.getAccounts([golos_login],function(err,response){
if(!err){
let json_metadata=response[0].json_metadata;
Expand Down Expand Up @@ -69,7 +68,6 @@ if(typeof metadata.profile.name !== 'undefined'){
console.log(err);
}
});
}

function profile_save(){
golos.api.getAccounts([golos_login],function(err,response){
Expand All @@ -89,7 +87,9 @@ if (!metadata.profile) {
metadata.profile.about=$('textarea[name=about]').html().trim();
metadata.profile.profile_image=$('input[name=avatar]').val().trim();
metadata.profile.cover_image =$('input[name=cover_image]').val().trim();
metadata.profile.gender=$('.profile-update select[name=gender]').val().trim();
if ($('.profile-update select[name=gender]').val()) {
metadata.profile.gender=$('.profile-update select[name=gender]').val().trim();
}
metadata.profile.location=$('input[name=location]').val().trim();
var fullInterests = $('input[name=Interests]').val().trim();
var i = fullInterests.split(',');
Expand Down
6 changes: 6 additions & 0 deletions blockchains/minter/apps/my-coin/config.json
@@ -0,0 +1,6 @@
{
"title": "Мои монеты в Minter",
"description": "Сервис создания, изменения монет, а также изменения владельца",
"in_menu": "Моя монета",
"category": "no_category"
}
40 changes: 40 additions & 0 deletions blockchains/minter/apps/my-coin/content.php
@@ -0,0 +1,40 @@
<?php if (!defined('NOTLOAD')) exit('No direct script access allowed');
return '<div id="seed_auth_msg" style="display: none;"><p>Для работы с кошельком необходимо авторизоваться seed фразой. Укажите её <a href="'.$conf['siteUrl'].'minter/accounts" target="_blank">на странице аккаунтов</a>.</p></div>
<div id="seed_page">
<p><strong>Для управления монетами важно, чтоб вы являлись их создателями.</strong></p>
<h2><a name="contents">Оглавление</a></h2>
<ul><li><a href="#create">Создать или пересоздать монету</a></li>
<li><a href="#edit_owner">Изменить владельца</a></li></ul>
<h2><a name="create">Создать или пересоздать монету</a></h2>
<form>
<p><label>Действие: <br>
<select name="type">
<option value="CREATE_COIN">Создание монеты</option>
<option value="RECREATE_COIN">Пересоздание монеты</option>
</select></label></p>
<p><label>Название монеты: <br>
<input type="text" name="name" value=""></label></p>
<p><label>Тикер монеты: <br>
<input type="text" name="symbol" value=""></label></p>
<p><label>Сумма начальной эмиссии: <br>
<input type="text" name="initialAmount" value=""></label></p>
<p><label>CRR: <br>
<input type="range" min="10" max="100" step="10" name="constantReserveRatio" value=""></label></p>
<p><label>Начальный резерв в BIP: <br>
<input type="text" name="initialReserve" value=""></label></p>
<p><label>Максимальная эмиссия монеты: <br>
<input type="number" name="maxSupply" min="1" max="1000000000000000" value=""></label></p>
<p><strong><input type="button" value="Отправить" onclick="createCoin(this.form.type.value, this.form.name.value, this.form.symbol.value, parseFloat(this.form.initialAmount.value), parseInt(this.form.constantReserveRatio.value), parseFloat(this.form.initialReserve.value), parseFloat(this.form.maxSupply.value));"></strong></p>
</form>
<p><strong><a href="#contents">К оглавлению</a></strong></p>
<hr>
<h2><a name="edit_owner">Изменить владельца монеты</a></h2>
<form>
<p><label>Тикер монеты: <br>
<input type="text" name="symbol" value=""></label></p>
<p><label>Адрес нового владельца (начинается с Mx): <br>
<input type="text" name="newOwner" value=""></label></p>
<p><strong><input type="button" value="Отправить" onclick="editCoinOwner(this.form.symbol.value, this.form.newOwner.value);"></strong></p>
</form>
<p><strong><a href="#contents">К оглавлению</a></strong></p>
</div>'; ?>
2 changes: 2 additions & 0 deletions blockchains/minter/apps/my-coin/index.php
@@ -0,0 +1,2 @@
<?php if (!defined('NOTLOAD')) exit('No direct script access allowed');
?>
61 changes: 61 additions & 0 deletions blockchains/minter/js/blockchain.js
Expand Up @@ -177,6 +177,67 @@ $( document ).ready(function() {
});
}

async function createCoin(type, name, symbol, initialAmount, constantReserveRatio, initialReserve, maxSupply) {
let wif = sender.privateKey;
const txParams = {
chainId: 1,
type: TX_TYPE[type],
data: {
name,
symbol,
initialAmount,
constantReserveRatio,
initialReserve,
maxSupply,
},
};
const idTxParams = await minter.replaceCoinSymbol(txParams);
console.log(idTxParams);
minter.postTx((type === 'RECREATE_COIN' ? idTxParams : txParams), {privateKey: wif})
.then(async (txHash) => {
$.fancybox.open(`<p id="message"><strong>Пожалуйста, подождите. Идёт отправка и проверка доставки транзакции.</strong></p>`);
await new Promise(r => setTimeout(r, 5500));
let res = await getTransaction(txHash.hash);
if (res === true) {
document.getElementById('message').innerHTML = (`<strong>Ok. Транзакция создана и отправлена: <a href="/minter/explorer/tx/${txHash.hash}" target="_blank">${txHash.hash}</a></strong>`);
} else {
document.getElementById('message').innerHTML = ('Ошибка. Транзакция отправлена, но не принята.');
}
}).catch((error) => {
const errorMessage = error.response.data.error.message
console.log(errorMessage);
throw `Ошибка: ${errorMessage}`;
});
}

async function editCoinOwner(symbol, newOwner) {
let wif = sender.privateKey;
const txParams = {
chainId: 1,
type: TX_TYPE.EDIT_COIN_OWNER,
data: {
symbol,
newOwner,
},
};
const idTxParams = await minter.replaceCoinSymbol(txParams);
console.log(idTxParams);
minter.postTx(idTxParams, {privateKey: wif})
.then(async (txHash) => {
$.fancybox.open(`<p id="message"><strong>Пожалуйста, подождите. Идёт отправка и проверка доставки транзакции.</strong></p>`);
await new Promise(r => setTimeout(r, 5500));
let res = await getTransaction(txHash.hash);
if (res === true) {
document.getElementById('message').innerHTML = (`<strong>Ok. Транзакция создана и отправлена: <a href="/minter/explorer/tx/${txHash.hash}" target="_blank">${txHash.hash}</a></strong>`);
} else {
document.getElementById('message').innerHTML = ('Ошибка. Транзакция отправлена, но не принята.');
}
}).catch((error) => {
const errorMessage = error.response.error.message
throw `Ошибка: ${errorMessage}`;
});
}

async function getBalance(address) {
try {
let response = await axios.get('/address/' + address);
Expand Down
4 changes: 2 additions & 2 deletions blockchains/steem/apps/calc/js/app.js
Expand Up @@ -3,7 +3,7 @@ $(document).ready(function(){
var steem_power = document.getElementById('sp').value;
var vote_power = document.getElementById('vp').value;
var vote_weight = document.getElementById('vote_weight').value
$("#let1").load("/blockchains/whaleshares/apps/calc/ajax.php","type=result_power&sp=" + steem_power + "&charge=" + vote_power + "&vote_weight=" + vote_weight, function(result, status) {
$("#let1").load("/blockchains/steem/apps/calc/ajax.php","type=result_power&sp=" + steem_power + "&charge=" + vote_power + "&vote_weight=" + vote_weight, function(result, status) {
if (status === 'error') {
console.log(result);
}
Expand All @@ -12,7 +12,7 @@ var vote_power = document.getElementById('vp').value;

$("#result_vests").click(function(){
var sp_tec = document.getElementById('sp_tec').value
$("#let2").load("/blockchains/whaleshares/apps/calc/ajax.php","type=result_vests&sp-tec=" + sp_tec, function(result, status) {
$("#let2").load("/blockchains/steem/apps/calc/ajax.php","type=result_vests&sp-tec=" + sp_tec, function(result, status) {
if (status === 'error') {
console.log(result);
}
Expand Down
Expand Up @@ -4,7 +4,7 @@

use GrapheneNodeClient\Commands\CommandQueryData;
use GrapheneNodeClient\Commands\Single\GetChainPropertiesCommand;
$connector_class = CONNECTORS_MAP['whaleshares'];
$connector_class = CONNECTORS_MAP['steem'];

$chain_commandQuery = new CommandQueryData();

Expand Down
2 changes: 1 addition & 1 deletion blockchains/steem/apps/calc/snippets/get_config.php
Expand Up @@ -6,7 +6,7 @@
use GrapheneNodeClient\Commands\CommandQueryData;
use GrapheneNodeClient\Commands\Single\GetConfigCommand;

$connector_class = CONNECTORS_MAP['whaleshares'];
$connector_class = CONNECTORS_MAP['steem'];

$config_commandQuery = new CommandQueryData();

Expand Down
2 changes: 1 addition & 1 deletion blockchains/steem/apps/explorer/pages/block/content.php
Expand Up @@ -7,7 +7,7 @@
function convert_operation_data($arr, $site_url) {
$result = '{<br />';
foreach ($arr as $key => $value) {
if ($key === 'from' || $key === 'initiator' || $key === 'receiver' || $key === 'to' || $key === 'account' || $key === 'account_seller' || $key === 'subaccount_seller' || $key === 'seller' || $key === 'benefactor' || $key === 'new_account_name' || $key === 'producer' || $key === 'owner' || $key === 'publisher' || $key === 'author' || $key === 'curator' || $key === 'comment_author' || $key === 'witness' || $key === 'voter') {
if ($key === 'from' || $key === 'initiator' || $key === 'receiver' || $key === 'to' || $key === 'account' || $key === 'account_seller' || $key === 'subaccount_seller' || $key === 'seller' || $key === 'benefactor' || $key === 'new_account_name' || $key === 'producer' || $key === 'publisher' || $key === 'author' || $key === 'curator' || $key === 'comment_author' || $key === 'witness' || $key === 'voter') {
$result .= $key.': "<a href="'.$site_url.'steem/profiles/'.$value.'" target="_blank">'.$value.'</a>",';
} else if ($key === 'beneficiaries') {
$benif = $key.': [';
Expand Down
7 changes: 4 additions & 3 deletions blockchains/steem/apps/manage/pages/profile/footer.js
@@ -1,4 +1,3 @@
if(0<$('.profile-update').length){
steem.api.getAccounts([steem_login],function(err,response){
if(!err){
let json_metadata=response[0].json_metadata;
Expand Down Expand Up @@ -69,7 +68,7 @@ if(typeof metadata.profile.name !== 'undefined'){
console.log(err);
}
});
}


function profile_save(){
steem.api.getAccounts([steem_login],function(err,response){
Expand All @@ -89,7 +88,9 @@ if (!metadata.profile) {
metadata.profile.about=$('textarea[name=about]').html().trim();
metadata.profile.profile_image=$('input[name=avatar]').val().trim();
metadata.profile.cover_image =$('input[name=cover_image]').val().trim();
metadata.profile.gender=$('.profile-update select[name=gender]').val().trim();
if ($('.profile-update select[name=gender]').val()) {
metadata.profile.gender=$('.profile-update select[name=gender]').val().trim();
}
metadata.profile.location=$('input[name=location]').val().trim();
var fullInterests = $('input[name=Interests]').val().trim();
var i = fullInterests.split(',');
Expand Down
2 changes: 1 addition & 1 deletion blockchains/steem/apps/manage/pages/witness/footer.js
Expand Up @@ -6,7 +6,7 @@ chf.sbd_interest_rate = "% начисляемый на SBD:";
chf.account_subsidy_budget = "Субсидии аккаунта, которые будут добавлены к субсидии аккаунта за блок. Это максимальная ставка, которую можно создать с помощью субсидий:";
chf.account_subsidy_decay = "сокращение субсидий по счету:";

steem.api.getWitnessByAccount('dlike', function(err, res) {
steem.api.getWitnessByAccount(steem_login, function(err, res) {
if (!err && !$.isEmptyObject(res)) {
let props = res.props;
$('input[name=witness_url]').val(res.url);
Expand Down
6 changes: 3 additions & 3 deletions blockchains/steem/apps/profiles/index.php
Expand Up @@ -20,7 +20,7 @@ function generateAppPages($blockchain_snippet) {
<th><a href="'.$conf['siteUrl'].'steem/profiles/'.$user.'/accounts">Аккаунты</a></th>
<th><a href="'.$conf['siteUrl'].'steem/profiles/'.$user.'/new-posts">Новые посты</a></th>
<th><a href="'.$conf['siteUrl'].'steem/profiles/'.$user.'/old-posts">Получившие выплаты посты</a></th>
<th><a href="'.$conf['siteUrl'].'steem/profiles/'.$user.'/feed">Посты подписчиков</a></th>
<th><a href="'.$conf['siteUrl'].'steem/profiles/'.$user.'/feed">Посты подписок</a></th>
<th><a href="'.$conf['siteUrl'].'steem/profiles/'.$user.'/comments">Комментарии</a></th>
<th><a href="'.$conf['siteUrl'].'steem/profiles/'.$user.'/witness">Делегат</a></th>
<th><a href="'.$conf['siteUrl'].'steem/profiles/'.$user.'/orders">Ордера</a></th>
Expand Down Expand Up @@ -154,8 +154,8 @@ function generateAppPages($blockchain_snippet) {
$data['content'] .= $pages;
$data['content'] .= require_once(__DIR__.'/page/comments.php');
} else if (isset(pageUrl()[3]) && pageUrl()[3] == 'feed') {
$data['title'] .= ' - Лента постов подписчиков';
$data['description'] .= ' - Лента постов подписчиков';
$data['title'] .= ' - Лента постов подписок';
$data['description'] .= ' - Лента постов подписок';
$data['content'] = '<script>
ajax_options.user = `'.$user.'`;
ajax_options.siteUrl = `'.$conf['siteUrl'].'`;
Expand Down
2 changes: 1 addition & 1 deletion blockchains/steem/apps/profiles/page/feed.php
Expand Up @@ -118,7 +118,7 @@ function transliteration($tag_en, $mode = 'torus')

$rowCount = 0;

$result['content'] .= '<div id="ajax_content"><h2>Посты и репосты подписчиков:</h2>
$result['content'] .= '<div id="ajax_content"><h2>Посты и репосты подписок:</h2>
<table><tr>
<th>Дата</th>
<th>Название</th>
Expand Down
2 changes: 1 addition & 1 deletion blockchains/steem/apps/profiles/page/userinfo.php
Expand Up @@ -281,7 +281,7 @@
$content .= "<tr><td>Доля аккаунта от всей SP в блокчейне</td>
<td>< 0.00001% из ".round($full_sp, 3)."</td></tr>";
} else {
$content .= "<tr><td>Доля аккаунта от всего соц. капитала в блокчейне</td>
$content .= "<tr><td>Доля аккаунта от всей SP в блокчейне</td>
<td>".round($account_shares_progress, 5)."% из ".round($full_sp, 3)."</td></tr>";
}
if (isset($json_metadata['profile']['select_tags'])) {
Expand Down

0 comments on commit 20c04af

Please sign in to comment.