Skip to content

Commit a9e3f3e

Browse files
fix(request-client): remove useLocalEthereumBroadcast from tests (#937)
1 parent 2ba9cf2 commit a9e3f3e

File tree

4 files changed

+21
-30
lines changed

4 files changed

+21
-30
lines changed

packages/request-client.js/src/http-metamask-data-access.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ export default class HttpMetaMaskDataAccess extends HttpDataAccess {
5252

5353
// Creates a local or default provider
5454
this.provider = web3
55-
? new ethers.providers.Web3Provider(web3.currentProvider)
55+
? new ethers.providers.Web3Provider(web3)
5656
: new ethers.providers.JsonRpcProvider({ url: ethereumProviderUrl });
5757
}
5858

packages/request-client.js/src/http-request-network.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ export default class HttpRequestNetwork extends RequestNetwork {
2323
* @param options.nodeConnectionConfig Configuration options to connect to the node. Follows Axios configuration format.
2424
* @param options.useMockStorage When true, will use a mock storage in memory. Meant to simplify local development and should never be used in production.
2525
* @param options.signatureProvider Module to handle the signature. If not given it will be impossible to create new transaction (it requires to sign).
26-
* @param options.useLocalEthereumBroadcast When true, persisting use the node only for IPFS but persisting on ethereum through local provider (given in ethereumProviderUrl).
2726
* @param options.currencies custom currency list
2827
* @param options.currencyManager custom currency manager (will override `currencies`)
2928
*/
@@ -43,14 +42,12 @@ export default class HttpRequestNetwork extends RequestNetwork {
4342
nodeConnectionConfig?: AxiosRequestConfig;
4443
signatureProvider?: SignatureProviderTypes.ISignatureProvider;
4544
useMockStorage?: boolean;
46-
useLocalEthereumBroadcast?: boolean;
4745
currencies?: CurrencyInput[];
4846
currencyManager?: ICurrencyManager;
4947
paymentOptions?: PaymentNetworkOptions;
5048
} = {
5149
httpConfig: {},
5250
nodeConnectionConfig: {},
53-
useLocalEthereumBroadcast: false,
5451
useMockStorage: false,
5552
},
5653
) {

packages/request-client.js/src/index.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,15 @@ import Request from './api/request';
44
import Utils from './api/utils';
55
import { default as RequestNetwork } from './http-request-network';
66
import { default as RequestNetworkBase } from './api/request-network';
7+
import { default as HttpMetaMaskDataAccess } from './http-metamask-data-access';
78
import * as Types from './types';
89

9-
export { PaymentReferenceCalculator, Request, RequestNetwork, RequestNetworkBase, Types, Utils };
10+
export {
11+
PaymentReferenceCalculator,
12+
Request,
13+
RequestNetwork,
14+
RequestNetworkBase,
15+
HttpMetaMaskDataAccess,
16+
Types,
17+
Utils,
18+
};

packages/request-client.js/test/index-persist-from-metamask.html

Lines changed: 10 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
<html>
33
<head>
44
<title>@requestnetwork/request-client.js Test Page</title>
5+
<script src="https://unpkg.com/@metamask/detect-provider/dist/detect-provider.min.js"></script>
56
<script src="..\..\request-client.js\dist\requestnetwork.min.js"></script>
67
<script src="..\..\web3-signature\dist\web3-signature.min.js"></script>
78
</head>
@@ -13,25 +14,10 @@ <h2>Important</h2>
1314
<p>The dependencies must be built. (yarn build)</p>
1415
<script>
1516
window.addEventListener('load', async () => {
16-
// Modern dapp browsers...
17-
if (window.ethereum) {
18-
window.web3 = new Web3(window.ethereum);
19-
try {
20-
await window.ethereum.enable();
21-
startTestSignatureWithMetamask(window.web3);
22-
} catch (error) {
23-
// User denied account access...
24-
console.log(error);
25-
}
26-
}
27-
// Legacy dapp browsers...
28-
else if (window.web3) {
29-
window.web3 = new Web3(web3.currentProvider);
30-
31-
startTestSignatureWithMetamask(window.web3);
32-
}
33-
// Non-dapp browsers...
34-
else {
17+
const metamaskProvider = await detectEthereumProvider();
18+
if (metamaskProvider) {
19+
startTestSignatureWithMetamask(metamaskProvider);
20+
} else {
3521
console.log('Non-Ethereum browser detected. You should consider trying MetaMask!');
3622
}
3723
});
@@ -73,19 +59,18 @@ <h2>Important</h2>
7359
};
7460
}
7561

76-
async function startTestSignatureWithMetamask(web3) {
62+
async function startTestSignatureWithMetamask(web3Provider) {
7763
const { contentData, paymentNetwork, requestCreationHash, signatureInfo, topics } =
7864
getMockData();
7965

8066
// Initialize the signature provider
81-
const signatureProvider = new Web3SignatureProvider.Web3SignatureProvider(web3);
67+
const signatureProvider = new Web3SignatureProvider.Web3SignatureProvider(web3Provider);
8268

8369
// Initialize the library in local test mode
84-
const requestNetwork = new RequestNetwork.RequestNetwork({
70+
const dataAccess = new RequestNetwork.HttpMetaMaskDataAccess({ web3: web3Provider });
71+
const requestNetwork = new RequestNetwork.RequestNetworkBase({
72+
dataAccess,
8573
signatureProvider,
86-
// this is a test using the mock storage instead of a real request node
87-
useLocalEthereumBroadcast: true,
88-
web3: window.web3,
8974
});
9075

9176
// Create a request

0 commit comments

Comments
 (0)