bitski-provider
Advanced tools
Comparing version
export { BitskiEngine } from './bitski-engine'; | ||
export { AccessToken } from './auth/access-token'; | ||
export { AuthenticatedFetchSubprovider } from './subproviders/authenticated-fetch'; | ||
import ProviderEngine from 'web3-provider-engine'; | ||
export { ProviderEngine }; |
@@ -11,7 +11,8 @@ import retry from 'async/retry'; | ||
'SyntaxError', | ||
'ECONNRESET', | ||
]; | ||
const AUTHENTICATED_METHODS = [ | ||
"eth_accounts", | ||
"eth_sendTransaction", | ||
"eth_sign", | ||
'eth_accounts', | ||
'eth_sendTransaction', | ||
'eth_sign', | ||
]; | ||
@@ -52,3 +53,3 @@ function isErrorRetriable(err) { | ||
requiresAuthentication(payload) { | ||
return AUTHENTICATED_METHODS.some(method => method == payload.method); | ||
return AUTHENTICATED_METHODS.some((method) => method === payload.method); | ||
} | ||
@@ -65,3 +66,3 @@ generateParameters(payload, accessToken) { | ||
headers = Object.assign({}, headers, this.defaultHeaders); | ||
const originDomain = payload['origin']; | ||
const originDomain = payload.origin; | ||
if (super.originHttpHeaderKey && originDomain) { | ||
@@ -71,3 +72,3 @@ headers[super.originHttpHeaderKey] = originDomain; | ||
if (accessToken) { | ||
headers['Authorization'] = `Bearer ${accessToken}`; | ||
headers.Authorization = `Bearer ${accessToken}`; | ||
} | ||
@@ -74,0 +75,0 @@ const requestParameters = { |
@@ -5,3 +5,1 @@ export { BitskiEngine } from './bitski-engine'; | ||
export { AuthenticatedFetchSubprovider } from './subproviders/authenticated-fetch'; | ||
import ProviderEngine from 'web3-provider-engine'; | ||
export { ProviderEngine }; |
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -12,4 +9,2 @@ var bitski_engine_1 = require("./bitski-engine"); | ||
exports.AuthenticatedFetchSubprovider = authenticated_fetch_1.AuthenticatedFetchSubprovider; | ||
const web3_provider_engine_1 = __importDefault(require("web3-provider-engine")); | ||
exports.ProviderEngine = web3_provider_engine_1.default; | ||
//# sourceMappingURL=index.js.map |
@@ -10,5 +10,5 @@ import FetchSubprovider from 'web3-provider-engine/subproviders/fetch'; | ||
handleUnauthenticatedRequest(payload: any, next: any, end: any): void; | ||
private requiresAuthentication; | ||
private generateParameters; | ||
private sendRequest; | ||
protected requiresAuthentication(payload: any): boolean; | ||
protected generateParameters(payload: any, accessToken?: string): object; | ||
protected sendRequest(parameters: object, next: any, end: any): void; | ||
} |
@@ -16,7 +16,8 @@ "use strict"; | ||
'SyntaxError', | ||
'ECONNRESET', | ||
]; | ||
const AUTHENTICATED_METHODS = [ | ||
"eth_accounts", | ||
"eth_sendTransaction", | ||
"eth_sign", | ||
'eth_accounts', | ||
'eth_sendTransaction', | ||
'eth_sign', | ||
]; | ||
@@ -57,3 +58,3 @@ function isErrorRetriable(err) { | ||
requiresAuthentication(payload) { | ||
return AUTHENTICATED_METHODS.some(method => method == payload.method); | ||
return AUTHENTICATED_METHODS.some((method) => method === payload.method); | ||
} | ||
@@ -70,3 +71,3 @@ generateParameters(payload, accessToken) { | ||
headers = Object.assign({}, headers, this.defaultHeaders); | ||
const originDomain = payload['origin']; | ||
const originDomain = payload.origin; | ||
if (super.originHttpHeaderKey && originDomain) { | ||
@@ -76,3 +77,3 @@ headers[super.originHttpHeaderKey] = originDomain; | ||
if (accessToken) { | ||
headers['Authorization'] = `Bearer ${accessToken}`; | ||
headers.Authorization = `Bearer ${accessToken}`; | ||
} | ||
@@ -79,0 +80,0 @@ const requestParameters = { |
@@ -12,11 +12,7 @@ { | ||
}, | ||
"version": "0.2.0-beta.12", | ||
"version": "0.2.0-beta.13", | ||
"scripts": { | ||
"lint": "tslint 'src/**/*.ts'", | ||
"build": "tsc -p tsconfig.main.json && tsc -p tsconfig.module.json", | ||
"prepare": "npm run build", | ||
"prepack": "npm run build", | ||
"docs": "typedoc", | ||
"test": "jest --coverage", | ||
"test:ci": "jest --coverage --ci --reporters=default --reporters=jest-junit" | ||
"prepack": "npm run build" | ||
}, | ||
@@ -41,8 +37,4 @@ "dependencies": { | ||
"automock": false, | ||
"coverageDirectory": "coverage", | ||
"coverageReporters": [ | ||
"json", | ||
"text", | ||
"html", | ||
"cobertura" | ||
"transformIgnorePatterns": [ | ||
"node_modules/(?!(bitski-provider)/)" | ||
], | ||
@@ -59,3 +51,3 @@ "setupFiles": [ | ||
}, | ||
"gitHead": "6c48810f2f166a45109288563bc61c3464335a9b" | ||
"gitHead": "026be8379d56d72ad97eebb39e58802d3cfdc169" | ||
} |
@@ -5,4 +5,1 @@ export { BitskiEngine } from './bitski-engine'; | ||
export { AuthenticatedFetchSubprovider } from './subproviders/authenticated-fetch'; | ||
import ProviderEngine from 'web3-provider-engine'; | ||
export { ProviderEngine }; |
@@ -14,8 +14,9 @@ import retry from 'async/retry'; | ||
'SyntaxError', | ||
'ECONNRESET', | ||
]; | ||
const AUTHENTICATED_METHODS = [ | ||
"eth_accounts", | ||
"eth_sendTransaction", | ||
"eth_sign", | ||
'eth_accounts', | ||
'eth_sendTransaction', | ||
'eth_sign', | ||
]; | ||
@@ -63,7 +64,7 @@ | ||
private requiresAuthentication(payload) { | ||
return AUTHENTICATED_METHODS.some(method => method == payload.method); | ||
protected requiresAuthentication(payload) { | ||
return AUTHENTICATED_METHODS.some((method) => method === payload.method); | ||
} | ||
private generateParameters(payload, accessToken?: string): object { | ||
protected generateParameters(payload, accessToken?: string): object { | ||
// overwrite id to not conflict with other concurrent users | ||
@@ -74,3 +75,3 @@ const newPayload = createPayload(payload); | ||
let headers: object = { | ||
let headers: any = { | ||
'Accept': 'application/json', | ||
@@ -82,3 +83,3 @@ 'Content-Type': 'application/json', | ||
const originDomain = payload['origin']; | ||
const originDomain = payload.origin; | ||
if (super.originHttpHeaderKey && originDomain) { | ||
@@ -89,3 +90,3 @@ headers[super.originHttpHeaderKey] = originDomain; | ||
if (accessToken) { | ||
headers['Authorization'] = `Bearer ${accessToken}`; | ||
headers.Authorization = `Bearer ${accessToken}`; | ||
} | ||
@@ -102,3 +103,3 @@ | ||
private sendRequest(parameters: object, next, end) { | ||
protected sendRequest(parameters: object, next, end) { | ||
retry({ | ||
@@ -105,0 +106,0 @@ errorFilter: isErrorRetriable, |
@@ -1,9 +0,6 @@ | ||
import { InMemoryWebStorage, WebStorageStateStore } from 'oidc-client'; | ||
import mock from 'xhr-mock'; | ||
import { AuthenticatedFetchSubprovider } from '../src/subproviders/authenticated-fetch'; | ||
import { AuthenticatedFetchSubprovider } from '../src/index'; | ||
import { MockEngine } from './util/mock-engine'; | ||
import { AccessTokenProvider } from '../dist'; | ||
import { AccessTokenProvider } from '../src/index'; | ||
const clientID = 'test-client-id'; | ||
class MockProvider implements AccessTokenProvider { | ||
@@ -15,8 +12,11 @@ public getAccessToken(): Promise<string> { | ||
function createAuthProvider() { | ||
return new MockProvider(); | ||
function createFetchProvider(): AuthenticatedFetchSubprovider { | ||
const tokenProvider = new MockProvider(); | ||
return new AuthenticatedFetchSubprovider('https://localhost:56610/v1/web3/kovan', true, tokenProvider, { 'X-API-KEY': 'test-client-id' }); | ||
} | ||
function createInstance(tokenProvider: AccessTokenProvider): AuthenticatedFetchSubprovider { | ||
return new AuthenticatedFetchSubprovider('https://localhost:56610/v1/web3/kovan', true, tokenProvider, { 'X-API-KEY': 'test-client-id' }); | ||
function createEngine(fetchProvider: AuthenticatedFetchSubprovider): MockEngine { | ||
const engine = new MockEngine(); | ||
engine.addProvider(fetchProvider); | ||
return engine; | ||
} | ||
@@ -44,6 +44,4 @@ | ||
test('should send request with headers when signed in', (done) => { | ||
const authProvider = createAuthProvider(); | ||
const instance = createInstance(authProvider); | ||
const engine = new MockEngine(); | ||
engine.addProvider(instance); | ||
const provider = createFetchProvider(); | ||
const engine = createEngine(provider); | ||
@@ -56,4 +54,7 @@ // @ts-ignore | ||
})); | ||
const sendRequestSpy = jest.spyOn(instance, 'sendRequest'); | ||
// @ts-ignore | ||
const sendRequestSpy = jest.spyOn(provider, 'sendRequest'); | ||
const request = createRequest('eth_accounts', []); | ||
return engine.sendAsync(request, (error, value) => { | ||
@@ -71,6 +72,4 @@ expect(sendRequestSpy).toHaveBeenCalled(); | ||
test('sends that dont require authentication should work without a user', (done) => { | ||
const authProvider = createAuthProvider(); | ||
const instance = createInstance(authProvider); | ||
const engine = new MockEngine(); | ||
engine.addProvider(instance); | ||
const provider = createFetchProvider(); | ||
const engine = createEngine(provider); | ||
@@ -83,4 +82,6 @@ // @ts-ignore | ||
})); | ||
const sendRequestSpy = jest.spyOn(instance, 'sendRequest'); | ||
// @ts-ignore | ||
const sendRequestSpy = jest.spyOn(provider, 'sendRequest'); | ||
const request = createRequest('eth_peerCount', []); | ||
return engine.sendAsync(request, (error, value) => { | ||
@@ -87,0 +88,0 @@ expect(sendRequestSpy).toHaveBeenCalled(); |
@@ -15,2 +15,3 @@ import Web3ProviderEngine from 'web3-provider-engine'; | ||
})); | ||
// @ts-ignore | ||
this._blockTracker.emit('block', { | ||
@@ -17,0 +18,0 @@ difficulty: '0x00', |
@@ -14,5 +14,6 @@ { | ||
"indent": [true, "spaces", 2], | ||
"no-switch-case-fall-through": true | ||
"no-switch-case-fall-through": true, | ||
"no-reference": false | ||
}, | ||
"rulesDirectory": [] | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
No README
QualityPackage does not have a README. This may indicate a failed publish or a low quality package.
Found 1 instance in 1 package
1
-50%20
Infinity%34354
-70.03%38
-24%713
-38.38%