From 7a760f7ab42ef682fb06298d7c0d40594df9b4fa Mon Sep 17 00:00:00 2001 From: Daniel Blanco Date: Fri, 23 Jul 2021 11:48:38 +0200 Subject: [PATCH 1/4] Revert "Staked and Unstaked values now are fetched from sesameseed API" This reverts commit 99186391f3fffc8f06484bbdf05a8d0408551156. --- .../modules/NodeAuthorizationSesameseed.js | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/store/modules/NodeAuthorizationSesameseed.js b/src/store/modules/NodeAuthorizationSesameseed.js index 6ad430c..e507863 100644 --- a/src/store/modules/NodeAuthorizationSesameseed.js +++ b/src/store/modules/NodeAuthorizationSesameseed.js @@ -20,10 +20,13 @@ const mutations = { const actions = { async fetchSSPerInfo({ commit }, address) { try { - const baseUrl = 'https://api.sesameseed.org/voting/v1/address/' + const baseUrl = 'https://dappnode1.ont.io:10334/api/v1/storage/a63c33d2209854feafbf40685a33d4846ee82556/' - const pendingWithdrawalsPromise = axios.get(baseUrl + 'unstaked/' + address) - const votesPromise = axios.get(baseUrl + 'staked/' + address) + const hexAddress = utils.str2hexstr(address) + const pendingHexAddress = utils.str2hexstr('1' + address) + + const pendingWithdrawalsPromise = axios.get(baseUrl + pendingHexAddress) + const votesPromise = axios.get(baseUrl + hexAddress) const [pendingWithdrawalsResponse, votesResponse] = await Promise.all([pendingWithdrawalsPromise, votesPromise]) @@ -32,12 +35,16 @@ const actions = { if (pendingWithdrawalsResponse.status === 200 && pendingWithdrawalsResponse.data) { const resultPending = pendingWithdrawalsResponse.data - pendingWithdrawals = resultPending.value ? resultPending.value : 0 + const pendingWithdrawalsHex = resultPending.Result ? resultPending.Result : 0 + const reversedHex = pendingWithdrawalsHex.toString().length > 2 ? utils.reverseHex(pendingWithdrawalsHex) : pendingWithdrawalsHex + pendingWithdrawals = parseInt(reversedHex, 16) } if (votesResponse.status === 200 && votesResponse.data) { const resultVotes = votesResponse.data - votes = resultVotes.value ? resultVotes.value : 0 + const votesHex = resultVotes.Result ? resultVotes.Result : 0 + const reversedHex = votesHex.toString().length > 2 ? utils.reverseHex(votesHex) : votesHex + votes = parseInt(reversedHex, 16) } commit('UPDATE_CURRENT_SS_PEER', { votes, pendingWithdrawals }) From a81750dffd5c5f4c5efd00af6257993d367a4ff1 Mon Sep 17 00:00:00 2001 From: Daniel Blanco Date: Fri, 23 Jul 2021 11:48:53 +0200 Subject: [PATCH 2/4] Revert "Sesameseed: Fixed translation from Hex Little Endian to Decimal" This reverts commit e44c09bf70ab2360904515041389dfd8d21f0a15. --- .../modules/NodeAuthorizationSesameseed.js | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/store/modules/NodeAuthorizationSesameseed.js b/src/store/modules/NodeAuthorizationSesameseed.js index e507863..5a5c11f 100644 --- a/src/store/modules/NodeAuthorizationSesameseed.js +++ b/src/store/modules/NodeAuthorizationSesameseed.js @@ -1,4 +1,4 @@ -import { utils } from 'ontology-ts-sdk' +import {utils} from 'ontology-ts-sdk' import axios from 'axios'; const state = { @@ -18,35 +18,33 @@ const mutations = { } const actions = { - async fetchSSPerInfo({ commit }, address) { + async fetchSSPerInfo({commit}, address) { try { const baseUrl = 'https://dappnode1.ont.io:10334/api/v1/storage/a63c33d2209854feafbf40685a33d4846ee82556/' - + const hexAddress = utils.str2hexstr(address) const pendingHexAddress = utils.str2hexstr('1' + address) const pendingWithdrawalsPromise = axios.get(baseUrl + pendingHexAddress) const votesPromise = axios.get(baseUrl + hexAddress) - - const [pendingWithdrawalsResponse, votesResponse] = await Promise.all([pendingWithdrawalsPromise, votesPromise]) - + + const [pendingWithdrawalsResponse, votesResponse] = await Promise.all([ pendingWithdrawalsPromise, votesPromise ]) + let votes = 0 let pendingWithdrawals = 0 if (pendingWithdrawalsResponse.status === 200 && pendingWithdrawalsResponse.data) { const resultPending = pendingWithdrawalsResponse.data const pendingWithdrawalsHex = resultPending.Result ? resultPending.Result : 0 - const reversedHex = pendingWithdrawalsHex.toString().length > 2 ? utils.reverseHex(pendingWithdrawalsHex) : pendingWithdrawalsHex - pendingWithdrawals = parseInt(reversedHex, 16) + pendingWithdrawals = parseInt(pendingWithdrawalsHex, 16) } if (votesResponse.status === 200 && votesResponse.data) { const resultVotes = votesResponse.data const votesHex = resultVotes.Result ? resultVotes.Result : 0 - const reversedHex = votesHex.toString().length > 2 ? utils.reverseHex(votesHex) : votesHex - votes = parseInt(reversedHex, 16) + votes = parseInt(votesHex, 16) } - + commit('UPDATE_CURRENT_SS_PEER', { votes, pendingWithdrawals }) return { votes, pendingWithdrawals }; } catch (err) { From b2928800ec48ca66f9908937a6ab1be0247570a5 Mon Sep 17 00:00:00 2001 From: Daniel Blanco Date: Fri, 23 Jul 2021 13:52:50 +0200 Subject: [PATCH 3/4] removed deprecated files --- src/assets/sesameseed.png | Bin 40794 -> 0 bytes .../AuthorizationMgmtSesameseed.vue | 338 ------------------ .../Sesameseed/AuthorizeLoginSesameseed.vue | 150 -------- .../Sesameseed/NewAuthorizationSesameseed.vue | 193 ---------- .../Sesameseed/SesameseedVars.js | 2 - src/lang/en.js | 8 - src/lang/zh.js | 8 - .../modules/NodeAuthorizationSesameseed.js | 61 ---- 8 files changed, 760 deletions(-) delete mode 100644 src/assets/sesameseed.png delete mode 100644 src/components/Node/NodeAuthorize/Sesameseed/AuthorizationMgmtSesameseed.vue delete mode 100644 src/components/Node/NodeAuthorize/Sesameseed/AuthorizeLoginSesameseed.vue delete mode 100644 src/components/Node/NodeAuthorize/Sesameseed/NewAuthorizationSesameseed.vue delete mode 100644 src/components/Node/NodeAuthorize/Sesameseed/SesameseedVars.js delete mode 100644 src/store/modules/NodeAuthorizationSesameseed.js diff --git a/src/assets/sesameseed.png b/src/assets/sesameseed.png deleted file mode 100644 index 197d9379771c92f4618937290ac7ebf8d444a54c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40794 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%0D;FidyE`M;gR>1Gyn4kGXH6pTi8Xs|>l7?}c-~ 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 E2j~QgqW}N^ diff --git a/src/components/Node/NodeAuthorize/Sesameseed/AuthorizationMgmtSesameseed.vue b/src/components/Node/NodeAuthorize/Sesameseed/AuthorizationMgmtSesameseed.vue deleted file mode 100644 index 88e01bd..0000000 --- a/src/components/Node/NodeAuthorize/Sesameseed/AuthorizationMgmtSesameseed.vue +++ /dev/null @@ -1,338 +0,0 @@ - - - diff --git a/src/components/Node/NodeAuthorize/Sesameseed/AuthorizeLoginSesameseed.vue b/src/components/Node/NodeAuthorize/Sesameseed/AuthorizeLoginSesameseed.vue deleted file mode 100644 index e99d087..0000000 --- a/src/components/Node/NodeAuthorize/Sesameseed/AuthorizeLoginSesameseed.vue +++ /dev/null @@ -1,150 +0,0 @@ - - - diff --git a/src/components/Node/NodeAuthorize/Sesameseed/NewAuthorizationSesameseed.vue b/src/components/Node/NodeAuthorize/Sesameseed/NewAuthorizationSesameseed.vue deleted file mode 100644 index 2040fee..0000000 --- a/src/components/Node/NodeAuthorize/Sesameseed/NewAuthorizationSesameseed.vue +++ /dev/null @@ -1,193 +0,0 @@ - - - - diff --git a/src/components/Node/NodeAuthorize/Sesameseed/SesameseedVars.js b/src/components/Node/NodeAuthorize/Sesameseed/SesameseedVars.js deleted file mode 100644 index e57b11b..0000000 --- a/src/components/Node/NodeAuthorize/Sesameseed/SesameseedVars.js +++ /dev/null @@ -1,2 +0,0 @@ -export const CONTRACT_HASH = 'a63c33d2209854feafbf40685a33d4846ee82556' -export const SESAMESEED_NODE_ADDRESS = 'ANRRE8xKwKzuaCeAjP6eZYDnVi7n2x6byE' diff --git a/src/lang/en.js b/src/lang/en.js index 3816c98..abed3dd 100644 --- a/src/lang/en.js +++ b/src/lang/en.js @@ -761,16 +761,8 @@ Within their 50% share each consensus node will receive their share according to }, dapps: { dapps: 'DApps', - sesameSeed: 'Sesameseed', - sesameseedDesc: 'Sesameseed voting management', notification: 'Notification', userPolicy: 'You will be redirected to the third party dApp. Use of the third party dApp will be subject to their User Agreement and Privacy Policy. You will be liable to the third party dApp only.', ontidMgmt: 'ONT ID management. This feature will be removed in the future. Please backup ONT ID related data' - }, - sesameseed: { - stakeAmountTip: 'Stake amount for Sesameseed is 1 unit equals 1 ONT', - authorizeTip: 'If a new stake is canceled, it will add to the “canceled” ONT and be directly deposited in the users account within 24 hours. If authorized ONT from a previous consensus round is canceled it will be added to the “canceled” ONT and be directly deposited in the originating users account within 24 hours of the beginning of the next consensus round if Sesameseed is a candidate node (or one round later if Sesameseed is a consensus node). If a user has both authorized ONT from this consensus round and a previous round and cancels an ONT amount exceeding the amount from this round, they will receive authorized ONT from this consensus round first and the remaining authorized ONT in the next round.', - rewardTip: 'Sesameseed rewards Ontology Stake Authorizations in SEED for both foundation rewards created as a candidate or consensus node as an OEP-4 token “SEED”. This token is rewarded directly to Staking participants. In addition to node rewards, 100% of ONG unbound while staking is pooled by all stake authorizations and added to the total “Node Reward”, as a result this node reward is also provided in the form of “SEED” Token. Rewards are distributed daily without the need to redeem. Find out more at https://sesameseed.org.', - pendingWithdrawals: 'Pending canceled stake authorization' } } diff --git a/src/lang/zh.js b/src/lang/zh.js index 341e26e..951c093 100644 --- a/src/lang/zh.js +++ b/src/lang/zh.js @@ -756,16 +756,8 @@ export default { }, dapps: { dapps: 'DApps', - sesameSeed: '芝麻籽', - sesameseedDesc: 'Sesameseed voting management', notification: '注意', userPolicy: '您将跳转至第三方dApp页面,在第三方dApp上的使用行为将适用该第三方dApp的《用户协议》和《隐私政策》,由该第三方dApp直接并单独向您承担责任', ontidMgmt: '管理ONT ID。该功能以后会被移除。请备份ONT ID相关数据。' - }, - sesameseed: { - stakeAmountTip: 'Stake amount for Sesameseed is 1 unit equals 1 ONT', - authorizeTip: 'If a new stake is canceled, it will add to the “canceled” ONT and be directly deposited in the users account within 24 hours. If authorized ONT from a previous consensus round is canceled it will be added to the “canceled” ONT and be directly deposited in the originating users account within 24 hours of the beginning of the next consensus round if Sesameseed is a candidate node (or one round later if Sesameseed is a consensus node). If a user has both authorized ONT from this consensus round and a previous round and cancels an ONT amount exceeding the amount from this round, they will receive authorized ONT from this consensus round first and the remaining authorized ONT in the next round.', - rewardTip: 'Sesameseed rewards Ontology Stake Authorizations in SEED for both foundation rewards created as a candidate or consensus node as an OEP-4 token “SEED”. This token is rewarded directly to Staking participants. In addition to node rewards, 100% of ONG unbound while staking is pooled by all stake authorizations and added to the total “Node Reward”, as a result this node reward is also provided in the form of “SEED” Token. Rewards are distributed daily without the need to redeem. Find out more at https://sesameseed.org.', - pendingWithdrawals: 'Pending canceled stake authorization' } } diff --git a/src/store/modules/NodeAuthorizationSesameseed.js b/src/store/modules/NodeAuthorizationSesameseed.js deleted file mode 100644 index 5a5c11f..0000000 --- a/src/store/modules/NodeAuthorizationSesameseed.js +++ /dev/null @@ -1,61 +0,0 @@ -import {utils} from 'ontology-ts-sdk' -import axios from 'axios'; - -const state = { - sesameseed: { // for node user - votes: 0, - pendingWithdrawals: 0 - } -} - -const mutations = { - UPDATE_CURRENT_SS_PEER(state, payload) { - state.sesameseed = { - votes: payload.votes, - pendingWithdrawals: payload.pendingWithdrawals - } - } -} - -const actions = { - async fetchSSPerInfo({commit}, address) { - try { - const baseUrl = 'https://dappnode1.ont.io:10334/api/v1/storage/a63c33d2209854feafbf40685a33d4846ee82556/' - - const hexAddress = utils.str2hexstr(address) - const pendingHexAddress = utils.str2hexstr('1' + address) - - const pendingWithdrawalsPromise = axios.get(baseUrl + pendingHexAddress) - const votesPromise = axios.get(baseUrl + hexAddress) - - const [pendingWithdrawalsResponse, votesResponse] = await Promise.all([ pendingWithdrawalsPromise, votesPromise ]) - - let votes = 0 - let pendingWithdrawals = 0 - - if (pendingWithdrawalsResponse.status === 200 && pendingWithdrawalsResponse.data) { - const resultPending = pendingWithdrawalsResponse.data - const pendingWithdrawalsHex = resultPending.Result ? resultPending.Result : 0 - pendingWithdrawals = parseInt(pendingWithdrawalsHex, 16) - } - - if (votesResponse.status === 200 && votesResponse.data) { - const resultVotes = votesResponse.data - const votesHex = resultVotes.Result ? resultVotes.Result : 0 - votes = parseInt(votesHex, 16) - } - - commit('UPDATE_CURRENT_SS_PEER', { votes, pendingWithdrawals }) - return { votes, pendingWithdrawals }; - } catch (err) { - console.log(err) - return 0; - } - } -} - -export default { - state, - mutations, - actions -} From abb74f5ff5b881b16a3725d411a24e1fd0873a8c Mon Sep 17 00:00:00 2001 From: Daniel Blanco Date: Fri, 23 Jul 2021 15:41:11 +0200 Subject: [PATCH 4/4] remove Sesameseed routing --- src/components/Dapps.vue | 12 ---------- src/router/index.js | 47 ++++++++++++++-------------------------- 2 files changed, 16 insertions(+), 43 deletions(-) diff --git a/src/components/Dapps.vue b/src/components/Dapps.vue index 55cfae6..f0db8e3 100644 --- a/src/components/Dapps.vue +++ b/src/components/Dapps.vue @@ -67,18 +67,6 @@

- -
-
- - {{$t('dapps.sesameSeed')}} -
-

{{$t('dapps.sesameseedDesc')}}

-
-