From 4e6354c34b7dba570fafc3688eb3667d8c1b1184 Mon Sep 17 00:00:00 2001 From: phetter Date: Sun, 26 Aug 2018 18:12:34 -0400 Subject: [PATCH 1/3] sendAsset bugfix --- package.json | 2 +- src/app/containers/Send/Send.js | 2 +- src/app/utils/api/neon.js | 95 +++++++++++++++++---------------- src/app/utils/api/neoscan.js | 1 + 4 files changed, 51 insertions(+), 49 deletions(-) diff --git a/package.json b/package.json index 028394b..5b3df53 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "write-file-webpack-plugin": "3.4.2" }, "dependencies": { - "@cityofzion/neon-js": "git+https://github.com/cityofzion/neon-js.git#3.8.1", + "@cityofzion/neon-js": "^3.10.1", "babel-plugin-react-css-modules": "^3.3.2", "bignumber.js": "5.0.0", "bluebird": "^3.3.4", diff --git a/src/app/containers/Send/Send.js b/src/app/containers/Send/Send.js index a8d88e2..72aa6ff 100644 --- a/src/app/containers/Send/Send.js +++ b/src/app/containers/Send/Send.js @@ -128,7 +128,7 @@ export class Send extends Component { this.setState({ loading: false, showConfirmation: false, - txid: result.txid, + txid: result, }) reset() }) diff --git a/src/app/utils/api/neon.js b/src/app/utils/api/neon.js index 8520de2..3cab5d2 100644 --- a/src/app/utils/api/neon.js +++ b/src/app/utils/api/neon.js @@ -1,9 +1,11 @@ // neon.js - neon-js api module -import Neon, { u, wallet, api, tx } from '@cityofzion/neon-js' +import Neon, { u, wallet, api, tx, Query } from '@cityofzion/neon-js' import { toNumber } from '../math' import { logDeep } from '../debug' import base58 from 'bs58' +import * as neoscan from './neoscan' + export const getAccountName = (account, accounts) => { let result @@ -145,65 +147,64 @@ export const getScriptHashFromAddress = (address) => { * @return {Promise} RPC Response */ export const sendAsset = (netUrl, toAddress, account, wif, assetAmounts, remark, txFee, signingFunction) => { - // = (net, toAddress, from, assetAmounts, signingFunction) => { let fee - if (txFee) fee = txFee else fee = 0 + console.log('nu '+netUrl) - const rpcEndpointPromise = api.neoscan.getRPCEndpoint(netUrl) + console.log('account: '+account.address) - const balancePromise = api.neoscan.getBalance(netUrl, account.address) + return api.neoscan.getBalance(netUrl, account.address).then(balance => { + logDeep('balance: ', balance) - // logDeep('account: ', account) + const scriptHash = getScriptHashFromAddress(toAddress) - const scriptHash = getScriptHashFromAddress(toAddress) + logDeep('scriptHash: ', scriptHash) - logDeep('scriptHash: ', scriptHash) - logDeep('remark: ', remark) + if (remark) logDeep('remark: ', remark) - const intents = Object.keys(assetAmounts).map(key => { - return { - assetId: Neon.CONST.ASSET_ID[key], - value: assetAmounts[key], - scriptHash: scriptHash, - } - }) - let signedTx - // let endpt - return Promise.all([rpcEndpointPromise, balancePromise]) - .then(values => { - // endpt = values[0] - const balance = values[1] - // const unsignedTx = tx.Transaction.createContractTx(balance, intents) - const unsignedTx = tx.Transaction.createContractTx(balance, intents, {}, fee) - // const unsignedTx = tx.Transaction.createContractTx(balance, intents, {}, fee) + const intents = Object.keys(assetAmounts).map(key => { + return { + assetId: Neon.CONST.ASSET_ID[key], + value: assetAmounts[key], + scriptHash: scriptHash, + } + }) + const unsignedTx = tx.Transaction.createContractTx(balance, intents, {}, fee) + + if (remark) { let uTx = unsignedTx.addRemark(remark) logDeep('unsignedTx: ', uTx) + } - // if (signingFunction) { - // return signingFunction(unsignedTx, fromAcct.publicKey) - // } else { - // return unsignedTx.sign(fromAcct.privateKey) - // } - const myAccount = Neon.create.account(wif) - return unsignedTx.sign(myAccount.privateKey) - }) - .then(signedResult => { - signedTx = signedResult - logDeep('signedTx: ', signedTx) - const client = Neon.create.rpcClient(netUrl) - return client.sendRawTransaction(signedTx) - }) - .then(res => { - logDeep('tx Result: ', res) - if (res === true) { - res.txid = signedTx.hash - } else { - console.log(`Transaction failed: ${signedTx.serialize()}`) - } - return res + const myAccount = Neon.create.account(wif) + + let signedTx = unsignedTx.sign(myAccount.privateKey) + + logDeep('signedTx: ', signedTx) + console.log('hash: '+signedTx.hash) + + api.neoscan.getRPCEndpoint(netUrl).then(rpcEndpt => { + + console.log('rpcEndpt: '+rpcEndpt) + + const client = Neon.create.rpcClient(rpcEndpt) + + logDeep('client: ', client) + + client.sendRawTransaction(signedTx).then(res => { + logDeep('tx Result: ', res) + + if (res === true) { + return signedTx.hash + } else { + // console.log(`Transaction failed: ${signedTx.serialize()}`) + console.log('transaction failed') + } + return res + }) }) + }) } diff --git a/src/app/utils/api/neoscan.js b/src/app/utils/api/neoscan.js index 1acb950..e761915 100644 --- a/src/app/utils/api/neoscan.js +++ b/src/app/utils/api/neoscan.js @@ -62,6 +62,7 @@ const validateUrl = url => { } export const setNet = networkId => { + console.log('here') return switchNetwork(networkId) } From 9b88c3125bd497522a7ab152d7401c223f55e647 Mon Sep 17 00:00:00 2001 From: phetter Date: Sun, 26 Aug 2018 18:15:24 -0400 Subject: [PATCH 2/3] sendAsset bugfix --- src/app/utils/api/neon.js | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/app/utils/api/neon.js b/src/app/utils/api/neon.js index 3cab5d2..d5fd3dd 100644 --- a/src/app/utils/api/neon.js +++ b/src/app/utils/api/neon.js @@ -1,11 +1,9 @@ // neon.js - neon-js api module -import Neon, { u, wallet, api, tx, Query } from '@cityofzion/neon-js' +import Neon, { u, wallet, api, tx } from '@cityofzion/neon-js' import { toNumber } from '../math' import { logDeep } from '../debug' import base58 from 'bs58' -import * as neoscan from './neoscan' - export const getAccountName = (account, accounts) => { let result @@ -150,9 +148,6 @@ export const sendAsset = (netUrl, toAddress, account, wif, assetAmounts, remark, let fee if (txFee) fee = txFee else fee = 0 - console.log('nu '+netUrl) - - console.log('account: '+account.address) return api.neoscan.getBalance(netUrl, account.address).then(balance => { logDeep('balance: ', balance) @@ -184,11 +179,11 @@ export const sendAsset = (netUrl, toAddress, account, wif, assetAmounts, remark, let signedTx = unsignedTx.sign(myAccount.privateKey) logDeep('signedTx: ', signedTx) - console.log('hash: '+signedTx.hash) + console.log('hash: ' + signedTx.hash) api.neoscan.getRPCEndpoint(netUrl).then(rpcEndpt => { - console.log('rpcEndpt: '+rpcEndpt) + console.log('rpcEndpt: ' + rpcEndpt) const client = Neon.create.rpcClient(rpcEndpt) From 9b6c92ad9a9eca3b0867bbd102636c954176cc24 Mon Sep 17 00:00:00 2001 From: phetter Date: Sun, 26 Aug 2018 18:20:59 -0400 Subject: [PATCH 3/3] debug logging cleanup --- src/app/utils/api/neon.js | 1 - src/app/utils/api/neoscan.js | 1 - 2 files changed, 2 deletions(-) diff --git a/src/app/utils/api/neon.js b/src/app/utils/api/neon.js index d5fd3dd..d271dbc 100644 --- a/src/app/utils/api/neon.js +++ b/src/app/utils/api/neon.js @@ -182,7 +182,6 @@ export const sendAsset = (netUrl, toAddress, account, wif, assetAmounts, remark, console.log('hash: ' + signedTx.hash) api.neoscan.getRPCEndpoint(netUrl).then(rpcEndpt => { - console.log('rpcEndpt: ' + rpcEndpt) const client = Neon.create.rpcClient(rpcEndpt) diff --git a/src/app/utils/api/neoscan.js b/src/app/utils/api/neoscan.js index e761915..1acb950 100644 --- a/src/app/utils/api/neoscan.js +++ b/src/app/utils/api/neoscan.js @@ -62,7 +62,6 @@ const validateUrl = url => { } export const setNet = networkId => { - console.log('here') return switchNetwork(networkId) }