@xyo-network/react-chain-network 1.6.0 → 1.6.2

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 (110) hide show
  1. package/dist/browser/index.mjs +127 -267
  2. package/dist/browser/index.mjs.map +1 -1
  3. package/dist/types/components/menu/MenuItem.d.ts +1 -1
  4. package/dist/types/components/menu/MenuItem.d.ts.map +1 -1
  5. package/dist/types/components/status/NetworkStatus.d.ts +7 -0
  6. package/dist/types/components/status/NetworkStatus.d.ts.map +1 -0
  7. package/dist/types/components/status/index.d.ts +1 -0
  8. package/dist/types/components/status/index.d.ts.map +1 -1
  9. package/dist/types/context/network/Provider.d.ts +1 -1
  10. package/dist/types/context/network/Provider.d.ts.map +1 -1
  11. package/dist/types/context/network/context.d.ts +12 -12
  12. package/dist/types/context/network/state.d.ts +2 -2
  13. package/dist/types/context/network/state.d.ts.map +1 -1
  14. package/dist/types/context/network/use.d.ts +4 -4
  15. package/dist/types/context/network/use.d.ts.map +1 -1
  16. package/dist/types/hooks/index.d.ts +3 -0
  17. package/dist/types/hooks/index.d.ts.map +1 -0
  18. package/dist/types/hooks/provider/index.d.ts +6 -0
  19. package/dist/types/hooks/provider/index.d.ts.map +1 -0
  20. package/dist/types/hooks/provider/useActiveNetworkCurrentBlock.d.ts +2 -0
  21. package/dist/types/hooks/provider/useActiveNetworkCurrentBlock.d.ts.map +1 -0
  22. package/dist/types/hooks/provider/useActiveNetworkHostViewer.d.ts +2 -0
  23. package/dist/types/hooks/provider/useActiveNetworkHostViewer.d.ts.map +1 -0
  24. package/dist/types/hooks/provider/useActiveNetworkNetwork.d.ts +2 -0
  25. package/dist/types/hooks/provider/useActiveNetworkNetwork.d.ts.map +1 -0
  26. package/dist/types/hooks/provider/useActiveNetworkRunner.d.ts +2 -0
  27. package/dist/types/hooks/provider/useActiveNetworkRunner.d.ts.map +1 -0
  28. package/dist/types/hooks/provider/useActiveNetworkViewer.d.ts +2 -0
  29. package/dist/types/hooks/provider/useActiveNetworkViewer.d.ts.map +1 -0
  30. package/dist/types/hooks/status/index.d.ts +2 -0
  31. package/dist/types/hooks/status/index.d.ts.map +1 -0
  32. package/dist/types/hooks/status/usePollNetworkStatus.d.ts +3 -0
  33. package/dist/types/hooks/status/usePollNetworkStatus.d.ts.map +1 -0
  34. package/dist/types/index.d.ts +1 -3
  35. package/dist/types/index.d.ts.map +1 -1
  36. package/package.json +14 -24
  37. package/src/components/menu/MenuItem.tsx +1 -1
  38. package/src/components/status/NetworkStatus.tsx +21 -0
  39. package/src/components/status/index.ts +1 -0
  40. package/src/context/network/Provider.tsx +4 -4
  41. package/src/context/network/state.ts +2 -3
  42. package/src/context/network/use.ts +1 -1
  43. package/src/hooks/index.ts +2 -0
  44. package/src/hooks/provider/index.ts +5 -0
  45. package/src/hooks/provider/useActiveNetworkCurrentBlock.ts +10 -0
  46. package/src/hooks/provider/useActiveNetworkHostViewer.ts +9 -0
  47. package/src/hooks/provider/useActiveNetworkNetwork.ts +9 -0
  48. package/src/hooks/provider/useActiveNetworkRunner.ts +10 -0
  49. package/src/hooks/provider/useActiveNetworkViewer.ts +9 -0
  50. package/src/hooks/status/index.ts +1 -0
  51. package/src/hooks/status/usePollNetworkStatus.ts +41 -0
  52. package/src/index.ts +1 -3
  53. package/dist/browser/XL1_Logo_Icon_Localhost-2ZA6P5DV.svg +0 -1
  54. package/dist/browser/XL1_Logo_Icon_Mainnet-OLUPYV7Q.svg +0 -1
  55. package/dist/browser/XL1_Logo_Icon_Testnet-HCQCTXVQ.svg +0 -1
  56. package/dist/types/helpers/Networks.d.ts +0 -6
  57. package/dist/types/helpers/Networks.d.ts.map +0 -1
  58. package/dist/types/helpers/getNetworkNode.d.ts +0 -2
  59. package/dist/types/helpers/getNetworkNode.d.ts.map +0 -1
  60. package/dist/types/helpers/getNetworkNodes.d.ts +0 -3
  61. package/dist/types/helpers/getNetworkNodes.d.ts.map +0 -1
  62. package/dist/types/helpers/index.d.ts +0 -4
  63. package/dist/types/helpers/index.d.ts.map +0 -1
  64. package/dist/types/helpers/initNetworkNode.d.ts +0 -4
  65. package/dist/types/helpers/initNetworkNode.d.ts.map +0 -1
  66. package/dist/types/helpers/manifest/index.d.ts +0 -2
  67. package/dist/types/helpers/manifest/index.d.ts.map +0 -1
  68. package/dist/types/helpers/manifest/networkManifest.d.ts +0 -6
  69. package/dist/types/helpers/manifest/networkManifest.d.ts.map +0 -1
  70. package/dist/types/images/icons/index.d.ts +0 -5
  71. package/dist/types/images/icons/index.d.ts.map +0 -1
  72. package/dist/types/images/icons/local/index.d.ts +0 -5
  73. package/dist/types/images/icons/local/index.d.ts.map +0 -1
  74. package/dist/types/images/icons/mainnet/index.d.ts +0 -5
  75. package/dist/types/images/icons/mainnet/index.d.ts.map +0 -1
  76. package/dist/types/images/icons/sequence/index.d.ts +0 -5
  77. package/dist/types/images/icons/sequence/index.d.ts.map +0 -1
  78. package/dist/types/images/icons/xyoColorLogo.d.ts +0 -5
  79. package/dist/types/images/icons/xyoColorLogo.d.ts.map +0 -1
  80. package/dist/types/images/index.d.ts +0 -2
  81. package/dist/types/images/index.d.ts.map +0 -1
  82. package/dist/types/models/Bootstrap.d.ts +0 -42
  83. package/dist/types/models/Bootstrap.d.ts.map +0 -1
  84. package/dist/types/models/index.d.ts +0 -2
  85. package/dist/types/models/index.d.ts.map +0 -1
  86. package/dist/types/provider/NetworkProvider.d.ts +0 -47
  87. package/dist/types/provider/NetworkProvider.d.ts.map +0 -1
  88. package/dist/types/provider/index.d.ts +0 -2
  89. package/dist/types/provider/index.d.ts.map +0 -1
  90. package/src/helpers/Networks.ts +0 -40
  91. package/src/helpers/getNetworkNode.ts +0 -11
  92. package/src/helpers/getNetworkNodes.ts +0 -7
  93. package/src/helpers/index.ts +0 -3
  94. package/src/helpers/initNetworkNode.ts +0 -15
  95. package/src/helpers/manifest/index.ts +0 -1
  96. package/src/helpers/manifest/network.json +0 -17
  97. package/src/helpers/manifest/networkManifest.ts +0 -8
  98. package/src/images/icons/index.ts +0 -4
  99. package/src/images/icons/local/XL1_Logo_Icon_Localhost.svg +0 -1
  100. package/src/images/icons/local/index.tsx +0 -15
  101. package/src/images/icons/mainnet/XL1_Logo_Icon_Mainnet.svg +0 -1
  102. package/src/images/icons/mainnet/index.tsx +0 -15
  103. package/src/images/icons/sequence/XL1_Logo_Icon_Testnet.svg +0 -1
  104. package/src/images/icons/sequence/index.tsx +0 -15
  105. package/src/images/icons/xyoColorLogo.tsx +0 -54
  106. package/src/images/index.ts +0 -1
  107. package/src/models/Bootstrap.ts +0 -51
  108. package/src/models/index.ts +0 -1
  109. package/src/provider/NetworkProvider.ts +0 -176
  110. package/src/provider/index.ts +0 -1
