@bananapus/nana-sdk-react 4.0.0 → 5.0.1

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 (36) hide show
  1. package/dist/components/NativeTokenValue.d.ts +1 -1
  2. package/dist/components/NativeTokenValue.d.ts.map +1 -1
  3. package/dist/contexts/JBChainContext/JBChainContext.d.ts +1 -1
  4. package/dist/contexts/JBChainContext/JBChainContext.d.ts.map +1 -1
  5. package/dist/contexts/JBContractContext/JBContractContext.d.ts +1 -1
  6. package/dist/contexts/JBContractContext/JBContractContext.d.ts.map +1 -1
  7. package/dist/contexts/JBDataHookContext/JBCurrentDataHookProvider.d.ts +1 -1
  8. package/dist/contexts/JBDataHookContext/JBCurrentDataHookProvider.d.ts.map +1 -1
  9. package/dist/contexts/JBDataHookContext/JBDataHookContext.d.ts +1 -1
  10. package/dist/contexts/JBDataHookContext/JBDataHookContext.d.ts.map +1 -1
  11. package/dist/contexts/JBProjectMetadataContext/JBProjectMetadataContext.d.ts +1 -1
  12. package/dist/contexts/JBProjectMetadataContext/JBProjectMetadataContext.d.ts.map +1 -1
  13. package/dist/contexts/JBProjectProvider/JBProjectProvider.d.ts +1 -1
  14. package/dist/contexts/JBProjectProvider/JBProjectProvider.d.ts.map +1 -1
  15. package/dist/contexts/JBRulesetContext/JBRulesetContext.d.ts +1 -1
  16. package/dist/contexts/JBRulesetContext/JBRulesetContext.d.ts.map +1 -1
  17. package/dist/contexts/JBTerminalContext/JBPrimaryNativeTerminalProvider.d.ts +1 -1
  18. package/dist/contexts/JBTerminalContext/JBPrimaryNativeTerminalProvider.d.ts.map +1 -1
  19. package/dist/contexts/JBTerminalContext/JBTerminalContext.d.ts +1 -1
  20. package/dist/contexts/JBTerminalContext/JBTerminalContext.d.ts.map +1 -1
  21. package/dist/contexts/JBTokenContext/JBTokenContext.d.ts +1 -1
  22. package/dist/contexts/JBTokenContext/JBTokenContext.d.ts.map +1 -1
  23. package/dist/hooks/suckers/useSuckers.d.ts.map +1 -1
  24. package/dist/index.js +115 -105
  25. package/dist/index.js.map +1 -1
  26. package/dist/lib/bendystraw/useBendystrawQuery.d.ts +15 -7
  27. package/dist/lib/bendystraw/useBendystrawQuery.d.ts.map +1 -1
  28. package/dist/lib/relayr/hooks/useGetRelayrTxBundle.d.ts +4 -2
  29. package/dist/lib/relayr/hooks/useGetRelayrTxBundle.d.ts.map +1 -1
  30. package/dist/lib/relayr/hooks/useGetRelayrTxQuote.d.ts +4 -4
  31. package/dist/lib/relayr/hooks/useGetRelayrTxQuote.d.ts.map +1 -1
  32. package/dist/lib/relayr/hooks/useSendRelayrTx.d.ts.map +1 -1
  33. package/dist/lib/relayr/hooks/useSignErc2771ForwardRequest.d.ts.map +1 -1
  34. package/package.json +17 -11
  35. package/dist/hooks/jb721Hook/helpers.test.d.ts +0 -2
  36. package/dist/hooks/jb721Hook/helpers.test.d.ts.map +0 -1
@@ -9,5 +9,5 @@
9
9
  export declare function NativeTokenValue({ wei, decimals }: {
10
10
  wei: bigint;
11
11
  decimals?: number;
12
- }): import("react/jsx-runtime").JSX.Element;
12
+ }): import("react").JSX.Element;
13
13
  //# sourceMappingURL=NativeTokenValue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NativeTokenValue.d.ts","sourceRoot":"","sources":["../../src/components/NativeTokenValue.tsx"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,GAAG,EAAE,QAAY,EAAE,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,2CAWzF"}
1
+ {"version":3,"file":"NativeTokenValue.d.ts","sourceRoot":"","sources":["../../src/components/NativeTokenValue.tsx"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,GAAG,EAAE,QAAY,EAAE,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,+BAWzF"}
@@ -18,5 +18,5 @@ export declare function useJBChainId(): JBChainId | undefined;
18
18
  */
19
19
  export declare const JBChainProvider: ({ chainId, children, }: PropsWithChildren<{
20
20
  chainId: JBChainId;
21
- }>) => import("react/jsx-runtime").JSX.Element;
21
+ }>) => import("react").JSX.Element;
22
22
  //# sourceMappingURL=JBChainContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"JBChainContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/JBChainContext/JBChainContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAiB,iBAAiB,EAAc,MAAM,OAAO,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,6CAEzB,CAAC;AAEH,wBAAgB,YAAY,IAAI,SAAS,GAAG,SAAS,CAGpD;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,wBAG7B,iBAAiB,CAAC;IAAE,OAAO,EAAE,SAAS,CAAA;CAAE,CAAC,4CAI3C,CAAC"}
