From de785e814e7eaf15c4845001efb83ea0b8e97c12 Mon Sep 17 00:00:00 2001 From: Peter Benc Date: Mon, 3 Aug 2020 19:15:37 +0200 Subject: [PATCH] something --- .../shelley/shelley-trezor-crypto-provider.ts | 53 ++++++++++++------- app/public/js/init.js | 37 +++++++------ 2 files changed, 56 insertions(+), 34 deletions(-) diff --git a/app/frontend/wallet/shelley/shelley-trezor-crypto-provider.ts b/app/frontend/wallet/shelley/shelley-trezor-crypto-provider.ts index bf11500afd..4b67e9dcfb 100644 --- a/app/frontend/wallet/shelley/shelley-trezor-crypto-provider.ts +++ b/app/frontend/wallet/shelley/shelley-trezor-crypto-provider.ts @@ -8,9 +8,7 @@ import debugLog from '../../helpers/debugLog' const CardanoTrezorCryptoProvider = ({network, config}) => { const derivationScheme = derivationSchemes.v2 - const TrezorConnect = config.ADALITE_TREZOR_CONNECT_URL - ? (window as any).TrezorConnect - : require('../../libs/trezor-connect-local').default + const TrezorConnect = require('../../libs/trezor-connect-local').default TrezorConnect.manifest({ email: ADALITE_SUPPORT_EMAIL, @@ -78,7 +76,7 @@ const CardanoTrezorCryptoProvider = ({network, config}) => { function prepareInput(input, addressToAbsPathMapper): CardanoTxInputType { const data = { address_n: addressToAbsPathMapper(input.address), - prev_hash: Buffer.from(input.txHash, 'hex'), + prev_hash: Buffer.from(input.txid, 'hex'), prev_index: input.outputIndex, } @@ -106,27 +104,33 @@ const CardanoTrezorCryptoProvider = ({network, config}) => { return { type: cert.type, path: addressToAbsPathMapper(cert.accountAddress), - pool: Buffer.from(cert.poolHash, 'hex'), + pool: cert.poolHash ? Buffer.from(cert.poolHash, 'hex') : null, } } async function signTx(unsignedTx, rawInputTxs, addressToAbsPathMapper) { - const inputs = [] + const _inputs = [] for (const input of unsignedTx.inputs) { - inputs.push(await prepareInput(input, addressToAbsPathMapper)) + const data = prepareInput(input, addressToAbsPathMapper) + _inputs.push(data) } + const inputs = await Promise.all(_inputs) - const outputs = [] + const _outputs = [] for (const output of unsignedTx.outputs) { - const data = await prepareOutput(output, addressToAbsPathMapper) - outputs.push(data) + const data = prepareOutput(output, addressToAbsPathMapper) + _outputs.push(data) } + const outputs = await Promise.all(_outputs) const certificates = [] for (const cert of unsignedTx.certs) { - const data = await prepareCertificate(cert, addressToAbsPathMapper) + const data = prepareCertificate(cert, addressToAbsPathMapper) certificates.push(data) } + + const fee = `${unsignedTx.fee.fee}` + const ttl = `${unsignedTx.ttl.ttl}` const withdrawals = [] const metadata = null @@ -140,7 +144,7 @@ const CardanoTrezorCryptoProvider = ({network, config}) => { // withdrawals: List[CardanoTxWithdrawalType] = None, // metadata: bytes = None, - console.log({ + console.log('\n\n\n\n\n\n\n', { inputs, outputs, protocol_magic: network.protocolMagic, @@ -154,14 +158,26 @@ const CardanoTrezorCryptoProvider = ({network, config}) => { const response = await TrezorConnect.cardanoSignTransaction({ inputs, outputs, - protocol_magic: network.protocolMagic, - fee: unsignedTx.fee, - ttl: unsignedTx.ttl, - network_id: network.networkId, - certificates, + protocolMagic: network.protocolMagic, + fee, + ttl, + networkId: network.networkId, + // certificates, // withdrawals, // metadata, - }).catch((e) => console.log(e)) + }).catch((e) => + console.log(e, { + inputs, + outputs, + protocolMagic: network.protocolMagic, + fee: unsignedTx.fee.fee, + ttl: unsignedTx.ttl.ttl, + networkId: network.networkId, + certificates, + // withdrawals, + // metadata, + }) + ) if (response.error || !response.success) { debugLog(response) @@ -202,6 +218,7 @@ const CardanoTrezorCryptoProvider = ({network, config}) => { getHwWalletName, _sign: sign, _deriveHdNode: deriveHdNode, + network, } } diff --git a/app/public/js/init.js b/app/public/js/init.js index 6019123608..2d54127b27 100644 --- a/app/public/js/init.js +++ b/app/public/js/init.js @@ -56,22 +56,27 @@ function loadScript(success) { document.getElementsByTagName('head')[0].appendChild(mainScriptTag) } else { // display fallback HTML for browsers that fail the check - document.write( - '' + - '' + - '' + - 'AdaLite - Cardano Wallet' + - '' + - '' + - '' + - 'Unsupported browser. Please try updating it or install the latest version of a supported one. We recommend trying:' + - '' + - '' + - '' - ) + const mainScriptTag = document.createElement('script') + mainScriptTag.type = 'text/javascript' + mainScriptTag.src = 'js/frontend.bundle.js' + mainScriptTag.setAttribute('defer', '') + document.getElementsByTagName('head')[0].appendChild(mainScriptTag) + // document.write( + // '' + + // '' + + // '' + + // 'AdaLite - Cardano Wallet' + + // '' + + // '' + + // '' + + // 'Unsupported browser. Please try updating it or install the latest version of a supported one. We recommend trying:' + + // '' + + // '' + + // '' + // ) } }