@xyo-network/react-chain-provider 1.21.3 → 1.23.0
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/components/connected/ConnectAccountsStack.d.ts +1 -1
- package/dist/browser/components/connected/ConnectAccountsStack.d.ts.map +1 -1
- package/dist/browser/components/connected/account/Connected.d.ts.map +1 -1
- package/dist/browser/contexts/current-block/context.d.ts +2 -1
- package/dist/browser/contexts/current-block/context.d.ts.map +1 -1
- package/dist/browser/contexts/gateway/Provider.d.ts +2 -2
- package/dist/browser/contexts/gateway/Provider.d.ts.map +1 -1
- package/dist/browser/contexts/in-page-gateways/Provider.d.ts +3 -3
- package/dist/browser/contexts/in-page-gateways/Provider.d.ts.map +1 -1
- package/dist/browser/contexts/in-page-gateways/context.d.ts +2 -2
- package/dist/browser/contexts/in-page-gateways/context.d.ts.map +1 -1
- package/dist/browser/contexts/in-page-gateways/state.d.ts +2 -2
- package/dist/browser/contexts/in-page-gateways/state.d.ts.map +1 -1
- package/dist/browser/contexts/in-page-gateways/use.d.ts +2 -2
- package/dist/browser/contexts/in-page-gateways/use.d.ts.map +1 -1
- package/dist/browser/hooks/gateway/useNetwork.d.ts +2 -1
- package/dist/browser/hooks/gateway/useNetwork.d.ts.map +1 -1
- package/dist/browser/hooks/gateway/useRunner.d.ts +2 -1
- package/dist/browser/hooks/gateway/useRunner.d.ts.map +1 -1
- package/dist/browser/hooks/gateway/useViewer.d.ts +2 -1
- package/dist/browser/hooks/gateway/useViewer.d.ts.map +1 -1
- package/dist/browser/hooks/helpers/getXyoClient.d.ts +2 -2
- package/dist/browser/hooks/helpers/getXyoClient.d.ts.map +1 -1
- package/dist/browser/hooks/useConnectAccount.d.ts +12 -16
- package/dist/browser/hooks/useConnectAccount.d.ts.map +1 -1
- package/dist/browser/hooks/useCurrentBlock.d.ts +1 -33
- package/dist/browser/hooks/useCurrentBlock.d.ts.map +1 -1
- package/dist/browser/index.mjs +27 -16
- package/dist/browser/index.mjs.map +1 -1
- package/package.json +34 -37
|
@@ -14,6 +14,6 @@ export interface ConnectClientAccountsStackProps extends StackProps {
|
|
|
14
14
|
onCancel?: () => void;
|
|
15
15
|
timeout?: number;
|
|
16
16
|
}
|
|
17
|
-
/** @deprecated - use version in @xyo-network/react-
|
|
17
|
+
/** @deprecated - use version in @xyo-network/xl1-react-client-sdk instead */
|
|
18
18
|
export declare const ConnectAccountsStack: React.FC<ConnectClientAccountsStackProps>;
|
|
19
19
|
//# sourceMappingURL=ConnectAccountsStack.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectAccountsStack.d.ts","sourceRoot":"","sources":["../../../../src/components/connected/ConnectAccountsStack.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAO/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAG7C,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAC7D,OAAO,KAAoB,MAAM,OAAO,CAAA;AA4BxC,MAAM,WAAW,+BAAgC,SAAQ,UAAU;IACjE,gBAAgB,CAAC,EAAE,aAAa,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACtD,gBAAgB,CAAC,EAAE,aAAa,CAAC;QAAE,OAAO,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAA;KAAE,CAAC,CAAA;IAC9E,0BAA0B,CAAC,EAAE,aAAa,CAAA;IAC1C,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IAC/C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,
|
|
1
|
+
{"version":3,"file":"ConnectAccountsStack.d.ts","sourceRoot":"","sources":["../../../../src/components/connected/ConnectAccountsStack.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAO/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAG7C,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAC7D,OAAO,KAAoB,MAAM,OAAO,CAAA;AA4BxC,MAAM,WAAW,+BAAgC,SAAQ,UAAU;IACjE,gBAAgB,CAAC,EAAE,aAAa,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACtD,gBAAgB,CAAC,EAAE,aAAa,CAAC;QAAE,OAAO,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAA;KAAE,CAAC,CAAA;IAC9E,0BAA0B,CAAC,EAAE,aAAa,CAAA;IAC1C,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IAC/C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,6EAA6E;AAC7E,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CAgD1E,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Connected.d.ts","sourceRoot":"","sources":["../../../../../src/components/connected/account/Connected.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"Connected.d.ts","sourceRoot":"","sources":["../../../../../src/components/connected/account/Connected.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAuB1D,CAAA"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
import type { XL1CurrentBlockState } from './state.ts';
|
|
2
|
+
export declare const XL1CurrentBlockContext: import("react").Context<import("@xylabs/react-shared").ContextExState<XL1CurrentBlockState>>;
|
|
2
3
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/contexts/current-block/context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/contexts/current-block/context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEtD,eAAO,MAAM,sBAAsB,8FAA0C,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @deprecated Moved to `@xyo-network/react-
|
|
2
|
+
* @deprecated Moved to `@xyo-network/xl1-react-client-sdk`. Import
|
|
3
3
|
* `GatewayProvider` from there instead. This re-export exists only for
|
|
4
4
|
* backward compatibility and will be removed in a future release.
|
|
5
5
|
*/
|
|
6
|
-
export { GatewayProvider } from '@xyo-network/react-
|
|
6
|
+
export { GatewayProvider } from '@xyo-network/xl1-react-client-sdk';
|
|
7
7
|
//# sourceMappingURL=Provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/gateway/Provider.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/gateway/Provider.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @deprecated Moved to `@xyo-network/react-
|
|
2
|
+
* @deprecated Moved to `@xyo-network/xl1-react-client-sdk`. Import
|
|
3
3
|
* `InPageGatewaysProvider` and `InPageGatewaysProviderProps` from there
|
|
4
4
|
* instead. This re-export exists only for backward compatibility and
|
|
5
5
|
* will be removed in a future release.
|
|
6
6
|
*/
|
|
7
|
-
export type { InPageGatewaysProviderProps } from '@xyo-network/react-
|
|
8
|
-
export { InPageGatewaysProvider } from '@xyo-network/react-
|
|
7
|
+
export type { InPageGatewaysProviderProps } from '@xyo-network/xl1-react-client-sdk';
|
|
8
|
+
export { InPageGatewaysProvider } from '@xyo-network/xl1-react-client-sdk';
|
|
9
9
|
//# sourceMappingURL=Provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/in-page-gateways/Provider.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,EAAE,2BAA2B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/in-page-gateways/Provider.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAA;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @deprecated Moved to `@xyo-network/react-
|
|
2
|
+
* @deprecated Moved to `@xyo-network/xl1-react-client-sdk`. Import
|
|
3
3
|
* `InPageGatewaysContext` from there instead. This re-export exists only
|
|
4
4
|
* for backward compatibility and will be removed in a future release.
|
|
5
5
|
*/
|
|
6
|
-
export { InPageGatewaysContext } from '@xyo-network/react-
|
|
6
|
+
export { InPageGatewaysContext } from '@xyo-network/xl1-react-client-sdk';
|
|
7
7
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/contexts/in-page-gateways/context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/contexts/in-page-gateways/context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @deprecated Moved to `@xyo-network/react-
|
|
2
|
+
* @deprecated Moved to `@xyo-network/xl1-react-client-sdk`. Import
|
|
3
3
|
* `InPageGatewaysState` and `InPageGatewaysStateFields` from there
|
|
4
4
|
* instead. This re-export exists only for backward compatibility and
|
|
5
5
|
* will be removed in a future release.
|
|
6
6
|
*/
|
|
7
|
-
export type { InPageGatewaysState, InPageGatewaysStateFields } from '@xyo-network/react-
|
|
7
|
+
export type { InPageGatewaysState, InPageGatewaysStateFields } from '@xyo-network/xl1-react-client-sdk';
|
|
8
8
|
//# sourceMappingURL=state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../src/contexts/in-page-gateways/state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../src/contexts/in-page-gateways/state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @deprecated Moved to `@xyo-network/react-
|
|
2
|
+
* @deprecated Moved to `@xyo-network/xl1-react-client-sdk`. Import
|
|
3
3
|
* `useProvidedInPageGateways` from there instead. This re-export exists
|
|
4
4
|
* only for backward compatibility and will be removed in a future
|
|
5
5
|
* release.
|
|
6
6
|
*/
|
|
7
|
-
export { useProvidedInPageGateways } from '@xyo-network/react-
|
|
7
|
+
export { useProvidedInPageGateways } from '@xyo-network/xl1-react-client-sdk';
|
|
8
8
|
//# sourceMappingURL=use.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/contexts/in-page-gateways/use.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/contexts/in-page-gateways/use.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
import type { XyoNetwork } from '@xyo-network/xl1-sdk';
|
|
2
|
+
export declare const useNetworkFromGateway: () => XyoNetwork | undefined;
|
|
2
3
|
//# sourceMappingURL=useNetwork.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNetwork.d.ts","sourceRoot":"","sources":["../../../../src/hooks/gateway/useNetwork.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useNetwork.d.ts","sourceRoot":"","sources":["../../../../src/hooks/gateway/useNetwork.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEtD,eAAO,MAAM,qBAAqB,QAAO,UAAU,GAAG,SAGrD,CAAA"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
import type { XyoRunner } from '@xyo-network/xl1-sdk';
|
|
2
|
+
export declare const useRunnerFromGateway: () => XyoRunner | undefined;
|
|
2
3
|
//# sourceMappingURL=useRunner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRunner.d.ts","sourceRoot":"","sources":["../../../../src/hooks/gateway/useRunner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useRunner.d.ts","sourceRoot":"","sources":["../../../../src/hooks/gateway/useRunner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAErD,eAAO,MAAM,oBAAoB,QAAO,SAAS,GAAG,SAGnD,CAAA"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
import type { XyoViewer } from '@xyo-network/xl1-sdk';
|
|
2
|
+
export declare const useViewerFromGateway: () => XyoViewer | undefined;
|
|
2
3
|
//# sourceMappingURL=useViewer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useViewer.d.ts","sourceRoot":"","sources":["../../../../src/hooks/gateway/useViewer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useViewer.d.ts","sourceRoot":"","sources":["../../../../src/hooks/gateway/useViewer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAErD,eAAO,MAAM,oBAAoB,QAAO,SAAS,GAAG,SAGnD,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/** @deprecated Import from `@xyo-network/react-
|
|
2
|
-
export { getXyoClient, listenForClientInjection } from '@xyo-network/react-
|
|
1
|
+
/** @deprecated Import from `@xyo-network/xl1-react-client-sdk` instead */
|
|
2
|
+
export { getXyoClient, listenForClientInjection } from '@xyo-network/xl1-react-client-sdk';
|
|
3
3
|
//# sourceMappingURL=getXyoClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getXyoClient.d.ts","sourceRoot":"","sources":["../../../../src/hooks/helpers/getXyoClient.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"getXyoClient.d.ts","sourceRoot":"","sources":["../../../../src/hooks/helpers/getXyoClient.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAA"}
|
|
@@ -1,18 +1,14 @@
|
|
|
1
|
+
import { type Address } from '@xylabs/sdk-js';
|
|
2
|
+
import type { GatewayFromWallet } from '@xyo-network/xl1-react-client-sdk';
|
|
1
3
|
import type { GatewayName } from '@xyo-network/xl1-sdk';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
readonly __address: true;
|
|
13
|
-
}) | undefined>;
|
|
14
|
-
error: Error | undefined;
|
|
15
|
-
gateway: import("@xyo-network/xl1-sdk").XyoGatewayRunner | null | undefined;
|
|
16
|
-
timedout: boolean;
|
|
17
|
-
};
|
|
4
|
+
interface UseConnectAccountResult {
|
|
5
|
+
address: Address | undefined;
|
|
6
|
+
connectSigner: () => Promise<Address | undefined>;
|
|
7
|
+
error: Error | null | undefined;
|
|
8
|
+
gateway: GatewayFromWallet['gateway'];
|
|
9
|
+
timedout: boolean | undefined;
|
|
10
|
+
}
|
|
11
|
+
/** @deprecated - use version in @xyo-network/xl1-react-client-sdk instead */
|
|
12
|
+
export declare const useConnectAccount: (gatewayName?: GatewayName, timeout?: number) => UseConnectAccountResult;
|
|
13
|
+
export {};
|
|
18
14
|
//# sourceMappingURL=useConnectAccount.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useConnectAccount.d.ts","sourceRoot":"","sources":["../../../src/hooks/useConnectAccount.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useConnectAccount.d.ts","sourceRoot":"","sources":["../../../src/hooks/useConnectAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAa,MAAM,gBAAgB,CAAA;AAExD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAE1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAIvD,UAAU,uBAAuB;IAC/B,OAAO,EAAE,OAAO,GAAG,SAAS,CAAA;IAC5B,aAAa,EAAE,MAAM,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAA;IACjD,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,CAAA;IAC/B,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAA;IACrC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9B;AAED,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB,GAAI,cAAa,WAA4B,EAAE,UAAU,MAAM,KAAG,uBA2B/F,CAAA"}
|
|
@@ -1,37 +1,5 @@
|
|
|
1
1
|
import type { UsePromiseState } from '@xylabs/react-promise';
|
|
2
2
|
import type { HydratedBlockWithHashMeta, XyoViewer } from '@xyo-network/xl1-sdk';
|
|
3
3
|
export declare const useCurrentBlock: (refresh?: number, viewer?: XyoViewer | null) => [HydratedBlockWithHashMeta | undefined, Error | undefined, UsePromiseState | undefined];
|
|
4
|
-
export declare const useCurrentBlockFromGateway: (refresh?: number) => [
|
|
5
|
-
schema: "network.xyo.boundwitness" & {
|
|
6
|
-
readonly __schema: true;
|
|
7
|
-
};
|
|
8
|
-
addresses: (Lowercase<string> & {
|
|
9
|
-
readonly __hex: true;
|
|
10
|
-
} & {
|
|
11
|
-
readonly __address: true;
|
|
12
|
-
})[];
|
|
13
|
-
payload_hashes: import("@xylabs/sdk-js").BrandedHash[];
|
|
14
|
-
payload_schemas: import("@xyo-network/payload-model").BrandedSchema<string>[];
|
|
15
|
-
previous_hashes: (import("@xylabs/sdk-js").BrandedHash | null)[];
|
|
16
|
-
$signatures: import("@xylabs/sdk-js").BrandedHex[];
|
|
17
|
-
block: import("@xyo-network/xl1-sdk").XL1BlockNumber;
|
|
18
|
-
chain: import("@xylabs/sdk-js").BrandedHex;
|
|
19
|
-
previous: import("@xylabs/sdk-js").BrandedHash | null;
|
|
20
|
-
$epoch: number;
|
|
21
|
-
_hash: import("@xylabs/sdk-js").BrandedHash;
|
|
22
|
-
_dataHash: import("@xylabs/sdk-js").BrandedHash;
|
|
23
|
-
$destination?: (Lowercase<string> & {
|
|
24
|
-
readonly __hex: true;
|
|
25
|
-
} & {
|
|
26
|
-
readonly __address: true;
|
|
27
|
-
}) | undefined;
|
|
28
|
-
$sourceQuery?: import("@xylabs/sdk-js").BrandedHash | undefined;
|
|
29
|
-
protocol?: number | undefined;
|
|
30
|
-
step_hashes?: import("@xylabs/sdk-js").BrandedHash[] | undefined;
|
|
31
|
-
}, {
|
|
32
|
-
[x: string]: unknown;
|
|
33
|
-
schema: import("@xyo-network/payload-model").BrandedSchema<string>;
|
|
34
|
-
_hash: import("@xylabs/sdk-js").BrandedHash;
|
|
35
|
-
_dataHash: import("@xylabs/sdk-js").BrandedHash;
|
|
36
|
-
}[]] | undefined, Error | undefined, UsePromiseState | undefined];
|
|
4
|
+
export declare const useCurrentBlockFromGateway: (refresh?: number) => [HydratedBlockWithHashMeta | undefined, Error | undefined, UsePromiseState | undefined];
|
|
37
5
|
//# sourceMappingURL=useCurrentBlock.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCurrentBlock.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCurrentBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAG5D,OAAO,KAAK,EAAE,yBAAyB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAKhF,eAAO,MAAM,eAAe,GAAI,gBAAW,EAAE,SAAS,SAAS,GAAG,IAAI,KAAG,CAAC,yBAAyB,GAAG,SAAS,EAC7G,KAAK,GAAG,SAAS,EAAE,eAAe,GAAG,SAAS,CAO/C,CAAA;AAED,eAAO,MAAM,0BAA0B,GAAI,gBAAW
|
|
1
|
+
{"version":3,"file":"useCurrentBlock.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCurrentBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAG5D,OAAO,KAAK,EAAE,yBAAyB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAKhF,eAAO,MAAM,eAAe,GAAI,gBAAW,EAAE,SAAS,SAAS,GAAG,IAAI,KAAG,CAAC,yBAAyB,GAAG,SAAS,EAC7G,KAAK,GAAG,SAAS,EAAE,eAAe,GAAG,SAAS,CAO/C,CAAA;AAED,eAAO,MAAM,0BAA0B,GAAI,gBAAW,KAAG,CAAC,yBAAyB,GAAG,SAAS,EAC7F,KAAK,GAAG,SAAS,EAAE,eAAe,GAAG,SAAS,CAQ/C,CAAA"}
|
package/dist/browser/index.mjs
CHANGED
|
@@ -4,23 +4,27 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
|
|
|
4
4
|
// src/components/connected/account/Connected.tsx
|
|
5
5
|
import { Stack, Tooltip, Typography } from "@mui/material";
|
|
6
6
|
import { EthAddressWrapper } from "@xylabs/sdk-js";
|
|
7
|
-
import { BlockiesAvatarAddress } from "@xyo-network/
|
|
7
|
+
import { BlockiesAvatarAddress } from "@xyo-network/xl1-blockies";
|
|
8
8
|
import React from "react";
|
|
9
9
|
var ConnectedAccount = /* @__PURE__ */ __name(({ address }) => {
|
|
10
10
|
const shortenedAddress = `${EthAddressWrapper.fromString(address)?.toShortString(4)}`;
|
|
11
11
|
return /* @__PURE__ */ React.createElement(Stack, {
|
|
12
12
|
direction: "row",
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
spacing: 1,
|
|
14
|
+
sx: {
|
|
15
|
+
alignItems: "center"
|
|
16
|
+
}
|
|
15
17
|
}, /* @__PURE__ */ React.createElement(BlockiesAvatarAddress, {
|
|
16
18
|
address,
|
|
17
19
|
size: 21
|
|
18
20
|
}), /* @__PURE__ */ React.createElement(Tooltip, {
|
|
19
21
|
title: address
|
|
20
22
|
}, /* @__PURE__ */ React.createElement(Typography, {
|
|
21
|
-
color: "textSecondary",
|
|
22
23
|
variant: "caption",
|
|
23
|
-
|
|
24
|
+
sx: {
|
|
25
|
+
color: "text.secondary",
|
|
26
|
+
fontFamily: "monospace"
|
|
27
|
+
}
|
|
24
28
|
}, shortenedAddress)));
|
|
25
29
|
}, "ConnectedAccount");
|
|
26
30
|
|
|
@@ -162,28 +166,28 @@ var useAccountBalanceHistory = /* @__PURE__ */ __name((address, viewer, maxPage
|
|
|
162
166
|
}, "useAccountBalanceHistory");
|
|
163
167
|
|
|
164
168
|
// src/hooks/gateway/useNetwork.ts
|
|
165
|
-
import { useProvidedGateway } from "@xyo-network/react-
|
|
169
|
+
import { useProvidedGateway } from "@xyo-network/xl1-react-client-sdk";
|
|
166
170
|
var useNetworkFromGateway = /* @__PURE__ */ __name(() => {
|
|
167
171
|
const { defaultGateway } = useProvidedGateway();
|
|
168
172
|
return defaultGateway?.connection?.network;
|
|
169
173
|
}, "useNetworkFromGateway");
|
|
170
174
|
|
|
171
175
|
// src/hooks/gateway/useRunner.ts
|
|
172
|
-
import { useProvidedGateway as useProvidedGateway2 } from "@xyo-network/react-
|
|
176
|
+
import { useProvidedGateway as useProvidedGateway2 } from "@xyo-network/xl1-react-client-sdk";
|
|
173
177
|
var useRunnerFromGateway = /* @__PURE__ */ __name(() => {
|
|
174
178
|
const { defaultGateway } = useProvidedGateway2();
|
|
175
179
|
return defaultGateway?.connection?.runner;
|
|
176
180
|
}, "useRunnerFromGateway");
|
|
177
181
|
|
|
178
182
|
// src/hooks/gateway/useViewer.ts
|
|
179
|
-
import { useProvidedGateway as useProvidedGateway3 } from "@xyo-network/react-
|
|
183
|
+
import { useProvidedGateway as useProvidedGateway3 } from "@xyo-network/xl1-react-client-sdk";
|
|
180
184
|
var useViewerFromGateway = /* @__PURE__ */ __name(() => {
|
|
181
185
|
const { defaultGateway } = useProvidedGateway3();
|
|
182
186
|
return defaultGateway?.connection?.viewer;
|
|
183
187
|
}, "useViewerFromGateway");
|
|
184
188
|
|
|
185
189
|
// src/hooks/helpers/getXyoClient.ts
|
|
186
|
-
import { getXyoClient, listenForClientInjection } from "@xyo-network/react-
|
|
190
|
+
import { getXyoClient, listenForClientInjection } from "@xyo-network/xl1-react-client-sdk";
|
|
187
191
|
|
|
188
192
|
// src/hooks/helpers/transaction/Confirmation.ts
|
|
189
193
|
import { assertEx as assertEx2, delay, forget, isDefined as isDefined2, isNull } from "@xylabs/sdk-js";
|
|
@@ -417,7 +421,7 @@ var useConfirmTransactionBase = /* @__PURE__ */ __name((transaction, onBroadcast
|
|
|
417
421
|
// src/hooks/useConnectAccount.ts
|
|
418
422
|
import { asAddress } from "@xylabs/sdk-js";
|
|
419
423
|
import { assertEx as assertEx3 } from "@xylabs/sdk-js";
|
|
420
|
-
import { useAccountPermissions, useGatewayFromWallet } from "@xyo-network/react-
|
|
424
|
+
import { useAccountPermissions, useGatewayFromWallet } from "@xyo-network/xl1-react-client-sdk";
|
|
421
425
|
import { MainNetwork } from "@xyo-network/xl1-sdk";
|
|
422
426
|
import { useCallback, useState as useState3 } from "react";
|
|
423
427
|
var useConnectAccount = /* @__PURE__ */ __name((gatewayName = MainNetwork.id, timeout) => {
|
|
@@ -637,9 +641,16 @@ var ConnectAccountsStack = /* @__PURE__ */ __name(({ AccountComponent = Connecte
|
|
|
637
641
|
]);
|
|
638
642
|
return /* @__PURE__ */ React2.createElement(Stack2, {
|
|
639
643
|
direction: "row",
|
|
640
|
-
alignItems: "start",
|
|
641
644
|
spacing: 2,
|
|
642
|
-
...props
|
|
645
|
+
...props,
|
|
646
|
+
sx: [
|
|
647
|
+
{
|
|
648
|
+
alignItems: "start"
|
|
649
|
+
},
|
|
650
|
+
...Array.isArray(props.sx) ? props.sx : [
|
|
651
|
+
props.sx
|
|
652
|
+
]
|
|
653
|
+
]
|
|
643
654
|
}, isDefined5(address) ? /* @__PURE__ */ React2.createElement(AccountComponent, {
|
|
644
655
|
address
|
|
645
656
|
}) : null, isUndefined5(address) && !timedout ? /* @__PURE__ */ React2.createElement(ConnectComponent, {
|
|
@@ -742,16 +753,16 @@ import { useContextEx } from "@xylabs/react-shared";
|
|
|
742
753
|
var useXl1CurrentBlockContext = /* @__PURE__ */ __name((required = true) => useContextEx(XL1CurrentBlockContext, "XL1CurrentBlock", required), "useXl1CurrentBlockContext");
|
|
743
754
|
|
|
744
755
|
// src/contexts/gateway/Provider.tsx
|
|
745
|
-
import { GatewayProvider } from "@xyo-network/react-
|
|
756
|
+
import { GatewayProvider } from "@xyo-network/xl1-react-client-sdk";
|
|
746
757
|
|
|
747
758
|
// src/contexts/in-page-gateways/context.ts
|
|
748
|
-
import { InPageGatewaysContext } from "@xyo-network/react-
|
|
759
|
+
import { InPageGatewaysContext } from "@xyo-network/xl1-react-client-sdk";
|
|
749
760
|
|
|
750
761
|
// src/contexts/in-page-gateways/Provider.tsx
|
|
751
|
-
import { InPageGatewaysProvider } from "@xyo-network/react-
|
|
762
|
+
import { InPageGatewaysProvider } from "@xyo-network/xl1-react-client-sdk";
|
|
752
763
|
|
|
753
764
|
// src/contexts/in-page-gateways/use.ts
|
|
754
|
-
import { useProvidedInPageGateways } from "@xyo-network/react-
|
|
765
|
+
import { useProvidedInPageGateways } from "@xyo-network/xl1-react-client-sdk";
|
|
755
766
|
export {
|
|
756
767
|
ConnectAccountsStack,
|
|
757
768
|
ConnectedAccount,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/connected/account/Connected.tsx","../../src/components/connected/ConnectAccountsStack.tsx","../../src/hooks/account/helpers/formatAccountBalanceHistory.ts","../../src/hooks/account/useAccountBalanceHistory.ts","../../src/lib/balanceForRange.ts","../../src/lib/buildGateway.ts","../../src/lib/findMinimumBlock.ts","../../src/hooks/gateway/useNetwork.ts","../../src/hooks/gateway/useRunner.ts","../../src/hooks/gateway/useViewer.ts","../../src/hooks/helpers/getXyoClient.ts","../../src/hooks/helpers/transaction/Confirmation.ts","../../src/hooks/useAddressBalance.ts","../../src/hooks/useConfirmTransactionBase.ts","../../src/hooks/useConnectAccount.ts","../../src/hooks/useCurrentBlock.ts","../../src/hooks/useNetwork.ts","../../src/hooks/useSigner.ts","../../src/hooks/viewer/useCheckRpc.ts","../../src/hooks/viewer/ViewerWithDataLake.ts","../../src/contexts/current-block/context.ts","../../src/contexts/current-block/Provider.tsx","../../src/contexts/current-block/usePollCurrentBlock.ts","../../src/contexts/current-block/use.ts","../../src/contexts/gateway/Provider.tsx","../../src/contexts/in-page-gateways/context.ts","../../src/contexts/in-page-gateways/Provider.tsx","../../src/contexts/in-page-gateways/use.ts"],"sourcesContent":["import {\n Stack, Tooltip, Typography,\n} from '@mui/material'\nimport { EthAddressWrapper } from '@xylabs/sdk-js'\nimport { BlockiesAvatarAddress } from '@xyo-network/react-chain-blockies'\nimport React from 'react'\n\nexport const ConnectedAccount: React.FC<{ address: string }> = ({ address }) => {\n const shortenedAddress = `${EthAddressWrapper.fromString(address)?.toShortString(4)}`\n\n return (\n <Stack direction=\"row\" alignItems=\"center\" spacing={1}>\n <BlockiesAvatarAddress address={address} size={21} />\n <Tooltip title={address}>\n <Typography color=\"textSecondary\" variant=\"caption\" fontFamily=\"monospace\">{shortenedAddress}</Typography>\n </Tooltip>\n </Stack>\n )\n}\n","import type { StackProps } from '@mui/material'\nimport {\n Alert, AlertTitle, Button, Stack,\n Typography,\n} from '@mui/material'\nimport type { ButtonExProps } from '@xylabs/react-button'\nimport { ButtonEx } from '@xylabs/react-button'\nimport type { Address } from '@xylabs/sdk-js'\nimport { isDefined, isUndefined } from '@xylabs/sdk-js'\nimport { ErrorRender } from '@xyo-network/react-error'\nimport type { ComponentType, MouseEventHandler } from 'react'\nimport React, { useEffect } from 'react'\n\nimport { useConnectAccount } from '../../hooks/index.ts'\nimport { ConnectedAccount } from './account/index.ts'\n\nconst DefaultConnectComponent: React.FC<ButtonExProps> = props => (\n <ButtonEx variant=\"contained\" size=\"small\" {...props} />\n)\n\nconst DefaultNoWalletInstalledComponent: React.FC = () => (\n <Alert severity=\"warning\">\n <AlertTitle>XL1 Wallet Not Found</AlertTitle>\n <Typography gutterBottom>\n Please ensure that your XL1 Wallet is installed to connect your account.\n </Typography>\n <Button\n sx={{ display: 'flex', justifySelf: 'end' }}\n size=\"small\"\n variant=\"outlined\"\n href=\"https://chromewebstore.google.com/detail/xl1-wallet/fblbagcjeigmhakkfgjpdlcapcgmcfbm\"\n target=\"_blank\"\n rel=\"noopener\"\n >\n Get XL1 Wallet\n </Button>\n </Alert>\n)\n\nexport interface ConnectClientAccountsStackProps extends StackProps {\n AccountComponent?: ComponentType<{ account?: string }>\n ConnectComponent?: ComponentType<{ onClick?: MouseEventHandler<HTMLElement> }>\n NoWalletInstalledComponent?: ComponentType\n onAccountConnected?: (account: Address) => void\n onCancel?: () => void\n timeout?: number\n}\n\n/** @deprecated - use version in @xyo-network/react-chain-client instead */\nexport const ConnectAccountsStack: React.FC<ConnectClientAccountsStackProps> = ({\n AccountComponent = ConnectedAccount,\n ConnectComponent = DefaultConnectComponent,\n NoWalletInstalledComponent = DefaultNoWalletInstalledComponent,\n onAccountConnected,\n onCancel,\n timeout,\n ...props\n}) => {\n const {\n address, connectSigner, error, timedout,\n } = useConnectAccount(undefined, timeout)\n\n useEffect(() => {\n if (isDefined(error) && isDefined(onCancel)) {\n onCancel()\n }\n }, [error, onCancel])\n\n useEffect(() => {\n if (isDefined(address) && isDefined(onAccountConnected)) {\n onAccountConnected(address)\n }\n }, [address, onAccountConnected])\n\n return (\n <Stack direction=\"row\" alignItems=\"start\" spacing={2} {...props}>\n {isDefined(address)\n ? <AccountComponent address={address} />\n : null}\n {isUndefined(address) && !timedout\n ? (\n <ConnectComponent onClick={() => void connectSigner()}>Connect</ConnectComponent>\n )\n : null}\n {isUndefined(address) && timedout\n ? (\n <NoWalletInstalledComponent />\n )\n : null}\n <ErrorRender error={error} scope=\"ConnectSigner:error\" />\n </Stack>\n )\n}\n","import type { Address, Hex } from '@xylabs/sdk-js'\nimport { hexToBigInt } from '@xylabs/sdk-js'\nimport { PayloadBuilder } from '@xyo-network/sdk-js'\nimport type { AccountBalanceHistoryItem } from '@xyo-network/xl1-sdk'\n\nimport type { AccountBalanceHistoryItemFormatted } from '../BalanceHistoryItemFormatted.ts'\n\nexport const formatAccountBalanceHistory = async (address: Address, history: AccountBalanceHistoryItem[]): Promise<AccountBalanceHistoryItemFormatted[]> => {\n const results: AccountBalanceHistoryItemFormatted[] = []\n for (const item of history) {\n const [blockBw, txBw, transfer] = item\n const transferHash = await PayloadBuilder.hash(transfer)\n const blockHash = await PayloadBuilder.hash(blockBw)\n if (address === transfer.from) {\n for (const [to, amount] of Object.entries(transfer.transfers)) {\n results.push({\n amount: hexToBigInt(amount as Hex),\n blockHash,\n blockNumber: blockBw.block,\n from: transfer.from,\n timestamp: blockBw.$epoch,\n key: globalThis.crypto.randomUUID(),\n to: to as Address,\n transferHash,\n txHash: txBw?._hash,\n debug: item,\n type: 'send',\n })\n }\n } else {\n results.push({\n amount: hexToBigInt(transfer.transfers[address] as Hex),\n blockHash,\n blockNumber: blockBw.block,\n from: transfer.from,\n key: globalThis.crypto.randomUUID(),\n timestamp: blockBw.$epoch,\n to: address,\n transferHash,\n txHash: txBw?._hash,\n debug: item,\n type: 'receive',\n })\n }\n }\n return results\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport {\n type Address,\n isUndefined,\n} from '@xylabs/sdk-js'\nimport type {\n AccountBalanceHistoryItem, XL1BlockRange, XyoViewer,\n} from '@xyo-network/xl1-sdk'\n\nimport { balanceForRange, findMinimumBlock } from '../../lib/index.ts'\nimport { formatAccountBalanceHistory } from './helpers/index.ts'\n\nexport const useAccountBalanceHistory = (address?: Address, viewer?: XyoViewer, maxPage = 10, blockRange?: XL1BlockRange, refresh?: number) => {\n return usePromise(async () => {\n if (isUndefined(viewer) || isUndefined(address)) return\n\n // Pagination Values\n let page = 1\n let lastBlock: number\n const pagedHistory: AccountBalanceHistoryItem[] = []\n const resolvedStartBlock = blockRange ? blockRange[0] : 0\n\n // Fetch first page to get starting lastBlock\n // If blockRange is provided, use that for the first fetch, otherwise the api will use [0, currentBlock]\n const history = await viewer.account.balance.accountBalanceHistory(address, blockRange ? { range: blockRange } : {})\n if (history.length > 0) {\n pagedHistory.push(...history)\n // Set lastBlock to one less than the lowest block in the first page\n lastBlock = findMinimumBlock(history)\n while (page < maxPage) {\n // Fetch next page\n const nextHistory = await viewer.account.balance.accountBalanceHistory(address, { range: [resolvedStartBlock, lastBlock] as XL1BlockRange })\n // Break if no more history\n if (nextHistory.length === 0) break\n // Update lastBlock and append to pagedHistory\n lastBlock = findMinimumBlock(nextHistory)\n pagedHistory.push(...nextHistory)\n // Increment page\n // Even if we are going to go over and break the loop, we still want to increment to show the answer was truncated\n page++\n }\n }\n const formattedHistory = await formatAccountBalanceHistory(address, pagedHistory)\n\n return {\n history: formattedHistory,\n balance: balanceForRange(address, pagedHistory),\n truncated: page >= maxPage,\n }\n }, [address, viewer, refresh, blockRange, maxPage])\n}\n","import type { Address } from '@xylabs/sdk-js'\nimport {\n hexToBigInt, isHex, toHex,\n} from '@xylabs/sdk-js'\nimport type { AccountBalanceHistoryItem, AttoXL1 } from '@xyo-network/xl1-sdk'\n\nexport const balanceForRange = (address: Address, results: AccountBalanceHistoryItem[]): [AttoXL1, AttoXL1] => {\n const totalReceivedBalance = results?.reduce((a, [_block, _tx, transfer]) => {\n return a + hexToBigInt(transfer.transfers[address] ?? toHex(0))\n }, 0n)\n // eslint-disable-next-line unicorn/no-array-reduce\n const totalSentBalance = results?.reduce((a, [_block, _tx, transfer]) => {\n return (transfer.from === address) ? a + Object.values(transfer.transfers).reduce((a, v) => a + (isHex(v) ? hexToBigInt(v) : 0n), 0n) : a\n }, 0n)\n return [totalReceivedBalance, totalSentBalance] as [AttoXL1, AttoXL1]\n}\n","import { assertEx, isDefined } from '@xylabs/sdk-js'\nimport type {\n GatewayName,\n RemoteConfig, RpcTransport, SimpleXyoGateway,\n XyoSignerRpcSchemas,\n} from '@xyo-network/xl1-sdk'\nimport {\n basicRemoteRunnerLocator,\n basicRemoteViewerLocator,\n DefaultNetworks, NetworkDataLakeUrls, XyoGatewayMoniker,\n} from '@xyo-network/xl1-sdk'\n\nexport const buildGateway = async (gatewayName: GatewayName, signerTransport?: RpcTransport<XyoSignerRpcSchemas>) => {\n const network = DefaultNetworks.find(network => network.id === gatewayName)\n const resolvedNetwork = assertEx(network, () => `No network found for id ${gatewayName}`)\n\n const remoteConfig: RemoteConfig = {\n rpc: {\n protocol: 'http',\n url: `${resolvedNetwork.url}/rpc`,\n },\n }\n\n const dataLakeEndpoint = NetworkDataLakeUrls[gatewayName]\n\n const locator = isDefined(signerTransport)\n ? await basicRemoteRunnerLocator(gatewayName, remoteConfig, signerTransport, dataLakeEndpoint)\n : await basicRemoteViewerLocator(gatewayName, remoteConfig, dataLakeEndpoint)\n\n return await locator.getInstance<SimpleXyoGateway>(XyoGatewayMoniker)\n}\n","import type { AccountBalanceHistoryItem } from '@xyo-network/xl1-sdk'\n\nexport const findMinimumBlock = (history: AccountBalanceHistoryItem[]): number => {\n // since taking Math.min of an empty array returns Infinity\n if (history.length === 0) return 0\n const blockNumbers = history.map(([blockBw]) => blockBw.block)\n const min = Math.min(...blockNumbers)\n return Math.max(min - 1, 0)\n}\n","import { useProvidedGateway } from '@xyo-network/react-chain-client'\n\nexport const useNetworkFromGateway = () => {\n const { defaultGateway } = useProvidedGateway()\n return defaultGateway?.connection?.network\n}\n","import { useProvidedGateway } from '@xyo-network/react-chain-client'\n\nexport const useRunnerFromGateway = () => {\n const { defaultGateway } = useProvidedGateway()\n return defaultGateway?.connection?.runner\n}\n","import { useProvidedGateway } from '@xyo-network/react-chain-client'\n\nexport const useViewerFromGateway = () => {\n const { defaultGateway } = useProvidedGateway()\n return defaultGateway?.connection?.viewer\n}\n","/** @deprecated Import from `@xyo-network/react-chain-client` instead */\nexport { getXyoClient, listenForClientInjection } from '@xyo-network/react-chain-client'\n","import type { Hash, Promisable } from '@xylabs/sdk-js'\nimport {\n assertEx, delay, forget, isDefined, isNull,\n} from '@xylabs/sdk-js'\nimport type { SignedHydratedTransaction, XyoViewer } from '@xyo-network/xl1-sdk'\n\nexport interface ConfirmationStatusUpdate {\n blockNumber: number\n confirmed: boolean\n error?: Error\n progress?: number\n remainingBlocks?: number\n}\n\nexport interface TransactionConfirmationParams {\n onStatusUpdate?: (status: ConfirmationStatusUpdate) => void\n transaction: SignedHydratedTransaction\n txHash: Hash\n viewer: XyoViewer\n}\n\nexport class TransactionConfirmationStatus {\n private readonly _params: TransactionConfirmationParams\n private active = false\n\n constructor(params: TransactionConfirmationParams) {\n this._params = params\n }\n\n get exp(): number {\n return assertEx(this.transaction[0].exp, () => 'exp is not found, transaction is not set')\n }\n\n get nbf(): number {\n return assertEx(this.transaction[0].nbf, () => 'nbf is not found, transaction is not set')\n }\n\n get onStatusUpdate(): TransactionConfirmationParams['onStatusUpdate'] {\n return this._params.onStatusUpdate\n }\n\n get params(): TransactionConfirmationParams {\n return this._params\n }\n\n get transaction(): SignedHydratedTransaction {\n return this.params.transaction\n }\n\n get txHash(): Hash {\n return this.params.txHash\n }\n\n get viewer(): XyoViewer {\n return this.params.viewer\n }\n\n static create(params: TransactionConfirmationParams): Promisable<TransactionConfirmationStatus> {\n return new TransactionConfirmationStatus(params)\n }\n\n async start(): Promise<void> {\n this.active = true\n try {\n const currentBlockNumber = await this.viewer.currentBlockNumber()\n while (isDefined(currentBlockNumber) && this.active) {\n await this.checkBlock(currentBlockNumber)\n // check block every second to see if the transaction is confirmed\n await delay(1000)\n }\n } catch (error) {\n await this.stop()\n forget(this.onStatusUpdate?.({\n error: error instanceof Error ? error : new Error('Unknown error occurred'),\n confirmed: false,\n blockNumber: 0,\n progress: 0,\n remainingBlocks: 0,\n }))\n }\n }\n\n stop(): Promisable<void> {\n this.active = false\n }\n\n private async checkBlock(blockNumber: number): Promise<void> {\n if (blockNumber < this.nbf) {\n await this.stop()\n forget(this.onStatusUpdate?.({\n error: new Error(`Block number: ${blockNumber} is before ${this.nbf}`),\n confirmed: false,\n blockNumber,\n progress: 0,\n remainingBlocks: this.exp - blockNumber,\n }))\n }\n if (blockNumber > this.exp) {\n forget(this.onStatusUpdate?.({\n confirmed: false, blockNumber, progress: 100, remainingBlocks: 0,\n }))\n return\n }\n if (blockNumber < this.exp) {\n await this.checkConfirmation(blockNumber)\n }\n }\n\n private async checkConfirmation(blockNumber: number): Promise<void> {\n const remainingBlocks = this.exp - blockNumber\n const progress = Math.round(((blockNumber - this.nbf) / (this.exp - this.nbf)) * 100)\n\n const tx = await this.viewer.transaction.byHash?.(this.txHash)\n if (isNull(tx)) {\n this.onStatusUpdate?.({\n confirmed: false, blockNumber, progress, remainingBlocks,\n })\n } else {\n this.onStatusUpdate?.({\n confirmed: true, blockNumber, progress, remainingBlocks,\n })\n await this.stop()\n }\n }\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { Address } from '@xylabs/sdk-js'\nimport { isUndefined, isUndefinedOrNull } from '@xylabs/sdk-js'\nimport type { AttoXL1, XyoViewer } from '@xyo-network/xl1-sdk'\nimport { ShiftedBigInt } from '@xyo-network/xl1-sdk'\nimport {\n useMemo, useRef, useState,\n} from 'react'\n\nexport const useAddressBalance = (\n // address to get balance for\n address?: Address,\n // viewer to use for fetching balance\n viewer?: XyoViewer,\n // refresh balance trigger\n refresh?: number,\n // reset balance trigger - clears state immediately\n reset?: number,\n) => {\n const [balancesResult, setBalancesResult] = useState<AttoXL1 | null>()\n const [loading, setLoading] = useState(false)\n const [balancesError, setBalancesError] = useState<Error>()\n\n const [previousReset, setPreviousReset] = useState<number | undefined>(reset)\n if (reset !== previousReset) {\n setPreviousReset(reset)\n setBalancesResult(undefined)\n setBalancesError(undefined)\n setLoading(false)\n }\n\n const balancePromiseRef = useRef<Promise<AttoXL1> | null>(null)\n usePromise(async () => {\n if (isUndefined(viewer) || isUndefined(address)) return\n\n setLoading(true)\n setBalancesError(undefined)\n\n // Create and store the current promise\n const currentPromise = viewer.account.balance.accountBalance(address) as Promise<AttoXL1>\n balancePromiseRef.current = currentPromise\n\n try {\n const result = await currentPromise\n // Only update state if this is still the latest promise\n if (balancePromiseRef.current === currentPromise) {\n setBalancesResult(result as AttoXL1)\n setLoading(false)\n }\n } catch (err) {\n // Only update state if this is still the latest promise\n if (balancePromiseRef.current === currentPromise) {\n console.error('Error in queued call:', err)\n setBalancesResult(undefined)\n setBalancesError(err as Error)\n setLoading(false)\n }\n }\n }, [address, viewer, refresh])\n\n const shiftedBigInt = useMemo(() => {\n if (typeof balancesResult !== 'bigint') return\n return new ShiftedBigInt(balancesResult, {\n places: 18, maxDecimal: 18, maxCharacters: 9, minDecimals: 1, locale: navigator.language,\n })\n }, [balancesResult])\n\n const balanceIntlFriendly = useMemo(() => {\n return shiftedBigInt?.toFullString()\n }, [shiftedBigInt])\n\n const shortBalanceIntlFriendly = useMemo(() => {\n return isUndefinedOrNull(balancesResult)\n ? undefined\n : (balancesResult < 1_000_000_000_000n && balancesResult > 0n) ? '<0.00001' : shiftedBigInt?.toShortString()\n }, [balancesResult, shiftedBigInt])\n\n return {\n address,\n balanceForAddress: balancesResult,\n balanceIntlFriendly,\n shortBalanceIntlFriendly,\n error: balancesError,\n loading,\n }\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { Hash } from '@xylabs/sdk-js'\nimport {\n forget, isDefined, isHash,\n} from '@xylabs/sdk-js'\nimport { PayloadBuilder } from '@xyo-network/sdk-js'\nimport type {\n SignedHydratedTransaction, XyoRunner, XyoViewer,\n} from '@xyo-network/xl1-sdk'\nimport { useEffect, useState } from 'react'\n\nimport type { ConfirmationStatusUpdate, TransactionConfirmationParams } from './helpers/index.ts'\nimport { TransactionConfirmationStatus } from './helpers/index.ts'\n\nexport const useConfirmTransactionBase = (\n // The transaction to confirm\n transaction?: SignedHydratedTransaction,\n // Callback for when the transaction is broadcast to the network\n onBroadcast?: (hash: Hash) => void,\n // Optional callback for status updates during confirmation\n onStatusUpdate?: TransactionConfirmationParams['onStatusUpdate'],\n // Runner to use for broadcasting transactions\n runner?: XyoRunner,\n // Viewer to use for checking transaction status\n viewer?: XyoViewer,\n) => {\n const [status, setStatus] = useState<ConfirmationStatusUpdate>()\n const onStatusUpdateLocal = (newStatus: ConfirmationStatusUpdate) => {\n setStatus(newStatus)\n onStatusUpdate?.(newStatus)\n }\n\n const [transactionConfirmationStatus, transactionConfirmationError] = usePromise(async () => {\n const hasRunner = isDefined(runner)\n if (transaction && viewer) {\n const hash = hasRunner ? (await runner.broadcastTransaction(transaction)) : await PayloadBuilder.hash(transaction[0])\n if (isHash(hash)) {\n if (hasRunner && isDefined(onBroadcast)) onBroadcast(hash)\n const params: TransactionConfirmationParams = {\n onStatusUpdate: onStatusUpdateLocal,\n transaction,\n txHash: hash,\n viewer,\n }\n const instance = await TransactionConfirmationStatus.create(params)\n await instance.start()\n return instance\n } else {\n throw new Error('unexpected return type from broadcast transaction')\n }\n }\n }, [transaction, runner, viewer])\n\n useEffect(() => {\n return () => {\n if (transactionConfirmationStatus) {\n // Stop the transaction confirmation status instance when the component unmounts\n forget(transactionConfirmationStatus.stop())\n }\n }\n }, [transactionConfirmationStatus])\n\n return { status, transactionConfirmationError }\n}\n","import { type Address, asAddress } from '@xylabs/sdk-js'\nimport { assertEx } from '@xylabs/sdk-js'\nimport { useAccountPermissions, useGatewayFromWallet } from '@xyo-network/react-chain-client'\nimport type { GatewayName } from '@xyo-network/xl1-sdk'\nimport { MainNetwork } from '@xyo-network/xl1-sdk'\nimport { useCallback, useState } from 'react'\n\n/** @deprecated - use version in @xyo-network/react-chain-client instead */\nexport const useConnectAccount = (gatewayName: GatewayName = MainNetwork.id, timeout?: number) => {\n const [connectError, setConnectError] = useState<Error>()\n\n const {\n gateway, error, timedout,\n } = useGatewayFromWallet(gatewayName, timeout)\n\n const [accountPermissions, accountPermissionsError] = useAccountPermissions()\n\n const [address, setAddress] = useState<Address>()\n\n const connectSigner = useCallback(async () => {\n try {\n setConnectError(undefined)\n const assertedGateway = assertEx(gateway, () => `Gateway ${gatewayName} is not available`)\n const signer = assertedGateway.signer\n const address = await signer.address()\n setAddress(address)\n return address\n } catch (e) {\n setConnectError(e as Error)\n }\n }, [gateway, gatewayName])\n\n return {\n address: asAddress(accountPermissions?.[0] ?? address), connectSigner, error: error ?? accountPermissionsError ?? connectError, gateway, timedout,\n }\n}\n","import type { UsePromiseState } from '@xylabs/react-promise'\nimport { usePromise } from '@xylabs/react-promise'\nimport { isDefinedNotNull } from '@xylabs/sdk-js'\nimport type { HydratedBlockWithHashMeta, XyoViewer } from '@xyo-network/xl1-sdk'\n\nimport { useViewerFromGateway } from './gateway/index.ts'\n\n/* @deprecated - use useCurrentBlockFromGateway instead */\nexport const useCurrentBlock = (refresh = 1, viewer?: XyoViewer | null): [HydratedBlockWithHashMeta | undefined,\n Error | undefined, UsePromiseState | undefined] => {\n return usePromise(async () => {\n if (isDefinedNotNull(viewer) && refresh > 0) {\n const block = await viewer.currentBlock()\n return block\n }\n }, [viewer, refresh])\n}\n\nexport const useCurrentBlockFromGateway = (refresh = 1) => {\n const viewer = useViewerFromGateway()\n return usePromise(async () => {\n if (isDefinedNotNull(viewer) && refresh > 0) {\n const block = await viewer.currentBlock()\n return block\n }\n }, [viewer, refresh])\n}\n","import { isUndefined } from '@xylabs/sdk-js'\nimport type { DefaultNetworkIds } from '@xyo-network/xl1-sdk'\nimport { SimpleXyoNetwork } from '@xyo-network/xl1-sdk'\nimport { useMemo } from 'react'\n\nexport const useNetwork = (id?: DefaultNetworkIds) => {\n const network = useMemo(() => {\n if (isUndefined(id)) return\n return new SimpleXyoNetwork(id)\n }, [id])\n\n return network\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { AccountInstance } from '@xyo-network/sdk-js'\nimport {\n SimpleXyoSigner, type XyoConnection, type XyoSigner,\n} from '@xyo-network/xl1-sdk'\n\nexport const useSigner = (_provider?: XyoConnection, account?: AccountInstance) => {\n return usePromise<XyoSigner | undefined>(async () => account ? await SimpleXyoSigner.create({ account }) : undefined, [account])\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport {\n delay, isDefined, isUndefined,\n} from '@xylabs/sdk-js'\nimport type { JsonRpcXyoViewer } from '@xyo-network/xl1-sdk'\nimport {\n basicRemoteViewerLocator,\n LocalNetwork,\n SequenceNetwork,\n XyoViewerMoniker,\n} from '@xyo-network/xl1-sdk'\nimport { useEffect, useState } from 'react'\n\nconst INTERVAL = 5000 // 5 seconds\n\nconst localRpcEndpoint = `${LocalNetwork.url}/rpc`\nconst sequenceRpcEndpoint = `${SequenceNetwork.url}/rpc`\n\nexport const useCheckLocalRpc = () => {\n const isLocalProducer = useCheckRpc(localRpcEndpoint)\n return isLocalProducer\n}\n\nexport const useCheckSequenceRpc = () => {\n const isSequenceRpc = useCheckRpc(sequenceRpcEndpoint)\n return isSequenceRpc\n}\n\nexport const useCheckRpc = (endpoint?: string) => {\n const [isLocalProducer, setIsLocalProducer] = useState(false)\n const [error, setError] = useState<Error>()\n\n const [viewer] = usePromise(async () => {\n if (isUndefined(endpoint)) return\n\n const locator = await basicRemoteViewerLocator(endpoint, { rpc: { protocol: 'http', url: endpoint } })\n\n const viewer = await locator.getInstance<JsonRpcXyoViewer>(XyoViewerMoniker)\n return viewer\n }, [endpoint])\n\n useEffect(() => {\n if (isUndefined(viewer)) return\n\n void (async () => {\n setError(undefined)\n while (!isLocalProducer) {\n try {\n const block = await viewer.currentBlock()\n setIsLocalProducer(isDefined(block))\n } catch (err) {\n setError(err as Error)\n setIsLocalProducer(false)\n }\n await delay(INTERVAL)\n }\n })()\n }, [isLocalProducer, viewer])\n\n return { isLocalProducer, error }\n}\n","import { type Hash, isNull } from '@xylabs/sdk-js'\nimport { PayloadBuilder } from '@xyo-network/sdk-js'\nimport type {\n DataLakeViewer, SignedHydratedBlockWithHashMeta, SignedHydratedTransactionWithHashMeta, XL1BlockNumber,\n} from '@xyo-network/xl1-sdk'\nimport {\n addDataLakePayloads,\n addDataLakePayloadsToPayloads, DataLakeViewerMoniker, JsonRpcXyoViewer,\n} from '@xyo-network/xl1-sdk'\n\n/**\n * A Viewer with data lake capabilities, it will attempt to fill in missing payloads from the\n * data lake viewer if available.\n *\n * THIS IS AN EXPERIMENTAL CLASS! Only intended to prove the data lake viewer functionality works.\n * In the future, it should be refactored to augment any viewer with data lake capabilities,\n * and not rely on inheritance from JsonRpcXyoViewer which has the 'creatable' pattern baked in.\n */\nexport class ViewerWithDataLake extends JsonRpcXyoViewer {\n protected dataLakeViewer: DataLakeViewer | undefined\n\n override async blocksByHash(hash: Hash, limit?: number): Promise<SignedHydratedBlockWithHashMeta[]> {\n const blocks = await super.blocksByHash(hash, limit)\n return await Promise.all(blocks.map(async block => (await addDataLakePayloads(block, this.dataLakeViewer))[0]))\n }\n\n override async blocksByNumber(blockNumber: XL1BlockNumber, limit?: number): Promise<SignedHydratedBlockWithHashMeta[]> {\n const blocks = await super.blocksByNumber(blockNumber, limit)\n return await Promise.all(blocks.map(async block => (await addDataLakePayloads(block, this.dataLakeViewer))[0]))\n }\n\n override async createHandler() {\n await super.createHandler()\n this.dataLakeViewer = await this.locator.tryGetInstance<DataLakeViewer>(DataLakeViewerMoniker)\n }\n\n override async payloadsByHash(hashes: Hash[]) {\n const payloads = await super.payloadsByHash(hashes)\n return (await addDataLakePayloadsToPayloads(hashes, payloads, this.dataLakeViewer))[0]\n }\n\n override async transactionByHash(hash: Hash): Promise<SignedHydratedTransactionWithHashMeta | null> {\n const transaction = await super.transaction.byHash(hash)\n if (!this.dataLakeViewer) return transaction ? [await PayloadBuilder.addHashMeta(transaction[0]), await PayloadBuilder.addHashMeta(transaction[1])] : null\n\n return isNull(transaction)\n ? transaction\n : (await addDataLakePayloads([await PayloadBuilder.addHashMeta(transaction[0]),\n await PayloadBuilder.addHashMeta(transaction[1])], this.dataLakeViewer))[0]\n }\n}\n","import { createContextEx } from '@xylabs/react-shared'\n\nimport type { XL1CurrentBlockState } from './state.ts'\n\nexport const XL1CurrentBlockContext = createContextEx<XL1CurrentBlockState>()\n","import type { XyoViewer } from '@xyo-network/xl1-sdk'\nimport type { PropsWithChildren } from 'react'\nimport React, { useMemo } from 'react'\n\nimport { XL1CurrentBlockContext } from './context.ts'\nimport type { XL1CurrentBlockPollingConfig, XL1CurrentBlockState } from './state.ts'\nimport { usePollCurrentBlock } from './usePollCurrentBlock.ts'\n\nexport const DEFAULT_POLLING_INTERVAL = 10_000\n\nexport interface XL1CurrentBlockProviderProps extends PropsWithChildren {\n pollingConfig?: XL1CurrentBlockPollingConfig\n viewer?: XyoViewer | null\n}\n\nexport const XL1CurrentBlockProvider: React.FC<XL1CurrentBlockProviderProps> = ({\n pollingConfig, viewer, children,\n}) => {\n const { interval } = useMemo(() => pollingConfig || { interval: DEFAULT_POLLING_INTERVAL }, [pollingConfig])\n const [currentBlock, currentBlockError] = usePollCurrentBlock(viewer, interval)\n\n const value: XL1CurrentBlockState = useMemo(() => ({\n block: currentBlock,\n blockNumber: currentBlock?.[0].block,\n chain: currentBlock?.[0].chain,\n error: currentBlockError,\n pollingConfig,\n provided: true,\n }), [currentBlock, currentBlockError, pollingConfig])\n\n return (\n <XL1CurrentBlockContext value={value}>\n {children}\n </XL1CurrentBlockContext>\n )\n}\n","import { isDefinedNotNull, isUndefinedOrNull } from '@xylabs/sdk-js'\nimport type { SignedHydratedBlock, XyoViewer } from '@xyo-network/xl1-sdk'\nimport {\n startTransition, useEffect, useState,\n} from 'react'\n\nconst DEFAULT_POLL_INTERVAL = 10_000\n\nexport const usePollCurrentBlock = (viewer?: XyoViewer | null, interval = DEFAULT_POLL_INTERVAL, pause = false) => {\n const [currentBlock, setCurrentBlock] = useState<SignedHydratedBlock | null>(null)\n const [error, setError] = useState<Error>()\n\n useEffect(() => {\n let isMounted = true\n // Function to fetch the current block\n const fetchBlock = async () => {\n if (isDefinedNotNull(viewer)) {\n try {\n const block = await viewer.currentBlock()\n // Safety check to ensure component is still mounted before updating state\n if (isMounted) {\n startTransition(() => {\n setCurrentBlock((existingBlock) => {\n if (isUndefinedOrNull(existingBlock)) {\n return block\n }\n if (\n isDefinedNotNull(block) && existingBlock?.[0].block !== block[0].block\n ) {\n return block\n }\n return existingBlock\n })\n })\n }\n } catch (err) {\n startTransition(() => {\n setError(err as Error)\n })\n }\n }\n }\n\n // Initial fetch\n void fetchBlock()\n\n // Polling mechanism\n const id = setInterval(() => {\n if (!pause) {\n void fetchBlock()\n }\n }, interval)\n\n return () => {\n isMounted = false\n clearInterval(id)\n }\n }, [viewer, interval, pause])\n\n return [currentBlock, error] as const\n}\n","import { useContextEx } from '@xylabs/react-shared'\n\nimport { XL1CurrentBlockContext } from './context.ts'\nimport type { XL1CurrentBlockState } from './state.ts'\n\nexport const useXl1CurrentBlockContext = (required = true) => useContextEx<XL1CurrentBlockState>(XL1CurrentBlockContext, 'XL1CurrentBlock', required)\n","/**\n * @deprecated Moved to `@xyo-network/react-chain-client`. Import\n * `GatewayProvider` from there instead. This re-export exists only for\n * backward compatibility and will be removed in a future release.\n */\n\nexport { GatewayProvider } from '@xyo-network/react-chain-client'\n","/**\n * @deprecated Moved to `@xyo-network/react-chain-client`. Import\n * `InPageGatewaysContext` from there instead. This re-export exists only\n * for backward compatibility and will be removed in a future release.\n */\n\nexport { InPageGatewaysContext } from '@xyo-network/react-chain-client'\n","/**\n * @deprecated Moved to `@xyo-network/react-chain-client`. Import\n * `InPageGatewaysProvider` and `InPageGatewaysProviderProps` from there\n * instead. This re-export exists only for backward compatibility and\n * will be removed in a future release.\n */\n\nexport type { InPageGatewaysProviderProps } from '@xyo-network/react-chain-client'\nexport { InPageGatewaysProvider } from '@xyo-network/react-chain-client'\n","/**\n * @deprecated Moved to `@xyo-network/react-chain-client`. Import\n * `useProvidedInPageGateways` from there instead. This re-export exists\n * only for backward compatibility and will be removed in a future\n * release.\n */\n\nexport { useProvidedInPageGateways } from '@xyo-network/react-chain-client'\n"],"mappings":";;;;AAAA,SACEA,OAAOC,SAASC,kBACX;AACP,SAASC,yBAAyB;AAClC,SAASC,6BAA6B;AACtC,OAAOC,WAAW;AAEX,IAAMC,mBAAkD,wBAAC,EAAEC,QAAO,MAAE;AACzE,QAAMC,mBAAmB,GAAGC,kBAAkBC,WAAWH,OAAAA,GAAUI,cAAc,CAAA,CAAA;AAEjF,SACE,sBAAA,cAACC,OAAAA;IAAMC,WAAU;IAAMC,YAAW;IAASC,SAAS;KAClD,sBAAA,cAACC,uBAAAA;IAAsBT;IAAkBU,MAAM;MAC/C,sBAAA,cAACC,SAAAA;IAAQC,OAAOZ;KACd,sBAAA,cAACa,YAAAA;IAAWC,OAAM;IAAgBC,SAAQ;IAAUC,YAAW;KAAaf,gBAAAA,CAAAA,CAAAA;AAIpF,GAX+D;;;ACN/D,SACEgB,OAAOC,YAAYC,QAAQC,SAAAA,QAC3BC,cAAAA,mBACK;AAEP,SAASC,gBAAgB;AAEzB,SAASC,aAAAA,YAAWC,eAAAA,oBAAmB;AACvC,SAASC,mBAAmB;AAE5B,OAAOC,UAASC,aAAAA,kBAAiB;;;ACVjC,SAASC,mBAAmB;AAC5B,SAASC,sBAAsB;AAKxB,IAAMC,8BAA8B,8BAAOC,SAAkBC,YAAAA;AAClE,QAAMC,UAAgD,CAAA;AACtD,aAAWC,QAAQF,SAAS;AAC1B,UAAM,CAACG,SAASC,MAAMC,QAAAA,IAAYH;AAClC,UAAMI,eAAe,MAAMC,eAAeC,KAAKH,QAAAA;AAC/C,UAAMI,YAAY,MAAMF,eAAeC,KAAKL,OAAAA;AAC5C,QAAIJ,YAAYM,SAASK,MAAM;AAC7B,iBAAW,CAACC,IAAIC,MAAAA,KAAWC,OAAOC,QAAQT,SAASU,SAAS,GAAG;AAC7Dd,gBAAQe,KAAK;UACXJ,QAAQK,YAAYL,MAAAA;UACpBH;UACAS,aAAaf,QAAQgB;UACrBT,MAAML,SAASK;UACfU,WAAWjB,QAAQkB;UACnBC,KAAKC,WAAWC,OAAOC,WAAU;UACjCd;UACAL;UACAoB,QAAQtB,MAAMuB;UACdC,OAAO1B;UACP2B,MAAM;QACR,CAAA;MACF;IACF,OAAO;AACL5B,cAAQe,KAAK;QACXJ,QAAQK,YAAYZ,SAASU,UAAUhB,OAAAA,CAAQ;QAC/CU;QACAS,aAAaf,QAAQgB;QACrBT,MAAML,SAASK;QACfY,KAAKC,WAAWC,OAAOC,WAAU;QACjCL,WAAWjB,QAAQkB;QACnBV,IAAIZ;QACJO;QACAoB,QAAQtB,MAAMuB;QACdC,OAAO1B;QACP2B,MAAM;MACR,CAAA;IACF;EACF;AACA,SAAO5B;AACT,GAvC2C;;;ACP3C,SAAS6B,kBAAkB;AAC3B,SAEEC,mBACK;;;ACHP,SACEC,eAAAA,cAAaC,OAAOC,aACf;AAGA,IAAMC,kBAAkB,wBAACC,SAAkBC,YAAAA;AAChD,QAAMC,uBAAuBD,SAASE,OAAO,CAACC,GAAG,CAACC,QAAQC,KAAKC,QAAAA,MAAS;AACtE,WAAOH,IAAII,aAAYD,SAASE,UAAUT,OAAAA,KAAYU,MAAM,CAAA,CAAA;EAC9D,GAAG,EAAE;AAEL,QAAMC,mBAAmBV,SAASE,OAAO,CAACC,GAAG,CAACC,QAAQC,KAAKC,QAAAA,MAAS;AAClE,WAAQA,SAASK,SAASZ,UAAWI,IAAIS,OAAOC,OAAOP,SAASE,SAAS,EAAEN,OAAO,CAACC,IAAGW,MAAMX,MAAKY,MAAMD,CAAAA,IAAKP,aAAYO,CAAAA,IAAK,KAAK,EAAE,IAAIX;EAC1I,GAAG,EAAE;AACL,SAAO;IAACF;IAAsBS;;AAChC,GAT+B;;;ACN/B,SAASM,UAAUC,iBAAiB;AAMpC,SACEC,0BACAC,0BACAC,iBAAiBC,qBAAqBC,yBACjC;AAEA,IAAMC,eAAe,8BAAOC,aAA0BC,oBAAAA;AAC3D,QAAMC,UAAUC,gBAAgBC,KAAKF,CAAAA,aAAWA,SAAQG,OAAOL,WAAAA;AAC/D,QAAMM,kBAAkBC,SAASL,SAAS,MAAM,2BAA2BF,WAAAA,EAAa;AAExF,QAAMQ,eAA6B;IACjCC,KAAK;MACHC,UAAU;MACVC,KAAK,GAAGL,gBAAgBK,GAAG;IAC7B;EACF;AAEA,QAAMC,mBAAmBC,oBAAoBb,WAAAA;AAE7C,QAAMc,UAAUC,UAAUd,eAAAA,IACtB,MAAMe,yBAAyBhB,aAAaQ,cAAcP,iBAAiBW,gBAAAA,IAC3E,MAAMK,yBAAyBjB,aAAaQ,cAAcI,gBAAAA;AAE9D,SAAO,MAAME,QAAQI,YAA8BC,iBAAAA;AACrD,GAlB4B;;;ACVrB,IAAMC,mBAAmB,wBAACC,YAAAA;AAE/B,MAAIA,QAAQC,WAAW,EAAG,QAAO;AACjC,QAAMC,eAAeF,QAAQG,IAAI,CAAC,CAACC,OAAAA,MAAaA,QAAQC,KAAK;AAC7D,QAAMC,MAAMC,KAAKD,IAAG,GAAIJ,YAAAA;AACxB,SAAOK,KAAKC,IAAIF,MAAM,GAAG,CAAA;AAC3B,GANgC;;;AHUzB,IAAMG,2BAA2B,wBAACC,SAAmBC,QAAoBC,UAAU,IAAIC,YAA4BC,YAAAA;AACxH,SAAOC,WAAW,YAAA;AAChB,QAAIC,YAAYL,MAAAA,KAAWK,YAAYN,OAAAA,EAAU;AAGjD,QAAIO,OAAO;AACX,QAAIC;AACJ,UAAMC,eAA4C,CAAA;AAClD,UAAMC,qBAAqBP,aAAaA,WAAW,CAAA,IAAK;AAIxD,UAAMQ,UAAU,MAAMV,OAAOW,QAAQC,QAAQC,sBAAsBd,SAASG,aAAa;MAAEY,OAAOZ;IAAW,IAAI,CAAC,CAAA;AAClH,QAAIQ,QAAQK,SAAS,GAAG;AACtBP,mBAAaQ,KAAI,GAAIN,OAAAA;AAErBH,kBAAYU,iBAAiBP,OAAAA;AAC7B,aAAOJ,OAAOL,SAAS;AAErB,cAAMiB,cAAc,MAAMlB,OAAOW,QAAQC,QAAQC,sBAAsBd,SAAS;UAAEe,OAAO;YAACL;YAAoBF;;QAA4B,CAAA;AAE1I,YAAIW,YAAYH,WAAW,EAAG;AAE9BR,oBAAYU,iBAAiBC,WAAAA;AAC7BV,qBAAaQ,KAAI,GAAIE,WAAAA;AAGrBZ;MACF;IACF;AACA,UAAMa,mBAAmB,MAAMC,4BAA4BrB,SAASS,YAAAA;AAEpE,WAAO;MACLE,SAASS;MACTP,SAASS,gBAAgBtB,SAASS,YAAAA;MAClCc,WAAWhB,QAAQL;IACrB;EACF,GAAG;IAACF;IAASC;IAAQG;IAASD;IAAYD;GAAQ;AACpD,GAtCwC;;;AIZxC,SAASsB,0BAA0B;AAE5B,IAAMC,wBAAwB,6BAAA;AACnC,QAAM,EAAEC,eAAc,IAAKC,mBAAAA;AAC3B,SAAOD,gBAAgBE,YAAYC;AACrC,GAHqC;;;ACFrC,SAASC,sBAAAA,2BAA0B;AAE5B,IAAMC,uBAAuB,6BAAA;AAClC,QAAM,EAAEC,eAAc,IAAKC,oBAAAA;AAC3B,SAAOD,gBAAgBE,YAAYC;AACrC,GAHoC;;;ACFpC,SAASC,sBAAAA,2BAA0B;AAE5B,IAAMC,uBAAuB,6BAAA;AAClC,QAAM,EAAEC,eAAc,IAAKC,oBAAAA;AAC3B,SAAOD,gBAAgBE,YAAYC;AACrC,GAHoC;;;ACDpC,SAASC,cAAcC,gCAAgC;;;ACAvD,SACEC,YAAAA,WAAUC,OAAOC,QAAQC,aAAAA,YAAWC,cAC/B;AAkBA,IAAMC,gCAAN,MAAMA,+BAAAA;EApBb,OAoBaA;;;EACMC;EACTC,SAAS;EAEjB,YAAYC,QAAuC;AACjD,SAAKF,UAAUE;EACjB;EAEA,IAAIC,MAAc;AAChB,WAAOC,UAAS,KAAKC,YAAY,CAAA,EAAGF,KAAK,MAAM,0CAAA;EACjD;EAEA,IAAIG,MAAc;AAChB,WAAOF,UAAS,KAAKC,YAAY,CAAA,EAAGC,KAAK,MAAM,0CAAA;EACjD;EAEA,IAAIC,iBAAkE;AACpE,WAAO,KAAKP,QAAQO;EACtB;EAEA,IAAIL,SAAwC;AAC1C,WAAO,KAAKF;EACd;EAEA,IAAIK,cAAyC;AAC3C,WAAO,KAAKH,OAAOG;EACrB;EAEA,IAAIG,SAAe;AACjB,WAAO,KAAKN,OAAOM;EACrB;EAEA,IAAIC,SAAoB;AACtB,WAAO,KAAKP,OAAOO;EACrB;EAEA,OAAOC,OAAOR,QAAkF;AAC9F,WAAO,IAAIH,+BAA8BG,MAAAA;EAC3C;EAEA,MAAMS,QAAuB;AAC3B,SAAKV,SAAS;AACd,QAAI;AACF,YAAMW,qBAAqB,MAAM,KAAKH,OAAOG,mBAAkB;AAC/D,aAAOC,WAAUD,kBAAAA,KAAuB,KAAKX,QAAQ;AACnD,cAAM,KAAKa,WAAWF,kBAAAA;AAEtB,cAAMG,MAAM,GAAA;MACd;IACF,SAASC,OAAO;AACd,YAAM,KAAKC,KAAI;AACfC,aAAO,KAAKX,iBAAiB;QAC3BS,OAAOA,iBAAiBG,QAAQH,QAAQ,IAAIG,MAAM,wBAAA;QAClDC,WAAW;QACXC,aAAa;QACbC,UAAU;QACVC,iBAAiB;MACnB,CAAA,CAAA;IACF;EACF;EAEAN,OAAyB;AACvB,SAAKhB,SAAS;EAChB;EAEA,MAAca,WAAWO,aAAoC;AAC3D,QAAIA,cAAc,KAAKf,KAAK;AAC1B,YAAM,KAAKW,KAAI;AACfC,aAAO,KAAKX,iBAAiB;QAC3BS,OAAO,IAAIG,MAAM,iBAAiBE,WAAAA,cAAyB,KAAKf,GAAG,EAAE;QACrEc,WAAW;QACXC;QACAC,UAAU;QACVC,iBAAiB,KAAKpB,MAAMkB;MAC9B,CAAA,CAAA;IACF;AACA,QAAIA,cAAc,KAAKlB,KAAK;AAC1Be,aAAO,KAAKX,iBAAiB;QAC3Ba,WAAW;QAAOC;QAAaC,UAAU;QAAKC,iBAAiB;MACjE,CAAA,CAAA;AACA;IACF;AACA,QAAIF,cAAc,KAAKlB,KAAK;AAC1B,YAAM,KAAKqB,kBAAkBH,WAAAA;IAC/B;EACF;EAEA,MAAcG,kBAAkBH,aAAoC;AAClE,UAAME,kBAAkB,KAAKpB,MAAMkB;AACnC,UAAMC,WAAWG,KAAKC,OAAQL,cAAc,KAAKf,QAAQ,KAAKH,MAAM,KAAKG,OAAQ,GAAA;AAEjF,UAAMqB,KAAK,MAAM,KAAKlB,OAAOJ,YAAYuB,SAAS,KAAKpB,MAAM;AAC7D,QAAIqB,OAAOF,EAAAA,GAAK;AACd,WAAKpB,iBAAiB;QACpBa,WAAW;QAAOC;QAAaC;QAAUC;MAC3C,CAAA;IACF,OAAO;AACL,WAAKhB,iBAAiB;QACpBa,WAAW;QAAMC;QAAaC;QAAUC;MAC1C,CAAA;AACA,YAAM,KAAKN,KAAI;IACjB;EACF;AACF;;;AC5HA,SAASa,cAAAA,mBAAkB;AAE3B,SAASC,eAAAA,cAAaC,yBAAyB;AAE/C,SAASC,qBAAqB;AAC9B,SACEC,SAASC,QAAQC,gBACZ;AAEA,IAAMC,oBAAoB,wBAE/BC,SAEAC,QAEAC,SAEAC,UAAAA;AAEA,QAAM,CAACC,gBAAgBC,iBAAAA,IAAqBC,SAAAA;AAC5C,QAAM,CAACC,SAASC,UAAAA,IAAcF,SAAS,KAAA;AACvC,QAAM,CAACG,eAAeC,gBAAAA,IAAoBJ,SAAAA;AAE1C,QAAM,CAACK,eAAeC,gBAAAA,IAAoBN,SAA6BH,KAAAA;AACvE,MAAIA,UAAUQ,eAAe;AAC3BC,qBAAiBT,KAAAA;AACjBE,sBAAkBQ,MAAAA;AAClBH,qBAAiBG,MAAAA;AACjBL,eAAW,KAAA;EACb;AAEA,QAAMM,oBAAoBC,OAAgC,IAAA;AAC1DC,EAAAA,YAAW,YAAA;AACT,QAAIC,aAAYhB,MAAAA,KAAWgB,aAAYjB,OAAAA,EAAU;AAEjDQ,eAAW,IAAA;AACXE,qBAAiBG,MAAAA;AAGjB,UAAMK,iBAAiBjB,OAAOkB,QAAQC,QAAQC,eAAerB,OAAAA;AAC7Dc,sBAAkBQ,UAAUJ;AAE5B,QAAI;AACF,YAAMK,SAAS,MAAML;AAErB,UAAIJ,kBAAkBQ,YAAYJ,gBAAgB;AAChDb,0BAAkBkB,MAAAA;AAClBf,mBAAW,KAAA;MACb;IACF,SAASgB,KAAK;AAEZ,UAAIV,kBAAkBQ,YAAYJ,gBAAgB;AAChDO,gBAAQC,MAAM,yBAAyBF,GAAAA;AACvCnB,0BAAkBQ,MAAAA;AAClBH,yBAAiBc,GAAAA;AACjBhB,mBAAW,KAAA;MACb;IACF;EACF,GAAG;IAACR;IAASC;IAAQC;GAAQ;AAE7B,QAAMyB,gBAAgBC,QAAQ,MAAA;AAC5B,QAAI,OAAOxB,mBAAmB,SAAU;AACxC,WAAO,IAAIyB,cAAczB,gBAAgB;MACvC0B,QAAQ;MAAIC,YAAY;MAAIC,eAAe;MAAGC,aAAa;MAAGC,QAAQC,UAAUC;IAClF,CAAA;EACF,GAAG;IAAChC;GAAe;AAEnB,QAAMiC,sBAAsBT,QAAQ,MAAA;AAClC,WAAOD,eAAeW,aAAAA;EACxB,GAAG;IAACX;GAAc;AAElB,QAAMY,2BAA2BX,QAAQ,MAAA;AACvC,WAAOY,kBAAkBpC,cAAAA,IACrBS,SACCT,iBAAiB,kBAAsBA,iBAAiB,KAAM,aAAauB,eAAec,cAAAA;EACjG,GAAG;IAACrC;IAAgBuB;GAAc;AAElC,SAAO;IACL3B;IACA0C,mBAAmBtC;IACnBiC;IACAE;IACAb,OAAOjB;IACPF;EACF;AACF,GA5EiC;;;ACTjC,SAASoC,cAAAA,mBAAkB;AAE3B,SACEC,UAAAA,SAAQC,aAAAA,YAAWC,cACd;AACP,SAASC,kBAAAA,uBAAsB;AAI/B,SAASC,WAAWC,YAAAA,iBAAgB;AAK7B,IAAMC,4BAA4B,wBAEvCC,aAEAC,aAEAC,gBAEAC,QAEAC,WAAAA;AAEA,QAAM,CAACC,QAAQC,SAAAA,IAAaC,UAAAA;AAC5B,QAAMC,sBAAsB,wBAACC,cAAAA;AAC3BH,cAAUG,SAAAA;AACVP,qBAAiBO,SAAAA;EACnB,GAH4B;AAK5B,QAAM,CAACC,+BAA+BC,4BAAAA,IAAgCC,YAAW,YAAA;AAC/E,UAAMC,YAAYC,WAAUX,MAAAA;AAC5B,QAAIH,eAAeI,QAAQ;AACzB,YAAMW,OAAOF,YAAa,MAAMV,OAAOa,qBAAqBhB,WAAAA,IAAgB,MAAMiB,gBAAeF,KAAKf,YAAY,CAAA,CAAE;AACpH,UAAIkB,OAAOH,IAAAA,GAAO;AAChB,YAAIF,aAAaC,WAAUb,WAAAA,EAAcA,aAAYc,IAAAA;AACrD,cAAMI,SAAwC;UAC5CjB,gBAAgBM;UAChBR;UACAoB,QAAQL;UACRX;QACF;AACA,cAAMiB,WAAW,MAAMC,8BAA8BC,OAAOJ,MAAAA;AAC5D,cAAME,SAASG,MAAK;AACpB,eAAOH;MACT,OAAO;AACL,cAAM,IAAII,MAAM,mDAAA;MAClB;IACF;EACF,GAAG;IAACzB;IAAaG;IAAQC;GAAO;AAEhCsB,YAAU,MAAA;AACR,WAAO,MAAA;AACL,UAAIhB,+BAA+B;AAEjCiB,QAAAA,QAAOjB,8BAA8BkB,KAAI,CAAA;MAC3C;IACF;EACF,GAAG;IAAClB;GAA8B;AAElC,SAAO;IAAEL;IAAQM;EAA6B;AAChD,GAjDyC;;;ACdzC,SAAuBkB,iBAAiB;AACxC,SAASC,YAAAA,iBAAgB;AACzB,SAASC,uBAAuBC,4BAA4B;AAE5D,SAASC,mBAAmB;AAC5B,SAASC,aAAaC,YAAAA,iBAAgB;AAG/B,IAAMC,oBAAoB,wBAACC,cAA2BC,YAAYC,IAAIC,YAAAA;AAC3E,QAAM,CAACC,cAAcC,eAAAA,IAAmBC,UAAAA;AAExC,QAAM,EACJC,SAASC,OAAOC,SAAQ,IACtBC,qBAAqBV,aAAaG,OAAAA;AAEtC,QAAM,CAACQ,oBAAoBC,uBAAAA,IAA2BC,sBAAAA;AAEtD,QAAM,CAACC,SAASC,UAAAA,IAAcT,UAAAA;AAE9B,QAAMU,gBAAgBC,YAAY,YAAA;AAChC,QAAI;AACFZ,sBAAgBa,MAAAA;AAChB,YAAMC,kBAAkBC,UAASb,SAAS,MAAM,WAAWP,WAAAA,mBAA8B;AACzF,YAAMqB,SAASF,gBAAgBE;AAC/B,YAAMP,WAAU,MAAMO,OAAOP,QAAO;AACpCC,iBAAWD,QAAAA;AACX,aAAOA;IACT,SAASQ,GAAG;AACVjB,sBAAgBiB,CAAAA;IAClB;EACF,GAAG;IAACf;IAASP;GAAY;AAEzB,SAAO;IACLc,SAASS,UAAUZ,qBAAqB,CAAA,KAAMG,OAAAA;IAAUE;IAAeR,OAAOA,SAASI,2BAA2BR;IAAcG;IAASE;EAC3I;AACF,GA3BiC;;;ACPjC,SAASe,cAAAA,mBAAkB;AAC3B,SAASC,wBAAwB;AAM1B,IAAMC,kBAAkB,wBAACC,UAAU,GAAGC,WAAAA;AAE3C,SAAOC,YAAW,YAAA;AAChB,QAAIC,iBAAiBF,MAAAA,KAAWD,UAAU,GAAG;AAC3C,YAAMI,QAAQ,MAAMH,OAAOI,aAAY;AACvC,aAAOD;IACT;EACF,GAAG;IAACH;IAAQD;GAAQ;AACtB,GAR+B;AAUxB,IAAMM,6BAA6B,wBAACN,UAAU,MAAC;AACpD,QAAMC,SAASM,qBAAAA;AACf,SAAOL,YAAW,YAAA;AAChB,QAAIC,iBAAiBF,MAAAA,KAAWD,UAAU,GAAG;AAC3C,YAAMI,QAAQ,MAAMH,OAAOI,aAAY;AACvC,aAAOD;IACT;EACF,GAAG;IAACH;IAAQD;GAAQ;AACtB,GAR0C;;;AClB1C,SAASQ,eAAAA,oBAAmB;AAE5B,SAASC,wBAAwB;AACjC,SAASC,WAAAA,gBAAe;AAEjB,IAAMC,aAAa,wBAACC,OAAAA;AACzB,QAAMC,UAAUC,SAAQ,MAAA;AACtB,QAAIC,aAAYH,EAAAA,EAAK;AACrB,WAAO,IAAII,iBAAiBJ,EAAAA;EAC9B,GAAG;IAACA;GAAG;AAEP,SAAOC;AACT,GAP0B;;;ACL1B,SAASI,cAAAA,mBAAkB;AAE3B,SACEC,uBACK;AAEA,IAAMC,YAAY,wBAACC,WAA2BC,YAAAA;AACnD,SAAOC,YAAkC,YAAYD,UAAU,MAAME,gBAAgBC,OAAO;IAAEH;EAAQ,CAAA,IAAKI,QAAW;IAACJ;GAAQ;AACjI,GAFyB;;;ACNzB,SAASK,cAAAA,mBAAkB;AAC3B,SACEC,SAAAA,QAAOC,aAAAA,YAAWC,eAAAA,oBACb;AAEP,SACEC,4BAAAA,2BACAC,cACAC,iBACAC,wBACK;AACP,SAASC,aAAAA,YAAWC,YAAAA,iBAAgB;AAEpC,IAAMC,WAAW;AAEjB,IAAMC,mBAAmB,GAAGC,aAAaC,GAAG;AAC5C,IAAMC,sBAAsB,GAAGC,gBAAgBF,GAAG;AAE3C,IAAMG,mBAAmB,6BAAA;AAC9B,QAAMC,kBAAkBC,YAAYP,gBAAAA;AACpC,SAAOM;AACT,GAHgC;AAKzB,IAAME,sBAAsB,6BAAA;AACjC,QAAMC,gBAAgBF,YAAYJ,mBAAAA;AAClC,SAAOM;AACT,GAHmC;AAK5B,IAAMF,cAAc,wBAACG,aAAAA;AAC1B,QAAM,CAACJ,iBAAiBK,kBAAAA,IAAsBC,UAAS,KAAA;AACvD,QAAM,CAACC,OAAOC,QAAAA,IAAYF,UAAAA;AAE1B,QAAM,CAACG,MAAAA,IAAUC,YAAW,YAAA;AAC1B,QAAIC,aAAYP,QAAAA,EAAW;AAE3B,UAAMQ,UAAU,MAAMC,0BAAyBT,UAAU;MAAEU,KAAK;QAAEC,UAAU;QAAQnB,KAAKQ;MAAS;IAAE,CAAA;AAEpG,UAAMK,UAAS,MAAMG,QAAQI,YAA8BC,gBAAAA;AAC3D,WAAOR;EACT,GAAG;IAACL;GAAS;AAEbc,EAAAA,WAAU,MAAA;AACR,QAAIP,aAAYF,MAAAA,EAAS;AAEzB,UAAM,YAAA;AACJD,eAASW,MAAAA;AACT,aAAO,CAACnB,iBAAiB;AACvB,YAAI;AACF,gBAAMoB,QAAQ,MAAMX,OAAOY,aAAY;AACvChB,6BAAmBiB,WAAUF,KAAAA,CAAAA;QAC/B,SAASG,KAAK;AACZf,mBAASe,GAAAA;AACTlB,6BAAmB,KAAA;QACrB;AACA,cAAMmB,OAAM/B,QAAAA;MACd;IACF,GAAA;EACF,GAAG;IAACO;IAAiBS;GAAO;AAE5B,SAAO;IAAET;IAAiBO;EAAM;AAClC,GAhC2B;;;AC5B3B,SAAoBkB,UAAAA,eAAc;AAClC,SAASC,kBAAAA,uBAAsB;AAI/B,SACEC,qBACAC,+BAA+BC,uBAAuBC,wBACjD;AAUA,IAAMC,qBAAN,cAAiCC,iBAAAA;EAlBxC,OAkBwCA;;;EAC5BC;EAEV,MAAeC,aAAaC,MAAYC,OAA4D;AAClG,UAAMC,SAAS,MAAM,MAAMH,aAAaC,MAAMC,KAAAA;AAC9C,WAAO,MAAME,QAAQC,IAAIF,OAAOG,IAAI,OAAMC,WAAU,MAAMC,oBAAoBD,OAAO,KAAKR,cAAc,GAAG,CAAA,CAAE,CAAA;EAC/G;EAEA,MAAeU,eAAeC,aAA6BR,OAA4D;AACrH,UAAMC,SAAS,MAAM,MAAMM,eAAeC,aAAaR,KAAAA;AACvD,WAAO,MAAME,QAAQC,IAAIF,OAAOG,IAAI,OAAMC,WAAU,MAAMC,oBAAoBD,OAAO,KAAKR,cAAc,GAAG,CAAA,CAAE,CAAA;EAC/G;EAEA,MAAeY,gBAAgB;AAC7B,UAAM,MAAMA,cAAAA;AACZ,SAAKZ,iBAAiB,MAAM,KAAKa,QAAQC,eAA+BC,qBAAAA;EAC1E;EAEA,MAAeC,eAAeC,QAAgB;AAC5C,UAAMC,WAAW,MAAM,MAAMF,eAAeC,MAAAA;AAC5C,YAAQ,MAAME,8BAA8BF,QAAQC,UAAU,KAAKlB,cAAc,GAAG,CAAA;EACtF;EAEA,MAAeoB,kBAAkBlB,MAAmE;AAClG,UAAMmB,cAAc,MAAM,MAAMA,YAAYC,OAAOpB,IAAAA;AACnD,QAAI,CAAC,KAAKF,eAAgB,QAAOqB,cAAc;MAAC,MAAME,gBAAeC,YAAYH,YAAY,CAAA,CAAE;MAAG,MAAME,gBAAeC,YAAYH,YAAY,CAAA,CAAE;QAAK;AAEtJ,WAAOI,QAAOJ,WAAAA,IACVA,eACC,MAAMZ,oBAAoB;MAAC,MAAMc,gBAAeC,YAAYH,YAAY,CAAA,CAAE;MACzE,MAAME,gBAAeC,YAAYH,YAAY,CAAA,CAAE;OAAI,KAAKrB,cAAc,GAAG,CAAA;EACjF;AACF;;;AlBlCA,IAAM0B,0BAAmDC,wBAAAA,UACvD,gBAAAC,OAAA,cAACC,UAAAA;EAASC,SAAQ;EAAYC,MAAK;EAAS,GAAGJ;IADQA;AAIzD,IAAMK,oCAA8C,6BAClD,gBAAAJ,OAAA,cAACK,OAAAA;EAAMC,UAAS;GACd,gBAAAN,OAAA,cAACO,YAAAA,MAAW,sBAAA,GACZ,gBAAAP,OAAA,cAACQ,aAAAA;EAAWC,cAAAA;GAAa,0EAAA,GAGzB,gBAAAT,OAAA,cAACU,QAAAA;EACCC,IAAI;IAAEC,SAAS;IAAQC,aAAa;EAAM;EAC1CV,MAAK;EACLD,SAAQ;EACRY,MAAK;EACLC,QAAO;EACPC,KAAI;GACL,gBAAA,CAAA,GAb+C;AA6B7C,IAAMC,uBAAkE,wBAAC,EAC9EC,mBAAmBC,kBACnBC,mBAAmBtB,yBACnBuB,6BAA6BjB,mCAC7BkB,oBACAC,UACAC,SACA,GAAGzB,MAAAA,MACJ;AACC,QAAM,EACJ0B,SAASC,eAAeC,OAAOC,SAAQ,IACrCC,kBAAkBC,QAAWN,OAAAA;AAEjCO,EAAAA,WAAU,MAAA;AACR,QAAIC,WAAUL,KAAAA,KAAUK,WAAUT,QAAAA,GAAW;AAC3CA,eAAAA;IACF;EACF,GAAG;IAACI;IAAOJ;GAAS;AAEpBQ,EAAAA,WAAU,MAAA;AACR,QAAIC,WAAUP,OAAAA,KAAYO,WAAUV,kBAAAA,GAAqB;AACvDA,yBAAmBG,OAAAA;IACrB;EACF,GAAG;IAACA;IAASH;GAAmB;AAEhC,SACE,gBAAAtB,OAAA,cAACiC,QAAAA;IAAMC,WAAU;IAAMC,YAAW;IAAQC,SAAS;IAAI,GAAGrC;KACvDiC,WAAUP,OAAAA,IACP,gBAAAzB,OAAA,cAACkB,kBAAAA;IAAiBO;OAClB,MACHY,aAAYZ,OAAAA,KAAY,CAACG,WAEpB,gBAAA5B,OAAA,cAACoB,kBAAAA;IAAiBkB,SAAS,6BAAM,KAAKZ,cAAAA,GAAX;KAA4B,SAAA,IAEzD,MACHW,aAAYZ,OAAAA,KAAYG,WAEnB,gBAAA5B,OAAA,cAACqB,4BAAAA,IAAAA,IAEH,MACJ,gBAAArB,OAAA,cAACuC,aAAAA;IAAYZ;IAAca,OAAM;;AAGvC,GA3C+E;;;AmBjD/E,SAASC,uBAAuB;AAIzB,IAAMC,yBAAyBD,gBAAAA;;;ACFtC,OAAOE,UAASC,WAAAA,gBAAe;;;ACF/B,SAASC,oBAAAA,mBAAkBC,qBAAAA,0BAAyB;AAEpD,SACEC,iBAAiBC,aAAAA,YAAWC,YAAAA,iBACvB;AAEP,IAAMC,wBAAwB;AAEvB,IAAMC,sBAAsB,wBAACC,QAA2BC,WAAWH,uBAAuBI,QAAQ,UAAK;AAC5G,QAAM,CAACC,cAAcC,eAAAA,IAAmBC,UAAqC,IAAA;AAC7E,QAAM,CAACC,OAAOC,QAAAA,IAAYF,UAAAA;AAE1BG,EAAAA,WAAU,MAAA;AACR,QAAIC,YAAY;AAEhB,UAAMC,aAAa,mCAAA;AACjB,UAAIC,kBAAiBX,MAAAA,GAAS;AAC5B,YAAI;AACF,gBAAMY,QAAQ,MAAMZ,OAAOG,aAAY;AAEvC,cAAIM,WAAW;AACbI,4BAAgB,MAAA;AACdT,8BAAgB,CAACU,kBAAAA;AACf,oBAAIC,mBAAkBD,aAAAA,GAAgB;AACpC,yBAAOF;gBACT;AACA,oBACED,kBAAiBC,KAAAA,KAAUE,gBAAgB,CAAA,EAAGF,UAAUA,MAAM,CAAA,EAAGA,OACjE;AACA,yBAAOA;gBACT;AACA,uBAAOE;cACT,CAAA;YACF,CAAA;UACF;QACF,SAASE,KAAK;AACZH,0BAAgB,MAAA;AACdN,qBAASS,GAAAA;UACX,CAAA;QACF;MACF;IACF,GA1BmB;AA6BnB,SAAKN,WAAAA;AAGL,UAAMO,KAAKC,YAAY,MAAA;AACrB,UAAI,CAAChB,OAAO;AACV,aAAKQ,WAAAA;MACP;IACF,GAAGT,QAAAA;AAEH,WAAO,MAAA;AACLQ,kBAAY;AACZU,oBAAcF,EAAAA;IAChB;EACF,GAAG;IAACjB;IAAQC;IAAUC;GAAM;AAE5B,SAAO;IAACC;IAAcG;;AACxB,GApDmC;;;ADA5B,IAAMc,2BAA2B;AAOjC,IAAMC,0BAAkE,wBAAC,EAC9EC,eAAeC,QAAQC,SAAQ,MAChC;AACC,QAAM,EAAEC,SAAQ,IAAKC,SAAQ,MAAMJ,iBAAiB;IAAEG,UAAUL;EAAyB,GAAG;IAACE;GAAc;AAC3G,QAAM,CAACK,cAAcC,iBAAAA,IAAqBC,oBAAoBN,QAAQE,QAAAA;AAEtE,QAAMK,QAA8BJ,SAAQ,OAAO;IACjDK,OAAOJ;IACPK,aAAaL,eAAe,CAAA,EAAGI;IAC/BE,OAAON,eAAe,CAAA,EAAGM;IACzBC,OAAON;IACPN;IACAa,UAAU;EACZ,IAAI;IAACR;IAAcC;IAAmBN;GAAc;AAEpD,SACE,gBAAAc,OAAA,cAACC,wBAAAA;IAAuBP;KACrBN,QAAAA;AAGP,GApB+E;;;AEf/E,SAASc,oBAAoB;AAKtB,IAAMC,4BAA4B,wBAACC,WAAW,SAASC,aAAmCC,wBAAwB,mBAAmBF,QAAAA,GAAnG;;;ACCzC,SAASG,uBAAuB;;;ACAhC,SAASC,6BAA6B;;;ACEtC,SAASC,8BAA8B;;;ACDvC,SAASC,iCAAiC;","names":["Stack","Tooltip","Typography","EthAddressWrapper","BlockiesAvatarAddress","React","ConnectedAccount","address","shortenedAddress","EthAddressWrapper","fromString","toShortString","Stack","direction","alignItems","spacing","BlockiesAvatarAddress","size","Tooltip","title","Typography","color","variant","fontFamily","Alert","AlertTitle","Button","Stack","Typography","ButtonEx","isDefined","isUndefined","ErrorRender","React","useEffect","hexToBigInt","PayloadBuilder","formatAccountBalanceHistory","address","history","results","item","blockBw","txBw","transfer","transferHash","PayloadBuilder","hash","blockHash","from","to","amount","Object","entries","transfers","push","hexToBigInt","blockNumber","block","timestamp","$epoch","key","globalThis","crypto","randomUUID","txHash","_hash","debug","type","usePromise","isUndefined","hexToBigInt","isHex","toHex","balanceForRange","address","results","totalReceivedBalance","reduce","a","_block","_tx","transfer","hexToBigInt","transfers","toHex","totalSentBalance","from","Object","values","v","isHex","assertEx","isDefined","basicRemoteRunnerLocator","basicRemoteViewerLocator","DefaultNetworks","NetworkDataLakeUrls","XyoGatewayMoniker","buildGateway","gatewayName","signerTransport","network","DefaultNetworks","find","id","resolvedNetwork","assertEx","remoteConfig","rpc","protocol","url","dataLakeEndpoint","NetworkDataLakeUrls","locator","isDefined","basicRemoteRunnerLocator","basicRemoteViewerLocator","getInstance","XyoGatewayMoniker","findMinimumBlock","history","length","blockNumbers","map","blockBw","block","min","Math","max","useAccountBalanceHistory","address","viewer","maxPage","blockRange","refresh","usePromise","isUndefined","page","lastBlock","pagedHistory","resolvedStartBlock","history","account","balance","accountBalanceHistory","range","length","push","findMinimumBlock","nextHistory","formattedHistory","formatAccountBalanceHistory","balanceForRange","truncated","useProvidedGateway","useNetworkFromGateway","defaultGateway","useProvidedGateway","connection","network","useProvidedGateway","useRunnerFromGateway","defaultGateway","useProvidedGateway","connection","runner","useProvidedGateway","useViewerFromGateway","defaultGateway","useProvidedGateway","connection","viewer","getXyoClient","listenForClientInjection","assertEx","delay","forget","isDefined","isNull","TransactionConfirmationStatus","_params","active","params","exp","assertEx","transaction","nbf","onStatusUpdate","txHash","viewer","create","start","currentBlockNumber","isDefined","checkBlock","delay","error","stop","forget","Error","confirmed","blockNumber","progress","remainingBlocks","checkConfirmation","Math","round","tx","byHash","isNull","usePromise","isUndefined","isUndefinedOrNull","ShiftedBigInt","useMemo","useRef","useState","useAddressBalance","address","viewer","refresh","reset","balancesResult","setBalancesResult","useState","loading","setLoading","balancesError","setBalancesError","previousReset","setPreviousReset","undefined","balancePromiseRef","useRef","usePromise","isUndefined","currentPromise","account","balance","accountBalance","current","result","err","console","error","shiftedBigInt","useMemo","ShiftedBigInt","places","maxDecimal","maxCharacters","minDecimals","locale","navigator","language","balanceIntlFriendly","toFullString","shortBalanceIntlFriendly","isUndefinedOrNull","toShortString","balanceForAddress","usePromise","forget","isDefined","isHash","PayloadBuilder","useEffect","useState","useConfirmTransactionBase","transaction","onBroadcast","onStatusUpdate","runner","viewer","status","setStatus","useState","onStatusUpdateLocal","newStatus","transactionConfirmationStatus","transactionConfirmationError","usePromise","hasRunner","isDefined","hash","broadcastTransaction","PayloadBuilder","isHash","params","txHash","instance","TransactionConfirmationStatus","create","start","Error","useEffect","forget","stop","asAddress","assertEx","useAccountPermissions","useGatewayFromWallet","MainNetwork","useCallback","useState","useConnectAccount","gatewayName","MainNetwork","id","timeout","connectError","setConnectError","useState","gateway","error","timedout","useGatewayFromWallet","accountPermissions","accountPermissionsError","useAccountPermissions","address","setAddress","connectSigner","useCallback","undefined","assertedGateway","assertEx","signer","e","asAddress","usePromise","isDefinedNotNull","useCurrentBlock","refresh","viewer","usePromise","isDefinedNotNull","block","currentBlock","useCurrentBlockFromGateway","useViewerFromGateway","isUndefined","SimpleXyoNetwork","useMemo","useNetwork","id","network","useMemo","isUndefined","SimpleXyoNetwork","usePromise","SimpleXyoSigner","useSigner","_provider","account","usePromise","SimpleXyoSigner","create","undefined","usePromise","delay","isDefined","isUndefined","basicRemoteViewerLocator","LocalNetwork","SequenceNetwork","XyoViewerMoniker","useEffect","useState","INTERVAL","localRpcEndpoint","LocalNetwork","url","sequenceRpcEndpoint","SequenceNetwork","useCheckLocalRpc","isLocalProducer","useCheckRpc","useCheckSequenceRpc","isSequenceRpc","endpoint","setIsLocalProducer","useState","error","setError","viewer","usePromise","isUndefined","locator","basicRemoteViewerLocator","rpc","protocol","getInstance","XyoViewerMoniker","useEffect","undefined","block","currentBlock","isDefined","err","delay","isNull","PayloadBuilder","addDataLakePayloads","addDataLakePayloadsToPayloads","DataLakeViewerMoniker","JsonRpcXyoViewer","ViewerWithDataLake","JsonRpcXyoViewer","dataLakeViewer","blocksByHash","hash","limit","blocks","Promise","all","map","block","addDataLakePayloads","blocksByNumber","blockNumber","createHandler","locator","tryGetInstance","DataLakeViewerMoniker","payloadsByHash","hashes","payloads","addDataLakePayloadsToPayloads","transactionByHash","transaction","byHash","PayloadBuilder","addHashMeta","isNull","DefaultConnectComponent","props","React","ButtonEx","variant","size","DefaultNoWalletInstalledComponent","Alert","severity","AlertTitle","Typography","gutterBottom","Button","sx","display","justifySelf","href","target","rel","ConnectAccountsStack","AccountComponent","ConnectedAccount","ConnectComponent","NoWalletInstalledComponent","onAccountConnected","onCancel","timeout","address","connectSigner","error","timedout","useConnectAccount","undefined","useEffect","isDefined","Stack","direction","alignItems","spacing","isUndefined","onClick","ErrorRender","scope","createContextEx","XL1CurrentBlockContext","React","useMemo","isDefinedNotNull","isUndefinedOrNull","startTransition","useEffect","useState","DEFAULT_POLL_INTERVAL","usePollCurrentBlock","viewer","interval","pause","currentBlock","setCurrentBlock","useState","error","setError","useEffect","isMounted","fetchBlock","isDefinedNotNull","block","startTransition","existingBlock","isUndefinedOrNull","err","id","setInterval","clearInterval","DEFAULT_POLLING_INTERVAL","XL1CurrentBlockProvider","pollingConfig","viewer","children","interval","useMemo","currentBlock","currentBlockError","usePollCurrentBlock","value","block","blockNumber","chain","error","provided","React","XL1CurrentBlockContext","useContextEx","useXl1CurrentBlockContext","required","useContextEx","XL1CurrentBlockContext","GatewayProvider","InPageGatewaysContext","InPageGatewaysProvider","useProvidedInPageGateways"]}
|
|
1
|
+
{"version":3,"sources":["../../src/components/connected/account/Connected.tsx","../../src/components/connected/ConnectAccountsStack.tsx","../../src/hooks/account/helpers/formatAccountBalanceHistory.ts","../../src/hooks/account/useAccountBalanceHistory.ts","../../src/lib/balanceForRange.ts","../../src/lib/buildGateway.ts","../../src/lib/findMinimumBlock.ts","../../src/hooks/gateway/useNetwork.ts","../../src/hooks/gateway/useRunner.ts","../../src/hooks/gateway/useViewer.ts","../../src/hooks/helpers/getXyoClient.ts","../../src/hooks/helpers/transaction/Confirmation.ts","../../src/hooks/useAddressBalance.ts","../../src/hooks/useConfirmTransactionBase.ts","../../src/hooks/useConnectAccount.ts","../../src/hooks/useCurrentBlock.ts","../../src/hooks/useNetwork.ts","../../src/hooks/useSigner.ts","../../src/hooks/viewer/useCheckRpc.ts","../../src/hooks/viewer/ViewerWithDataLake.ts","../../src/contexts/current-block/context.ts","../../src/contexts/current-block/Provider.tsx","../../src/contexts/current-block/usePollCurrentBlock.ts","../../src/contexts/current-block/use.ts","../../src/contexts/gateway/Provider.tsx","../../src/contexts/in-page-gateways/context.ts","../../src/contexts/in-page-gateways/Provider.tsx","../../src/contexts/in-page-gateways/use.ts"],"sourcesContent":["import {\n Stack, Tooltip, Typography,\n} from '@mui/material'\nimport { EthAddressWrapper } from '@xylabs/sdk-js'\nimport { BlockiesAvatarAddress } from '@xyo-network/xl1-blockies'\nimport React from 'react'\n\nexport const ConnectedAccount: React.FC<{ address: string }> = ({ address }) => {\n const shortenedAddress = `${EthAddressWrapper.fromString(address)?.toShortString(4)}`\n\n return (\n <Stack\n direction=\"row\"\n spacing={1}\n sx={{ alignItems: 'center' }}\n >\n <BlockiesAvatarAddress address={address} size={21} />\n <Tooltip title={address}>\n <Typography\n variant=\"caption\"\n sx={{\n color: 'text.secondary',\n fontFamily: 'monospace',\n }}\n >\n {shortenedAddress}\n </Typography>\n </Tooltip>\n </Stack>\n )\n}\n","import type { StackProps } from '@mui/material'\nimport {\n Alert, AlertTitle, Button, Stack,\n Typography,\n} from '@mui/material'\nimport type { ButtonExProps } from '@xylabs/react-button'\nimport { ButtonEx } from '@xylabs/react-button'\nimport type { Address } from '@xylabs/sdk-js'\nimport { isDefined, isUndefined } from '@xylabs/sdk-js'\nimport { ErrorRender } from '@xyo-network/react-error'\nimport type { ComponentType, MouseEventHandler } from 'react'\nimport React, { useEffect } from 'react'\n\nimport { useConnectAccount } from '../../hooks/index.ts'\nimport { ConnectedAccount } from './account/index.ts'\n\nconst DefaultConnectComponent: React.FC<ButtonExProps> = props => (\n <ButtonEx variant=\"contained\" size=\"small\" {...props} />\n)\n\nconst DefaultNoWalletInstalledComponent: React.FC = () => (\n <Alert severity=\"warning\">\n <AlertTitle>XL1 Wallet Not Found</AlertTitle>\n <Typography gutterBottom>\n Please ensure that your XL1 Wallet is installed to connect your account.\n </Typography>\n <Button\n sx={{ display: 'flex', justifySelf: 'end' }}\n size=\"small\"\n variant=\"outlined\"\n href=\"https://chromewebstore.google.com/detail/xl1-wallet/fblbagcjeigmhakkfgjpdlcapcgmcfbm\"\n target=\"_blank\"\n rel=\"noopener\"\n >\n Get XL1 Wallet\n </Button>\n </Alert>\n)\n\nexport interface ConnectClientAccountsStackProps extends StackProps {\n AccountComponent?: ComponentType<{ account?: string }>\n ConnectComponent?: ComponentType<{ onClick?: MouseEventHandler<HTMLElement> }>\n NoWalletInstalledComponent?: ComponentType\n onAccountConnected?: (account: Address) => void\n onCancel?: () => void\n timeout?: number\n}\n\n/** @deprecated - use version in @xyo-network/xl1-react-client-sdk instead */\nexport const ConnectAccountsStack: React.FC<ConnectClientAccountsStackProps> = ({\n AccountComponent = ConnectedAccount,\n ConnectComponent = DefaultConnectComponent,\n NoWalletInstalledComponent = DefaultNoWalletInstalledComponent,\n onAccountConnected,\n onCancel,\n timeout,\n ...props\n}) => {\n const {\n address, connectSigner, error, timedout,\n } = useConnectAccount(undefined, timeout)\n\n useEffect(() => {\n if (isDefined(error) && isDefined(onCancel)) {\n onCancel()\n }\n }, [error, onCancel])\n\n useEffect(() => {\n if (isDefined(address) && isDefined(onAccountConnected)) {\n onAccountConnected(address)\n }\n }, [address, onAccountConnected])\n\n return (\n <Stack\n direction=\"row\"\n spacing={2}\n {...props}\n sx={[{ alignItems: 'start' }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n >\n {isDefined(address)\n ? <AccountComponent address={address} />\n : null}\n {isUndefined(address) && !timedout\n ? (\n <ConnectComponent onClick={() => void connectSigner()}>Connect</ConnectComponent>\n )\n : null}\n {isUndefined(address) && timedout\n ? (\n <NoWalletInstalledComponent />\n )\n : null}\n <ErrorRender error={error} scope=\"ConnectSigner:error\" />\n </Stack>\n )\n}\n","import type { Address, Hex } from '@xylabs/sdk-js'\nimport { hexToBigInt } from '@xylabs/sdk-js'\nimport { PayloadBuilder } from '@xyo-network/sdk-js'\nimport type { AccountBalanceHistoryItem } from '@xyo-network/xl1-sdk'\n\nimport type { AccountBalanceHistoryItemFormatted } from '../BalanceHistoryItemFormatted.ts'\n\nexport const formatAccountBalanceHistory = async (address: Address, history: AccountBalanceHistoryItem[]): Promise<AccountBalanceHistoryItemFormatted[]> => {\n const results: AccountBalanceHistoryItemFormatted[] = []\n for (const item of history) {\n const [blockBw, txBw, transfer] = item\n const transferHash = await PayloadBuilder.hash(transfer)\n const blockHash = await PayloadBuilder.hash(blockBw)\n if (address === transfer.from) {\n for (const [to, amount] of Object.entries(transfer.transfers)) {\n results.push({\n amount: hexToBigInt(amount as Hex),\n blockHash,\n blockNumber: blockBw.block,\n from: transfer.from,\n timestamp: blockBw.$epoch,\n key: globalThis.crypto.randomUUID(),\n to: to as Address,\n transferHash,\n txHash: txBw?._hash,\n debug: item,\n type: 'send',\n })\n }\n } else {\n results.push({\n amount: hexToBigInt(transfer.transfers[address] as Hex),\n blockHash,\n blockNumber: blockBw.block,\n from: transfer.from,\n key: globalThis.crypto.randomUUID(),\n timestamp: blockBw.$epoch,\n to: address,\n transferHash,\n txHash: txBw?._hash,\n debug: item,\n type: 'receive',\n })\n }\n }\n return results\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport {\n type Address,\n isUndefined,\n} from '@xylabs/sdk-js'\nimport type {\n AccountBalanceHistoryItem, XL1BlockRange, XyoViewer,\n} from '@xyo-network/xl1-sdk'\n\nimport { balanceForRange, findMinimumBlock } from '../../lib/index.ts'\nimport { formatAccountBalanceHistory } from './helpers/index.ts'\n\nexport const useAccountBalanceHistory = (address?: Address, viewer?: XyoViewer, maxPage = 10, blockRange?: XL1BlockRange, refresh?: number) => {\n return usePromise(async () => {\n if (isUndefined(viewer) || isUndefined(address)) return\n\n // Pagination Values\n let page = 1\n let lastBlock: number\n const pagedHistory: AccountBalanceHistoryItem[] = []\n const resolvedStartBlock = blockRange ? blockRange[0] : 0\n\n // Fetch first page to get starting lastBlock\n // If blockRange is provided, use that for the first fetch, otherwise the api will use [0, currentBlock]\n const history = await viewer.account.balance.accountBalanceHistory(address, blockRange ? { range: blockRange } : {})\n if (history.length > 0) {\n pagedHistory.push(...history)\n // Set lastBlock to one less than the lowest block in the first page\n lastBlock = findMinimumBlock(history)\n while (page < maxPage) {\n // Fetch next page\n const nextHistory = await viewer.account.balance.accountBalanceHistory(address, { range: [resolvedStartBlock, lastBlock] as XL1BlockRange })\n // Break if no more history\n if (nextHistory.length === 0) break\n // Update lastBlock and append to pagedHistory\n lastBlock = findMinimumBlock(nextHistory)\n pagedHistory.push(...nextHistory)\n // Increment page\n // Even if we are going to go over and break the loop, we still want to increment to show the answer was truncated\n page++\n }\n }\n const formattedHistory = await formatAccountBalanceHistory(address, pagedHistory)\n\n return {\n history: formattedHistory,\n balance: balanceForRange(address, pagedHistory),\n truncated: page >= maxPage,\n }\n }, [address, viewer, refresh, blockRange, maxPage])\n}\n","import type { Address } from '@xylabs/sdk-js'\nimport {\n hexToBigInt, isHex, toHex,\n} from '@xylabs/sdk-js'\nimport type { AccountBalanceHistoryItem, AttoXL1 } from '@xyo-network/xl1-sdk'\n\nexport const balanceForRange = (address: Address, results: AccountBalanceHistoryItem[]): [AttoXL1, AttoXL1] => {\n const totalReceivedBalance = results?.reduce((a, [_block, _tx, transfer]) => {\n return a + hexToBigInt(transfer.transfers[address] ?? toHex(0))\n }, 0n)\n // eslint-disable-next-line unicorn/no-array-reduce\n const totalSentBalance = results?.reduce((a, [_block, _tx, transfer]) => {\n return (transfer.from === address) ? a + Object.values(transfer.transfers).reduce((a, v) => a + (isHex(v) ? hexToBigInt(v) : 0n), 0n) : a\n }, 0n)\n return [totalReceivedBalance, totalSentBalance] as [AttoXL1, AttoXL1]\n}\n","import { assertEx, isDefined } from '@xylabs/sdk-js'\nimport type {\n GatewayName,\n RemoteConfig, RpcTransport, SimpleXyoGateway,\n XyoSignerRpcSchemas,\n} from '@xyo-network/xl1-sdk'\nimport {\n basicRemoteRunnerLocator,\n basicRemoteViewerLocator,\n DefaultNetworks, NetworkDataLakeUrls, XyoGatewayMoniker,\n} from '@xyo-network/xl1-sdk'\n\nexport const buildGateway = async (gatewayName: GatewayName, signerTransport?: RpcTransport<XyoSignerRpcSchemas>) => {\n const network = DefaultNetworks.find(network => network.id === gatewayName)\n const resolvedNetwork = assertEx(network, () => `No network found for id ${gatewayName}`)\n\n const remoteConfig: RemoteConfig = {\n rpc: {\n protocol: 'http',\n url: `${resolvedNetwork.url}/rpc`,\n },\n }\n\n const dataLakeEndpoint = NetworkDataLakeUrls[gatewayName]\n\n const locator = isDefined(signerTransport)\n ? await basicRemoteRunnerLocator(gatewayName, remoteConfig, signerTransport, dataLakeEndpoint)\n : await basicRemoteViewerLocator(gatewayName, remoteConfig, dataLakeEndpoint)\n\n return await locator.getInstance<SimpleXyoGateway>(XyoGatewayMoniker)\n}\n","import type { AccountBalanceHistoryItem } from '@xyo-network/xl1-sdk'\n\nexport const findMinimumBlock = (history: AccountBalanceHistoryItem[]): number => {\n // since taking Math.min of an empty array returns Infinity\n if (history.length === 0) return 0\n const blockNumbers = history.map(([blockBw]) => blockBw.block)\n const min = Math.min(...blockNumbers)\n return Math.max(min - 1, 0)\n}\n","import { useProvidedGateway } from '@xyo-network/xl1-react-client-sdk'\nimport type { XyoNetwork } from '@xyo-network/xl1-sdk'\n\nexport const useNetworkFromGateway = (): XyoNetwork | undefined => {\n const { defaultGateway } = useProvidedGateway()\n return defaultGateway?.connection?.network\n}\n","import { useProvidedGateway } from '@xyo-network/xl1-react-client-sdk'\nimport type { XyoRunner } from '@xyo-network/xl1-sdk'\n\nexport const useRunnerFromGateway = (): XyoRunner | undefined => {\n const { defaultGateway } = useProvidedGateway()\n return defaultGateway?.connection?.runner\n}\n","import { useProvidedGateway } from '@xyo-network/xl1-react-client-sdk'\nimport type { XyoViewer } from '@xyo-network/xl1-sdk'\n\nexport const useViewerFromGateway = (): XyoViewer | undefined => {\n const { defaultGateway } = useProvidedGateway()\n return defaultGateway?.connection?.viewer\n}\n","/** @deprecated Import from `@xyo-network/xl1-react-client-sdk` instead */\nexport { getXyoClient, listenForClientInjection } from '@xyo-network/xl1-react-client-sdk'\n","import type { Hash, Promisable } from '@xylabs/sdk-js'\nimport {\n assertEx, delay, forget, isDefined, isNull,\n} from '@xylabs/sdk-js'\nimport type { SignedHydratedTransaction, XyoViewer } from '@xyo-network/xl1-sdk'\n\nexport interface ConfirmationStatusUpdate {\n blockNumber: number\n confirmed: boolean\n error?: Error\n progress?: number\n remainingBlocks?: number\n}\n\nexport interface TransactionConfirmationParams {\n onStatusUpdate?: (status: ConfirmationStatusUpdate) => void\n transaction: SignedHydratedTransaction\n txHash: Hash\n viewer: XyoViewer\n}\n\nexport class TransactionConfirmationStatus {\n private readonly _params: TransactionConfirmationParams\n private active = false\n\n constructor(params: TransactionConfirmationParams) {\n this._params = params\n }\n\n get exp(): number {\n return assertEx(this.transaction[0].exp, () => 'exp is not found, transaction is not set')\n }\n\n get nbf(): number {\n return assertEx(this.transaction[0].nbf, () => 'nbf is not found, transaction is not set')\n }\n\n get onStatusUpdate(): TransactionConfirmationParams['onStatusUpdate'] {\n return this._params.onStatusUpdate\n }\n\n get params(): TransactionConfirmationParams {\n return this._params\n }\n\n get transaction(): SignedHydratedTransaction {\n return this.params.transaction\n }\n\n get txHash(): Hash {\n return this.params.txHash\n }\n\n get viewer(): XyoViewer {\n return this.params.viewer\n }\n\n static create(params: TransactionConfirmationParams): Promisable<TransactionConfirmationStatus> {\n return new TransactionConfirmationStatus(params)\n }\n\n async start(): Promise<void> {\n this.active = true\n try {\n const currentBlockNumber = await this.viewer.currentBlockNumber()\n while (isDefined(currentBlockNumber) && this.active) {\n await this.checkBlock(currentBlockNumber)\n // check block every second to see if the transaction is confirmed\n await delay(1000)\n }\n } catch (error) {\n await this.stop()\n forget(this.onStatusUpdate?.({\n error: error instanceof Error ? error : new Error('Unknown error occurred'),\n confirmed: false,\n blockNumber: 0,\n progress: 0,\n remainingBlocks: 0,\n }))\n }\n }\n\n stop(): Promisable<void> {\n this.active = false\n }\n\n private async checkBlock(blockNumber: number): Promise<void> {\n if (blockNumber < this.nbf) {\n await this.stop()\n forget(this.onStatusUpdate?.({\n error: new Error(`Block number: ${blockNumber} is before ${this.nbf}`),\n confirmed: false,\n blockNumber,\n progress: 0,\n remainingBlocks: this.exp - blockNumber,\n }))\n }\n if (blockNumber > this.exp) {\n forget(this.onStatusUpdate?.({\n confirmed: false, blockNumber, progress: 100, remainingBlocks: 0,\n }))\n return\n }\n if (blockNumber < this.exp) {\n await this.checkConfirmation(blockNumber)\n }\n }\n\n private async checkConfirmation(blockNumber: number): Promise<void> {\n const remainingBlocks = this.exp - blockNumber\n const progress = Math.round(((blockNumber - this.nbf) / (this.exp - this.nbf)) * 100)\n\n const tx = await this.viewer.transaction.byHash?.(this.txHash)\n if (isNull(tx)) {\n this.onStatusUpdate?.({\n confirmed: false, blockNumber, progress, remainingBlocks,\n })\n } else {\n this.onStatusUpdate?.({\n confirmed: true, blockNumber, progress, remainingBlocks,\n })\n await this.stop()\n }\n }\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { Address } from '@xylabs/sdk-js'\nimport { isUndefined, isUndefinedOrNull } from '@xylabs/sdk-js'\nimport type { AttoXL1, XyoViewer } from '@xyo-network/xl1-sdk'\nimport { ShiftedBigInt } from '@xyo-network/xl1-sdk'\nimport {\n useMemo, useRef, useState,\n} from 'react'\n\nexport const useAddressBalance = (\n // address to get balance for\n address?: Address,\n // viewer to use for fetching balance\n viewer?: XyoViewer,\n // refresh balance trigger\n refresh?: number,\n // reset balance trigger - clears state immediately\n reset?: number,\n) => {\n const [balancesResult, setBalancesResult] = useState<AttoXL1 | null>()\n const [loading, setLoading] = useState(false)\n const [balancesError, setBalancesError] = useState<Error>()\n\n const [previousReset, setPreviousReset] = useState<number | undefined>(reset)\n if (reset !== previousReset) {\n setPreviousReset(reset)\n setBalancesResult(undefined)\n setBalancesError(undefined)\n setLoading(false)\n }\n\n const balancePromiseRef = useRef<Promise<AttoXL1> | null>(null)\n usePromise(async () => {\n if (isUndefined(viewer) || isUndefined(address)) return\n\n setLoading(true)\n setBalancesError(undefined)\n\n // Create and store the current promise\n const currentPromise = viewer.account.balance.accountBalance(address) as Promise<AttoXL1>\n balancePromiseRef.current = currentPromise\n\n try {\n const result = await currentPromise\n // Only update state if this is still the latest promise\n if (balancePromiseRef.current === currentPromise) {\n setBalancesResult(result as AttoXL1)\n setLoading(false)\n }\n } catch (err) {\n // Only update state if this is still the latest promise\n if (balancePromiseRef.current === currentPromise) {\n console.error('Error in queued call:', err)\n setBalancesResult(undefined)\n setBalancesError(err as Error)\n setLoading(false)\n }\n }\n }, [address, viewer, refresh])\n\n const shiftedBigInt = useMemo(() => {\n if (typeof balancesResult !== 'bigint') return\n return new ShiftedBigInt(balancesResult, {\n places: 18, maxDecimal: 18, maxCharacters: 9, minDecimals: 1, locale: navigator.language,\n })\n }, [balancesResult])\n\n const balanceIntlFriendly = useMemo(() => {\n return shiftedBigInt?.toFullString()\n }, [shiftedBigInt])\n\n const shortBalanceIntlFriendly = useMemo(() => {\n return isUndefinedOrNull(balancesResult)\n ? undefined\n : (balancesResult < 1_000_000_000_000n && balancesResult > 0n) ? '<0.00001' : shiftedBigInt?.toShortString()\n }, [balancesResult, shiftedBigInt])\n\n return {\n address,\n balanceForAddress: balancesResult,\n balanceIntlFriendly,\n shortBalanceIntlFriendly,\n error: balancesError,\n loading,\n }\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { Hash } from '@xylabs/sdk-js'\nimport {\n forget, isDefined, isHash,\n} from '@xylabs/sdk-js'\nimport { PayloadBuilder } from '@xyo-network/sdk-js'\nimport type {\n SignedHydratedTransaction, XyoRunner, XyoViewer,\n} from '@xyo-network/xl1-sdk'\nimport { useEffect, useState } from 'react'\n\nimport type { ConfirmationStatusUpdate, TransactionConfirmationParams } from './helpers/index.ts'\nimport { TransactionConfirmationStatus } from './helpers/index.ts'\n\nexport const useConfirmTransactionBase = (\n // The transaction to confirm\n transaction?: SignedHydratedTransaction,\n // Callback for when the transaction is broadcast to the network\n onBroadcast?: (hash: Hash) => void,\n // Optional callback for status updates during confirmation\n onStatusUpdate?: TransactionConfirmationParams['onStatusUpdate'],\n // Runner to use for broadcasting transactions\n runner?: XyoRunner,\n // Viewer to use for checking transaction status\n viewer?: XyoViewer,\n) => {\n const [status, setStatus] = useState<ConfirmationStatusUpdate>()\n const onStatusUpdateLocal = (newStatus: ConfirmationStatusUpdate) => {\n setStatus(newStatus)\n onStatusUpdate?.(newStatus)\n }\n\n const [transactionConfirmationStatus, transactionConfirmationError] = usePromise(async () => {\n const hasRunner = isDefined(runner)\n if (transaction && viewer) {\n const hash = hasRunner ? (await runner.broadcastTransaction(transaction)) : await PayloadBuilder.hash(transaction[0])\n if (isHash(hash)) {\n if (hasRunner && isDefined(onBroadcast)) onBroadcast(hash)\n const params: TransactionConfirmationParams = {\n onStatusUpdate: onStatusUpdateLocal,\n transaction,\n txHash: hash,\n viewer,\n }\n const instance = await TransactionConfirmationStatus.create(params)\n await instance.start()\n return instance\n } else {\n throw new Error('unexpected return type from broadcast transaction')\n }\n }\n }, [transaction, runner, viewer])\n\n useEffect(() => {\n return () => {\n if (transactionConfirmationStatus) {\n // Stop the transaction confirmation status instance when the component unmounts\n forget(transactionConfirmationStatus.stop())\n }\n }\n }, [transactionConfirmationStatus])\n\n return { status, transactionConfirmationError }\n}\n","import { type Address, asAddress } from '@xylabs/sdk-js'\nimport { assertEx } from '@xylabs/sdk-js'\nimport type { GatewayFromWallet } from '@xyo-network/xl1-react-client-sdk'\nimport { useAccountPermissions, useGatewayFromWallet } from '@xyo-network/xl1-react-client-sdk'\nimport type { GatewayName } from '@xyo-network/xl1-sdk'\nimport { MainNetwork } from '@xyo-network/xl1-sdk'\nimport { useCallback, useState } from 'react'\n\ninterface UseConnectAccountResult {\n address: Address | undefined\n connectSigner: () => Promise<Address | undefined>\n error: Error | null | undefined\n gateway: GatewayFromWallet['gateway']\n timedout: boolean | undefined\n}\n\n/** @deprecated - use version in @xyo-network/xl1-react-client-sdk instead */\nexport const useConnectAccount = (gatewayName: GatewayName = MainNetwork.id, timeout?: number): UseConnectAccountResult => {\n const [connectError, setConnectError] = useState<Error>()\n\n const {\n gateway, error, timedout,\n } = useGatewayFromWallet(gatewayName, timeout)\n\n const [accountPermissions, accountPermissionsError] = useAccountPermissions()\n\n const [address, setAddress] = useState<Address>()\n\n const connectSigner = useCallback(async () => {\n try {\n setConnectError(undefined)\n const assertedGateway = assertEx(gateway, () => `Gateway ${gatewayName} is not available`)\n const signer = assertedGateway.signer\n const address = await signer.address()\n setAddress(address)\n return address\n } catch (e) {\n setConnectError(e as Error)\n }\n }, [gateway, gatewayName])\n\n return {\n address: asAddress(accountPermissions?.[0] ?? address), connectSigner, error: error ?? accountPermissionsError ?? connectError, gateway, timedout,\n }\n}\n","import type { UsePromiseState } from '@xylabs/react-promise'\nimport { usePromise } from '@xylabs/react-promise'\nimport { isDefinedNotNull } from '@xylabs/sdk-js'\nimport type { HydratedBlockWithHashMeta, XyoViewer } from '@xyo-network/xl1-sdk'\n\nimport { useViewerFromGateway } from './gateway/index.ts'\n\n/* @deprecated - use useCurrentBlockFromGateway instead */\nexport const useCurrentBlock = (refresh = 1, viewer?: XyoViewer | null): [HydratedBlockWithHashMeta | undefined,\n Error | undefined, UsePromiseState | undefined] => {\n return usePromise(async () => {\n if (isDefinedNotNull(viewer) && refresh > 0) {\n const block = await viewer.currentBlock()\n return block\n }\n }, [viewer, refresh])\n}\n\nexport const useCurrentBlockFromGateway = (refresh = 1): [HydratedBlockWithHashMeta | undefined,\n Error | undefined, UsePromiseState | undefined] => {\n const viewer = useViewerFromGateway()\n return usePromise(async () => {\n if (isDefinedNotNull(viewer) && refresh > 0) {\n const block = await viewer.currentBlock()\n return block\n }\n }, [viewer, refresh])\n}\n","import { isUndefined } from '@xylabs/sdk-js'\nimport type { DefaultNetworkIds } from '@xyo-network/xl1-sdk'\nimport { SimpleXyoNetwork } from '@xyo-network/xl1-sdk'\nimport { useMemo } from 'react'\n\nexport const useNetwork = (id?: DefaultNetworkIds) => {\n const network = useMemo(() => {\n if (isUndefined(id)) return\n return new SimpleXyoNetwork(id)\n }, [id])\n\n return network\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { AccountInstance } from '@xyo-network/sdk-js'\nimport {\n SimpleXyoSigner, type XyoConnection, type XyoSigner,\n} from '@xyo-network/xl1-sdk'\n\nexport const useSigner = (_provider?: XyoConnection, account?: AccountInstance) => {\n return usePromise<XyoSigner | undefined>(async () => account ? await SimpleXyoSigner.create({ account }) : undefined, [account])\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport {\n delay, isDefined, isUndefined,\n} from '@xylabs/sdk-js'\nimport type { JsonRpcXyoViewer } from '@xyo-network/xl1-sdk'\nimport {\n basicRemoteViewerLocator,\n LocalNetwork,\n SequenceNetwork,\n XyoViewerMoniker,\n} from '@xyo-network/xl1-sdk'\nimport { useEffect, useState } from 'react'\n\nconst INTERVAL = 5000 // 5 seconds\n\nconst localRpcEndpoint = `${LocalNetwork.url}/rpc`\nconst sequenceRpcEndpoint = `${SequenceNetwork.url}/rpc`\n\nexport const useCheckLocalRpc = () => {\n const isLocalProducer = useCheckRpc(localRpcEndpoint)\n return isLocalProducer\n}\n\nexport const useCheckSequenceRpc = () => {\n const isSequenceRpc = useCheckRpc(sequenceRpcEndpoint)\n return isSequenceRpc\n}\n\nexport const useCheckRpc = (endpoint?: string) => {\n const [isLocalProducer, setIsLocalProducer] = useState(false)\n const [error, setError] = useState<Error>()\n\n const [viewer] = usePromise(async () => {\n if (isUndefined(endpoint)) return\n\n const locator = await basicRemoteViewerLocator(endpoint, { rpc: { protocol: 'http', url: endpoint } })\n\n const viewer = await locator.getInstance<JsonRpcXyoViewer>(XyoViewerMoniker)\n return viewer\n }, [endpoint])\n\n useEffect(() => {\n if (isUndefined(viewer)) return\n\n void (async () => {\n setError(undefined)\n while (!isLocalProducer) {\n try {\n const block = await viewer.currentBlock()\n setIsLocalProducer(isDefined(block))\n } catch (err) {\n setError(err as Error)\n setIsLocalProducer(false)\n }\n await delay(INTERVAL)\n }\n })()\n }, [isLocalProducer, viewer])\n\n return { isLocalProducer, error }\n}\n","import { type Hash, isNull } from '@xylabs/sdk-js'\nimport { PayloadBuilder } from '@xyo-network/sdk-js'\nimport type {\n DataLakeViewer, SignedHydratedBlockWithHashMeta, SignedHydratedTransactionWithHashMeta, XL1BlockNumber,\n} from '@xyo-network/xl1-sdk'\nimport {\n addDataLakePayloads,\n addDataLakePayloadsToPayloads, DataLakeViewerMoniker, JsonRpcXyoViewer,\n} from '@xyo-network/xl1-sdk'\n\n/**\n * A Viewer with data lake capabilities, it will attempt to fill in missing payloads from the\n * data lake viewer if available.\n *\n * THIS IS AN EXPERIMENTAL CLASS! Only intended to prove the data lake viewer functionality works.\n * In the future, it should be refactored to augment any viewer with data lake capabilities,\n * and not rely on inheritance from JsonRpcXyoViewer which has the 'creatable' pattern baked in.\n */\nexport class ViewerWithDataLake extends JsonRpcXyoViewer {\n protected dataLakeViewer: DataLakeViewer | undefined\n\n override async blocksByHash(hash: Hash, limit?: number): Promise<SignedHydratedBlockWithHashMeta[]> {\n const blocks = await super.blocksByHash(hash, limit)\n return await Promise.all(blocks.map(async block => (await addDataLakePayloads(block, this.dataLakeViewer))[0]))\n }\n\n override async blocksByNumber(blockNumber: XL1BlockNumber, limit?: number): Promise<SignedHydratedBlockWithHashMeta[]> {\n const blocks = await super.blocksByNumber(blockNumber, limit)\n return await Promise.all(blocks.map(async block => (await addDataLakePayloads(block, this.dataLakeViewer))[0]))\n }\n\n override async createHandler() {\n await super.createHandler()\n this.dataLakeViewer = await this.locator.tryGetInstance<DataLakeViewer>(DataLakeViewerMoniker)\n }\n\n override async payloadsByHash(hashes: Hash[]) {\n const payloads = await super.payloadsByHash(hashes)\n return (await addDataLakePayloadsToPayloads(hashes, payloads, this.dataLakeViewer))[0]\n }\n\n override async transactionByHash(hash: Hash): Promise<SignedHydratedTransactionWithHashMeta | null> {\n const transaction = await super.transaction.byHash(hash)\n if (!this.dataLakeViewer) return transaction ? [await PayloadBuilder.addHashMeta(transaction[0]), await PayloadBuilder.addHashMeta(transaction[1])] : null\n\n return isNull(transaction)\n ? transaction\n : (await addDataLakePayloads([await PayloadBuilder.addHashMeta(transaction[0]),\n await PayloadBuilder.addHashMeta(transaction[1])], this.dataLakeViewer))[0]\n }\n}\n","import { createContextEx } from '@xylabs/react-shared'\n\nimport type { XL1CurrentBlockState } from './state.ts'\n\nexport const XL1CurrentBlockContext = createContextEx<XL1CurrentBlockState>()\n","import type { XyoViewer } from '@xyo-network/xl1-sdk'\nimport type { PropsWithChildren } from 'react'\nimport React, { useMemo } from 'react'\n\nimport { XL1CurrentBlockContext } from './context.ts'\nimport type { XL1CurrentBlockPollingConfig, XL1CurrentBlockState } from './state.ts'\nimport { usePollCurrentBlock } from './usePollCurrentBlock.ts'\n\nexport const DEFAULT_POLLING_INTERVAL = 10_000\n\nexport interface XL1CurrentBlockProviderProps extends PropsWithChildren {\n pollingConfig?: XL1CurrentBlockPollingConfig\n viewer?: XyoViewer | null\n}\n\nexport const XL1CurrentBlockProvider: React.FC<XL1CurrentBlockProviderProps> = ({\n pollingConfig, viewer, children,\n}) => {\n const { interval } = useMemo(() => pollingConfig || { interval: DEFAULT_POLLING_INTERVAL }, [pollingConfig])\n const [currentBlock, currentBlockError] = usePollCurrentBlock(viewer, interval)\n\n const value: XL1CurrentBlockState = useMemo(() => ({\n block: currentBlock,\n blockNumber: currentBlock?.[0].block,\n chain: currentBlock?.[0].chain,\n error: currentBlockError,\n pollingConfig,\n provided: true,\n }), [currentBlock, currentBlockError, pollingConfig])\n\n return (\n <XL1CurrentBlockContext value={value}>\n {children}\n </XL1CurrentBlockContext>\n )\n}\n","import { isDefinedNotNull, isUndefinedOrNull } from '@xylabs/sdk-js'\nimport type { SignedHydratedBlock, XyoViewer } from '@xyo-network/xl1-sdk'\nimport {\n startTransition, useEffect, useState,\n} from 'react'\n\nconst DEFAULT_POLL_INTERVAL = 10_000\n\nexport const usePollCurrentBlock = (viewer?: XyoViewer | null, interval = DEFAULT_POLL_INTERVAL, pause = false) => {\n const [currentBlock, setCurrentBlock] = useState<SignedHydratedBlock | null>(null)\n const [error, setError] = useState<Error>()\n\n useEffect(() => {\n let isMounted = true\n // Function to fetch the current block\n const fetchBlock = async () => {\n if (isDefinedNotNull(viewer)) {\n try {\n const block = await viewer.currentBlock()\n // Safety check to ensure component is still mounted before updating state\n if (isMounted) {\n startTransition(() => {\n setCurrentBlock((existingBlock) => {\n if (isUndefinedOrNull(existingBlock)) {\n return block\n }\n if (\n isDefinedNotNull(block) && existingBlock?.[0].block !== block[0].block\n ) {\n return block\n }\n return existingBlock\n })\n })\n }\n } catch (err) {\n startTransition(() => {\n setError(err as Error)\n })\n }\n }\n }\n\n // Initial fetch\n void fetchBlock()\n\n // Polling mechanism\n const id = setInterval(() => {\n if (!pause) {\n void fetchBlock()\n }\n }, interval)\n\n return () => {\n isMounted = false\n clearInterval(id)\n }\n }, [viewer, interval, pause])\n\n return [currentBlock, error] as const\n}\n","import { useContextEx } from '@xylabs/react-shared'\n\nimport { XL1CurrentBlockContext } from './context.ts'\nimport type { XL1CurrentBlockState } from './state.ts'\n\nexport const useXl1CurrentBlockContext = (required = true) => useContextEx<XL1CurrentBlockState>(XL1CurrentBlockContext, 'XL1CurrentBlock', required)\n","/**\n * @deprecated Moved to `@xyo-network/xl1-react-client-sdk`. Import\n * `GatewayProvider` from there instead. This re-export exists only for\n * backward compatibility and will be removed in a future release.\n */\n\nexport { GatewayProvider } from '@xyo-network/xl1-react-client-sdk'\n","/**\n * @deprecated Moved to `@xyo-network/xl1-react-client-sdk`. Import\n * `InPageGatewaysContext` from there instead. This re-export exists only\n * for backward compatibility and will be removed in a future release.\n */\n\nexport { InPageGatewaysContext } from '@xyo-network/xl1-react-client-sdk'\n","/**\n * @deprecated Moved to `@xyo-network/xl1-react-client-sdk`. Import\n * `InPageGatewaysProvider` and `InPageGatewaysProviderProps` from there\n * instead. This re-export exists only for backward compatibility and\n * will be removed in a future release.\n */\n\nexport type { InPageGatewaysProviderProps } from '@xyo-network/xl1-react-client-sdk'\nexport { InPageGatewaysProvider } from '@xyo-network/xl1-react-client-sdk'\n","/**\n * @deprecated Moved to `@xyo-network/xl1-react-client-sdk`. Import\n * `useProvidedInPageGateways` from there instead. This re-export exists\n * only for backward compatibility and will be removed in a future\n * release.\n */\n\nexport { useProvidedInPageGateways } from '@xyo-network/xl1-react-client-sdk'\n"],"mappings":"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","names":["Stack","Tooltip","Typography","EthAddressWrapper","BlockiesAvatarAddress","React","ConnectedAccount","address","shortenedAddress","EthAddressWrapper","fromString","toShortString","Stack","direction","spacing","sx","alignItems","BlockiesAvatarAddress","size","Tooltip","title","Typography","variant","color","fontFamily","Alert","AlertTitle","Button","Stack","Typography","ButtonEx","isDefined","isUndefined","ErrorRender","React","useEffect","hexToBigInt","PayloadBuilder","formatAccountBalanceHistory","address","history","results","item","blockBw","txBw","transfer","transferHash","PayloadBuilder","hash","blockHash","from","to","amount","Object","entries","transfers","push","hexToBigInt","blockNumber","block","timestamp","$epoch","key","globalThis","crypto","randomUUID","txHash","_hash","debug","type","usePromise","isUndefined","hexToBigInt","isHex","toHex","balanceForRange","address","results","totalReceivedBalance","reduce","a","_block","_tx","transfer","hexToBigInt","transfers","toHex","totalSentBalance","from","Object","values","v","isHex","assertEx","isDefined","basicRemoteRunnerLocator","basicRemoteViewerLocator","DefaultNetworks","NetworkDataLakeUrls","XyoGatewayMoniker","buildGateway","gatewayName","signerTransport","network","DefaultNetworks","find","id","resolvedNetwork","assertEx","remoteConfig","rpc","protocol","url","dataLakeEndpoint","NetworkDataLakeUrls","locator","isDefined","basicRemoteRunnerLocator","basicRemoteViewerLocator","getInstance","XyoGatewayMoniker","findMinimumBlock","history","length","blockNumbers","map","blockBw","block","min","Math","max","useAccountBalanceHistory","address","viewer","maxPage","blockRange","refresh","usePromise","isUndefined","page","lastBlock","pagedHistory","resolvedStartBlock","history","account","balance","accountBalanceHistory","range","length","push","findMinimumBlock","nextHistory","formattedHistory","formatAccountBalanceHistory","balanceForRange","truncated","useProvidedGateway","useNetworkFromGateway","defaultGateway","useProvidedGateway","connection","network","useProvidedGateway","useRunnerFromGateway","defaultGateway","useProvidedGateway","connection","runner","useProvidedGateway","useViewerFromGateway","defaultGateway","useProvidedGateway","connection","viewer","getXyoClient","listenForClientInjection","assertEx","delay","forget","isDefined","isNull","TransactionConfirmationStatus","_params","active","params","exp","assertEx","transaction","nbf","onStatusUpdate","txHash","viewer","create","start","currentBlockNumber","isDefined","checkBlock","delay","error","stop","forget","Error","confirmed","blockNumber","progress","remainingBlocks","checkConfirmation","Math","round","tx","byHash","isNull","usePromise","isUndefined","isUndefinedOrNull","ShiftedBigInt","useMemo","useRef","useState","useAddressBalance","address","viewer","refresh","reset","balancesResult","setBalancesResult","useState","loading","setLoading","balancesError","setBalancesError","previousReset","setPreviousReset","undefined","balancePromiseRef","useRef","usePromise","isUndefined","currentPromise","account","balance","accountBalance","current","result","err","console","error","shiftedBigInt","useMemo","ShiftedBigInt","places","maxDecimal","maxCharacters","minDecimals","locale","navigator","language","balanceIntlFriendly","toFullString","shortBalanceIntlFriendly","isUndefinedOrNull","toShortString","balanceForAddress","usePromise","forget","isDefined","isHash","PayloadBuilder","useEffect","useState","useConfirmTransactionBase","transaction","onBroadcast","onStatusUpdate","runner","viewer","status","setStatus","useState","onStatusUpdateLocal","newStatus","transactionConfirmationStatus","transactionConfirmationError","usePromise","hasRunner","isDefined","hash","broadcastTransaction","PayloadBuilder","isHash","params","txHash","instance","TransactionConfirmationStatus","create","start","Error","useEffect","forget","stop","asAddress","assertEx","useAccountPermissions","useGatewayFromWallet","MainNetwork","useCallback","useState","useConnectAccount","gatewayName","MainNetwork","id","timeout","connectError","setConnectError","useState","gateway","error","timedout","useGatewayFromWallet","accountPermissions","accountPermissionsError","useAccountPermissions","address","setAddress","connectSigner","useCallback","undefined","assertedGateway","assertEx","signer","e","asAddress","usePromise","isDefinedNotNull","useCurrentBlock","refresh","viewer","usePromise","isDefinedNotNull","block","currentBlock","useCurrentBlockFromGateway","useViewerFromGateway","isUndefined","SimpleXyoNetwork","useMemo","useNetwork","id","network","useMemo","isUndefined","SimpleXyoNetwork","usePromise","SimpleXyoSigner","useSigner","_provider","account","usePromise","SimpleXyoSigner","create","undefined","usePromise","delay","isDefined","isUndefined","basicRemoteViewerLocator","LocalNetwork","SequenceNetwork","XyoViewerMoniker","useEffect","useState","INTERVAL","localRpcEndpoint","LocalNetwork","url","sequenceRpcEndpoint","SequenceNetwork","useCheckLocalRpc","isLocalProducer","useCheckRpc","useCheckSequenceRpc","isSequenceRpc","endpoint","setIsLocalProducer","useState","error","setError","viewer","usePromise","isUndefined","locator","basicRemoteViewerLocator","rpc","protocol","getInstance","XyoViewerMoniker","useEffect","undefined","block","currentBlock","isDefined","err","delay","isNull","PayloadBuilder","addDataLakePayloads","addDataLakePayloadsToPayloads","DataLakeViewerMoniker","JsonRpcXyoViewer","ViewerWithDataLake","JsonRpcXyoViewer","dataLakeViewer","blocksByHash","hash","limit","blocks","Promise","all","map","block","addDataLakePayloads","blocksByNumber","blockNumber","createHandler","locator","tryGetInstance","DataLakeViewerMoniker","payloadsByHash","hashes","payloads","addDataLakePayloadsToPayloads","transactionByHash","transaction","byHash","PayloadBuilder","addHashMeta","isNull","DefaultConnectComponent","props","React","ButtonEx","variant","size","DefaultNoWalletInstalledComponent","Alert","severity","AlertTitle","Typography","gutterBottom","Button","sx","display","justifySelf","href","target","rel","ConnectAccountsStack","AccountComponent","ConnectedAccount","ConnectComponent","NoWalletInstalledComponent","onAccountConnected","onCancel","timeout","address","connectSigner","error","timedout","useConnectAccount","undefined","useEffect","isDefined","Stack","direction","spacing","alignItems","Array","isArray","isUndefined","onClick","ErrorRender","scope","createContextEx","XL1CurrentBlockContext","React","useMemo","isDefinedNotNull","isUndefinedOrNull","startTransition","useEffect","useState","DEFAULT_POLL_INTERVAL","usePollCurrentBlock","viewer","interval","pause","currentBlock","setCurrentBlock","useState","error","setError","useEffect","isMounted","fetchBlock","isDefinedNotNull","block","startTransition","existingBlock","isUndefinedOrNull","err","id","setInterval","clearInterval","DEFAULT_POLLING_INTERVAL","XL1CurrentBlockProvider","pollingConfig","viewer","children","interval","useMemo","currentBlock","currentBlockError","usePollCurrentBlock","value","block","blockNumber","chain","error","provided","React","XL1CurrentBlockContext","useContextEx","useXl1CurrentBlockContext","required","useContextEx","XL1CurrentBlockContext","GatewayProvider","InPageGatewaysContext","InPageGatewaysProvider","useProvidedInPageGateways"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/react-chain-provider",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.23.0",
|
|
4
4
|
"description": "XYO Layer One API",
|
|
5
5
|
"homepage": "https://xylabs.com",
|
|
6
6
|
"bugs": {
|
|
@@ -37,17 +37,13 @@
|
|
|
37
37
|
"!**/*.test.*",
|
|
38
38
|
"README.md"
|
|
39
39
|
],
|
|
40
|
-
"dependencies": {
|
|
41
|
-
"@xyo-network/react-chain-blockies": "~1.21.3",
|
|
42
|
-
"@xyo-network/react-chain-client": "~1.21.3"
|
|
43
|
-
},
|
|
44
40
|
"devDependencies": {
|
|
45
41
|
"@bitauth/libauth": "~3.0.0",
|
|
46
|
-
"@metamask/json-rpc-engine": "^10.
|
|
42
|
+
"@metamask/json-rpc-engine": "^10.5.0",
|
|
47
43
|
"@metamask/providers": "^22.1.1",
|
|
48
44
|
"@metamask/utils": "~11.11.0",
|
|
49
|
-
"@mui/icons-material": "
|
|
50
|
-
"@mui/material": "
|
|
45
|
+
"@mui/icons-material": "~9.0",
|
|
46
|
+
"@mui/material": "~9.0",
|
|
51
47
|
"@opentelemetry/api": "^1.9.1",
|
|
52
48
|
"@opentelemetry/sdk-trace-base": "^2.7.1",
|
|
53
49
|
"@react-spring/web": "~10.0.3",
|
|
@@ -59,18 +55,18 @@
|
|
|
59
55
|
"@xylabs/fetch": "~5.1.2",
|
|
60
56
|
"@xylabs/geo": "^5.1.2",
|
|
61
57
|
"@xylabs/pixel": "~5.1.2",
|
|
62
|
-
"@xylabs/react-button": "~
|
|
63
|
-
"@xylabs/react-error": "~
|
|
64
|
-
"@xylabs/react-flexbox": "~
|
|
65
|
-
"@xylabs/react-promise": "
|
|
66
|
-
"@xylabs/react-shared": "~
|
|
67
|
-
"@xylabs/react-theme": "~
|
|
58
|
+
"@xylabs/react-button": "~8.0",
|
|
59
|
+
"@xylabs/react-error": "~8.0",
|
|
60
|
+
"@xylabs/react-flexbox": "~8.0",
|
|
61
|
+
"@xylabs/react-promise": "~8.0",
|
|
62
|
+
"@xylabs/react-shared": "~8.0",
|
|
63
|
+
"@xylabs/react-theme": "~8.0",
|
|
68
64
|
"@xylabs/sdk-js": "^5.1.2",
|
|
69
65
|
"@xylabs/threads": "~5.1.2",
|
|
70
|
-
"@xylabs/toolchain": "~7.13.
|
|
71
|
-
"@xylabs/tsconfig": "~7.13.
|
|
72
|
-
"@xylabs/tsconfig-dom": "~7.13.
|
|
73
|
-
"@xylabs/tsconfig-react": "~7.13.
|
|
66
|
+
"@xylabs/toolchain": "~7.13.24",
|
|
67
|
+
"@xylabs/tsconfig": "~7.13.24",
|
|
68
|
+
"@xylabs/tsconfig-dom": "~7.13.24",
|
|
69
|
+
"@xylabs/tsconfig-react": "~7.13.24",
|
|
74
70
|
"@xyo-network/account": "~5.6.2",
|
|
75
71
|
"@xyo-network/account-model": "~5.6.3",
|
|
76
72
|
"@xyo-network/api": "~5.6.2",
|
|
@@ -86,12 +82,14 @@
|
|
|
86
82
|
"@xyo-network/payload-plugin": "~5.6.3",
|
|
87
83
|
"@xyo-network/payload-wrapper": "~5.6.2",
|
|
88
84
|
"@xyo-network/query-payload-plugin": "~5.6.3",
|
|
89
|
-
"@xyo-network/react-error": "~
|
|
85
|
+
"@xyo-network/react-error": "~8.0",
|
|
90
86
|
"@xyo-network/sdk-js": "^5.6.4",
|
|
91
87
|
"@xyo-network/sdk-protocol-js": "~5.6.3",
|
|
92
88
|
"@xyo-network/wallet": "~5.6.2",
|
|
93
89
|
"@xyo-network/wallet-model": "^5.6.3",
|
|
94
|
-
"@xyo-network/xl1-
|
|
90
|
+
"@xyo-network/xl1-blockies": "^1.30.0",
|
|
91
|
+
"@xyo-network/xl1-react-client-sdk": "^1.30.0",
|
|
92
|
+
"@xyo-network/xl1-sdk": "^1.30.1",
|
|
95
93
|
"ajv": "^8.20.0",
|
|
96
94
|
"async-mutex": "^0.5.0",
|
|
97
95
|
"bn.js": "^5.2.3",
|
|
@@ -116,7 +114,7 @@
|
|
|
116
114
|
"query-string": "~9.3.1",
|
|
117
115
|
"react": "^19.2.6",
|
|
118
116
|
"react-dom": "^19.2.6",
|
|
119
|
-
"react-is": "
|
|
117
|
+
"react-is": "^19.2.6",
|
|
120
118
|
"react-router-dom": "^7.15.0",
|
|
121
119
|
"recharts": "~3.8.1",
|
|
122
120
|
"rollbar": "^3.1.0",
|
|
@@ -125,36 +123,35 @@
|
|
|
125
123
|
"storybook": "^10.3.6",
|
|
126
124
|
"typescript": "~5.9.3",
|
|
127
125
|
"uuid": "~14.0.0",
|
|
128
|
-
"vite": "^8.0.
|
|
129
|
-
"vitest": "^4.1.
|
|
126
|
+
"vite": "^8.0.12",
|
|
127
|
+
"vitest": "^4.1.6",
|
|
130
128
|
"wasm-feature-detect": "~1.8.0",
|
|
131
129
|
"webextension-polyfill": "^0.12.0",
|
|
132
130
|
"zod": "~4.4.3",
|
|
133
|
-
"@xyo-network/react-chain-model": "~1.
|
|
131
|
+
"@xyo-network/react-chain-model": "~1.23.0"
|
|
134
132
|
},
|
|
135
133
|
"peerDependencies": {
|
|
136
134
|
"@bitauth/libauth": "~3.0",
|
|
137
135
|
"@metamask/json-rpc-engine": "^10.3",
|
|
138
136
|
"@metamask/providers": "^22.1",
|
|
139
137
|
"@metamask/utils": "~11.11",
|
|
140
|
-
"@mui/icons-material": "
|
|
141
|
-
"@mui/material": "
|
|
138
|
+
"@mui/icons-material": "~9.0",
|
|
139
|
+
"@mui/material": "~9.0",
|
|
142
140
|
"@opentelemetry/api": "^1.9",
|
|
143
141
|
"@opentelemetry/sdk-trace-base": "^2.7",
|
|
144
142
|
"@react-spring/web": "~10.0",
|
|
145
143
|
"@rollbar/react": "~1.0",
|
|
146
144
|
"@scure/base": "~2.2",
|
|
147
145
|
"@scure/bip39": "~2.2",
|
|
148
|
-
"@storybook/react-vite": "^10.3",
|
|
149
146
|
"@xylabs/fetch": "~5.1",
|
|
150
147
|
"@xylabs/geo": "^5.1",
|
|
151
148
|
"@xylabs/pixel": "~5.1",
|
|
152
|
-
"@xylabs/react-button": "~
|
|
153
|
-
"@xylabs/react-error": "~
|
|
154
|
-
"@xylabs/react-flexbox": "~
|
|
155
|
-
"@xylabs/react-promise": "
|
|
156
|
-
"@xylabs/react-shared": "~
|
|
157
|
-
"@xylabs/react-theme": "~
|
|
149
|
+
"@xylabs/react-button": "~8.0",
|
|
150
|
+
"@xylabs/react-error": "~8.0",
|
|
151
|
+
"@xylabs/react-flexbox": "~8.0",
|
|
152
|
+
"@xylabs/react-promise": "~8.0",
|
|
153
|
+
"@xylabs/react-shared": "~8.0",
|
|
154
|
+
"@xylabs/react-theme": "~8.0",
|
|
158
155
|
"@xylabs/sdk-js": "^5.1",
|
|
159
156
|
"@xylabs/threads": "~5.1",
|
|
160
157
|
"@xyo-network/account": "~5.6",
|
|
@@ -172,11 +169,13 @@
|
|
|
172
169
|
"@xyo-network/payload-plugin": "~5.6",
|
|
173
170
|
"@xyo-network/payload-wrapper": "~5.6",
|
|
174
171
|
"@xyo-network/query-payload-plugin": "~5.6",
|
|
175
|
-
"@xyo-network/react-error": "~
|
|
172
|
+
"@xyo-network/react-error": "~8.0",
|
|
176
173
|
"@xyo-network/sdk-js": "^5.6",
|
|
177
174
|
"@xyo-network/sdk-protocol-js": "~5.6",
|
|
178
175
|
"@xyo-network/wallet": "~5.6",
|
|
179
176
|
"@xyo-network/wallet-model": "^5.6",
|
|
177
|
+
"@xyo-network/xl1-blockies": "^1.28",
|
|
178
|
+
"@xyo-network/xl1-react-client-sdk": "^1.28",
|
|
180
179
|
"@xyo-network/xl1-sdk": "^1.28",
|
|
181
180
|
"ajv": "^8.20",
|
|
182
181
|
"async-mutex": "^0.5",
|
|
@@ -200,15 +199,13 @@
|
|
|
200
199
|
"query-string": "~9.3",
|
|
201
200
|
"react": "^19.2",
|
|
202
201
|
"react-dom": "^19.2",
|
|
203
|
-
"react-is": "
|
|
202
|
+
"react-is": "^19.2",
|
|
204
203
|
"react-router-dom": "^7.15",
|
|
205
204
|
"recharts": "~3.8",
|
|
206
205
|
"rollbar": "^3.1",
|
|
207
206
|
"spark-md5": "~3.0",
|
|
208
207
|
"store2": "~2.14",
|
|
209
|
-
"storybook": "^10.3",
|
|
210
208
|
"uuid": "~14.0",
|
|
211
|
-
"vite": "^8.0",
|
|
212
209
|
"wasm-feature-detect": "~1.8",
|
|
213
210
|
"webextension-polyfill": "^0.12",
|
|
214
211
|
"zod": "~4.4"
|