Skip to content

Commit f69e1b3

Browse files
authored
Merge pull request #97 from NillionNetwork/chore/allow-paramter-react-client
fix: default bootnodeurl for the testnet and parametrize client component
2 parents 6a3f7b1 + 2d29d79 commit f69e1b3

File tree

2 files changed

+48
-22
lines changed

2 files changed

+48
-22
lines changed

client-react-hooks/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "@nillion/client-react-hooks",
33
"license": "MIT",
44
"author": "[email protected]",
5-
"version": "0.3.1",
5+
"version": "0.3.2",
66
"homepage": "https://nillion.pub/client-ts",
77
"repository": {
88
"type": "git",

client-react-hooks/src/create-client.ts

Lines changed: 47 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,39 @@ export type TestnetOptions = {
99
seed: string;
1010
keplr: Keplr;
1111
paymentMode?: PaymentMode;
12+
config?: TestnetConfig;
13+
};
14+
15+
export type TestnetConfig = {
16+
bootnodeUrl: string;
17+
chainUrl: string;
18+
chainId: string;
19+
};
20+
21+
const TestnetDefaultConfig: TestnetConfig = {
22+
bootnodeUrl:
23+
"https://node-1.nilvm-testnet-1.nillion-network.testnet.nillion.network:14311",
24+
chainUrl: "http://rpc.testnet.nilchain-rpc-proxy.nilogy.xyz",
25+
chainId: "nillion-chain-testnet-1",
1226
};
1327

1428
export type DevnetOptions = {
1529
network: "devnet";
1630
seed?: string;
1731
signer?: Keplr | OfflineSigner;
1832
paymentMode?: PaymentMode;
33+
config?: DevnetConfig;
1934
};
2035

21-
type Options = DevnetOptions | TestnetOptions;
36+
export type DevnetConfig = {
37+
bootnodeUrl: string;
38+
chainUrl: string;
39+
chainId: string;
40+
seed: string;
41+
nilchainPrivateKey0: string;
42+
};
2243

23-
const DevnetConfig = {
44+
const DevnetDefaultConfig: DevnetConfig = {
2445
bootnodeUrl: "http://127.0.0.1:43207",
2546
chainUrl: "http://127.0.0.1:48102",
2647
chainId: "nillion-chain-devnet",
@@ -29,48 +50,53 @@ const DevnetConfig = {
2950
"9a975f567428d054f2bf3092812e6c42f901ce07d9711bc77ee2cd81101f42c5",
3051
};
3152

32-
const TestnetConfig = {
33-
bootnodeUrl: "https://node-1.photon2.nillion-network.nilogy.xyz:14311/",
34-
chainUrl: "http://rpc.testnet.nilchain-rpc-proxy.nilogy.xyz",
35-
chainId: "nillion-chain-testnet-1",
36-
};
53+
type Options = DevnetOptions | TestnetOptions;
3754

3855
export async function createClient(options: Options) {
3956
const builder = new VmClientBuilder(options.paymentMode);
4057
switch (options.network.toLowerCase()) {
4158
case "devnet": {
42-
const config = options as DevnetOptions;
59+
const network = options as DevnetOptions;
60+
let config = DevnetDefaultConfig;
61+
if (network.config !== undefined) {
62+
config = network.config;
63+
}
4364

4465
let signer: OfflineSigner;
4566

46-
if (config.signer) {
47-
if ("getOfflineSigner" in config.signer) {
48-
signer = config.signer.getOfflineSigner(DevnetConfig.chainId);
67+
if (network.signer) {
68+
if ("getOfflineSigner" in network.signer) {
69+
signer = network.signer.getOfflineSigner(config.chainId);
4970
} else {
50-
signer = config.signer;
71+
signer = network.signer;
5172
}
5273
} else {
53-
signer = await createSignerFromKey(DevnetConfig.nilchainPrivateKey0);
74+
signer = await createSignerFromKey(config.nilchainPrivateKey0);
5475
}
5576

56-
const seed = config.seed ? config.seed : DevnetConfig.seed;
77+
const seed = network.seed ? network.seed : config.seed;
5778

5879
builder
5980
.seed(seed)
60-
.bootnodeUrl(DevnetConfig.bootnodeUrl)
61-
.chainUrl(DevnetConfig.chainUrl)
81+
.bootnodeUrl(config.bootnodeUrl)
82+
.chainUrl(config.chainUrl)
6283
.signer(signer);
6384

6485
break;
6586
}
6687
case "testnet": {
67-
const config = options as TestnetOptions;
68-
const signer = config.keplr.getOfflineSigner(TestnetConfig.chainId);
88+
const network = options as TestnetOptions;
89+
let config = TestnetDefaultConfig;
90+
if (network.config !== undefined) {
91+
config = network.config;
92+
}
93+
94+
const signer = network.keplr.getOfflineSigner(config.chainId);
6995

7096
builder
71-
.seed(config.seed)
72-
.bootnodeUrl(TestnetConfig.bootnodeUrl)
73-
.chainUrl(TestnetConfig.chainUrl)
97+
.seed(network.seed)
98+
.bootnodeUrl(config.bootnodeUrl)
99+
.chainUrl(config.chainUrl)
74100
.signer(signer);
75101

76102
break;

0 commit comments

Comments
 (0)