1
+ {"version":3,"file":"JBChainContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/JBChainContext/JBChainContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAiB,iBAAiB,EAAc,MAAM,OAAO,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,6CAEzB,CAAC;AAEH,wBAAgB,YAAY,IAAI,SAAS,GAAG,SAAS,CAGpD;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,wBAG7B,iBAAiB,CAAC;IAAE,OAAO,EAAE,SAAS,CAAA;CAAE,CAAC,gCAI3C,CAAC"}
@@ -50,5 +50,5 @@ export declare function useJBProjectId(chainId?: JBChainId): {
50
50
  *
51
51
  * If `include` arg not specified, all contracts are loaded
52
52
  */
53
- export declare const JBContractProvider: ({ projectId, include, children, version, }: JBContractProviderProps) => import("react/jsx-runtime").JSX.Element;
53
+ export declare const JBContractProvider: ({ projectId, include, children, version, }: JBContractProviderProps) => import("react").JSX.Element;
54
54
  //# sourceMappingURL=JBContractContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"JBContractContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/JBContractContext/JBContractContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAMT,SAAS,EAIT,QAAQ,EACT,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAmD,MAAM,OAAO,CAAC;AAC3F,OAAO,EAAE,OAAO,EAA+B,MAAM,MAAM,CAAC;AAG5D,OAAO,EAAE,SAAS,EAAiB,MAAM,UAAU,CAAC;AAGpD;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE;QACT,qBAAqB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QAC1C,UAAU,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QAC/B,gBAAgB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QACrC,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QAC7B,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QAC3B,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;KAC5B,CAAC;IACF,eAAe,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC;CACvE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,gDAqB5B,CAAC;AAEH,wBAAgB,oBAAoB,0BAEnC;AAGD,oBAAY,eAAe;IACzB,YAAY,IAAA;IACZ,8BAA8B,IAAA;IAC9B,kBAAkB,IAAA;IAClB,QAAQ,IAAA;IACR,QAAQ,IAAA;IACR,UAAU,IAAA;CACX;AAED,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;CAC7B,CAAC,CAAC;AAEH;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG;IACnD,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B,OAAO,EAAE,SAAS,CAAC;CACpB,CAaA;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,4CAKhC,uBAAuB,4CAgJzB,CAAC"}
1
+ {"version":3,"file":"JBContractContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/JBContractContext/JBContractContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAMT,SAAS,EAIT,QAAQ,EACT,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAmD,MAAM,OAAO,CAAC;AAC3F,OAAO,EAAE,OAAO,EAA+B,MAAM,MAAM,CAAC;AAG5D,OAAO,EAAE,SAAS,EAAiB,MAAM,UAAU,CAAC;AAGpD;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE;QACT,qBAAqB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QAC1C,UAAU,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QAC/B,gBAAgB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QACrC,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QAC7B,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QAC3B,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;KAC5B,CAAC;IACF,eAAe,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC;CACvE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,gDAqB5B,CAAC;AAEH,wBAAgB,oBAAoB,0BAEnC;AAGD,oBAAY,eAAe;IACzB,YAAY,IAAA;IACZ,8BAA8B,IAAA;IAC9B,kBAAkB,IAAA;IAClB,QAAQ,IAAA;IACR,QAAQ,IAAA;IACR,UAAU,IAAA;CACX;AAED,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;CAC7B,CAAC,CAAC;AAEH;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG;IACnD,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B,OAAO,EAAE,SAAS,CAAC;CACpB,CAaA;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,4CAKhC,uBAAuB,gCAgJzB,CAAC"}
@@ -5,5 +5,5 @@
5
5
  */
6
6
  export declare function JBCurrentDataHookProvider({ children, }: {
7
7
  children: React.ReactNode;
8
- }): import("react/jsx-runtime").JSX.Element;
8
+ }): import("react").JSX.Element;
9
9
  //# sourceMappingURL=JBCurrentDataHookProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"JBCurrentDataHookProvider.d.ts","sourceRoot":"","sources":["../../../src/contexts/JBDataHookContext/JBCurrentDataHookProvider.tsx"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CAWA"}
