@xyo-network/react-api 2.40.5 → 2.40.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/dist/cjs/address/contexts/HistoryDiviner/Context.d.ts +4 -0
  2. package/dist/cjs/address/contexts/HistoryDiviner/Context.d.ts.map +1 -0
  3. package/dist/cjs/address/contexts/HistoryDiviner/Context.js +6 -0
  4. package/dist/cjs/address/contexts/HistoryDiviner/Context.js.map +1 -0
  5. package/dist/cjs/address/contexts/HistoryDiviner/Provider.d.ts +8 -0
  6. package/dist/cjs/address/contexts/HistoryDiviner/Provider.d.ts.map +1 -0
  7. package/dist/cjs/address/contexts/HistoryDiviner/Provider.js +29 -0
  8. package/dist/cjs/address/contexts/HistoryDiviner/Provider.js.map +1 -0
  9. package/dist/cjs/address/contexts/HistoryDiviner/State.d.ts +8 -0
  10. package/dist/cjs/address/contexts/HistoryDiviner/State.d.ts.map +1 -0
  11. package/dist/cjs/address/contexts/HistoryDiviner/State.js +3 -0
  12. package/dist/cjs/address/contexts/HistoryDiviner/State.js.map +1 -0
  13. package/dist/cjs/address/contexts/HistoryDiviner/index.d.ts +6 -0
  14. package/dist/cjs/address/contexts/HistoryDiviner/index.d.ts.map +1 -0
  15. package/dist/cjs/address/contexts/HistoryDiviner/index.js +9 -0
  16. package/dist/cjs/address/contexts/HistoryDiviner/index.js.map +1 -0
  17. package/dist/cjs/address/contexts/HistoryDiviner/use.d.ts +2 -0
  18. package/dist/cjs/address/contexts/HistoryDiviner/use.d.ts.map +1 -0
  19. package/dist/cjs/address/contexts/HistoryDiviner/use.js +8 -0
  20. package/dist/cjs/address/contexts/HistoryDiviner/use.js.map +1 -0
  21. package/dist/cjs/address/contexts/HistoryDiviner/useDiviner.d.ts +3 -0
  22. package/dist/cjs/address/contexts/HistoryDiviner/useDiviner.d.ts.map +1 -0
  23. package/dist/cjs/address/contexts/HistoryDiviner/useDiviner.js +36 -0
  24. package/dist/cjs/address/contexts/HistoryDiviner/useDiviner.js.map +1 -0
  25. package/dist/cjs/address/contexts/index.d.ts +2 -0
  26. package/dist/cjs/address/contexts/index.d.ts.map +1 -0
  27. package/dist/cjs/address/contexts/index.js +5 -0
  28. package/dist/cjs/address/contexts/index.js.map +1 -0
  29. package/dist/cjs/address/index.d.ts +2 -0
  30. package/dist/cjs/address/index.d.ts.map +1 -0
  31. package/dist/cjs/address/index.js +5 -0
  32. package/dist/cjs/address/index.js.map +1 -0
  33. package/dist/cjs/index.d.ts +1 -0
  34. package/dist/cjs/index.d.ts.map +1 -1
  35. package/dist/cjs/index.js +1 -0
  36. package/dist/cjs/index.js.map +1 -1
  37. package/dist/docs.json +1316 -789
  38. package/dist/esm/address/contexts/HistoryDiviner/Context.d.ts +4 -0
  39. package/dist/esm/address/contexts/HistoryDiviner/Context.d.ts.map +1 -0
  40. package/dist/esm/address/contexts/HistoryDiviner/Context.js +3 -0
  41. package/dist/esm/address/contexts/HistoryDiviner/Context.js.map +1 -0
  42. package/dist/esm/address/contexts/HistoryDiviner/Provider.d.ts +8 -0
  43. package/dist/esm/address/contexts/HistoryDiviner/Provider.d.ts.map +1 -0
  44. package/dist/esm/address/contexts/HistoryDiviner/Provider.js +25 -0
  45. package/dist/esm/address/contexts/HistoryDiviner/Provider.js.map +1 -0
  46. package/dist/esm/address/contexts/HistoryDiviner/State.d.ts +8 -0
  47. package/dist/esm/address/contexts/HistoryDiviner/State.d.ts.map +1 -0
  48. package/dist/esm/address/contexts/HistoryDiviner/State.js +2 -0
  49. package/dist/esm/address/contexts/HistoryDiviner/State.js.map +1 -0
  50. package/dist/esm/address/contexts/HistoryDiviner/index.d.ts +6 -0
  51. package/dist/esm/address/contexts/HistoryDiviner/index.d.ts.map +1 -0
  52. package/dist/esm/address/contexts/HistoryDiviner/index.js +6 -0
  53. package/dist/esm/address/contexts/HistoryDiviner/index.js.map +1 -0
  54. package/dist/esm/address/contexts/HistoryDiviner/use.d.ts +2 -0
  55. package/dist/esm/address/contexts/HistoryDiviner/use.d.ts.map +1 -0
  56. package/dist/esm/address/contexts/HistoryDiviner/use.js +4 -0
  57. package/dist/esm/address/contexts/HistoryDiviner/use.js.map +1 -0
  58. package/dist/esm/address/contexts/HistoryDiviner/useDiviner.d.ts +3 -0
  59. package/dist/esm/address/contexts/HistoryDiviner/useDiviner.d.ts.map +1 -0
  60. package/dist/esm/address/contexts/HistoryDiviner/useDiviner.js +31 -0
  61. package/dist/esm/address/contexts/HistoryDiviner/useDiviner.js.map +1 -0
  62. package/dist/esm/address/contexts/index.d.ts +2 -0
  63. package/dist/esm/address/contexts/index.d.ts.map +1 -0
  64. package/dist/esm/address/contexts/index.js +2 -0
  65. package/dist/esm/address/contexts/index.js.map +1 -0
  66. package/dist/esm/address/index.d.ts +2 -0
  67. package/dist/esm/address/index.d.ts.map +1 -0
  68. package/dist/esm/address/index.js +2 -0
  69. package/dist/esm/address/index.js.map +1 -0
  70. package/dist/esm/index.d.ts +1 -0
  71. package/dist/esm/index.d.ts.map +1 -1
  72. package/dist/esm/index.js +1 -0
  73. package/dist/esm/index.js.map +1 -1
  74. package/package.json +5 -4
  75. package/src/address/contexts/HistoryDiviner/Context.ts +5 -0
  76. package/src/address/contexts/HistoryDiviner/Provider.tsx +39 -0
  77. package/src/address/contexts/HistoryDiviner/State.ts +8 -0
  78. package/src/address/contexts/HistoryDiviner/index.ts +5 -0
  79. package/src/address/contexts/HistoryDiviner/use.tsx +5 -0
  80. package/src/address/contexts/HistoryDiviner/useDiviner.tsx +37 -0
  81. package/src/address/contexts/index.ts +1 -0
  82. package/src/address/index.ts +1 -0
  83. package/src/index.ts +1 -0
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { AddressHistoryDivinerState } from './State';
3
+ export declare const AddressHistoryDivinerContext: import("react").Context<AddressHistoryDivinerState & import("@xyo-network/react-shared").ContextExState>;
4
+ //# sourceMappingURL=Context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../../../src/address/contexts/HistoryDiviner/Context.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAEpD,eAAO,MAAM,4BAA4B,0GAAgD,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { createContextEx } from '@xyo-network/react-shared';
2
+ export const AddressHistoryDivinerContext = createContextEx();
3
+ //# sourceMappingURL=Context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../../../src/address/contexts/HistoryDiviner/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAI3D,MAAM,CAAC,MAAM,4BAA4B,GAAG,eAAe,EAA8B,CAAA"}
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { XyoRemoteAddressHistoryDiviner } from '@xyo-network/api';
3
+ import { ContextExProviderProps } from '@xyo-network/react-shared';
4
+ export declare type AddressHistoryDivinerProviderProps = ContextExProviderProps<{
5
+ diviner?: XyoRemoteAddressHistoryDiviner;
6
+ }>;
7
+ export declare const AddressHistoryDivinerProvider: React.FC<AddressHistoryDivinerProviderProps>;
8
+ //# sourceMappingURL=Provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../../src/address/contexts/HistoryDiviner/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAA;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAKlE,oBAAY,kCAAkC,GAAG,sBAAsB,CAAC;IACtE,OAAO,CAAC,EAAE,8BAA8B,CAAA;CACzC,CAAC,CAAA;AAEF,eAAO,MAAM,6BAA6B,EAAE,KAAK,CAAC,EAAE,CAAC,kCAAkC,CA4BtF,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
3
+ import { AddressHistoryDivinerContext } from './Context';
4
+ export const AddressHistoryDivinerProvider = ({ diviner: divinerProp, required = false, children }) => {
5
+ const [diviner, setDiviner] = useState(divinerProp);
6
+ useEffect(() => {
7
+ if (divinerProp) {
8
+ setDiviner(divinerProp);
9
+ }
10
+ }, [divinerProp, setDiviner]);
11
+ const resolveDiviner = () => {
12
+ if (divinerProp) {
13
+ return diviner === divinerProp ? diviner : undefined;
14
+ }
15
+ else {
16
+ return diviner;
17
+ }
18
+ };
19
+ return (_jsx(AddressHistoryDivinerContext.Provider, { value: {
20
+ diviner: resolveDiviner(),
21
+ provided: true,
22
+ setDiviner,
23
+ }, children: diviner ? children : required ? null : children }));
24
+ };
25
+ //# sourceMappingURL=Provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../../src/address/contexts/HistoryDiviner/Provider.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAA;AAMxD,MAAM,CAAC,MAAM,6BAA6B,GAAiD,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAClJ,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAA6C,WAAW,CAAC,CAAA;IAE/F,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,EAAE;YACf,UAAU,CAAC,WAAW,CAAC,CAAA;SACxB;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAA;IAE7B,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,IAAI,WAAW,EAAE;YACf,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;SACrD;aAAM;YACL,OAAO,OAAO,CAAA;SACf;IACH,CAAC,CAAA;IAED,OAAO,CACL,KAAC,4BAA4B,CAAC,QAAQ,IACpC,KAAK,EAAE;YACL,OAAO,EAAE,cAAc,EAAE;YACzB,QAAQ,EAAE,IAAI;YACd,UAAU;SACX,YAEA,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GACV,CACzC,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { XyoRemoteAddressHistoryDiviner } from '@xyo-network/api';
2
+ import { ContextExState } from '@xyo-network/react-shared';
3
+ import { Dispatch, SetStateAction } from 'react';
4
+ export interface AddressHistoryDivinerState extends ContextExState {
5
+ diviner?: XyoRemoteAddressHistoryDiviner;
6
+ setDiviner?: Dispatch<SetStateAction<XyoRemoteAddressHistoryDiviner | undefined>>;
7
+ }
8
+ //# sourceMappingURL=State.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"State.d.ts","sourceRoot":"","sources":["../../../../../src/address/contexts/HistoryDiviner/State.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAEhD,MAAM,WAAW,0BAA2B,SAAQ,cAAc;IAChE,OAAO,CAAC,EAAE,8BAA8B,CAAA;IACxC,UAAU,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,8BAA8B,GAAG,SAAS,CAAC,CAAC,CAAA;CAClF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=State.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"State.js","sourceRoot":"","sources":["../../../../../src/address/contexts/HistoryDiviner/State.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export * from './Context';
2
+ export * from './Provider';
3
+ export * from './State';
4
+ export * from './use';
5
+ export * from './useDiviner';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/address/contexts/HistoryDiviner/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA;AACrB,cAAc,cAAc,CAAA"}
@@ -0,0 +1,6 @@
1
+ export * from './Context';
2
+ export * from './Provider';
3
+ export * from './State';
4
+ export * from './use';
5
+ export * from './useDiviner';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/address/contexts/HistoryDiviner/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA;AACrB,cAAc,cAAc,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const useAddressHistoryDiviner: (required?: boolean) => Omit<import("./State").AddressHistoryDivinerState & import("@xyo-network/react-shared").ContextExState, "provided">;
2
+ //# sourceMappingURL=use.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../../src/address/contexts/HistoryDiviner/use.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,wBAAwB,cAAe,OAAO,wHAAkF,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { useContextEx } from '@xyo-network/react-shared';
2
+ import { AddressHistoryDivinerContext } from './Context';
3
+ export const useAddressHistoryDiviner = (required) => useContextEx(AddressHistoryDivinerContext, 'AddressHistoryDiviner', required);
4
+ //# sourceMappingURL=use.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../../src/address/contexts/HistoryDiviner/use.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,OAAO,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAA;AAExD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,QAAkB,EAAE,EAAE,CAAC,YAAY,CAAC,4BAA4B,EAAE,uBAAuB,EAAE,QAAQ,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { XyoBoundWitness } from '@xyo-network/boundwitness';
2
+ export declare const useDivineAddressHistory: (address?: string) => [XyoBoundWitness[] | undefined, Error | undefined, () => void];
3
+ //# sourceMappingURL=useDiviner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDiviner.d.ts","sourceRoot":"","sources":["../../../../../src/address/contexts/HistoryDiviner/useDiviner.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAO3D,eAAO,MAAM,uBAAuB,aAAc,MAAM,KAAG,CAAC,eAAe,EAAE,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,EAAE,MAAM,IAAI,CA2BvH,CAAA"}
@@ -0,0 +1,31 @@
1
+ import { useAsyncEffect } from '@xylabs/react-shared';
2
+ import { AddressHistoryQuerySchema } from '@xyo-network/api';
3
+ import { XyoDivinerWrapper } from '@xyo-network/diviner';
4
+ import { XyoPayloadBuilder } from '@xyo-network/payload';
5
+ import { useState } from 'react';
6
+ import { useAddressHistoryDiviner } from './use';
7
+ export const useDivineAddressHistory = (address) => {
8
+ const [blocks, setBlocks] = useState();
9
+ const [error, setError] = useState();
10
+ const { diviner } = useAddressHistoryDiviner();
11
+ const [refresh, setRefresh] = useState(1);
12
+ const refreshHistory = () => setRefresh((previous) => previous + 1);
13
+ useAsyncEffect(
14
+ // eslint-disable-next-line react-hooks/exhaustive-deps
15
+ async (mounted) => {
16
+ if (diviner && address) {
17
+ try {
18
+ const source = new XyoPayloadBuilder({ schema: AddressHistoryQuerySchema }).fields({ address }).build();
19
+ const result = (await new XyoDivinerWrapper(diviner).divine([source]));
20
+ if (mounted() && result) {
21
+ setBlocks(result);
22
+ }
23
+ }
24
+ catch (e) {
25
+ setError(e);
26
+ }
27
+ }
28
+ }, [address, diviner, refresh]);
29
+ return [blocks, error, refreshHistory];
30
+ };
31
+ //# sourceMappingURL=useDiviner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDiviner.js","sourceRoot":"","sources":["../../../../../src/address/contexts/HistoryDiviner/useDiviner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAA;AAEhD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAAgB,EAAkE,EAAE;IAC1H,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,EAAqB,CAAA;IACzD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;IAC3C,MAAM,EAAE,OAAO,EAAE,GAAG,wBAAwB,EAAE,CAAA;IAC9C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAEzC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;IAEnE,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,IAAI,OAAO,IAAI,OAAO,EAAE;YACtB,IAAI;gBACF,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA;gBACvG,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAsB,CAAA;gBAC3F,IAAI,OAAO,EAAE,IAAI,MAAM,EAAE;oBACvB,SAAS,CAAC,MAAM,CAAC,CAAA;iBAClB;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,QAAQ,CAAC,CAAU,CAAC,CAAA;aACrB;SACF;IACH,CAAC,EACD,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAC5B,CAAA;IAED,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,CAAA;AACxC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './HistoryDiviner';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/address/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './HistoryDiviner';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/address/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './contexts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/address/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './contexts';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/address/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
@@ -1,3 +1,4 @@
1
+ export * from './address';
1
2
  export * from './archive';
