@xyo-network/react-chain-provider 1.20.2 → 1.20.4
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/contexts/gateway/Provider.d.ts +0 -2
- package/dist/browser/contexts/gateway/Provider.d.ts.map +1 -1
- package/dist/browser/contexts/gateway/state.d.ts +1 -2
- package/dist/browser/contexts/gateway/state.d.ts.map +1 -1
- package/dist/browser/contexts/gateway/story/GatewayStats.d.ts.map +1 -1
- package/dist/browser/contexts/in-page-gateways/Provider.d.ts +8 -0
- package/dist/browser/contexts/in-page-gateways/Provider.d.ts.map +1 -0
- package/dist/browser/contexts/in-page-gateways/context.d.ts +8 -0
- package/dist/browser/contexts/in-page-gateways/context.d.ts.map +1 -0
- package/dist/browser/contexts/in-page-gateways/index.d.ts +5 -0
- package/dist/browser/contexts/in-page-gateways/index.d.ts.map +1 -0
- package/dist/browser/contexts/in-page-gateways/state.d.ts +10 -0
- package/dist/browser/contexts/in-page-gateways/state.d.ts.map +1 -0
- package/dist/browser/contexts/in-page-gateways/use.d.ts +4 -0
- package/dist/browser/contexts/in-page-gateways/use.d.ts.map +1 -0
- package/dist/browser/contexts/index.d.ts +1 -0
- package/dist/browser/contexts/index.d.ts.map +1 -1
- package/dist/browser/hooks/client/helpers/index.d.ts +0 -1
- package/dist/browser/hooks/client/helpers/index.d.ts.map +1 -1
- package/dist/browser/hooks/client/index.d.ts +0 -1
- package/dist/browser/hooks/client/index.d.ts.map +1 -1
- package/dist/browser/hooks/client/useClientFromWallet.d.ts +1 -1
- package/dist/browser/hooks/client/useClientFromWallet.d.ts.map +1 -1
- package/dist/browser/index.d.ts +1 -0
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/index.mjs +178 -132
- package/dist/browser/index.mjs.map +1 -1
- package/dist/browser/lib/buildGateway.d.ts.map +1 -0
- package/dist/browser/lib/index.d.ts +1 -0
- package/dist/browser/lib/index.d.ts.map +1 -1
- package/dist/browser/types/ContextGatewayType.d.ts +3 -0
- package/dist/browser/types/ContextGatewayType.d.ts.map +1 -0
- package/dist/browser/types/index.d.ts +1 -0
- package/dist/browser/types/index.d.ts.map +1 -1
- package/package.json +15 -15
- package/src/contexts/gateway/Provider.tsx +26 -17
- package/src/contexts/gateway/state.ts +1 -3
- package/src/contexts/gateway/story/GatewayStats.tsx +14 -11
- package/src/contexts/gateway/story/Provider.stories.tsx +1 -1
- package/src/contexts/gateway/story/ProviderWithWallet.stories.tsx +5 -3
- package/src/contexts/in-page-gateways/Provider.tsx +82 -0
- package/src/contexts/in-page-gateways/context.ts +5 -0
- package/src/contexts/in-page-gateways/index.ts +4 -0
- package/src/contexts/in-page-gateways/state.ts +12 -0
- package/src/contexts/in-page-gateways/use.ts +5 -0
- package/src/contexts/index.ts +1 -0
- package/src/hooks/client/helpers/index.ts +0 -1
- package/src/hooks/client/index.ts +0 -1
- package/src/hooks/client/useClientFromWallet.ts +4 -2
- package/src/index.ts +1 -0
- package/src/lib/index.ts +1 -0
- package/src/types/ContextGatewayType.ts +4 -0
- package/src/types/index.ts +1 -0
- package/dist/browser/hooks/client/helpers/buildGateway.d.ts.map +0 -1
- package/dist/browser/hooks/client/useGatewayFromConfig.d.ts +0 -9
- package/dist/browser/hooks/client/useGatewayFromConfig.d.ts.map +0 -1
- package/src/hooks/client/useGatewayFromConfig.ts +0 -43
- /package/dist/browser/{hooks/client/helpers → lib}/buildGateway.d.ts +0 -0
- /package/src/{hooks/client/helpers → lib}/buildGateway.ts +0 -0
package/dist/browser/index.mjs
CHANGED
|
@@ -27,9 +27,9 @@ var ConnectedAccount = /* @__PURE__ */ __name(({ address }) => {
|
|
|
27
27
|
// src/components/connected/ConnectAccountsStack.tsx
|
|
28
28
|
import { Alert, AlertTitle, Button, Stack as Stack2, Typography as Typography2 } from "@mui/material";
|
|
29
29
|
import { ButtonEx } from "@xylabs/react-button";
|
|
30
|
-
import { isDefined as
|
|
31
|
-
import { ErrorRender } from "@xyo-network/react-error";
|
|
32
|
-
import
|
|
30
|
+
import { isDefined as isDefined10, isUndefined as isUndefined8 } from "@xylabs/sdk-js";
|
|
31
|
+
import { ErrorRender as ErrorRender2 } from "@xyo-network/react-error";
|
|
32
|
+
import React5, { useEffect as useEffect7 } from "react";
|
|
33
33
|
|
|
34
34
|
// src/hooks/account/helpers/formatAccountBalanceHistory.ts
|
|
35
35
|
import { hexToBigInt } from "@xylabs/sdk-js";
|
|
@@ -87,6 +87,24 @@ var balanceForRange = /* @__PURE__ */ __name((address, results) => {
|
|
|
87
87
|
];
|
|
88
88
|
}, "balanceForRange");
|
|
89
89
|
|
|
90
|
+
// src/lib/buildGateway.ts
|
|
91
|
+
import { assertEx, isDefined } from "@xylabs/sdk-js";
|
|
92
|
+
import { basicRemoteRunnerLocator, basicRemoteViewerLocator } from "@xyo-network/chain-orchestration";
|
|
93
|
+
import { DefaultNetworks, NetworkDataLakeUrls, XyoGatewayMoniker } from "@xyo-network/xl1-sdk";
|
|
94
|
+
var buildGateway = /* @__PURE__ */ __name(async (gatewayName, account) => {
|
|
95
|
+
const network = DefaultNetworks.find((network2) => network2.id === gatewayName);
|
|
96
|
+
const resolvedNetwork = assertEx(network, () => `No network found for id ${gatewayName}`);
|
|
97
|
+
const remoteConfig = {
|
|
98
|
+
rpc: {
|
|
99
|
+
protocol: "http",
|
|
100
|
+
url: `${resolvedNetwork.url}/rpc`
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
const dataLakeEndpoint = NetworkDataLakeUrls[gatewayName];
|
|
104
|
+
const locator = isDefined(account) ? await basicRemoteRunnerLocator(gatewayName, remoteConfig, account, dataLakeEndpoint) : await basicRemoteViewerLocator(gatewayName, remoteConfig, dataLakeEndpoint);
|
|
105
|
+
return await locator.getInstance(XyoGatewayMoniker);
|
|
106
|
+
}, "buildGateway");
|
|
107
|
+
|
|
90
108
|
// src/lib/findMinimumBlock.ts
|
|
91
109
|
var findMinimumBlock = /* @__PURE__ */ __name((history) => {
|
|
92
110
|
if (history.length === 0) return 0;
|
|
@@ -176,7 +194,7 @@ async function getXyoClient(timeout = CLIENT_LISTENER_TIMEOUT) {
|
|
|
176
194
|
__name(getXyoClient, "getXyoClient");
|
|
177
195
|
|
|
178
196
|
// src/hooks/helpers/transaction/Confirmation.ts
|
|
179
|
-
import { assertEx, delay, forget, isDefined, isNull } from "@xylabs/sdk-js";
|
|
197
|
+
import { assertEx as assertEx2, delay, forget, isDefined as isDefined2, isNull } from "@xylabs/sdk-js";
|
|
180
198
|
var TransactionConfirmationStatus = class _TransactionConfirmationStatus {
|
|
181
199
|
static {
|
|
182
200
|
__name(this, "TransactionConfirmationStatus");
|
|
@@ -187,10 +205,10 @@ var TransactionConfirmationStatus = class _TransactionConfirmationStatus {
|
|
|
187
205
|
this._params = params;
|
|
188
206
|
}
|
|
189
207
|
get exp() {
|
|
190
|
-
return
|
|
208
|
+
return assertEx2(this.transaction[0].exp, () => "exp is not found, transaction is not set");
|
|
191
209
|
}
|
|
192
210
|
get nbf() {
|
|
193
|
-
return
|
|
211
|
+
return assertEx2(this.transaction[0].nbf, () => "nbf is not found, transaction is not set");
|
|
194
212
|
}
|
|
195
213
|
get onStatusUpdate() {
|
|
196
214
|
return this._params.onStatusUpdate;
|
|
@@ -214,7 +232,7 @@ var TransactionConfirmationStatus = class _TransactionConfirmationStatus {
|
|
|
214
232
|
this.active = true;
|
|
215
233
|
try {
|
|
216
234
|
const currentBlockNumber = await this.viewer.currentBlockNumber();
|
|
217
|
-
while (
|
|
235
|
+
while (isDefined2(currentBlockNumber) && this.active) {
|
|
218
236
|
await this.checkBlock(currentBlockNumber);
|
|
219
237
|
await delay(1e3);
|
|
220
238
|
}
|
|
@@ -307,6 +325,7 @@ var initializeClient = /* @__PURE__ */ __name(async (timeout) => {
|
|
|
307
325
|
const client = await getXyoClient(timeout);
|
|
308
326
|
if (client === null) {
|
|
309
327
|
updateState({
|
|
328
|
+
client: null,
|
|
310
329
|
timedout: true,
|
|
311
330
|
isLoading: false
|
|
312
331
|
});
|
|
@@ -374,24 +393,6 @@ var usePermissions = /* @__PURE__ */ __name(() => {
|
|
|
374
393
|
import { usePromise as usePromise2 } from "@xylabs/react-promise";
|
|
375
394
|
import { isArray, isDefined as isDefined4, isDefinedNotNull, isString } from "@xylabs/sdk-js";
|
|
376
395
|
|
|
377
|
-
// src/hooks/client/helpers/buildGateway.ts
|
|
378
|
-
import { assertEx as assertEx2, isDefined as isDefined2 } from "@xylabs/sdk-js";
|
|
379
|
-
import { basicRemoteRunnerLocator, basicRemoteViewerLocator } from "@xyo-network/chain-orchestration";
|
|
380
|
-
import { DefaultNetworks, NetworkDataLakeUrls, XyoGatewayMoniker } from "@xyo-network/xl1-sdk";
|
|
381
|
-
var buildGateway = /* @__PURE__ */ __name(async (gatewayName, account) => {
|
|
382
|
-
const network = DefaultNetworks.find((network2) => network2.id === gatewayName);
|
|
383
|
-
const resolvedNetwork = assertEx2(network, () => `No network found for id ${gatewayName}`);
|
|
384
|
-
const remoteConfig = {
|
|
385
|
-
rpc: {
|
|
386
|
-
protocol: "http",
|
|
387
|
-
url: `${resolvedNetwork.url}/rpc`
|
|
388
|
-
}
|
|
389
|
-
};
|
|
390
|
-
const dataLakeEndpoint = NetworkDataLakeUrls[gatewayName];
|
|
391
|
-
const locator = isDefined2(account) ? await basicRemoteRunnerLocator(gatewayName, remoteConfig, account, dataLakeEndpoint) : await basicRemoteViewerLocator(gatewayName, remoteConfig, dataLakeEndpoint);
|
|
392
|
-
return await locator.getInstance(XyoGatewayMoniker);
|
|
393
|
-
}, "buildGateway");
|
|
394
|
-
|
|
395
396
|
// src/hooks/client/helpers/findCaveat.ts
|
|
396
397
|
import { isDefined as isDefined3 } from "@xylabs/sdk-js";
|
|
397
398
|
var findCaveat = /* @__PURE__ */ __name(async (permissions, targetCapability, targetCaveatType) => {
|
|
@@ -435,52 +436,13 @@ var useAccountPermissions = /* @__PURE__ */ __name(() => {
|
|
|
435
436
|
]);
|
|
436
437
|
}, "useAccountPermissions");
|
|
437
438
|
|
|
438
|
-
// src/hooks/client/useGatewayFromConfig.ts
|
|
439
|
-
import { usePromise as usePromise3 } from "@xylabs/react-promise";
|
|
440
|
-
import { isDefined as isDefined5 } from "@xylabs/sdk-js";
|
|
441
|
-
import { useState } from "react";
|
|
442
|
-
var useGatewayFromConfig = /* @__PURE__ */ __name((gatewayName, account) => {
|
|
443
|
-
const [gatewayCache, setGatewayCache] = useState({});
|
|
444
|
-
const clearGateways = /* @__PURE__ */ __name(() => setGatewayCache({}), "clearGateways");
|
|
445
|
-
const [previousAccount, setPreviousAccount] = useState(account);
|
|
446
|
-
if (previousAccount !== account) {
|
|
447
|
-
clearGateways();
|
|
448
|
-
setPreviousAccount(account);
|
|
449
|
-
}
|
|
450
|
-
const builtGatewayResults = usePromise3(async () => {
|
|
451
|
-
if (isDefined5(gatewayName)) {
|
|
452
|
-
if (isDefined5(gatewayCache[gatewayName])) {
|
|
453
|
-
return gatewayCache[gatewayName];
|
|
454
|
-
} else {
|
|
455
|
-
const gateway2 = await buildGateway(gatewayName, account);
|
|
456
|
-
setGatewayCache((prev) => ({
|
|
457
|
-
...prev,
|
|
458
|
-
[gatewayName]: gateway2
|
|
459
|
-
}));
|
|
460
|
-
return gateway2;
|
|
461
|
-
}
|
|
462
|
-
}
|
|
463
|
-
}, [
|
|
464
|
-
gatewayName,
|
|
465
|
-
account,
|
|
466
|
-
gatewayCache
|
|
467
|
-
]);
|
|
468
|
-
const [gateway, error, state] = builtGatewayResults;
|
|
469
|
-
return {
|
|
470
|
-
gateway,
|
|
471
|
-
error,
|
|
472
|
-
state,
|
|
473
|
-
clearGateways
|
|
474
|
-
};
|
|
475
|
-
}, "useGatewayFromConfig");
|
|
476
|
-
|
|
477
439
|
// src/hooks/client/useGatewayFromWallet.ts
|
|
478
|
-
import { isDefined as
|
|
440
|
+
import { isDefined as isDefined5, isNull as isNull3 } from "@xylabs/sdk-js";
|
|
479
441
|
var useGatewayFromWallet = /* @__PURE__ */ __name((gatewayName, timeout) => {
|
|
480
442
|
const { client, isLoading, error, timedout } = useClientFromWallet(timeout);
|
|
481
443
|
const resolveGateway = /* @__PURE__ */ __name(() => {
|
|
482
444
|
if (isNull3(client)) return null;
|
|
483
|
-
if (timedout && !isLoading &&
|
|
445
|
+
if (timedout && !isLoading && isDefined5(gatewayName)) {
|
|
484
446
|
return null;
|
|
485
447
|
}
|
|
486
448
|
return client?.gateways?.[gatewayName];
|
|
@@ -503,11 +465,11 @@ import React2, { useMemo } from "react";
|
|
|
503
465
|
|
|
504
466
|
// src/contexts/current-block/usePollCurrentBlock.ts
|
|
505
467
|
import { isDefinedNotNull as isDefinedNotNull2, isUndefinedOrNull } from "@xylabs/sdk-js";
|
|
506
|
-
import { startTransition, useEffect as useEffect2, useState
|
|
468
|
+
import { startTransition, useEffect as useEffect2, useState } from "react";
|
|
507
469
|
var DEFAULT_POLL_INTERVAL = 1e4;
|
|
508
470
|
var usePollCurrentBlock = /* @__PURE__ */ __name((viewer, interval = DEFAULT_POLL_INTERVAL, pause = false) => {
|
|
509
|
-
const [currentBlock, setCurrentBlock] =
|
|
510
|
-
const [error, setError] =
|
|
471
|
+
const [currentBlock, setCurrentBlock] = useState(null);
|
|
472
|
+
const [error, setError] = useState();
|
|
511
473
|
useEffect2(() => {
|
|
512
474
|
let isMounted = true;
|
|
513
475
|
const fetchBlock = /* @__PURE__ */ __name(async () => {
|
|
@@ -591,16 +553,95 @@ var GatewayContext = createContextEx2();
|
|
|
591
553
|
|
|
592
554
|
// src/contexts/gateway/Provider.tsx
|
|
593
555
|
import { isDefinedNotNull as isDefinedNotNull3, isNull as isNull4 } from "@xylabs/sdk-js";
|
|
594
|
-
import
|
|
595
|
-
|
|
556
|
+
import { ErrorRender } from "@xyo-network/react-error";
|
|
557
|
+
import React4, { useEffect as useEffect4, useMemo as useMemo3, useState as useState3 } from "react";
|
|
558
|
+
|
|
559
|
+
// src/contexts/in-page-gateways/context.ts
|
|
560
|
+
import { createContextEx as createContextEx3 } from "@xylabs/react-shared";
|
|
561
|
+
var InPageGatewaysContext = createContextEx3();
|
|
562
|
+
|
|
563
|
+
// src/contexts/in-page-gateways/Provider.tsx
|
|
564
|
+
import { DefaultNetworks as DefaultNetworks2 } from "@xyo-network/xl1-sdk";
|
|
565
|
+
import React3, { startTransition as startTransition2, useCallback as useCallback2, useEffect as useEffect3, useMemo as useMemo2, useState as useState2 } from "react";
|
|
566
|
+
var InPageGatewaysProvider = /* @__PURE__ */ __name(({ account, children }) => {
|
|
567
|
+
const [gateways, setGateways] = useState2({});
|
|
568
|
+
const [errors, setErrors] = useState2({});
|
|
569
|
+
const [previousAccount, setPreviousAccount] = useState2(account);
|
|
570
|
+
const clearAll = useCallback2(() => {
|
|
571
|
+
setGateways({});
|
|
572
|
+
setErrors({});
|
|
573
|
+
}, []);
|
|
574
|
+
if (previousAccount !== account) {
|
|
575
|
+
clearAll();
|
|
576
|
+
setPreviousAccount(account);
|
|
577
|
+
}
|
|
578
|
+
useEffect3(() => {
|
|
579
|
+
let cancelled = false;
|
|
580
|
+
const buildAll = /* @__PURE__ */ __name(async () => {
|
|
581
|
+
const results = await Promise.allSettled(DefaultNetworks2.map(async (network) => {
|
|
582
|
+
const gateway = await buildGateway(network.id, account);
|
|
583
|
+
return {
|
|
584
|
+
id: network.id,
|
|
585
|
+
gateway
|
|
586
|
+
};
|
|
587
|
+
}));
|
|
588
|
+
if (cancelled) return;
|
|
589
|
+
const nextGateways = {};
|
|
590
|
+
const nextErrors = {};
|
|
591
|
+
for (const [index, result] of results.entries()) {
|
|
592
|
+
const networkId = DefaultNetworks2[index].id;
|
|
593
|
+
if (result.status === "fulfilled") {
|
|
594
|
+
nextGateways[networkId] = result.value.gateway;
|
|
595
|
+
} else {
|
|
596
|
+
nextErrors[networkId] = result.reason instanceof Error ? result.reason : new Error(String(result.reason));
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
startTransition2(() => {
|
|
600
|
+
setGateways(nextGateways);
|
|
601
|
+
setErrors(nextErrors);
|
|
602
|
+
});
|
|
603
|
+
}, "buildAll");
|
|
604
|
+
void buildAll();
|
|
605
|
+
return () => {
|
|
606
|
+
cancelled = true;
|
|
607
|
+
};
|
|
608
|
+
}, [
|
|
609
|
+
account
|
|
610
|
+
]);
|
|
611
|
+
const value = useMemo2(() => {
|
|
612
|
+
const value2 = {
|
|
613
|
+
clearAll,
|
|
614
|
+
errors,
|
|
615
|
+
gateways,
|
|
616
|
+
provided: true
|
|
617
|
+
};
|
|
618
|
+
return value2;
|
|
619
|
+
}, [
|
|
620
|
+
clearAll,
|
|
621
|
+
errors,
|
|
622
|
+
gateways
|
|
623
|
+
]);
|
|
624
|
+
return /* @__PURE__ */ React3.createElement(InPageGatewaysContext, {
|
|
625
|
+
value
|
|
626
|
+
}, children);
|
|
627
|
+
}, "InPageGatewaysProvider");
|
|
628
|
+
|
|
629
|
+
// src/contexts/in-page-gateways/use.ts
|
|
630
|
+
import { useContextEx as useContextEx2 } from "@xylabs/react-shared";
|
|
631
|
+
var useProvidedInPageGateways = /* @__PURE__ */ __name((required = true) => useContextEx2(InPageGatewaysContext, "InPageGateways", required), "useProvidedInPageGateways");
|
|
632
|
+
|
|
633
|
+
// src/contexts/gateway/Provider.tsx
|
|
634
|
+
var GatewayProvider = /* @__PURE__ */ __name(({ gatewayName, children }) => {
|
|
596
635
|
const [defaultGateway, setDefaultGateway] = useState3();
|
|
597
636
|
const [gateways, setGateways] = useState3({
|
|
598
637
|
inPageGateway: void 0,
|
|
599
638
|
walletGateway: void 0
|
|
600
639
|
});
|
|
601
640
|
const { gateway: gatewayFromWallet, error: gatewayFromWalletError } = useGatewayFromWallet(gatewayName);
|
|
602
|
-
const {
|
|
603
|
-
|
|
641
|
+
const { gateways: allGateways, errors: allGatewayErrors, clearAll } = useProvidedInPageGateways(true);
|
|
642
|
+
const gatewayFromConfig = gatewayName ? allGateways[gatewayName] : void 0;
|
|
643
|
+
const gatewayFromConfigError = gatewayName ? allGatewayErrors[gatewayName] : void 0;
|
|
644
|
+
useEffect4(() => {
|
|
604
645
|
if (isNull4(gatewayFromWallet)) {
|
|
605
646
|
setDefaultGateway(gatewayFromConfig);
|
|
606
647
|
setGateways({
|
|
@@ -618,13 +659,13 @@ var GatewayProvider = /* @__PURE__ */ __name(({ account, gatewayName, children }
|
|
|
618
659
|
gatewayFromConfig,
|
|
619
660
|
gatewayFromWallet
|
|
620
661
|
]);
|
|
621
|
-
const value =
|
|
662
|
+
const value = useMemo3(() => {
|
|
622
663
|
const value2 = {
|
|
623
664
|
defaultGateway,
|
|
624
665
|
error: gatewayFromWalletError || gatewayFromConfigError,
|
|
625
666
|
gateways,
|
|
626
667
|
provided: true,
|
|
627
|
-
resetGatewaysFromConfig:
|
|
668
|
+
resetGatewaysFromConfig: clearAll
|
|
628
669
|
};
|
|
629
670
|
return value2;
|
|
630
671
|
}, [
|
|
@@ -632,16 +673,18 @@ var GatewayProvider = /* @__PURE__ */ __name(({ account, gatewayName, children }
|
|
|
632
673
|
gatewayFromWalletError,
|
|
633
674
|
gatewayFromConfigError,
|
|
634
675
|
gateways,
|
|
635
|
-
|
|
676
|
+
clearAll
|
|
636
677
|
]);
|
|
637
|
-
return /* @__PURE__ */
|
|
678
|
+
return /* @__PURE__ */ React4.createElement(GatewayContext, {
|
|
638
679
|
value
|
|
639
|
-
},
|
|
680
|
+
}, /* @__PURE__ */ React4.createElement(ErrorRender, {
|
|
681
|
+
error: gatewayFromConfigError
|
|
682
|
+
}), children);
|
|
640
683
|
}, "GatewayProvider");
|
|
641
684
|
|
|
642
685
|
// src/contexts/gateway/use.ts
|
|
643
|
-
import { useContextEx as
|
|
644
|
-
var useProvidedGateway = /* @__PURE__ */ __name((required = true) =>
|
|
686
|
+
import { useContextEx as useContextEx3 } from "@xylabs/react-shared";
|
|
687
|
+
var useProvidedGateway = /* @__PURE__ */ __name((required = true) => useContextEx3(GatewayContext, "Gateway", required), "useProvidedGateway");
|
|
645
688
|
|
|
646
689
|
// src/hooks/gateway/useNetwork.ts
|
|
647
690
|
var useNetworkFromGateway = /* @__PURE__ */ __name(() => {
|
|
@@ -662,16 +705,16 @@ var useViewerFromGateway = /* @__PURE__ */ __name(() => {
|
|
|
662
705
|
}, "useViewerFromGateway");
|
|
663
706
|
|
|
664
707
|
// src/hooks/useAddressBalance.ts
|
|
665
|
-
import { usePromise as
|
|
708
|
+
import { usePromise as usePromise3 } from "@xylabs/react-promise";
|
|
666
709
|
import { isUndefined as isUndefined3, isUndefinedOrNull as isUndefinedOrNull2 } from "@xylabs/sdk-js";
|
|
667
710
|
import { ShiftedBigInt } from "@xyo-network/xl1-sdk";
|
|
668
|
-
import { useMemo as
|
|
711
|
+
import { useMemo as useMemo4, useRef, useState as useState4 } from "react";
|
|
669
712
|
var useAddressBalance = /* @__PURE__ */ __name((address, viewer, refresh) => {
|
|
670
713
|
const [balancesResult, setBalancesResult] = useState4();
|
|
671
714
|
const [loading, setLoading] = useState4(false);
|
|
672
715
|
const [balancesError, setBalancesError] = useState4();
|
|
673
716
|
const balancePromiseRef = useRef(null);
|
|
674
|
-
|
|
717
|
+
usePromise3(async () => {
|
|
675
718
|
if (isUndefined3(viewer) || isUndefined3(address)) return;
|
|
676
719
|
setLoading(true);
|
|
677
720
|
setBalancesError(void 0);
|
|
@@ -696,14 +739,14 @@ var useAddressBalance = /* @__PURE__ */ __name((address, viewer, refresh) => {
|
|
|
696
739
|
viewer,
|
|
697
740
|
refresh
|
|
698
741
|
]);
|
|
699
|
-
|
|
742
|
+
useMemo4(() => {
|
|
700
743
|
if (balancesError) {
|
|
701
744
|
setLoading(false);
|
|
702
745
|
}
|
|
703
746
|
}, [
|
|
704
747
|
balancesError
|
|
705
748
|
]);
|
|
706
|
-
const shiftedBigInt =
|
|
749
|
+
const shiftedBigInt = useMemo4(() => {
|
|
707
750
|
if (typeof balancesResult !== "bigint") return;
|
|
708
751
|
return new ShiftedBigInt(balancesResult, {
|
|
709
752
|
places: 18,
|
|
@@ -715,12 +758,12 @@ var useAddressBalance = /* @__PURE__ */ __name((address, viewer, refresh) => {
|
|
|
715
758
|
}, [
|
|
716
759
|
balancesResult
|
|
717
760
|
]);
|
|
718
|
-
const balanceIntlFriendly =
|
|
761
|
+
const balanceIntlFriendly = useMemo4(() => {
|
|
719
762
|
return shiftedBigInt?.toFullString();
|
|
720
763
|
}, [
|
|
721
764
|
shiftedBigInt
|
|
722
765
|
]);
|
|
723
|
-
const shortBalanceIntlFriendly =
|
|
766
|
+
const shortBalanceIntlFriendly = useMemo4(() => {
|
|
724
767
|
return isUndefinedOrNull2(balancesResult) ? void 0 : balancesResult < 1000000000000n && balancesResult > 0n ? "<0.00001" : shiftedBigInt?.toShortString();
|
|
725
768
|
}, [
|
|
726
769
|
balancesResult,
|
|
@@ -737,22 +780,22 @@ var useAddressBalance = /* @__PURE__ */ __name((address, viewer, refresh) => {
|
|
|
737
780
|
}, "useAddressBalance");
|
|
738
781
|
|
|
739
782
|
// src/hooks/useConfirmTransactionBase.ts
|
|
740
|
-
import { usePromise as
|
|
741
|
-
import { forget as forget2, isDefined as
|
|
783
|
+
import { usePromise as usePromise4 } from "@xylabs/react-promise";
|
|
784
|
+
import { forget as forget2, isDefined as isDefined6, isHash } from "@xylabs/sdk-js";
|
|
742
785
|
import { PayloadBuilder } from "@xyo-network/sdk-js";
|
|
743
|
-
import { useEffect as
|
|
786
|
+
import { useEffect as useEffect5, useState as useState5 } from "react";
|
|
744
787
|
var useConfirmTransactionBase = /* @__PURE__ */ __name((transaction, onBroadcast, onStatusUpdate, runner, viewer) => {
|
|
745
788
|
const [status, setStatus] = useState5();
|
|
746
789
|
const onStatusUpdateLocal = /* @__PURE__ */ __name((newStatus) => {
|
|
747
790
|
setStatus(newStatus);
|
|
748
791
|
onStatusUpdate?.(newStatus);
|
|
749
792
|
}, "onStatusUpdateLocal");
|
|
750
|
-
const [transactionConfirmationStatus, transactionConfirmationError] =
|
|
751
|
-
const hasRunner =
|
|
793
|
+
const [transactionConfirmationStatus, transactionConfirmationError] = usePromise4(async () => {
|
|
794
|
+
const hasRunner = isDefined6(runner);
|
|
752
795
|
if (transaction && viewer) {
|
|
753
796
|
const hash = hasRunner ? await runner.broadcastTransaction(transaction) : await PayloadBuilder.hash(transaction[0]);
|
|
754
797
|
if (isHash(hash)) {
|
|
755
|
-
if (hasRunner &&
|
|
798
|
+
if (hasRunner && isDefined6(onBroadcast)) onBroadcast(hash);
|
|
756
799
|
const params = {
|
|
757
800
|
onStatusUpdate: onStatusUpdateLocal,
|
|
758
801
|
transaction,
|
|
@@ -771,7 +814,7 @@ var useConfirmTransactionBase = /* @__PURE__ */ __name((transaction, onBroadcast
|
|
|
771
814
|
runner,
|
|
772
815
|
viewer
|
|
773
816
|
]);
|
|
774
|
-
|
|
817
|
+
useEffect5(() => {
|
|
775
818
|
return () => {
|
|
776
819
|
if (transactionConfirmationStatus) {
|
|
777
820
|
forget2(transactionConfirmationStatus.stop());
|
|
@@ -790,13 +833,13 @@ var useConfirmTransactionBase = /* @__PURE__ */ __name((transaction, onBroadcast
|
|
|
790
833
|
import { asAddress } from "@xylabs/sdk-js";
|
|
791
834
|
import { assertEx as assertEx3 } from "@xylabs/sdk-js";
|
|
792
835
|
import { MainNetwork } from "@xyo-network/xl1-sdk";
|
|
793
|
-
import { useCallback as
|
|
836
|
+
import { useCallback as useCallback3, useState as useState6 } from "react";
|
|
794
837
|
var useConnectAccount = /* @__PURE__ */ __name((gatewayName = MainNetwork.id, timeout) => {
|
|
795
838
|
const [connectError, setConnectError] = useState6();
|
|
796
839
|
const { gateway, error, timedout } = useGatewayFromWallet(gatewayName, timeout);
|
|
797
840
|
const [accountPermissions, accountPermissionsError] = useAccountPermissions();
|
|
798
841
|
const [address, setAddress] = useState6();
|
|
799
|
-
const connectSigner =
|
|
842
|
+
const connectSigner = useCallback3(async () => {
|
|
800
843
|
try {
|
|
801
844
|
setConnectError(void 0);
|
|
802
845
|
const assertedGateway = assertEx3(gateway, () => `Gateway ${gatewayName} is not available`);
|
|
@@ -821,10 +864,10 @@ var useConnectAccount = /* @__PURE__ */ __name((gatewayName = MainNetwork.id, ti
|
|
|
821
864
|
}, "useConnectAccount");
|
|
822
865
|
|
|
823
866
|
// src/hooks/useCurrentBlock.ts
|
|
824
|
-
import { usePromise as
|
|
867
|
+
import { usePromise as usePromise5 } from "@xylabs/react-promise";
|
|
825
868
|
import { isDefinedNotNull as isDefinedNotNull4 } from "@xylabs/sdk-js";
|
|
826
869
|
var useCurrentBlock = /* @__PURE__ */ __name((refresh = 1, viewer) => {
|
|
827
|
-
return
|
|
870
|
+
return usePromise5(async () => {
|
|
828
871
|
if (isDefinedNotNull4(viewer) && refresh > 0) {
|
|
829
872
|
const block = await viewer.currentBlock();
|
|
830
873
|
return block;
|
|
@@ -836,7 +879,7 @@ var useCurrentBlock = /* @__PURE__ */ __name((refresh = 1, viewer) => {
|
|
|
836
879
|
}, "useCurrentBlock");
|
|
837
880
|
var useCurrentBlockFromGateway = /* @__PURE__ */ __name((refresh = 1) => {
|
|
838
881
|
const viewer = useViewerFromGateway();
|
|
839
|
-
return
|
|
882
|
+
return usePromise5(async () => {
|
|
840
883
|
if (isDefinedNotNull4(viewer) && refresh > 0) {
|
|
841
884
|
const block = await viewer.currentBlock();
|
|
842
885
|
return block;
|
|
@@ -848,11 +891,11 @@ var useCurrentBlockFromGateway = /* @__PURE__ */ __name((refresh = 1) => {
|
|
|
848
891
|
}, "useCurrentBlockFromGateway");
|
|
849
892
|
|
|
850
893
|
// src/hooks/useHttpRpcRunner.ts
|
|
851
|
-
import { usePromise as
|
|
894
|
+
import { usePromise as usePromise6 } from "@xylabs/react-promise";
|
|
852
895
|
import { isUndefined as isUndefined4 } from "@xylabs/sdk-js";
|
|
853
896
|
import { AccountBalanceViewerRpcSchemas, buildJsonRpcProviderLocator, HttpRpcTransport, JsonRpcAccountBalanceViewer, SimpleTransactionViewer, XyoRunnerMoniker } from "@xyo-network/xl1-sdk";
|
|
854
897
|
var useHttpRpcRunner = /* @__PURE__ */ __name((url) => {
|
|
855
|
-
return
|
|
898
|
+
return usePromise6(async () => {
|
|
856
899
|
if (isUndefined4(url)) {
|
|
857
900
|
return;
|
|
858
901
|
}
|
|
@@ -873,9 +916,9 @@ var useHttpRpcRunner = /* @__PURE__ */ __name((url) => {
|
|
|
873
916
|
// src/hooks/useNetwork.ts
|
|
874
917
|
import { isUndefined as isUndefined5 } from "@xylabs/sdk-js";
|
|
875
918
|
import { SimpleXyoNetwork } from "@xyo-network/xl1-sdk";
|
|
876
|
-
import { useMemo as
|
|
919
|
+
import { useMemo as useMemo5 } from "react";
|
|
877
920
|
var useNetwork = /* @__PURE__ */ __name((id) => {
|
|
878
|
-
const network =
|
|
921
|
+
const network = useMemo5(() => {
|
|
879
922
|
if (isUndefined5(id)) return;
|
|
880
923
|
return new SimpleXyoNetwork(id);
|
|
881
924
|
}, [
|
|
@@ -885,10 +928,10 @@ var useNetwork = /* @__PURE__ */ __name((id) => {
|
|
|
885
928
|
}, "useNetwork");
|
|
886
929
|
|
|
887
930
|
// src/hooks/useSigner.ts
|
|
888
|
-
import { usePromise as
|
|
931
|
+
import { usePromise as usePromise7 } from "@xylabs/react-promise";
|
|
889
932
|
import { SimpleXyoSigner } from "@xyo-network/xl1-sdk";
|
|
890
933
|
var useSigner = /* @__PURE__ */ __name((_provider, account) => {
|
|
891
|
-
return
|
|
934
|
+
return usePromise7(async () => account ? await SimpleXyoSigner.create({
|
|
892
935
|
account
|
|
893
936
|
}) : void 0, [
|
|
894
937
|
account
|
|
@@ -896,11 +939,11 @@ var useSigner = /* @__PURE__ */ __name((_provider, account) => {
|
|
|
896
939
|
}, "useSigner");
|
|
897
940
|
|
|
898
941
|
// src/hooks/viewer/useCheckRpc.ts
|
|
899
|
-
import { usePromise as
|
|
900
|
-
import { delay as delay2, isDefined as
|
|
942
|
+
import { usePromise as usePromise8 } from "@xylabs/react-promise";
|
|
943
|
+
import { delay as delay2, isDefined as isDefined7, isUndefined as isUndefined6 } from "@xylabs/sdk-js";
|
|
901
944
|
import { basicRemoteViewerLocator as basicRemoteViewerLocator2 } from "@xyo-network/chain-orchestration";
|
|
902
945
|
import { LocalNetwork, SequenceNetwork, XyoViewerMoniker } from "@xyo-network/xl1-sdk";
|
|
903
|
-
import { useEffect as
|
|
946
|
+
import { useEffect as useEffect6, useState as useState7 } from "react";
|
|
904
947
|
var INTERVAL = 5e3;
|
|
905
948
|
var localRpcEndpoint = `${LocalNetwork.url}/rpc`;
|
|
906
949
|
var sequenceRpcEndpoint = `${SequenceNetwork.url}/rpc`;
|
|
@@ -915,7 +958,7 @@ var useCheckSequenceRpc = /* @__PURE__ */ __name(() => {
|
|
|
915
958
|
var useCheckRpc = /* @__PURE__ */ __name((endpoint) => {
|
|
916
959
|
const [isLocalProducer, setIsLocalProducer] = useState7(false);
|
|
917
960
|
const [error, setError] = useState7();
|
|
918
|
-
const [viewer] =
|
|
961
|
+
const [viewer] = usePromise8(async () => {
|
|
919
962
|
if (isUndefined6(endpoint)) return;
|
|
920
963
|
const locator = await basicRemoteViewerLocator2(endpoint, {
|
|
921
964
|
rpc: {
|
|
@@ -928,14 +971,14 @@ var useCheckRpc = /* @__PURE__ */ __name((endpoint) => {
|
|
|
928
971
|
}, [
|
|
929
972
|
endpoint
|
|
930
973
|
]);
|
|
931
|
-
|
|
974
|
+
useEffect6(() => {
|
|
932
975
|
if (isUndefined6(viewer)) return;
|
|
933
976
|
void (async () => {
|
|
934
977
|
setError(void 0);
|
|
935
978
|
while (!isLocalProducer) {
|
|
936
979
|
try {
|
|
937
980
|
const block = await viewer.currentBlock();
|
|
938
|
-
setIsLocalProducer(
|
|
981
|
+
setIsLocalProducer(isDefined7(block));
|
|
939
982
|
} catch (err) {
|
|
940
983
|
setError(err);
|
|
941
984
|
setIsLocalProducer(false);
|
|
@@ -954,8 +997,8 @@ var useCheckRpc = /* @__PURE__ */ __name((endpoint) => {
|
|
|
954
997
|
}, "useCheckRpc");
|
|
955
998
|
|
|
956
999
|
// src/hooks/viewer/useHttpRpcViewer.ts
|
|
957
|
-
import { usePromise as
|
|
958
|
-
import { isDefined as
|
|
1000
|
+
import { usePromise as usePromise9 } from "@xylabs/react-promise";
|
|
1001
|
+
import { isDefined as isDefined8, isString as isString2, isUndefined as isUndefined7 } from "@xylabs/sdk-js";
|
|
959
1002
|
import { AccountBalanceViewerRpcSchemas as AccountBalanceViewerRpcSchemas2, buildJsonRpcProviderLocator as buildJsonRpcProviderLocator2, HttpRpcTransport as HttpRpcTransport2, JsonRpcAccountBalanceViewer as JsonRpcAccountBalanceViewer2, JsonRpcXyoViewer as JsonRpcXyoViewer2, NetworkDataLakeUrls as NetworkDataLakeUrls2, RestDataLakeViewer, SimpleTransactionViewer as SimpleTransactionViewer2, XyoViewerMoniker as XyoViewerMoniker2, XyoViewerRpcSchemas } from "@xyo-network/xl1-sdk";
|
|
960
1003
|
|
|
961
1004
|
// src/hooks/viewer/ViewerWithDataLake.ts
|
|
@@ -1022,7 +1065,7 @@ var buildLocator = /* @__PURE__ */ __name(async (transportFactory, dataLakeViewe
|
|
|
1022
1065
|
transport: await transportFactory(AccountBalanceViewerRpcSchemas2)
|
|
1023
1066
|
}));
|
|
1024
1067
|
locator.register(SimpleTransactionViewer2.factory(SimpleTransactionViewer2.dependencies, {}));
|
|
1025
|
-
if (
|
|
1068
|
+
if (isDefined8(dataLakeViewerParams)) {
|
|
1026
1069
|
locator.register(RestDataLakeViewer.factory(RestDataLakeViewer.dependencies, dataLakeViewerParams));
|
|
1027
1070
|
}
|
|
1028
1071
|
locator.register(ViewerWithDataLake.factory(JsonRpcXyoViewer2.dependencies, {
|
|
@@ -1031,7 +1074,7 @@ var buildLocator = /* @__PURE__ */ __name(async (transportFactory, dataLakeViewe
|
|
|
1031
1074
|
return locator;
|
|
1032
1075
|
}, "buildLocator");
|
|
1033
1076
|
var useHttpRpcViewer = /* @__PURE__ */ __name((urlOrNetwork) => {
|
|
1034
|
-
const [resolvedViewer] =
|
|
1077
|
+
const [resolvedViewer] = usePromise9(async () => {
|
|
1035
1078
|
if (isUndefined7(urlOrNetwork)) {
|
|
1036
1079
|
return;
|
|
1037
1080
|
}
|
|
@@ -1045,16 +1088,16 @@ var useHttpRpcViewer = /* @__PURE__ */ __name((urlOrNetwork) => {
|
|
|
1045
1088
|
}, "useHttpRpcViewer");
|
|
1046
1089
|
|
|
1047
1090
|
// src/hooks/viewer/useViewerFromWallet.ts
|
|
1048
|
-
import { usePromise as
|
|
1049
|
-
import { isDefined as
|
|
1091
|
+
import { usePromise as usePromise10 } from "@xylabs/react-promise";
|
|
1092
|
+
import { isDefined as isDefined9, isDefinedNotNull as isDefinedNotNull5, isNull as isNull6 } from "@xylabs/sdk-js";
|
|
1050
1093
|
var useViewerFromWallet = /* @__PURE__ */ __name((networkId, timeout) => {
|
|
1051
1094
|
const { gateway, error, isLoading, timedout } = useGatewayFromWallet(networkId, timeout);
|
|
1052
|
-
const result =
|
|
1095
|
+
const result = usePromise10(async () => {
|
|
1053
1096
|
await Promise.resolve();
|
|
1054
1097
|
if (isDefinedNotNull5(error)) return null;
|
|
1055
1098
|
if (timedout && isNull6(gateway)) return null;
|
|
1056
1099
|
if (isLoading) return;
|
|
1057
|
-
if (
|
|
1100
|
+
if (isDefined9(gateway) && isDefined9(networkId)) {
|
|
1058
1101
|
const connection = gateway?.connection;
|
|
1059
1102
|
return connection?.viewer;
|
|
1060
1103
|
}
|
|
@@ -1067,16 +1110,16 @@ var useViewerFromWallet = /* @__PURE__ */ __name((networkId, timeout) => {
|
|
|
1067
1110
|
}, "useViewerFromWallet");
|
|
1068
1111
|
|
|
1069
1112
|
// src/components/connected/ConnectAccountsStack.tsx
|
|
1070
|
-
var DefaultConnectComponent = /* @__PURE__ */ __name((props) => /* @__PURE__ */
|
|
1113
|
+
var DefaultConnectComponent = /* @__PURE__ */ __name((props) => /* @__PURE__ */ React5.createElement(ButtonEx, {
|
|
1071
1114
|
variant: "contained",
|
|
1072
1115
|
size: "small",
|
|
1073
1116
|
...props
|
|
1074
1117
|
}), "DefaultConnectComponent");
|
|
1075
|
-
var DefaultNoWalletInstalledComponent = /* @__PURE__ */ __name(() => /* @__PURE__ */
|
|
1118
|
+
var DefaultNoWalletInstalledComponent = /* @__PURE__ */ __name(() => /* @__PURE__ */ React5.createElement(Alert, {
|
|
1076
1119
|
severity: "warning"
|
|
1077
|
-
}, /* @__PURE__ */
|
|
1120
|
+
}, /* @__PURE__ */ React5.createElement(AlertTitle, null, "XL1 Wallet Not Found"), /* @__PURE__ */ React5.createElement(Typography2, {
|
|
1078
1121
|
gutterBottom: true
|
|
1079
|
-
}, "Please ensure that your XL1 Wallet is installed to connect your account."), /* @__PURE__ */
|
|
1122
|
+
}, "Please ensure that your XL1 Wallet is installed to connect your account."), /* @__PURE__ */ React5.createElement(Button, {
|
|
1080
1123
|
sx: {
|
|
1081
1124
|
display: "flex",
|
|
1082
1125
|
justifySelf: "end"
|
|
@@ -1089,32 +1132,32 @@ var DefaultNoWalletInstalledComponent = /* @__PURE__ */ __name(() => /* @__PURE_
|
|
|
1089
1132
|
}, "Get XL1 Wallet")), "DefaultNoWalletInstalledComponent");
|
|
1090
1133
|
var ConnectAccountsStack = /* @__PURE__ */ __name(({ AccountComponent = ConnectedAccount, ConnectComponent = DefaultConnectComponent, NoWalletInstalledComponent = DefaultNoWalletInstalledComponent, onAccountConnected, onCancel, timeout, ...props }) => {
|
|
1091
1134
|
const { address, connectSigner, error, timedout } = useConnectAccount(void 0, timeout);
|
|
1092
|
-
|
|
1093
|
-
if (
|
|
1135
|
+
useEffect7(() => {
|
|
1136
|
+
if (isDefined10(error) && isDefined10(onCancel)) {
|
|
1094
1137
|
onCancel();
|
|
1095
1138
|
}
|
|
1096
1139
|
}, [
|
|
1097
1140
|
error,
|
|
1098
1141
|
onCancel
|
|
1099
1142
|
]);
|
|
1100
|
-
|
|
1101
|
-
if (
|
|
1143
|
+
useEffect7(() => {
|
|
1144
|
+
if (isDefined10(address) && isDefined10(onAccountConnected)) {
|
|
1102
1145
|
onAccountConnected(address);
|
|
1103
1146
|
}
|
|
1104
1147
|
}, [
|
|
1105
1148
|
address,
|
|
1106
1149
|
onAccountConnected
|
|
1107
1150
|
]);
|
|
1108
|
-
return /* @__PURE__ */
|
|
1151
|
+
return /* @__PURE__ */ React5.createElement(Stack2, {
|
|
1109
1152
|
direction: "row",
|
|
1110
1153
|
alignItems: "start",
|
|
1111
1154
|
spacing: 2,
|
|
1112
1155
|
...props
|
|
1113
|
-
},
|
|
1156
|
+
}, isDefined10(address) ? /* @__PURE__ */ React5.createElement(AccountComponent, {
|
|
1114
1157
|
address
|
|
1115
|
-
}) : null, isUndefined8(address) && !timedout ? /* @__PURE__ */
|
|
1158
|
+
}) : null, isUndefined8(address) && !timedout ? /* @__PURE__ */ React5.createElement(ConnectComponent, {
|
|
1116
1159
|
onClick: /* @__PURE__ */ __name(() => void connectSigner(), "onClick")
|
|
1117
|
-
}, "Connect") : null, isUndefined8(address) && timedout ? /* @__PURE__ */
|
|
1160
|
+
}, "Connect") : null, isUndefined8(address) && timedout ? /* @__PURE__ */ React5.createElement(NoWalletInstalledComponent, null) : null, /* @__PURE__ */ React5.createElement(ErrorRender2, {
|
|
1118
1161
|
error,
|
|
1119
1162
|
scope: "ConnectSigner:error"
|
|
1120
1163
|
}));
|
|
@@ -1125,11 +1168,14 @@ export {
|
|
|
1125
1168
|
DEFAULT_POLLING_INTERVAL,
|
|
1126
1169
|
GatewayContext,
|
|
1127
1170
|
GatewayProvider,
|
|
1171
|
+
InPageGatewaysContext,
|
|
1172
|
+
InPageGatewaysProvider,
|
|
1128
1173
|
TransactionConfirmationStatus,
|
|
1129
1174
|
ViewerWithDataLake,
|
|
1130
1175
|
XL1CurrentBlockContext,
|
|
1131
1176
|
XL1CurrentBlockProvider,
|
|
1132
1177
|
balanceForRange,
|
|
1178
|
+
buildGateway,
|
|
1133
1179
|
findMinimumBlock,
|
|
1134
1180
|
formatAccountBalanceHistory,
|
|
1135
1181
|
getXyoClient,
|
|
@@ -1147,7 +1193,6 @@ export {
|
|
|
1147
1193
|
useCurrentBlock,
|
|
1148
1194
|
useCurrentBlockFromGateway,
|
|
1149
1195
|
useGateway,
|
|
1150
|
-
useGatewayFromConfig,
|
|
1151
1196
|
useGatewayFromWallet,
|
|
1152
1197
|
useHttpRpcRunner,
|
|
1153
1198
|
useHttpRpcViewer,
|
|
@@ -1156,6 +1201,7 @@ export {
|
|
|
1156
1201
|
usePermissions,
|
|
1157
1202
|
usePollCurrentBlock,
|
|
1158
1203
|
useProvidedGateway,
|
|
1204
|
+
useProvidedInPageGateways,
|
|
1159
1205
|
useRunnerFromGateway,
|
|
1160
1206
|
useSigner,
|
|
1161
1207
|
useViewerFromGateway,
|