1
+ {"version":3,"file":"JBCurrentDataHookProvider.d.ts","sourceRoot":"","sources":["../../../src/contexts/JBDataHookContext/JBCurrentDataHookProvider.tsx"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,+BAWA"}
@@ -25,5 +25,5 @@ export type JBDataHookProviderProps = PropsWithChildren<{
25
25
  *
26
26
  * @note depends on JBContractContext
27
27
  */
28
- export declare const JBDataHookProvider: ({ dataHookAddress, children, }: JBDataHookProviderProps) => import("react/jsx-runtime").JSX.Element;
28
+ export declare const JBDataHookProvider: ({ dataHookAddress, children, }: JBDataHookProviderProps) => import("react").JSX.Element;
29
29
  //# sourceMappingURL=JBDataHookContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"JBDataHookContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/JBDataHookContext/JBDataHookContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAsC,MAAM,OAAO,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAiB,MAAM,UAAU,CAAC;AAGpD;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,SAAS,CAAC;IAC5C;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB,gDACuB,CAAC;AAEtD,wBAAgB,oBAAoB,0BAEnC;AAED,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;IACtD,eAAe,EAAE,OAAO,GAAG,SAAS,CAAC;CACtC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAAI,gCAGhC,uBAAuB,4CAqBzB,CAAC"}
1
+ {"version":3,"file":"JBDataHookContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/JBDataHookContext/JBDataHookContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAsC,MAAM,OAAO,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAiB,MAAM,UAAU,CAAC;AAGpD;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,SAAS,CAAC;IAC5C;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB,gDACuB,CAAC;AAEtD,wBAAgB,oBAAoB,0BAEnC;AAED,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;IACtD,eAAe,EAAE,OAAO,GAAG,SAAS,CAAC;CACtC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAAI,gCAGhC,uBAAuB,gCAqBzB,CAAC"}
@@ -21,5 +21,5 @@ export type JBProjectMetadataProviderProps = {
21
21
  */
22
22
  export declare const JBProjectMetadataProvider: ({ children, ipfsGatewayHostname, }: {
23
23
  children: React.ReactNode;
24
- } & JBProjectMetadataProviderProps) => import("react/jsx-runtime").JSX.Element;
24
+ } & JBProjectMetadataProviderProps) => import("react").JSX.Element;
25
25
  //# sourceMappingURL=JBProjectMetadataContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"JBProjectMetadataContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/JBProjectMetadataContext/JBProjectMetadataContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA6B,MAAM,0BAA0B,CAAC;AAExF,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAK/B,OAAO,EAAE,SAAS,EAAiB,MAAM,UAAU,CAAC;AAEpD,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,wBAAwB,mDAEnC,CAAC;AAEH,wBAAgB,2BAA2B,6BAE1C;AAED,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,mBAAmB,EACnB,mBAAmB,GACpB,EAAE;IACD,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,mBAAmB,EAAE,OAAO,GAAG,SAAS,CAAC;IACzC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,8DAiCA;AAED,MAAM,MAAM,8BAA8B,GAAG;IAC3C,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GAAI,oCAGvC;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,GAAG,8BAA8B,4CAsBjC,CAAC"}
1
+ {"version":3,"file":"JBProjectMetadataContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/JBProjectMetadataContext/JBProjectMetadataContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA6B,MAAM,0BAA0B,CAAC;AAExF,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAK/B,OAAO,EAAE,SAAS,EAAiB,MAAM,UAAU,CAAC;AAEpD,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,wBAAwB,mDAEnC,CAAC;AAEH,wBAAgB,2BAA2B,6BAE1C;AAED,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,mBAAmB,EACnB,mBAAmB,GACpB,EAAE;IACD,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,mBAAmB,EAAE,OAAO,GAAG,SAAS,CAAC;IACzC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,8DAiCA;AAED,MAAM,MAAM,8BAA8B,GAAG;IAC3C,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GAAI,oCAGvC;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,GAAG,8BAA8B,gCAsBjC,CAAC"}
@@ -30,7 +30,7 @@ export declare const JBProjectContext: import("react").Context<JBProjectContextD
30
30
  * - {@link JBFundingCycleContext}
31
31
  * - {@link JBTokenContext}
32
32
  */
33
- export declare const JBProjectProvider: ({ projectId, chainId, children, ctxProps, version, bendystraw, }: JBProjectProviderProps) => import("react/jsx-runtime").JSX.Element;
33
+ export declare const JBProjectProvider: ({ projectId, chainId, children, ctxProps, version, bendystraw, }: JBProjectProviderProps) => import("react").JSX.Element;
34
34
  export declare function useJBProject(): Omit<JBProjectContextData, "bendystraw"> | undefined;
35
35
  export declare function useBendystrawConfig(): BendystrawConfig | undefined;
36
36
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"JBProjectProvider.d.ts","sourceRoot":"","sources":["../../../src/contexts/JBProjectProvider/JBProjectProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,EAAc,MAAM,OAAO,CAAC;AAErE,OAAO,EAEL,uBAAuB,EACxB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAEL,8BAA8B,EAC/B,MAAM,sDAAsD,CAAC;AAE9D,OAAO,EAAmB,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAEzF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE,KAAK,sBAAsB,GAAG,iBAAiB,CAAC;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,oBAAoB,CAAC;QAC7B,QAAQ,CAAC,EAAE,uBAAuB,CAAC;QACnC,QAAQ,CAAC,EAAE,8BAA8B,CAAC;KAC3C,CAAC;IACF,UAAU,EAAE,gBAAgB,CAAC;CAC9B,CAAC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC;IACnB,UAAU,EAAE,gBAAgB,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,gBAAgB,2DAA6D,CAAC;AAE3F;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAAI,kEAO/B,sBAAsB,4CAkBxB,CAAC;AAEF,wBAAgB,YAAY,IAAI,IAAI,CAAC,oBAAoB,EAAE,YAAY,CAAC,GAAG,SAAS,CAEnF;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,GAAG,SAAS,CAElE"}
1
+ {"version":3,"file":"JBProjectProvider.d.ts","sourceRoot":"","sources":["../../../src/contexts/JBProjectProvider/JBProjectProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,EAAc,MAAM,OAAO,CAAC;AAErE,OAAO,EAEL,uBAAuB,EACxB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAEL,8BAA8B,EAC/B,MAAM,sDAAsD,CAAC;AAE9D,OAAO,EAAmB,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAEzF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE,KAAK,sBAAsB,GAAG,iBAAiB,CAAC;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,oBAAoB,CAAC;QAC7B,QAAQ,CAAC,EAAE,uBAAuB,CAAC;QACnC,QAAQ,CAAC,EAAE,8BAA8B,CAAC;KAC3C,CAAC;IACF,UAAU,EAAE,gBAAgB,CAAC;CAC9B,CAAC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC;IACnB,UAAU,EAAE,gBAAgB,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,gBAAgB,2DAA6D,CAAC;AAE3F;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAAI,kEAO/B,sBAAsB,gCAkBxB,CAAC;AAEF,wBAAgB,YAAY,IAAI,IAAI,CAAC,oBAAoB,EAAE,YAAY,CAAC,GAAG,SAAS,CAEnF;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,GAAG,SAAS,CAElE"}
@@ -60,5 +60,5 @@ export declare function useJBRulesetMetadata(): AsyncData<Omit<{
60
60
  */
61
61
  export declare const JBRulesetProvider: ({ children }: {
62
62
  children: React.ReactNode;
63
- }) => import("react/jsx-runtime").JSX.Element;
63
+ }) => import("react").JSX.Element;
64
64
  //# sourceMappingURL=JBRulesetContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"JBRulesetContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/JBRulesetContext/JBRulesetContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAEd,eAAe,EACf,eAAe,EACf,aAAa,EACb,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,0BAA0B,EAAE,MAAM,MAAM,CAAC;AAKlD,OAAO,EAAE,SAAS,EAAiB,MAAM,UAAU,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,OAAO,EAAE,SAAS,CAChB,IAAI,CACF,0BAA0B,CAAC,OAAO,eAAe,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,EACjF,QAAQ,GAAG,kBAAkB,CAC9B,GAAG;QACF,MAAM,EAAE,aAAa,CAAC;QACtB,gBAAgB,EAAE,gBAAgB,CAAC;KACpC,CACF,CAAC;IACF;;OAEG;IACH,eAAe,EAAE,SAAS,CACxB,IAAI,CACF,0BAA0B,CAAC,OAAO,eAAe,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,EACjF,gBAAgB,GAAG,iBAAiB,CACrC,GAAG;QACF,cAAc,EAAE,cAAc,CAAC;QAC/B,eAAe,EAAE,eAAe,CAAC;KAClC,CACF,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,2CAG3B,CAAC;AAEH,wBAAgB,mBAAmB,qBAElC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB;;;;;;;;;;;;;;;;;;;;;oBAtBd,cAAc;qBACb,eAAe;GAyBrC;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,cAAc;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,4CAyE5E,CAAC"}
1
+ {"version":3,"file":"JBRulesetContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/JBRulesetContext/JBRulesetContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAEd,eAAe,EACf,eAAe,EACf,aAAa,EACb,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,0BAA0B,EAAE,MAAM,MAAM,CAAC;AAKlD,OAAO,EAAE,SAAS,EAAiB,MAAM,UAAU,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,OAAO,EAAE,SAAS,CAChB,IAAI,CACF,0BAA0B,CAAC,OAAO,eAAe,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,EACjF,QAAQ,GAAG,kBAAkB,CAC9B,GAAG;QACF,MAAM,EAAE,aAAa,CAAC;QACtB,gBAAgB,EAAE,gBAAgB,CAAC;KACpC,CACF,CAAC;IACF;;OAEG;IACH,eAAe,EAAE,SAAS,CACxB,IAAI,CACF,0BAA0B,CAAC,OAAO,eAAe,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,EACjF,gBAAgB,GAAG,iBAAiB,CACrC,GAAG;QACF,cAAc,EAAE,cAAc,CAAC;QAC/B,eAAe,EAAE,eAAe,CAAC;KAClC,CACF,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,2CAG3B,CAAC;AAEH,wBAAgB,mBAAmB,qBAElC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB;;;;;;;;;;;;;;;;;;;;;oBAtBd,cAAc;qBACb,eAAe;GAyBrC;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,cAAc;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,gCAyE5E,CAAC"}
@@ -5,5 +5,5 @@
5
5
  */
6
6
  export declare function JBPrimaryNativeTerminalProvider({ children, }: {
7
7
  children: React.ReactNode;
8
- }): string | number | bigint | boolean | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
8
+ }): string | number | bigint | boolean | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | import("react").JSX.Element | null | undefined;
9
9
  //# sourceMappingURL=JBPrimaryNativeTerminalProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"JBPrimaryNativeTerminalProvider.d.ts","sourceRoot":"","sources":["../../../src/contexts/JBTerminalContext/JBPrimaryNativeTerminalProvider.tsx"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,EAC9C,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2WAYA"}