2
3
  export * from './archives';
3
4
  export * from './components';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
package/dist/esm/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ export * from './address';
1
2
  export * from './archive';
2
3
  export * from './archives';
3
4
  export * from './components';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
package/package.json CHANGED
@@ -15,9 +15,9 @@
15
15
  "@xylabs/react-flexbox": "^2.15.1",
16
16
  "@xylabs/react-shared": "^2.15.1",
17
17
  "@xyo-network/api-models": "^2.39.6",
18
- "@xyo-network/react-archivist": "^2.40.5",
19
- "@xyo-network/react-network": "^2.40.5",
20
- "@xyo-network/react-shared": "^2.40.5",
18
+ "@xyo-network/react-archivist": "^2.40.7",
19
+ "@xyo-network/react-network": "^2.40.7",
20
+ "@xyo-network/react-shared": "^2.40.7",
21
21
  "lodash": "^4.17.21",
22
22
  "react-json-view": "^1.21.3",
23
23
  "tslib": "^2.4.1"
@@ -30,6 +30,7 @@
30
30
  "@xylabs/sdk-js": "^2.6.9",
31
31
  "@xyo-network/api": "^2.39.6",
32
32
  "@xyo-network/archivist": "^2.39.6",
33
+ "@xyo-network/boundwitness": "^2.39.6",
33
34
  "@xyo-network/diviner": "^2.39.6",
