From 9d18f751c8822910391e55c29fc2b1912a1ee108 Mon Sep 17 00:00:00 2001 From: Jacob Evans Date: Thu, 5 Apr 2018 15:01:56 +1000 Subject: Create a private key subprovider --- packages/subproviders/test/integration/ledger_subprovider_test.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'packages/subproviders/test/integration') diff --git a/packages/subproviders/test/integration/ledger_subprovider_test.ts b/packages/subproviders/test/integration/ledger_subprovider_test.ts index bc60b4330..3039bd560 100644 --- a/packages/subproviders/test/integration/ledger_subprovider_test.ts +++ b/packages/subproviders/test/integration/ledger_subprovider_test.ts @@ -58,7 +58,9 @@ describe('LedgerSubprovider', () => { const data = ethUtils.bufferToHex(ethUtils.toBuffer('hello world')); const ecSignatureHex = await ledgerSubprovider.signPersonalMessageAsync(data); expect(ecSignatureHex.length).to.be.equal(132); - expect(ecSignatureHex.substr(0, 2)).to.be.equal('0x'); + expect(ecSignatureHex).to.be.equal( + '0x1b0ec5e2908e993d0c8ab6b46da46be2688fdf03c7ea6686075de37392e50a7d7fcc531446699132fbda915bd989882e0064d417018773a315fb8d43ed063c9b00', + ); }); it('signs a transaction', async () => { const tx = { -- cgit v1.2.3 From 774ab8a8efa1ff5914896d9435c0362a4586c2ef Mon Sep 17 00:00:00 2001 From: Jacob Evans Date: Fri, 6 Apr 2018 14:55:03 +1000 Subject: Feedback remove id management from testnet faucet spread over txParams rather than modify in place --- .../test/integration/ledger_subprovider_test.ts | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) (limited to 'packages/subproviders/test/integration') diff --git a/packages/subproviders/test/integration/ledger_subprovider_test.ts b/packages/subproviders/test/integration/ledger_subprovider_test.ts index 3039bd560..da858b6b3 100644 --- a/packages/subproviders/test/integration/ledger_subprovider_test.ts +++ b/packages/subproviders/test/integration/ledger_subprovider_test.ts @@ -14,6 +14,7 @@ import RpcSubprovider = require('web3-provider-engine/subproviders/rpc'); import { LedgerSubprovider } from '../../src'; import { DoneCallback, LedgerEthereumClient } from '../../src/types'; import { chaiSetup } from '../chai_setup'; +import { fixtureData } from '../utils/fixture_data'; import { reportCallbackErrors } from '../utils/report_callback_errors'; chaiSetup.configure(); @@ -25,9 +26,6 @@ async function ledgerEthereumNodeJsClientFactoryAsync(): Promise { let ledgerSubprovider: LedgerSubprovider; const networkId: number = 42; @@ -35,7 +33,7 @@ describe('LedgerSubprovider', () => { ledgerSubprovider = new LedgerSubprovider({ networkId, ledgerEthereumClientFactoryAsync: ledgerEthereumNodeJsClientFactoryAsync, - derivationPath: TESTRPC_DERIVATION_PATH, + derivationPath: fixtureData.TESTRPC_DERIVATION_PATH, }); }); describe('direct method calls', () => { @@ -46,7 +44,7 @@ describe('LedgerSubprovider', () => { }); it('returns the expected first account from a ledger set up with the test mnemonic', async () => { const accounts = await ledgerSubprovider.getAccountsAsync(); - expect(accounts[0]).to.be.equal(TEST_RPC_ACCOUNT_0); + expect(accounts[0]).to.be.equal(fixtureData.TEST_RPC_ACCOUNT_0); }); it('returns requested number of accounts', async () => { const numberOfAccounts = 20; @@ -55,12 +53,10 @@ describe('LedgerSubprovider', () => { expect(accounts.length).to.be.equal(numberOfAccounts); }); it('signs a personal message', async () => { - const data = ethUtils.bufferToHex(ethUtils.toBuffer('hello world')); + const data = ethUtils.bufferToHex(ethUtils.toBuffer(fixtureData.PERSONAL_MESSAGE_STRING)); const ecSignatureHex = await ledgerSubprovider.signPersonalMessageAsync(data); expect(ecSignatureHex.length).to.be.equal(132); - expect(ecSignatureHex).to.be.equal( - '0x1b0ec5e2908e993d0c8ab6b46da46be2688fdf03c7ea6686075de37392e50a7d7fcc531446699132fbda915bd989882e0064d417018773a315fb8d43ed063c9b00', - ); + expect(ecSignatureHex).to.be.equal(fixtureData.PERSONAL_MESSAGE_SIGNED_RESULT); }); it('signs a transaction', async () => { const tx = { @@ -69,7 +65,7 @@ describe('LedgerSubprovider', () => { to: '0x0000000000000000000000000000000000000000', value: '0x00', chainId: 3, - from: TEST_RPC_ACCOUNT_0, + from: fixtureData.TEST_RPC_ACCOUNT_0, }; const txHex = await ledgerSubprovider.signTransactionAsync(tx); expect(txHex).to.be.equal( @@ -173,7 +169,7 @@ describe('LedgerSubprovider', () => { // Give first account on Ledger sufficient ETH to complete tx send let tx = { to: accounts[0], - from: TEST_RPC_ACCOUNT_0, + from: fixtureData.TEST_RPC_ACCOUNT_0, value: '0x8ac7230489e80000', // 10 ETH }; let payload = { -- cgit v1.2.3 From a0fac663f72feafbac98c2949578ec48b8d2ec0a Mon Sep 17 00:00:00 2001 From: Jacob Evans Date: Fri, 6 Apr 2018 16:07:00 +1000 Subject: Update shared fixture data for network 42 --- .../test/integration/ledger_subprovider_test.ts | 25 +++++----------------- 1 file changed, 5 insertions(+), 20 deletions(-) (limited to 'packages/subproviders/test/integration') diff --git a/packages/subproviders/test/integration/ledger_subprovider_test.ts b/packages/subproviders/test/integration/ledger_subprovider_test.ts index da858b6b3..503618089 100644 --- a/packages/subproviders/test/integration/ledger_subprovider_test.ts +++ b/packages/subproviders/test/integration/ledger_subprovider_test.ts @@ -28,7 +28,7 @@ async function ledgerEthereumNodeJsClientFactoryAsync(): Promise { let ledgerSubprovider: LedgerSubprovider; - const networkId: number = 42; + const networkId: number = fixtureData.NETWORK_ID; before(async () => { ledgerSubprovider = new LedgerSubprovider({ networkId, @@ -59,18 +59,8 @@ describe('LedgerSubprovider', () => { expect(ecSignatureHex).to.be.equal(fixtureData.PERSONAL_MESSAGE_SIGNED_RESULT); }); it('signs a transaction', async () => { - const tx = { - nonce: '0x00', - gas: '0x2710', - to: '0x0000000000000000000000000000000000000000', - value: '0x00', - chainId: 3, - from: fixtureData.TEST_RPC_ACCOUNT_0, - }; - const txHex = await ledgerSubprovider.signTransactionAsync(tx); - expect(txHex).to.be.equal( - '0xf85f8080822710940000000000000000000000000000000000000000808078a0712854c73c69445cc1b22a7c3d7312ff9a97fe4ffba35fd636e8236b211b6e7ca0647cee031615e52d916c7c707025bc64ad525d8f1b9876c3435a863b42743178', - ); + const txHex = await ledgerSubprovider.signTransactionAsync(fixtureData.TX_DATA); + expect(txHex).to.be.equal(fixtureData.TX_DATA_SIGNED_RESULT); }); }); describe('calls through a provider', () => { @@ -144,20 +134,15 @@ describe('LedgerSubprovider', () => { })().catch(done); }); it('signs a transaction', (done: DoneCallback) => { - const tx = { - to: '0xafa3f8684e54059998bc3a7b0d2b0da075154d66', - value: '0x00', - }; const payload = { jsonrpc: '2.0', method: 'eth_signTransaction', - params: [tx], + params: [fixtureData.TX_DATA], id: 1, }; const callback = reportCallbackErrors(done)((err: Error, response: JSONRPCResponsePayload) => { expect(err).to.be.a('null'); - expect(response.result.raw.length).to.be.equal(206); - expect(response.result.raw.substr(0, 2)).to.be.equal('0x'); + expect(response.result.raw).to.be.equal(fixtureData.TX_DATA_SIGNED_RESULT); done(); }); ledgerProvider.sendAsync(payload, callback); -- cgit v1.2.3