1
+ {"version":3,"file":"JBPrimaryNativeTerminalProvider.d.ts","sourceRoot":"","sources":["../../../src/contexts/JBTerminalContext/JBPrimaryNativeTerminalProvider.tsx"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,EAC9C,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,+VAYA"}
@@ -21,6 +21,6 @@ type JBTerminalProviderProps = PropsWithChildren<{
21
21
  /**
22
22
  * Provide details about a given terminal.
23
23
  */
24
- export declare const JBTerminalProvider: ({ address, children }: JBTerminalProviderProps) => import("react/jsx-runtime").JSX.Element;
24
+ export declare const JBTerminalProvider: ({ address, children }: JBTerminalProviderProps) => import("react").JSX.Element;
25
25
  export {};
26
26
  //# sourceMappingURL=JBTerminalContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"JBTerminalContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/JBTerminalContext/JBTerminalContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAA6B,MAAM,OAAO,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,0BAA0B,EAA+B,MAAM,MAAM,CAAC;AAExF,OAAO,EAAE,SAAS,EAAiB,MAAM,UAAU,CAAC;AAGpD;;;;GAIG;AACH,KAAK,mBAAmB,GAAG,0BAA0B,CACnD,OAAO,kBAAkB,EACzB,MAAM,EACN,sBAAsB,CACvB,CAAC,CAAC,CAAC,CAAC;AAEL,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,kBAAkB,EAAE,SAAS,CAAC,SAAS,mBAAmB,EAAE,GAAG,SAAS,CAAC,CAAC;IAC1E,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,4CAI5B,CAAC;AAEH,wBAAgB,oBAAoB,sBAEnC;AAED,KAAK,uBAAuB,GAAG,iBAAiB,CAAC;IAC/C,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9B,CAAC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,uBAAuB,uBAAuB,4CAkChF,CAAC"}
1
+ {"version":3,"file":"JBTerminalContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/JBTerminalContext/JBTerminalContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAA6B,MAAM,OAAO,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,0BAA0B,EAA+B,MAAM,MAAM,CAAC;AAExF,OAAO,EAAE,SAAS,EAAiB,MAAM,UAAU,CAAC;AAGpD;;;;GAIG;AACH,KAAK,mBAAmB,GAAG,0BAA0B,CACnD,OAAO,kBAAkB,EACzB,MAAM,EACN,sBAAsB,CACvB,CAAC,CAAC,CAAC,CAAC;AAEL,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,kBAAkB,EAAE,SAAS,CAAC,SAAS,mBAAmB,EAAE,GAAG,SAAS,CAAC,CAAC;IAC1E,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,4CAI5B,CAAC;AAEH,wBAAgB,oBAAoB,sBAEnC;AAED,KAAK,uBAAuB,GAAG,iBAAiB,CAAC;IAC/C,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9B,CAAC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,uBAAuB,uBAAuB,gCAkChF,CAAC"}
@@ -28,5 +28,5 @@ export type JBTokenProviderProps = PropsWithChildren<{
28
28
  *
29
29
  * @note depends on JBContractContext
30
30
  */
31
- export declare const JBTokenProvider: ({ children, withTotalOutstanding }: JBTokenProviderProps) => import("react/jsx-runtime").JSX.Element;
31
+ export declare const JBTokenProvider: ({ children, withTotalOutstanding, }: JBTokenProviderProps) => import("react").JSX.Element;
32
32
  //# sourceMappingURL=JBTokenContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"JBTokenContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/JBTokenContext/JBTokenContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,cAAc,EAEf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAiB,iBAAiB,EAAc,MAAM,OAAO,CAAC;AAErE,OAAO,EAA6B,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAGtE,OAAO,EAAE,SAAS,EAAiB,MAAM,UAAU,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C;;OAEG;IACH,gBAAgB,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;CAC7C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,6CAazB,CAAC;AAEH,wBAAgB,iBAAiB,uBAEhC;AAED,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;IACnD,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,oCAAoC,oBAAoB,4CAqDvF,CAAC"}
1
+ {"version":3,"file":"JBTokenContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/JBTokenContext/JBTokenContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,cAAc,EAEf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAiB,iBAAiB,EAAc,MAAM,OAAO,CAAC;AAErE,OAAO,EAA6B,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAGtE,OAAO,EAAE,SAAS,EAAiB,MAAM,UAAU,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C;;OAEG;IACH,gBAAgB,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;CAC7C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,6CAazB,CAAC;AAEH,wBAAgB,iBAAiB,uBAEhC;AAED,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;IACnD,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,qCAG7B,oBAAoB,gCAwDtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSuckers.d.ts","sourceRoot":"","sources":["../../../src/hooks/suckers/useSuckers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAS,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAgC5D;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAmBf,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAAT,SAAS;;;EAa/C"}
1
+ {"version":3,"file":"useSuckers.d.ts","sourceRoot":"","sources":["../../../src/hooks/suckers/useSuckers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAS,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAgC5D;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAqBf,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAAT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAAT,SAAS;;;EAa/C"}
package/dist/index.js CHANGED
@@ -519,7 +519,10 @@ var JBTokenContext = createContext5({
519
519
  function useJBTokenContext() {
520
520
  return useContext5(JBTokenContext);
521
521
  }
522
- var JBTokenProvider = ({ children, withTotalOutstanding }) => {
522
+ var JBTokenProvider = ({
523
+ children,
524
+ withTotalOutstanding
525
+ }) => {
523
526
  const chainId = useJBChainId();
524
527
  const {
525
528
  projectId,
@@ -534,7 +537,9 @@ var JBTokenProvider = ({ children, withTotalOutstanding }) => {
534
537
  args: [projectId],
535
538
  query: { enabled: !!projectId && !!chainId && !!version }
536
539
  });
537
- const fetchTokenEnabled = Boolean(tokenAddress && !isAddressEqual2(tokenAddress, zeroAddress2));
540
+ const fetchTokenEnabled = Boolean(
541
+ tokenAddress && !isAddressEqual2(tokenAddress, zeroAddress2)
542
+ );
538
543
  const token = useToken({
539
544
  chainId,
540
545
  address: fetchTokenEnabled ? tokenAddress : void 0,
@@ -550,7 +555,7 @@ var JBTokenProvider = ({ children, withTotalOutstanding }) => {
550
555
  enabled: withTotalOutstanding && controller?.data !== void 0
551
556
  }
552
557
  });
553
- const totalOutstandingData = totalOutstandingRes?.data ? new JBProjectToken(totalOutstandingRes?.data) : void 0;
558
+ const totalOutstandingData = totalOutstandingRes?.data !== void 0 ? new JBProjectToken(totalOutstandingRes?.data) : void 0;
554
559
  return /* @__PURE__ */ jsx6(
555
560
  JBTokenContext.Provider,
556
561
  {
@@ -654,15 +659,20 @@ function useBendystrawQuery(document, ...[variables, options]) {
654
659
  const config = useBendystrawConfig();
655
660
  const url = chainId && config ? getBendystrawUrl(chainId, config) : void 0;
656
661
  return useQuery3({
657
- queryKey: [document.definitions[0].name.value, chainId, variables],
662
+ queryKey: [
663
+ document.definitions[0].name.value,
664
+ chainId,
665
+ url,
666
+ variables
667
+ ],
658
668
  queryFn: async () => request(`${url}/graphql`, document, variables),
659
669
  enabled: options?.enabled !== false && !!chainId && !!url,
660
670
  refetchInterval: options?.pollInterval,
661
671
  retry: 3,
662
672
  retryDelay: (attemptIndex) => Math.min(1e3 * 2 ** attemptIndex, 3e4),
663
673
  // Exponential backoff
664
- staleTime: 3e4,
665
- // Consider data stale after 30 seconds
674
+ staleTime: options?.staleTime ?? 3e4,
675
+ // Consider data stale after 30 seconds by default
666
676
  gcTime: 5 * 60 * 1e3
667
677
  // Keep in cache for 5 minutes
668
678
  });
@@ -695,13 +705,15 @@ function useSuckers(args) {
695
705
  const { projectId, version } = useJBContractContext();
696
706
  const chainId = useJBChainId();
697
707
  debug9("useSuckers::args", { projectId, chainId });
698
- const { data, ...rest } = useBendystrawQuery(ProjectDocument, {
699
- projectId: Number(projectId),
700
- chainId: Number(chainId),
701
- version,
702
- staleTime: Infinity,
703
- enabled: !!chainId && enabled
704
- });
708
+ const { data, ...rest } = useBendystrawQuery(
709
+ ProjectDocument,
710
+ {
711
+ projectId: Number(projectId),
712
+ chainId: Number(chainId),
713
+ version
714
+ },
715
+ { staleTime: Infinity, enabled: !!chainId && enabled }
716
+ );
705
717
  const pairs = useMemo2(
706
718
  () => data?.project?.suckerGroup?.projects?.items.map((item) => ({
707
719
  peerChainId: item.chainId,
@@ -4059,91 +4071,65 @@ function useRequestRelayrQuote() {
4059
4071
  }
4060
4072
 
4061
4073
  // src/lib/relayr/hooks/useSignErc2771ForwardRequest.ts
4062
- import { erc2771ForwarderAbi, jbContractAddress as jbContractAddress4 } from "@bananapus/nana-sdk-core";
4074
+ import {
4075
+ erc2771ForwarderAbi,
4076
+ jbContractAddress as jbContractAddress4
4077
+ } from "@bananapus/nana-sdk-core";
4063
4078
  import { encodeFunctionData, getContract as getContract5 } from "viem";
4064
4079
  import { useAccount as useAccount3, useConfig as useConfig5, useSignTypedData, useSwitchChain } from "wagmi";
4065
4080
  function useSignErc2771ForwardRequest() {
4066
4081
  const { switchChainAsync } = useSwitchChain();
4067
4082
  const { address } = useAccount3();
4068
4083
  const config = useConfig5();
4069
- const { signTypedData } = useSignTypedData();
4084
+ const { signTypedDataAsync } = useSignTypedData();
4070
4085
  const { version: contextVersion } = useJBContractContext();
4071
4086
  async function sign(messageData, chainId, version) {
4072
- await switchChainAsync({ chainId });
4073
- return new Promise(async (resolve, reject) => {
4074
- if (!address) return;
4075
- const verifyingContract = jbContractAddress4[version ?? contextVersion]["ERC2771Forwarder"][chainId];
4076
- const deadline = Number(((Date.now() + 3600 * 48 * 1e3) / 1e3).toFixed(0));
4077
- const contract = getContract5({
4078
- address: verifyingContract,
4079
- abi: erc2771ForwarderAbi,
4080
- client: config.getClient({ chainId })
4081
- });
4082
- const nonce = await contract.read.nonces([address]);
4083
- signTypedData(
4084
- {
4085
- domain: {
4086
- name: "Juicebox",
4087
- chainId,
4088
- verifyingContract,
4089
- version: "1"
4090
- },
4091
- primaryType: "ForwardRequest",
4092
- types: {
4093
- ForwardRequest: [
4094
- {
4095
- name: "from",
4096
- type: "address"
4097
- },
4098
- {
4099
- name: "to",
4100
- type: "address"
4101
- },
4102
- {
4103
- name: "value",
4104
- type: "uint256"
4105
- },
4106
- {
4107
- name: "gas",
4108
- type: "uint256"
4109
- },
4110
- {
4111
- name: "nonce",
4112
- type: "uint256"
4113
- },
4114
- {
4115
- name: "deadline",
4116
- type: "uint48"
4117
- },
4118
- {
4119
- name: "data",
4120
- type: "bytes"
4121
- }
4122
- ]
4123
- },
4124
- message: { ...messageData, deadline, nonce }
4125
- },
4126
- {
4127
- onSuccess: (signature) => {
4128
- const executeFnEncodedData = encodeFunctionData({
4129
- abi: erc2771ForwarderAbi,
4130
- // ABI of the contract
4131
- functionName: "execute",
4132
- args: [
4133
- {
4134
- ...messageData,
4135
- deadline,
4136
- signature
4137
- }
4138
- ]
4139
- });
4140
- resolve(executeFnEncodedData);
4141
- },
4142
- onError: (e) => {
4143
- reject(e);
4144
- }
4145
- }
4087
+ if (!address) {
4088
+ throw new Error("Wallet account is not connected");
4089
+ }
4090
+ if (messageData.from.toLowerCase() !== address.toLowerCase()) {
4091
+ throw new Error(
4092
+ "Forward request signer does not match the connected account"
4146
4093
  );
4094
+ }
4095
+ await switchChainAsync({ chainId });
4096
+ const verifyingContract = jbContractAddress4[version ?? contextVersion]["ERC2771Forwarder"][chainId];
4097
+ const deadline = Number(
4098
+ ((Date.now() + 3600 * 48 * 1e3) / 1e3).toFixed(0)
4099
+ );
4100
+ const contract = getContract5({
4101
+ address: verifyingContract,
4102
+ abi: erc2771ForwarderAbi,
4103
+ client: config.getClient({ chainId })
4104
+ });
4105
+ const nonce = await contract.read.nonces([address]);
4106
+ const signature = await signTypedDataAsync({
4107
+ // Pin the checked account across the asynchronous chain/RPC work.
4108
+ account: address,
4109
+ domain: {
4110
+ name: "Juicebox",
4111
+ chainId,
4112
+ verifyingContract,
4113
+ version: "1"
4114
+ },
4115
+ primaryType: "ForwardRequest",
4116
+ types: {
4117
+ ForwardRequest: [
4118
+ { name: "from", type: "address" },
4119
+ { name: "to", type: "address" },
4120
+ { name: "value", type: "uint256" },
4121
+ { name: "gas", type: "uint256" },
4122
+ { name: "nonce", type: "uint256" },
4123
+ { name: "deadline", type: "uint48" },
4124
+ { name: "data", type: "bytes" }
4125
+ ]
4126
+ },
4127
+ message: { ...messageData, deadline, nonce }
4128
+ });
4129
+ return encodeFunctionData({
4130
+ abi: erc2771ForwarderAbi,
4131
+ functionName: "execute",
4132
+ args: [{ ...messageData, deadline, signature }]
4147
4133
  });
4148
4134
  }
4149
4135
  return {
@@ -4156,7 +4142,17 @@ function useGetRelayrTxQuote() {
4156
4142
  const requestRelayrQuote = useRequestRelayrQuote();
4157
4143
  const { sign } = useSignErc2771ForwardRequest();
4158
4144
  async function getRelayrTxQuote(data) {
4159
- if (!data) return;
4145
+ if (!data?.length) throw new Error("There are no Relayr calls to quote");
4146
+ const seenSigners = /* @__PURE__ */ new Set();
4147
+ for (const request2 of data) {
4148
+ const key = `${request2.chainId}:${request2.data.from.toLowerCase()}`;
4149
+ if (seenSigners.has(key)) {
4150
+ throw new Error(
4151
+ "Relayr supports only one forward request per account and chain"
4152
+ );
4153
+ }
4154
+ seenSigners.add(key);
4155
+ }
4160
4156
  const txDataRequest = [];
4161
4157
  for (const d of data) {
4162
4158
  const signedData = await sign(d.data, d.chainId, d.version);
@@ -4177,14 +4173,17 @@ function useGetRelayrTxQuote() {
4177
4173
  }
4178
4174
 
4179
4175
  // src/lib/relayr/hooks/useGetRelayrTxBundle.ts
4180
- import { useMemo as useMemo6, useState } from "react";
4176
+ import { useCallback as useCallback2, useMemo as useMemo6, useState } from "react";
4181
4177
  import { useQuery as useQuery9 } from "wagmi/query";
4182
4178
  var POLL_INTERVAL = 2e3;
4183
- var fetchTxBundle = async (uuid) => {
4179
+ var transactionSucceeded = (state) => state === "Success" || state === "Completed";
4180
+ var areTransactionsComplete = (response) => !!response?.transactions?.length && response.transactions.every((tx) => transactionSucceeded(tx.status.state));
4181
+ var hasTransactionFailure = (response) => !!response?.transactions?.some((tx) => tx.status.state === "Failed");
4182
+ var fetchTxBundle = async (uuid, signal) => {
4184
4183
  if (!uuid) {
4185
4184
  throw new Error("No UUID provided");
4186
4185
  }
4187
- const response = await fetch(`${API}/v1/bundle/${uuid}`);
4186
+ const response = await fetch(`${API}/v1/bundle/${uuid}`, { signal });
4188
4187
  if (!response.ok) {
4189
4188
  const errorMessage = await response.text();
4190
4189
  throw new Error(errorMessage);
@@ -4195,38 +4194,48 @@ function useGetRelayrTxBundle() {
4195
4194
  const [uuid, setUuid] = useState();
4196
4195
  const getRelayrTxBundle = useQuery9({
4197
4196
  queryKey: ["txBundle", uuid],
4198
- queryFn: () => fetchTxBundle(uuid),
4197
+ queryFn: ({ signal }) => fetchTxBundle(uuid, signal),
4199
4198
  enabled: !!uuid,
4200
- refetchInterval: (query) => query.state.data?.transactions?.every((tx) => tx?.status.state === "Success") ? false : POLL_INTERVAL
4199
+ refetchInterval: (query) => areTransactionsComplete(query.state.data) || hasTransactionFailure(query.state.data) ? false : POLL_INTERVAL
4201
4200
  });
4202
- const startPolling = (bundleUuid) => {
4203
- setUuid(bundleUuid);
4204
- getRelayrTxBundle.refetch();
4205
- };
4201
+ const startPolling = useCallback2(
4202
+ (bundleUuid) => {
4203
+ if (bundleUuid === uuid) {
4204
+ void getRelayrTxBundle.refetch();
4205
+ return;
4206
+ }
4207
+ setUuid(bundleUuid);
4208
+ },
4209
+ [getRelayrTxBundle.refetch, uuid]
4210
+ );
4206
4211
  const isComplete = useMemo6(
4207
- () => getRelayrTxBundle.data?.transactions?.every(
4208
- (tx) => tx?.status.state === "Success"
4209
- ),
4212
+ () => areTransactionsComplete(getRelayrTxBundle.data),
4213
+ [getRelayrTxBundle.data]
4214
+ );
4215
+ const hasFailed = useMemo6(
4216
+ () => hasTransactionFailure(getRelayrTxBundle.data),
4210
4217
  [getRelayrTxBundle.data]
4211
4218
  );
4212
4219
  return {
4213
4220
  startPolling,
4214
4221
  isComplete,
4222
+ hasFailed,
4215
4223
  uuid,
4216
4224
  response: getRelayrTxBundle.data,
4217
- isPolling: getRelayrTxBundle.isFetching,
4225
+ isPolling: !!uuid && !isComplete && !hasFailed,
4226
+ isFetching: getRelayrTxBundle.isFetching,
4218
4227
  error: getRelayrTxBundle.error
4219
4228
  };
4220
4229
  }
4221
4230
 
4222
4231
  // src/lib/relayr/hooks/useSendRelayrTx.ts
4223
- import { useCallback as useCallback2 } from "react";
4232
+ import { useCallback as useCallback3 } from "react";
4224
4233
  import { useChainId, useSwitchChain as useSwitchChain2, useSendTransaction } from "wagmi";
4225
4234
  function useSendRelayrTx() {
4226
4235
  const chainId = useChainId();
4227
4236
  const { switchChainAsync } = useSwitchChain2();
4228
4237
  const _sendTransaction = useSendTransaction();
4229
- const sendRelayrTx = useCallback2(
4238
+ const sendRelayrTx = useCallback3(
4230
4239
  async (chainPayment) => {
4231
4240
  try {
4232
4241
  if (chainId !== chainPayment.chain) {
@@ -4238,6 +4247,7 @@ function useSendRelayrTx() {
4238
4247
  }
4239
4248
  }
4240
4249
  const tx = await _sendTransaction.sendTransactionAsync({
4250
+ chainId: chainPayment.chain,
4241
4251
  to: chainPayment.target,
4242
4252
  value: BigInt(chainPayment.amount),
4243
4253
  data: chainPayment.calldata