@xyo-network/witness-blockchain-abstract 2.79.8 → 2.81.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/browser/Witness.d.cts +6 -6
  2. package/dist/browser/Witness.d.cts.map +1 -1
  3. package/dist/browser/Witness.d.mts +6 -6
  4. package/dist/browser/Witness.d.mts.map +1 -1
  5. package/dist/browser/Witness.d.ts +6 -6
  6. package/dist/browser/Witness.d.ts.map +1 -1
  7. package/dist/browser/index.cjs +14 -33
  8. package/dist/browser/index.cjs.map +1 -1
  9. package/dist/browser/index.js +12 -31
  10. package/dist/browser/index.js.map +1 -1
  11. package/dist/browser/lib/getProviderFromEnv.d.cts +4 -6
  12. package/dist/browser/lib/getProviderFromEnv.d.cts.map +1 -1
  13. package/dist/browser/lib/getProviderFromEnv.d.mts +4 -6
  14. package/dist/browser/lib/getProviderFromEnv.d.mts.map +1 -1
  15. package/dist/browser/lib/getProviderFromEnv.d.ts +4 -6
  16. package/dist/browser/lib/getProviderFromEnv.d.ts.map +1 -1
  17. package/dist/node/Witness.d.cts +6 -6
  18. package/dist/node/Witness.d.cts.map +1 -1
  19. package/dist/node/Witness.d.mts +6 -6
  20. package/dist/node/Witness.d.mts.map +1 -1
  21. package/dist/node/Witness.d.ts +6 -6
  22. package/dist/node/Witness.d.ts.map +1 -1
  23. package/dist/node/index.cjs +14 -33
  24. package/dist/node/index.cjs.map +1 -1
  25. package/dist/node/index.js +12 -31
  26. package/dist/node/index.js.map +1 -1
  27. package/dist/node/lib/getProviderFromEnv.d.cts +4 -6
  28. package/dist/node/lib/getProviderFromEnv.d.cts.map +1 -1
  29. package/dist/node/lib/getProviderFromEnv.d.mts +4 -6
  30. package/dist/node/lib/getProviderFromEnv.d.mts.map +1 -1
  31. package/dist/node/lib/getProviderFromEnv.d.ts +4 -6
  32. package/dist/node/lib/getProviderFromEnv.d.ts.map +1 -1
  33. package/package.json +11 -11
  34. package/src/Witness.ts +8 -8
  35. package/src/lib/getProviderFromEnv.ts +19 -45
@@ -1,78 +1,52 @@
1
- import { BaseProvider, InfuraProvider, InfuraWebSocketProvider, JsonRpcProvider, WebSocketProvider } from '@ethersproject/providers'
2
- import { ConnectionInfo } from '@ethersproject/web'
3
1
  import { assertEx } from '@xylabs/assert'
2
+ import { InfuraProvider, InfuraWebSocketProvider, JsonRpcProvider, Provider, WebSocketProvider } from 'ethers'
4
3
 
5
4
  export type ProviderSource = 'infura' | 'quicknode'
6
5
  export type ProviderType = 'rpc' | 'wss'
7
6
 
8
7
  export interface GetProvidersFromEnvOptions {
9
- overrides?: Partial<ConnectionInfo>
10
8
  providerSource?: ProviderSource
11
9
  providerType?: ProviderType
12
10
  }
13
11
 