34
35
  "@xyo-network/module": "^2.39.6",
35
36
  "@xyo-network/network": "^2.39.6",
@@ -110,5 +111,5 @@
110
111
  },
111
112
  "sideEffects": false,
112
113
  "types": "dist/esm/index.d.ts",
113
- "version": "2.40.5"
114
+ "version": "2.40.7"
114
115
  }
@@ -0,0 +1,5 @@
1
+ import { createContextEx } from '@xyo-network/react-shared'
2
+
3
+ import { AddressHistoryDivinerState } from './State'
4
+
5
+ export const AddressHistoryDivinerContext = createContextEx<AddressHistoryDivinerState>()
@@ -0,0 +1,39 @@
1
+ import { XyoRemoteAddressHistoryDiviner } from '@xyo-network/api'
2
+ import { ContextExProviderProps } from '@xyo-network/react-shared'
3
+ import { useEffect, useState } from 'react'
4
+
5
+ import { AddressHistoryDivinerContext } from './Context'
6
+
7
+ export type AddressHistoryDivinerProviderProps = ContextExProviderProps<{
8
+ diviner?: XyoRemoteAddressHistoryDiviner
9
+ }>
10
+
11
+ export const AddressHistoryDivinerProvider: React.FC<AddressHistoryDivinerProviderProps> = ({ diviner: divinerProp, required = false, children }) => {
12
+ const [diviner, setDiviner] = useState<XyoRemoteAddressHistoryDiviner | undefined>(divinerProp)
13
+
14
+ useEffect(() => {
15
+ if (divinerProp) {
16
+ setDiviner(divinerProp)
17
+ }
18
+ }, [divinerProp, setDiviner])
19
+
20
+ const resolveDiviner = () => {
21
+ if (divinerProp) {
22
+ return diviner === divinerProp ? diviner : undefined
23
+ } else {
24
+ return diviner
25
+ }
26
+ }
27
+
28
+ return (
29
+ <AddressHistoryDivinerContext.Provider
30
+ value={{
31
+ diviner: resolveDiviner(),
32
+ provided: true,
33
+ setDiviner,
34
+ }}
35
+ >
36
+ {diviner ? children : required ? null : children}
37
+ </AddressHistoryDivinerContext.Provider>
38
+ )
39
+ }
@@ -0,0 +1,8 @@
1
+ import { XyoRemoteAddressHistoryDiviner } from '@xyo-network/api'
2
+ import { ContextExState } from '@xyo-network/react-shared'
3
+ import { Dispatch, SetStateAction } from 'react'
4
+
5
+ export interface AddressHistoryDivinerState extends ContextExState {
6
+ diviner?: XyoRemoteAddressHistoryDiviner
7
+ setDiviner?: Dispatch<SetStateAction<XyoRemoteAddressHistoryDiviner | undefined>>
8
+ }
@@ -0,0 +1,5 @@
1
+ export * from './Context'
2
+ export * from './Provider'
3
+ export * from './State'
4
+ export * from './use'
5
+ export * from './useDiviner'
@@ -0,0 +1,5 @@
1
+ import { useContextEx } from '@xyo-network/react-shared'
2
+
3
+ import { AddressHistoryDivinerContext } from './Context'
4
+
5
+ export const useAddressHistoryDiviner = (required?: boolean) => useContextEx(AddressHistoryDivinerContext, 'AddressHistoryDiviner', required)
@@ -0,0 +1,37 @@
1
+ import { useAsyncEffect } from '@xylabs/react-shared'
2
+ import { AddressHistoryQuerySchema } from '@xyo-network/api'
3
+ import { XyoBoundWitness } from '@xyo-network/boundwitness'
4
+ import { XyoDivinerWrapper } from '@xyo-network/diviner'
5
+ import { XyoPayloadBuilder } from '@xyo-network/payload'
6
+ import { useState } from 'react'
7
+
8
+ import { useAddressHistoryDiviner } from './use'
9
+
10
+ export const useDivineAddressHistory = (address?: string): [XyoBoundWitness[] | undefined, Error | undefined, () => void] => {
11
+ const [blocks, setBlocks] = useState<XyoBoundWitness[]>()
12
+ const [error, setError] = useState<Error>()
13
+ const { diviner } = useAddressHistoryDiviner()
14
+ const [refresh, setRefresh] = useState(1)
15
+
16
+ const refreshHistory = () => setRefresh((previous) => previous + 1)
17
+
18
+ useAsyncEffect(
19
+ // eslint-disable-next-line react-hooks/exhaustive-deps
20
+ async (mounted) => {
21
+ if (diviner && address) {
22
+ try {
23
+ const source = new XyoPayloadBuilder({ schema: AddressHistoryQuerySchema }).fields({ address }).build()
24
+ const result = (await new XyoDivinerWrapper(diviner).divine([source])) as XyoBoundWitness[]
25
+ if (mounted() && result) {
26
+ setBlocks(result)
27
+ }
28
+ } catch (e) {
29
+ setError(e as Error)
30
+ }
31
+ }
32
+ },
33
+ [address, diviner, refresh],
34
+ )
35
+
36
+ return [blocks, error, refreshHistory]
37
+ }
@@ -0,0 +1 @@
1
+ export * from './HistoryDiviner'
@@ -0,0 +1 @@
1
+ export * from './contexts'
package/src/index.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export * from './address'
1
2
  export * from './archive'
2
3
  export * from './archives'
3
4
  export * from './components'