Skip to content

Commit

Permalink
Merge pull request #404 from jplomas/master
Browse files Browse the repository at this point in the history
Fixes issue with MS address not in state
  • Loading branch information
jplomas committed Jan 29, 2022
2 parents 4228718 + e010c4a commit a455914
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 16 deletions.
2 changes: 1 addition & 1 deletion imports/startup/both/index.js
Expand Up @@ -5,7 +5,7 @@ import { rawAddressToB32Address, rawAddressToHexAddress, b32AddressToRawAddress
export const SHOR_PER_QUANTA = 1000000000

// Explorer Version
export const EXPLORER_VERSION = '1.2.0'
export const EXPLORER_VERSION = '1.2.1'

// Function to cleanly represent large decimal numbers without exponential formatting.
export function numberToString(num) {
Expand Down
21 changes: 18 additions & 3 deletions imports/startup/server/index.js
Expand Up @@ -426,12 +426,18 @@ const getFullAddressState = (request, callback) => {
const getAddressState = (request, callback) => {
try {
qrlApi('GetOptimizedAddressState', request, (error, response) => {
if (error) {
const myError = errorCallback(error, 'Cannot access API/GetOptimizedAddressState', '**ERROR/getAddressState** ')
if (error || response.state === null) {
const myError = errorCallback(
error,
'Cannot access API/GetOptimizedAddressState',
'**ERROR/getAddressState** ',
)
callback(myError, null)
} else {
if (response.state.address) {
response.state.address = `Q${Buffer.from(response.state.address).toString('hex')}`
response.state.address = `Q${Buffer.from(
response.state.address,
).toString('hex')}`
}

callback(null, response)
Expand All @@ -450,6 +456,15 @@ const getMultiSigAddressState = (request, callback) => {
const myError = errorCallback(error, 'Cannot access API/GetMultiSigAddressState', '**ERROR/getMultiSigAddressState** ')
callback(myError, null)
} else {
if (response.state === null) {
const myError = errorCallback(
error,
'No state returned for this address',
'**ERROR/getMultiSigAddressState** ',
)
callback(myError, null)
return
}
if (response.state.address) {
response.state.address = `Q${Buffer.from(response.state.address).toString('hex')}`
}
Expand Down
15 changes: 13 additions & 2 deletions imports/ui/components/address/address.html
@@ -1,5 +1,16 @@
<template name="address">

{{#if notFound}}
<h3 class="ui pageHeader header">
<i class="tiny icon"></i>
<div class="content wordBreak">
{{address.parameter}}
</div>
</h3>
<div class="ui negative message">
State for <span class="hack">{{address.parameter}}</span> not found on this chain.<br>
Is this address from a different QRL network?
</div>
{{else}}
<h3 class="ui pageHeader header">
<i class="tiny icon"></i>
<div class="content wordBreak f-h">
Expand Down Expand Up @@ -449,5 +460,5 @@ <h4>Slave addresses</h4>
<div class="ui raised segment jsonbox json" style="display: none">{{json}}</div>

</div>

{{/if}}
</template>
37 changes: 27 additions & 10 deletions imports/ui/components/address/address.js
Expand Up @@ -120,7 +120,6 @@ function loadAddressTransactions(aId, page) {
})
}


const getTokenBalances = (getAddress, callback) => {
const request = {
address: anyAddressToRaw(getAddress),
Expand Down Expand Up @@ -307,15 +306,23 @@ Template.address.helpers({
return Session.equals('addressFormat', 'bech32')
},
address() {
const address = Session.get('address')
if (address !== undefined) {
if (address.state !== undefined) {
address.state.address = hexOrB32(anyAddressToRaw(address.state.address))
return address
try {
const address = Session.get('address')
if (Session.get('address').error) {
return { found: false, parameter: FlowRouter.getParam('aId') }
}
if (address !== undefined) {
if (address.state !== undefined) {
address.state.address = hexOrB32(
anyAddressToRaw(address.state.address),
)
return address
}
}
return false
} catch (e) {
return false
}
// error handling needed here
return false
},
isMultiSig() {
try {
Expand Down Expand Up @@ -460,6 +467,16 @@ Template.address.helpers({
return false
}
},
notFound() {
try {
if (Session.get('address').error) {
return true
}
return false
} catch (e) {
return false
}
},
isThisAddress(address) {
try {
// console.log(address)
Expand Down Expand Up @@ -818,6 +835,6 @@ Template.address.onRendered(() => {

// Render identicon (needs to be here for initial load).
// Also Session.get('address') is blank at this point
//$('.qr-code-container').qrcode({ width: 100, height: 100, text: upperCaseFirst(FlowRouter.getParam('aId')) })
//jdenticon.update('#identicon', upperCaseFirst(FlowRouter.getParam('aId'))) /* eslint no-undef:0 */
// $('.qr-code-container').qrcode({ width: 100, height: 100, text: upperCaseFirst(FlowRouter.getParam('aId')) })
// jdenticon.update('#identicon', upperCaseFirst(FlowRouter.getParam('aId'))) /* eslint no-undef:0 */
})

0 comments on commit a455914

Please sign in to comment.