Skip to content

Commit d49fa01

Browse files
committed
Make the indexer available publicly on the WebProvider
1 parent c34c559 commit d49fa01

File tree

4 files changed

+22
-6
lines changed

4 files changed

+22
-6
lines changed

README.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,16 @@ npm install @blockcore/provider
3535
## Usage
3636

3737
```ts
38-
import { Provider } from "@blockcore/provider";
38+
import { WebProvider } from "@blockcore/provider";
3939

40-
let provider = new Provider();
41-
const result: any = await provider.getCirculatingSupply();
40+
let webProvider = await WebProvider.Create();
41+
webProvider.setNetwork('BTC');
42+
43+
const response = await webProvider.request({
44+
method: 'wallet_getPermissions',
45+
});
46+
47+
const result: any = await webProvider.indexer.getCirculatingSupply();
4248
```
4349

4450
Screen recording demonstrating the use of the Blockcore Web Provider:

src/WebProvider.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export class WebProvider implements EIP1193Provider {
77
// private provider: BlockcoreProvider;
88
// private indexer: IndexerProvider;
99

10-
private constructor(private indexer: IndexerProvider, private provider: BlockcoreProvider) {
10+
private constructor(public indexer: IndexerProvider, private provider: BlockcoreProvider) {
1111
// baseUrlOrNetwork = baseUrlOrNetwork || 'CITY';
1212
// if (baseUrlOrNetwork.indexOf('http') > -1) {
1313
// this.baseUrl = baseUrlOrNetwork;
@@ -31,6 +31,10 @@ export class WebProvider implements EIP1193Provider {
3131
return webProvider;
3232
}
3333

34+
setNetwork(network: string) {
35+
this.indexer.setNetwork(network);
36+
}
37+
3438
on(event: string, callback: unknown) {
3539
console.log(event, callback);
3640
// "accountsChanged"

test/provider-indexer.test.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,6 @@ test('should test if getEstimateRewards method returns a number', async (t) => {
9393
t.truthy(result);
9494
});
9595

96-
9796
// test('should test if getWallets method returns an object containing Burnt account', async (t) => {
9897
// let provider = new Provider();
9998
// const result: any = await provider.getWallets();

test/provider-web.test.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { WebProvider } from '../src/index.js';
22
import test from 'ava';
33

4-
let webProvider;
4+
let webProvider:WebProvider;
55

66
// Reuse the same instance for all tests.
77
const createInstance = async () => {
@@ -36,3 +36,10 @@ test.serial('request: should request permissions', async (t) => {
3636

3737
t.assert(response != null);
3838
});
39+
40+
test.serial('should use indexer through the WebProvider', async (t) => {
41+
let webProvider = await createInstance();
42+
webProvider.setNetwork('CITY');
43+
let supply = await webProvider.indexer.getCirculatingSupply();
44+
t.assert(supply != null);
45+
});

0 commit comments

Comments
 (0)