14
- const enableConfigOverride = false
15
-
16
- const configureConnection = (connection?: ConnectionInfo, { timeout = 1000 }: Partial<ConnectionInfo> = {}) => {
17
- if (connection && enableConfigOverride) {
18
- connection.timeout = timeout
19
- connection.throttleCallback = async (attempt, url) => {
20
- console.log(`throttleCallback[${attempt}]: ${url}`)
21
- return await Promise.resolve(true)
22
- }
23
- }
24
- }
25
-
26
- const createInfuraRpc = (chainId: number, overrides?: Partial<ConnectionInfo>) => {
12
+ const createInfuraRpc = (chainId: number) => {
27
13
  const provider =
28
- process.env.INFURA_PROJECT_ID && process.env.INFURA_PROJECT_SECRET
29
- ? new InfuraProvider(chainId, {
30
- projectId: process.env.INFURA_PROJECT_ID,
31
- projectSecret: process.env.INFURA_PROJECT_SECRET,
32
- })
33
- : undefined
34
- configureConnection(provider?.connection, overrides)
14
+ process.env.INFURA_PROJECT_ID && process.env.INFURA_PROJECT_SECRET ? new InfuraProvider(chainId, process.env.INFURA_PROJECT_ID) : undefined
35
15
  return provider
36
16
  }
37
17
 
38
- const createInfuraWss = (chainId: number, overrides?: Partial<ConnectionInfo>) => {
39
- const provider = process.env.INFURA_PROJECT_ID
40
- ? new InfuraWebSocketProvider(chainId, {
41
- projectId: process.env.INFURA_PROJECT_ID,
42
- })
43
- : undefined
44
- configureConnection(provider?.connection, overrides)
18
+ const createInfuraWss = (chainId: number) => {
19
+ const provider = process.env.INFURA_PROJECT_ID ? new InfuraWebSocketProvider(chainId, process.env.INFURA_PROJECT_ID) : undefined
45
20
  return provider
46
21
  }
47
22
 
48
- const createQuicknodeWss = (chainId: number, overrides?: Partial<ConnectionInfo>) => {
23
+ const createQuicknodeWss = (chainId: number) => {
49
24
  const quickNodeWSSUri = process.env.QUICKNODE_WSS_URI
50
25
  const provider = quickNodeWSSUri ? new WebSocketProvider(quickNodeWSSUri, chainId) : undefined
51
- configureConnection(provider?.connection, overrides)
26
+
52
27
  return provider
53
28
  }
54
29
 
55
- const createQuicknodeRpc = (chainId: number, overrides?: Partial<ConnectionInfo>) => {
30
+ const createQuicknodeRpc = (chainId: number) => {
56
31
  const quickNodeHttpsUri = process.env.QUICKNODE_HTTPS_URI
57
32
  const provider = quickNodeHttpsUri ? new JsonRpcProvider(quickNodeHttpsUri, chainId) : undefined
58
- configureConnection(provider?.connection, overrides)
59
33
  return provider
60
34
  }
61
35
 
62
36
  export const getProviderFromEnv = (
63
37
  chainId: number = 0x01,
64
- { providerSource = 'infura', providerType = 'rpc', overrides }: GetProvidersFromEnvOptions = {},
65
- ): BaseProvider => {
66
- let provider: BaseProvider | undefined = undefined
38
+ { providerSource = 'infura', providerType = 'rpc' }: GetProvidersFromEnvOptions = {},
39
+ ): Provider => {
40
+ let provider: Provider | undefined = undefined
67
41
  switch (providerSource) {
68
42
  case 'quicknode': {
69
43
  switch (providerType) {
70
44
  case 'rpc': {
71
- provider = createQuicknodeRpc(chainId, overrides)
45
+ provider = createQuicknodeRpc(chainId)
72
46
  break
73
47
  }
74
48
  case 'wss': {
75
- provider = createQuicknodeWss(chainId, overrides)
49
+ provider = createQuicknodeWss(chainId)
76
50
  break
77
51
  }
78
52
  }
@@ -82,11 +56,11 @@ export const getProviderFromEnv = (
82
56
  case 'infura': {
83
57
  switch (providerType) {
84
58
  case 'wss': {
85
- provider = createInfuraWss(chainId, overrides)
59
+ provider = createInfuraWss(chainId)
86
60
  break
87
61
  }
88
62
  case 'rpc': {
89
- provider = createInfuraRpc(chainId, overrides)
63
+ provider = createInfuraRpc(chainId)
90
64
  break
91
65
  }
92
66
  }
@@ -99,19 +73,19 @@ export const getProviderFromEnv = (
99
73
  return assertEx(provider, `Unable to create provider [${chainId}]: ${providerSource}|${providerType}`)
100
74
  }
101
75
 
102
- const providers: Record<string, BaseProvider> = {}
76
+ const providers: Record<string, Provider> = {}
103
77
 
104
78
  export const getSharedProviderFromEnv = (
105
79
  chainId: number = 0x01,
106
80
  options?: { providerSource?: ProviderSource; providerType?: ProviderType },
107
- ): BaseProvider => {
81
+ ): Provider => {
108
82
  const key = `${chainId}:${options ? JSON.stringify(options) : 'default'}`
109
83
  providers[key] = providers[key] ?? getProviderFromEnv(chainId, options)
110
84
  return providers[key]
111
85
  }
112
86
 
113
- export const getProvidersFromEnv = (count: number = 1, chainId: number = 0x01, options: GetProvidersFromEnvOptions = {}): BaseProvider[] => {
114
- const result: BaseProvider[] = []
87
+ export const getProvidersFromEnv = (count: number = 1, chainId: number = 0x01, options: GetProvidersFromEnvOptions = {}): Provider[] => {
88
+ const result: Provider[] = []
115
89
  for (let i = 0; i < count; i++) {
116
90
  result.push(getProviderFromEnv(chainId, options))
117
91
  }