Skip to content

Commit 0bfd471

Browse files
committed
fix(networks): fix NetworkContext to be an interface (without realmId for Datil)
1 parent d38c96f commit 0bfd471

File tree

5 files changed

+90
-32
lines changed

5 files changed

+90
-32
lines changed
Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,29 @@
1+
import {
2+
DatilDevNetworkContext,
3+
datilDevNetworkContext,
4+
} from '../../datil-dev/networkContext';
5+
import {
6+
DatilMainnetNetworkContext,
7+
datilMainnetNetworkContext,
8+
} from '../../datil-mainnet/networkContext';
9+
import {
10+
DatilTestNetworkContext,
11+
datilTestNetworkContext,
12+
} from '../../datil-test/networkContext';
13+
114
/**
215
* Due to the usage of arbitrum stylus contracts,
316
* the gas limit is increased by 10% to avoid reverts due to out of gas errors
417
*/
518
const GAS_LIMIT_INCREASE_PERCENTAGE = 10;
619
export const GAS_LIMIT_ADJUSTMENT = BigInt(100 + GAS_LIMIT_INCREASE_PERCENTAGE);
720

8-
export const LIT_CONTRACT_NAME = {
9-
PubkeyRouter: 'PubkeyRouter',
10-
PKPNFT: 'PKPNFT',
11-
PKPHelper: 'PKPHelper',
12-
PKPPermissions: 'PKPPermissions',
13-
Staking: 'Staking',
14-
} as const;
21+
/**
22+
* Default to dev environment, should be configured based on deployment context
23+
*/
24+
export const networkContext = datilDevNetworkContext;
25+
26+
export type NetworkContext =
27+
| DatilDevNetworkContext
28+
| DatilTestNetworkContext
29+
| DatilMainnetNetworkContext;
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { Chain, WalletClient } from 'viem';
2+
3+
const HTTP = 'http://' as const;
4+
const HTTPS = 'https://' as const;
5+
6+
// Datil Network Context
7+
export interface INetworkContext<T> {
8+
network: string;
9+
rpcUrl: string;
10+
privateKey: string;
11+
chainConfig: {
12+
chain: Chain;
13+
contractData: T;
14+
};
15+
httpProtocol: typeof HTTP | typeof HTTPS;
16+
walletClient: WalletClient;
17+
}

packages/networks/src/lib/networks/VDatil/datil-dev/networkContext.ts

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,29 @@
1-
// this will cause error on the browser, it's just a stub for now
2-
import { env } from 'config/env';
31
import { datilDevSignatures } from '@lit-protocol/contracts';
4-
import { chronicleYellowstone } from '../../shared/chains/yellowstone.ts';
5-
import { NetworkContext } from '../../shared/types';
2+
import { createWalletClient, http } from 'viem';
3+
import { privateKeyToAccount } from 'viem/accounts';
4+
import {
5+
anvilConfig,
6+
anvilFirstPrivateKey,
7+
anvilRpcUrl,
8+
} from '../../shared/chains/anvil.js';
9+
import { INetworkContext } from '../common/NetworkContext';
610

7-
export const datilDevNetworkContext: NetworkContext<
8-
// typeof datilDev,
11+
export const datilDevNetworkContext: INetworkContext<
912
typeof datilDevSignatures
1013
> = {
1114
network: 'datil-dev',
12-
rpcUrl: env.LIT_TXSENDER_RPC_URL,
13-
privateKey: env.LIT_TXSENDER_PRIVATE_KEY,
15+
rpcUrl: anvilRpcUrl,
16+
privateKey: anvilFirstPrivateKey,
1417
chainConfig: {
15-
chain: chronicleYellowstone,
18+
chain: anvilConfig,
1619
contractData: datilDevSignatures,
1720
},
1821
httpProtocol: 'https://',
22+
walletClient: createWalletClient({
23+
chain: anvilConfig,
24+
transport: http(anvilRpcUrl),
25+
account: privateKeyToAccount(anvilFirstPrivateKey),
26+
}),
1927
};
2028

2129
export type DatilDevNetworkContext = typeof datilDevNetworkContext;
Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,29 @@
1-
// this will cause error on the browser, it's just a stub for now
21
import { datilSignatures } from '@lit-protocol/contracts';
3-
import { env } from 'config/env';
4-
import { chronicleYellowstone } from '../../shared/chains/yellowstone.ts';
5-
import { NetworkContext } from '../../shared/types';
2+
import { createWalletClient, http } from 'viem';
3+
import { privateKeyToAccount } from 'viem/accounts';
4+
import {
5+
anvilConfig,
6+
anvilFirstPrivateKey,
7+
anvilRpcUrl,
8+
} from '../../shared/chains/anvil';
9+
import { INetworkContext } from '../common/NetworkContext';
610

7-
export const datilMainnetNetworkContext: NetworkContext<
11+
export const datilMainnetNetworkContext: INetworkContext<
812
typeof datilSignatures
913
> = {
1014
network: 'datil',
11-
rpcUrl: env.LIT_TXSENDER_RPC_URL,
12-
privateKey: env.LIT_TXSENDER_PRIVATE_KEY,
15+
rpcUrl: anvilRpcUrl,
16+
privateKey: anvilFirstPrivateKey,
1317
chainConfig: {
14-
chain: chronicleYellowstone,
18+
chain: anvilConfig,
1519
contractData: datilSignatures,
1620
},
1721
httpProtocol: 'https://',
22+
walletClient: createWalletClient({
23+
chain: anvilConfig,
24+
transport: http(anvilRpcUrl),
25+
account: privateKeyToAccount(anvilFirstPrivateKey),
26+
}),
1827
};
1928

2029
export type DatilMainnetNetworkContext = typeof datilMainnetNetworkContext;
Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,29 @@
1-
// this will cause error on the browser, it's just a stub for now
21
import { datilTestSignatures } from '@lit-protocol/contracts';
3-
import { env } from '../../../../../../shared/config/env';
4-
import { chronicleYellowstone } from '../../shared/chains/yellowstone.ts';
5-
import { NetworkContext } from '../../shared/types';
2+
import { createWalletClient, http } from 'viem';
3+
import { privateKeyToAccount } from 'viem/accounts';
4+
import {
5+
anvilConfig,
6+
anvilFirstPrivateKey,
7+
anvilRpcUrl,
8+
} from '../../shared/chains/anvil';
9+
import { INetworkContext } from '../common/NetworkContext';
610

7-
export const datilTestNetworkContext: NetworkContext<
11+
export const datilTestNetworkContext: INetworkContext<
812
typeof datilTestSignatures
913
> = {
1014
network: 'datil-test',
11-
rpcUrl: env.LIT_TXSENDER_RPC_URL,
12-
privateKey: env.LIT_TXSENDER_PRIVATE_KEY,
15+
rpcUrl: anvilRpcUrl,
16+
privateKey: anvilFirstPrivateKey,
1317
chainConfig: {
14-
chain: chronicleYellowstone,
18+
chain: anvilConfig,
1519
contractData: datilTestSignatures,
1620
},
1721
httpProtocol: 'https://',
22+
walletClient: createWalletClient({
23+
chain: anvilConfig,
24+
transport: http(anvilRpcUrl),
25+
account: privateKeyToAccount(anvilFirstPrivateKey),
26+
}),
1827
};
1928

2029
export type DatilTestNetworkContext = typeof datilTestNetworkContext;

0 commit comments

Comments
 (0)