@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.
- package/dist/browser/index.mjs +127 -267
- package/dist/browser/index.mjs.map +1 -1
- package/dist/types/components/menu/MenuItem.d.ts +1 -1
- package/dist/types/components/menu/MenuItem.d.ts.map +1 -1
- package/dist/types/components/status/NetworkStatus.d.ts +7 -0
- package/dist/types/components/status/NetworkStatus.d.ts.map +1 -0
- package/dist/types/components/status/index.d.ts +1 -0
- package/dist/types/components/status/index.d.ts.map +1 -1
- package/dist/types/context/network/Provider.d.ts +1 -1
- package/dist/types/context/network/Provider.d.ts.map +1 -1
- package/dist/types/context/network/context.d.ts +12 -12
- package/dist/types/context/network/state.d.ts +2 -2
- package/dist/types/context/network/state.d.ts.map +1 -1
- package/dist/types/context/network/use.d.ts +4 -4
- package/dist/types/context/network/use.d.ts.map +1 -1
- package/dist/types/hooks/index.d.ts +3 -0
- package/dist/types/hooks/index.d.ts.map +1 -0
- package/dist/types/hooks/provider/index.d.ts +6 -0
- package/dist/types/hooks/provider/index.d.ts.map +1 -0
- package/dist/types/hooks/provider/useActiveNetworkCurrentBlock.d.ts +2 -0
- package/dist/types/hooks/provider/useActiveNetworkCurrentBlock.d.ts.map +1 -0
- package/dist/types/hooks/provider/useActiveNetworkHostViewer.d.ts +2 -0
- package/dist/types/hooks/provider/useActiveNetworkHostViewer.d.ts.map +1 -0
- package/dist/types/hooks/provider/useActiveNetworkNetwork.d.ts +2 -0
- package/dist/types/hooks/provider/useActiveNetworkNetwork.d.ts.map +1 -0
- package/dist/types/hooks/provider/useActiveNetworkRunner.d.ts +2 -0
- package/dist/types/hooks/provider/useActiveNetworkRunner.d.ts.map +1 -0
- package/dist/types/hooks/provider/useActiveNetworkViewer.d.ts +2 -0
- package/dist/types/hooks/provider/useActiveNetworkViewer.d.ts.map +1 -0
- package/dist/types/hooks/status/index.d.ts +2 -0
- package/dist/types/hooks/status/index.d.ts.map +1 -0
- package/dist/types/hooks/status/usePollNetworkStatus.d.ts +3 -0
- package/dist/types/hooks/status/usePollNetworkStatus.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -3
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +14 -24
- package/src/components/menu/MenuItem.tsx +1 -1
- package/src/components/status/NetworkStatus.tsx +21 -0
- package/src/components/status/index.ts +1 -0
- package/src/context/network/Provider.tsx +4 -4
- package/src/context/network/state.ts +2 -3
- package/src/context/network/use.ts +1 -1
- package/src/hooks/index.ts +2 -0
- package/src/hooks/provider/index.ts +5 -0
- package/src/hooks/provider/useActiveNetworkCurrentBlock.ts +10 -0
- package/src/hooks/provider/useActiveNetworkHostViewer.ts +9 -0
- package/src/hooks/provider/useActiveNetworkNetwork.ts +9 -0
- package/src/hooks/provider/useActiveNetworkRunner.ts +10 -0
- package/src/hooks/provider/useActiveNetworkViewer.ts +9 -0
- package/src/hooks/status/index.ts +1 -0
- package/src/hooks/status/usePollNetworkStatus.ts +41 -0
- package/src/index.ts +1 -3
- package/dist/browser/XL1_Logo_Icon_Localhost-2ZA6P5DV.svg +0 -1
- package/dist/browser/XL1_Logo_Icon_Mainnet-OLUPYV7Q.svg +0 -1
- package/dist/browser/XL1_Logo_Icon_Testnet-HCQCTXVQ.svg +0 -1
- package/dist/types/helpers/Networks.d.ts +0 -6
- package/dist/types/helpers/Networks.d.ts.map +0 -1
- package/dist/types/helpers/getNetworkNode.d.ts +0 -2
- package/dist/types/helpers/getNetworkNode.d.ts.map +0 -1
- package/dist/types/helpers/getNetworkNodes.d.ts +0 -3
- package/dist/types/helpers/getNetworkNodes.d.ts.map +0 -1
- package/dist/types/helpers/index.d.ts +0 -4
- package/dist/types/helpers/index.d.ts.map +0 -1
- package/dist/types/helpers/initNetworkNode.d.ts +0 -4
- package/dist/types/helpers/initNetworkNode.d.ts.map +0 -1
- package/dist/types/helpers/manifest/index.d.ts +0 -2
- package/dist/types/helpers/manifest/index.d.ts.map +0 -1
- package/dist/types/helpers/manifest/networkManifest.d.ts +0 -6
- package/dist/types/helpers/manifest/networkManifest.d.ts.map +0 -1
- package/dist/types/images/icons/index.d.ts +0 -5
- package/dist/types/images/icons/index.d.ts.map +0 -1
- package/dist/types/images/icons/local/index.d.ts +0 -5
- package/dist/types/images/icons/local/index.d.ts.map +0 -1
- package/dist/types/images/icons/mainnet/index.d.ts +0 -5
- package/dist/types/images/icons/mainnet/index.d.ts.map +0 -1
- package/dist/types/images/icons/sequence/index.d.ts +0 -5
- package/dist/types/images/icons/sequence/index.d.ts.map +0 -1
- package/dist/types/images/icons/xyoColorLogo.d.ts +0 -5
- package/dist/types/images/icons/xyoColorLogo.d.ts.map +0 -1
- package/dist/types/images/index.d.ts +0 -2
- package/dist/types/images/index.d.ts.map +0 -1
- package/dist/types/models/Bootstrap.d.ts +0 -42
- package/dist/types/models/Bootstrap.d.ts.map +0 -1
- package/dist/types/models/index.d.ts +0 -2
- package/dist/types/models/index.d.ts.map +0 -1
- package/dist/types/provider/NetworkProvider.d.ts +0 -47
- package/dist/types/provider/NetworkProvider.d.ts.map +0 -1
- package/dist/types/provider/index.d.ts +0 -2
- package/dist/types/provider/index.d.ts.map +0 -1
- package/src/helpers/Networks.ts +0 -40
- package/src/helpers/getNetworkNode.ts +0 -11
- package/src/helpers/getNetworkNodes.ts +0 -7
- package/src/helpers/index.ts +0 -3
- package/src/helpers/initNetworkNode.ts +0 -15
- package/src/helpers/manifest/index.ts +0 -1
- package/src/helpers/manifest/network.json +0 -17
- package/src/helpers/manifest/networkManifest.ts +0 -8
- package/src/images/icons/index.ts +0 -4
- package/src/images/icons/local/XL1_Logo_Icon_Localhost.svg +0 -1
- package/src/images/icons/local/index.tsx +0 -15
- package/src/images/icons/mainnet/XL1_Logo_Icon_Mainnet.svg +0 -1
- package/src/images/icons/mainnet/index.tsx +0 -15
- package/src/images/icons/sequence/XL1_Logo_Icon_Testnet.svg +0 -1
- package/src/images/icons/sequence/index.tsx +0 -15
- package/src/images/icons/xyoColorLogo.tsx +0 -54
- package/src/images/index.ts +0 -1
- package/src/models/Bootstrap.ts +0 -51
- package/src/models/index.ts +0 -1
- package/src/provider/NetworkProvider.ts +0 -176
- package/src/provider/index.ts +0 -1
package/src/models/Bootstrap.ts
DELETED
|
@@ -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)
|
package/src/models/index.ts
DELETED
|
@@ -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
|
-
}
|
package/src/provider/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './NetworkProvider.ts'
|