@@ -1,51 +0,0 @@
1
- import type { Address } from '@xylabs/hex'
2
- import { AsObjectFactory } from '@xylabs/object'
3
- import type { Payload } from '@xyo-network/payload-model'
4
- import { isPayloadOfSchemaType } from '@xyo-network/payload-model'
5
- import type { NetworkId } from '@xyo-network/xl1-protocol'
6
-
7
- export const NetworkBootstrapSchema = 'network.xyo.network.bootstrap' as const
8
- export type NetworkBootstrapSchema = typeof NetworkBootstrapSchema
9
-
10
- export interface ChainForkFields {
11
- /** Block Number at which the chain was forked from */
12
- forkedAtLastBlockNumber?: string
13
- /** Hash in the last block the chain was forked from */
14
- forkedAtLastHash?: string
15
- /** Address of the forked chain */
16
- forkedChainId?: Address
17
- }
18
-
19
- export interface NetworkFields {
20
- /** Description of the network */
21
- description: string
22
- /** Url for accessing the network explorer */
23
- explorerUrl?: string
24
- /** string representation of the icon (svg) */
25
- icon?: string
26
- /** Machine-readable identifier */
27
- id: NetworkId
28
- /** Human-readable identifier */
29
- name: string
30
- schema: NetworkBootstrapSchema
31
- /** Symbol of the network */
32
- symbol?: string
33
- /** Url for accessing the network */
34
- url: string
35
- }
36
-
37
- /** Note: Optional Properties can be found walking the chain to the genesis block */
38
- export interface NetworkBootstrapFields extends NetworkFields, ChainForkFields {
39
- /** Address of the chain, i.e. smart contract address */
40
- chainId?: Address
41
- }
42
-
43
- export interface Network extends NetworkBootstrap {
44
- custom: boolean
45
- }
46
-
47
- export type NetworkBootstrap = Payload<NetworkBootstrapFields, NetworkBootstrapSchema>
48
-
49
- export const isNetworkBootstrap = isPayloadOfSchemaType<NetworkBootstrap>(NetworkBootstrapSchema)
50
-
51
- export const asOptionalNetwork = AsObjectFactory.createOptional(isNetworkBootstrap)
@@ -1 +0,0 @@
1
- export * from './Bootstrap.ts'
@@ -1,176 +0,0 @@
1
- /* eslint-disable sonarjs/deprecation */
2
- import { assertEx } from '@xylabs/assert'
3
- import type { Address, Hash } from '@xylabs/hex'
4
- import type { Promisable } from '@xylabs/promise'
5
- import type { ArchivistInstance } from '@xyo-network/archivist-model'
6
- import { asArchivistInstance } from '@xyo-network/archivist-model'
7
- import type { Signed } from '@xyo-network/boundwitness-model'
8
- import type { BridgeInstance } from '@xyo-network/bridge-model'
9
- import { initBridge } from '@xyo-network/chain-orchestration'
10
- import { findMostRecentBlock } from '@xyo-network/chain-protocol'
11
- import { ChainBlockNumberIterationService } from '@xyo-network/chain-services'
12
- import { PayloadBuilder } from '@xyo-network/payload-builder'
13
- import type { Payload } from '@xyo-network/payload-model'
14
- import type {
15
- AllowedBlockPayload,
16
- BlockBoundWitness,
17
- HydratedBlock, HydratedTransaction, TransactionBoundWitness,
18
- TransactionFeesBigInt,
19
- Transfer,
20
- XyoRunner,
21
- XyoSigner,
22
- XyoViewer,
23
- XyoWallet,
24
- } from '@xyo-network/xl1-protocol'
25
- import { hydrateBlock } from '@xyo-network/xl1-protocol-sdk'
26
-
27
- export const FINALIZED_ARCHIVIST = 'XYOChain:Chain:Finalized' as const
28
-
29
- export interface NetworkProviderParams {
30
- chainId?: Address
31
- network: string
32
- }
33
-
34
- // TODO: change back to implementing XyoProvider which requires sub objects
35
- /**
36
- * @deprecated Use MemoryXyoProvider instead
37
- */
38
- export class NetworkProvider implements XyoSigner, XyoViewer, XyoWallet, XyoRunner {
39
- private _bridge: BridgeInstance
40
-
41
- constructor(bridge: BridgeInstance) {
42
- this._bridge = bridge
43
- }
44
-
45
- private get bridge() {
46
- return assertEx(this._bridge, () => 'Bridge not set')
47
- }
48
-
49
- static async create({ network }: NetworkProviderParams): Promise<NetworkProvider> {
50
- const bridge = await initBridge(network)
51
- return new NetworkProvider(bridge)
52
- }
53
-
54
- accountBalance(_address: Address): Promisable<bigint> {
55
- throw new Error('Method not implemented.')
56
- }
57
-
58
- accountHistory(_address: Address): Promisable<[TransactionBoundWitness[], Transfer[]]> {
59
- throw new Error('Method not implemented.')
60
- }
61
-
62
- accounts(): Promisable<Address[]> {
63
- throw new Error('Method not implemented.')
64
- }
65
-
66
- addChain(_chain: Address, _name?: string): Promisable<object> {
67
- throw new Error('Method not implemented.')
68
- }
69
-
70
- address(): Promisable<Address> {
71
- throw new Error('Method not implemented.')
72
- }
73
-
74
- blockByHash(_hash: Hash): Promisable<HydratedBlock | null> {
75
- throw new Error('Method not implemented.')
76
- }
77
-
78
- blockByNumber(_blockNumber: number): Promisable<HydratedBlock | null> {
79
- throw new Error('Method not implemented.')
80
- }
81
-
82
- blocksByHash(_hash: Hash, _limit?: number): Promisable<HydratedBlock[]> {
83
- throw new Error('Method not implemented.')
84
- }
85
-
86
- broadcastTransaction(_transaction: HydratedTransaction): Promisable<Hash> {
87
- throw new Error('Method not implemented.')
88
- }
89
-
90
- chain(): Promisable<Address> {
91
- throw new Error('Method not implemented.')
92
- }
93
-
94
- chainId(): Promisable<Address> {
95
- throw new Error('Method not implemented.')
96
- }
97
-
98
- chains(): Promisable<object> {
99
- throw new Error('Method not implemented.')
100
- }
101
-
102
- createSignedTransaction(
103
- _chain: Address,
104
- _elevatedPayloads: AllowedBlockPayload[],
105
- _additionalPayloads: Payload[],
106
- _nbf: number,
107
- _exp: number,
108
- _fees: TransactionFeesBigInt,
109
- _from?: Address,
110
- ): Promisable<Signed<TransactionBoundWitness>> {
111
- throw new Error('Method not implemented.')
112
- }
113
-
114
- currentBlock(): Promisable<HydratedBlock> {
115
- throw new Error('Method not implemented.')
116
- }
117
-
118
- currentBlockHash(): Promisable<Hash> {
119
- throw new Error('Method not implemented.')
120
- }
121
-
122
- currentBlockNumber(): Promisable<number> {
123
- throw new Error('Method not implemented.')
124
- }
125
-
126
- permissions(): Promisable<Record<string, object>> {
127
- throw new Error('Method not implemented.')
128
- }
129
-
130
- async previousBlocks(startingBlock?: Hash, count = 25): Promise<HydratedBlock[]> {
131
- const chainArchivist = await this.getFinalizedArchivist()
132
- const head: BlockBoundWitness = assertEx(await findMostRecentBlock(chainArchivist, { cursor: startingBlock }), () => 'Unable to find most recent block')
133
- const iterator = await ChainBlockNumberIterationService.create({ chainArchivist, head })
134
- const blocks = await iterator.previous(head.block, count)
135
-
136
- let hydratedBlocks: HydratedBlock[] = []
137
- for (const block of blocks) {
138
- hydratedBlocks.push(await hydrateBlock(chainArchivist, await PayloadBuilder.hash(block)))
139
- }
140
- return hydratedBlocks
141
- }
142
-
143
- requestPermissions(_permissions: object): Promisable<object> {
144
- throw new Error('Method not implemented.')
145
- }
146
-
147
- revokePermissions(_permissions: object): Promisable<object> {
148
- throw new Error('Method not implemented.')
149
- }
150
-
151
- signTransaction(_transaction: TransactionBoundWitness): Promisable<Signed<TransactionBoundWitness>> {
152
- throw new Error('Method not implemented.')
153
- }
154
-
155
- switchChain(_chain: Address): Promisable<void> {
156
- throw new Error('Method not implemented.')
157
- }
158
-
159
- transactionByBlockHashAndIndex(_blockHash: Hash, _transactionIndex: number): Promisable<HydratedTransaction | null> {
160
- throw new Error('Method not implemented.')
161
- }
162
-
163
- transactionByBlockNumberAndIndex(_blockNumber: number, _transactionIndex: number): Promisable<HydratedTransaction | null> {
164
- throw new Error('Method not implemented.')
165
- }
166
-
167
- transactionByHash(_transactionHash: Hash): Promisable<HydratedTransaction | null> {
168
- throw new Error('Method not implemented.')
169
- }
170
-
171
- private async getFinalizedArchivist(): Promise<ArchivistInstance> {
172
- const bridge = this.bridge
173
- const mod = assertEx(await bridge.resolve(FINALIZED_ARCHIVIST), () => `${FINALIZED_ARCHIVIST} not found`)
174
- return assertEx(asArchivistInstance(mod), () => `${FINALIZED_ARCHIVIST} is not an archivist`)
175
- }
176
- }
@@ -1 +0,0 @@
1
- export * from './NetworkProvider.ts'