@bosonprotocol/react-kit 0.36.0-alpha.18 → 0.36.0-alpha.3

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 (225) hide show
  1. package/dist/cjs/colors.d.ts +3 -5
  2. package/dist/cjs/colors.d.ts.map +1 -1
  3. package/dist/cjs/colors.js +3 -5
  4. package/dist/cjs/colors.js.map +1 -1
  5. package/dist/cjs/components/connection/index.d.ts.map +1 -1
  6. package/dist/cjs/components/connection/index.js +2 -4
  7. package/dist/cjs/components/connection/index.js.map +1 -1
  8. package/dist/cjs/components/form/Field.styles.d.ts +0 -1
  9. package/dist/cjs/components/form/Field.styles.d.ts.map +1 -1
  10. package/dist/cjs/components/form/Field.styles.js +5 -8
  11. package/dist/cjs/components/form/Field.styles.js.map +1 -1
  12. package/dist/cjs/components/form/Upload/BaseUpload.d.ts +0 -2
  13. package/dist/cjs/components/form/Upload/BaseUpload.d.ts.map +1 -1
  14. package/dist/cjs/components/image/Image.js +1 -1
  15. package/dist/cjs/components/image/Image.js.map +1 -1
  16. package/dist/cjs/components/image/Image.styles.d.ts +1 -1
  17. package/dist/cjs/components/image/Image.styles.d.ts.map +1 -1
  18. package/dist/cjs/components/image/Image.styles.js +2 -2
  19. package/dist/cjs/components/image/Image.styles.js.map +1 -1
  20. package/dist/cjs/components/modal/components/Redeem/RedeemNonModal.js +1 -2
  21. package/dist/cjs/components/modal/components/Redeem/RedeemNonModal.js.map +1 -1
  22. package/dist/cjs/components/modal/components/SellerFinance/FinanceWithdraw.js +1 -1
  23. package/dist/cjs/components/modal/components/SellerFinance/FinanceWithdraw.js.map +1 -1
  24. package/dist/cjs/components/modal/components/SellerFinance/FinancesStyles.d.ts.map +1 -1
  25. package/dist/cjs/components/modal/components/SellerFinance/FinancesStyles.js +8 -37
  26. package/dist/cjs/components/modal/components/SellerFinance/FinancesStyles.js.map +1 -1
  27. package/dist/cjs/components/ui/IpfsImage.d.ts.map +1 -1
  28. package/dist/cjs/components/ui/IpfsImage.js +31 -41
  29. package/dist/cjs/components/ui/IpfsImage.js.map +1 -1
  30. package/dist/cjs/components/ui/SvgImage.d.ts.map +1 -1
  31. package/dist/cjs/components/ui/SvgImage.js +1 -2
  32. package/dist/cjs/components/ui/SvgImage.js.map +1 -1
  33. package/dist/cjs/components/widgets/commit/CommitWidgetProviders.d.ts +2 -2
  34. package/dist/cjs/components/widgets/commit/CommitWidgetProviders.d.ts.map +1 -1
  35. package/dist/cjs/components/widgets/commit/CommitWidgetProviders.js +3 -3
  36. package/dist/cjs/components/widgets/commit/CommitWidgetProviders.js.map +1 -1
  37. package/dist/cjs/components/widgets/finance/FinanceWidgetProviders.d.ts +1 -3
  38. package/dist/cjs/components/widgets/finance/FinanceWidgetProviders.d.ts.map +1 -1
  39. package/dist/cjs/components/widgets/finance/FinanceWidgetProviders.js +12 -17
  40. package/dist/cjs/components/widgets/finance/FinanceWidgetProviders.js.map +1 -1
  41. package/dist/cjs/components/widgets/finance/useSellerRoles.d.ts +8 -1
  42. package/dist/cjs/components/widgets/finance/useSellerRoles.d.ts.map +1 -1
  43. package/dist/cjs/components/widgets/finance/useSellerRoles.js +25 -3
  44. package/dist/cjs/components/widgets/finance/useSellerRoles.js.map +1 -1
  45. package/dist/cjs/components/widgets/index.d.ts +0 -2
  46. package/dist/cjs/components/widgets/index.d.ts.map +1 -1
  47. package/dist/cjs/components/widgets/index.js +1 -4
  48. package/dist/cjs/components/widgets/index.js.map +1 -1
  49. package/dist/cjs/components/widgets/redemption/RedemptionWidgetProviders.d.ts +1 -3
  50. package/dist/cjs/components/widgets/redemption/RedemptionWidgetProviders.d.ts.map +1 -1
  51. package/dist/cjs/components/widgets/redemption/RedemptionWidgetProviders.js +17 -22
  52. package/dist/cjs/components/widgets/redemption/RedemptionWidgetProviders.js.map +1 -1
  53. package/dist/cjs/components/widgets/roblox/components/ConnectRoblox.d.ts.map +1 -1
  54. package/dist/cjs/components/widgets/roblox/components/ConnectRoblox.js +7 -11
  55. package/dist/cjs/components/widgets/roblox/components/ConnectRoblox.js.map +1 -1
  56. package/dist/cjs/components/widgets/roblox/components/LoginWithRoblox.d.ts.map +1 -1
  57. package/dist/cjs/components/widgets/roblox/components/LoginWithRoblox.js +1 -2
  58. package/dist/cjs/components/widgets/roblox/components/LoginWithRoblox.js.map +1 -1
  59. package/dist/cjs/components/widgets/roblox/components/RobloxExchangesGrid.d.ts.map +1 -1
  60. package/dist/cjs/components/widgets/roblox/components/RobloxExchangesGrid.js +1 -2
  61. package/dist/cjs/components/widgets/roblox/components/RobloxExchangesGrid.js.map +1 -1
  62. package/dist/cjs/hooks/connection/useSwitchChain.d.ts.map +1 -1
  63. package/dist/cjs/hooks/connection/useSwitchChain.js +2 -2
  64. package/dist/cjs/hooks/connection/useSwitchChain.js.map +1 -1
  65. package/dist/cjs/hooks/contracts/useBlockNumber.d.ts +5 -0
  66. package/dist/cjs/hooks/contracts/useBlockNumber.d.ts.map +1 -1
  67. package/dist/cjs/hooks/contracts/useBlockNumber.js +91 -4
  68. package/dist/cjs/hooks/contracts/useBlockNumber.js.map +1 -1
  69. package/dist/cjs/index.d.ts +0 -2
  70. package/dist/cjs/index.d.ts.map +1 -1
  71. package/dist/cjs/index.js +0 -2
  72. package/dist/cjs/index.js.map +1 -1
  73. package/dist/cjs/lib/chains/getNativeLogoURI.d.ts.map +1 -1
  74. package/dist/cjs/lib/chains/getNativeLogoURI.js +1 -2
  75. package/dist/cjs/lib/chains/getNativeLogoURI.js.map +1 -1
  76. package/dist/cjs/lib/const/chainInfo.d.ts.map +1 -1
  77. package/dist/cjs/lib/const/chainInfo.js +2 -2
  78. package/dist/cjs/lib/const/chainInfo.js.map +1 -1
  79. package/dist/cjs/lib/const/networks.d.ts.map +1 -1
  80. package/dist/cjs/lib/const/networks.js +6 -7
  81. package/dist/cjs/lib/const/networks.js.map +1 -1
  82. package/dist/cjs/lib/const/providers.d.ts +1 -1
  83. package/dist/cjs/lib/const/providers.d.ts.map +1 -1
  84. package/dist/cjs/lib/const/providers.js +1 -3
  85. package/dist/cjs/lib/const/providers.js.map +1 -1
  86. package/dist/cjs/lib/const/routing.d.ts.map +1 -1
  87. package/dist/cjs/lib/const/routing.js +0 -10
  88. package/dist/cjs/lib/const/routing.js.map +1 -1
  89. package/dist/cjs/lib/const/tokens.d.ts +3 -3
  90. package/dist/cjs/lib/const/tokens.d.ts.map +1 -1
  91. package/dist/cjs/lib/const/tokens.js +3 -5
  92. package/dist/cjs/lib/const/tokens.js.map +1 -1
  93. package/dist/esm/colors.d.ts +3 -5
  94. package/dist/esm/colors.d.ts.map +1 -1
  95. package/dist/esm/colors.js +3 -5
  96. package/dist/esm/colors.js.map +1 -1
  97. package/dist/esm/components/connection/index.d.ts.map +1 -1
  98. package/dist/esm/components/connection/index.js +2 -4
  99. package/dist/esm/components/connection/index.js.map +1 -1
  100. package/dist/esm/components/form/Field.styles.d.ts +0 -1
  101. package/dist/esm/components/form/Field.styles.d.ts.map +1 -1
  102. package/dist/esm/components/form/Field.styles.js +5 -7
  103. package/dist/esm/components/form/Field.styles.js.map +1 -1
  104. package/dist/esm/components/form/Upload/BaseUpload.d.ts +0 -2
  105. package/dist/esm/components/form/Upload/BaseUpload.d.ts.map +1 -1
  106. package/dist/esm/components/image/Image.js +2 -2
  107. package/dist/esm/components/image/Image.js.map +1 -1
  108. package/dist/esm/components/image/Image.styles.d.ts +1 -1
  109. package/dist/esm/components/image/Image.styles.d.ts.map +1 -1
  110. package/dist/esm/components/image/Image.styles.js +1 -1
  111. package/dist/esm/components/image/Image.styles.js.map +1 -1
  112. package/dist/esm/components/modal/components/Redeem/RedeemNonModal.js +1 -2
  113. package/dist/esm/components/modal/components/Redeem/RedeemNonModal.js.map +1 -1
  114. package/dist/esm/components/modal/components/SellerFinance/FinanceWithdraw.js +1 -1
  115. package/dist/esm/components/modal/components/SellerFinance/FinanceWithdraw.js.map +1 -1
  116. package/dist/esm/components/modal/components/SellerFinance/FinancesStyles.d.ts.map +1 -1
  117. package/dist/esm/components/modal/components/SellerFinance/FinancesStyles.js +5 -4
  118. package/dist/esm/components/modal/components/SellerFinance/FinancesStyles.js.map +1 -1
  119. package/dist/esm/components/ui/IpfsImage.d.ts.map +1 -1
  120. package/dist/esm/components/ui/IpfsImage.js +31 -41
  121. package/dist/esm/components/ui/IpfsImage.js.map +1 -1
  122. package/dist/esm/components/ui/SvgImage.d.ts.map +1 -1
  123. package/dist/esm/components/ui/SvgImage.js +1 -2
  124. package/dist/esm/components/ui/SvgImage.js.map +1 -1
  125. package/dist/esm/components/widgets/commit/CommitWidgetProviders.d.ts +2 -2
  126. package/dist/esm/components/widgets/commit/CommitWidgetProviders.d.ts.map +1 -1
  127. package/dist/esm/components/widgets/commit/CommitWidgetProviders.js +2 -2
  128. package/dist/esm/components/widgets/commit/CommitWidgetProviders.js.map +1 -1
  129. package/dist/esm/components/widgets/finance/FinanceWidgetProviders.d.ts +1 -3
  130. package/dist/esm/components/widgets/finance/FinanceWidgetProviders.d.ts.map +1 -1
  131. package/dist/esm/components/widgets/finance/FinanceWidgetProviders.js +12 -17
  132. package/dist/esm/components/widgets/finance/FinanceWidgetProviders.js.map +1 -1
  133. package/dist/esm/components/widgets/finance/useSellerRoles.d.ts +8 -1
  134. package/dist/esm/components/widgets/finance/useSellerRoles.d.ts.map +1 -1
  135. package/dist/esm/components/widgets/finance/useSellerRoles.js +24 -3
  136. package/dist/esm/components/widgets/finance/useSellerRoles.js.map +1 -1
  137. package/dist/esm/components/widgets/index.d.ts +0 -2
  138. package/dist/esm/components/widgets/index.d.ts.map +1 -1
  139. package/dist/esm/components/widgets/index.js +0 -2
  140. package/dist/esm/components/widgets/index.js.map +1 -1
  141. package/dist/esm/components/widgets/redemption/RedemptionWidgetProviders.d.ts +1 -3
  142. package/dist/esm/components/widgets/redemption/RedemptionWidgetProviders.d.ts.map +1 -1
  143. package/dist/esm/components/widgets/redemption/RedemptionWidgetProviders.js +17 -22
  144. package/dist/esm/components/widgets/redemption/RedemptionWidgetProviders.js.map +1 -1
  145. package/dist/esm/components/widgets/roblox/components/ConnectRoblox.d.ts.map +1 -1
  146. package/dist/esm/components/widgets/roblox/components/ConnectRoblox.js +7 -11
  147. package/dist/esm/components/widgets/roblox/components/ConnectRoblox.js.map +1 -1
  148. package/dist/esm/components/widgets/roblox/components/LoginWithRoblox.d.ts.map +1 -1
  149. package/dist/esm/components/widgets/roblox/components/LoginWithRoblox.js +1 -2
  150. package/dist/esm/components/widgets/roblox/components/LoginWithRoblox.js.map +1 -1
  151. package/dist/esm/components/widgets/roblox/components/RobloxExchangesGrid.d.ts.map +1 -1
  152. package/dist/esm/components/widgets/roblox/components/RobloxExchangesGrid.js +1 -2
  153. package/dist/esm/components/widgets/roblox/components/RobloxExchangesGrid.js.map +1 -1
  154. package/dist/esm/hooks/connection/useSwitchChain.d.ts.map +1 -1
  155. package/dist/esm/hooks/connection/useSwitchChain.js +3 -3
  156. package/dist/esm/hooks/connection/useSwitchChain.js.map +1 -1
  157. package/dist/esm/hooks/contracts/useBlockNumber.d.ts +5 -0
  158. package/dist/esm/hooks/contracts/useBlockNumber.d.ts.map +1 -1
  159. package/dist/esm/hooks/contracts/useBlockNumber.js +85 -2
  160. package/dist/esm/hooks/contracts/useBlockNumber.js.map +1 -1
  161. package/dist/esm/index.d.ts +0 -2
  162. package/dist/esm/index.d.ts.map +1 -1
  163. package/dist/esm/index.js +0 -2
  164. package/dist/esm/index.js.map +1 -1
  165. package/dist/esm/lib/chains/getNativeLogoURI.d.ts.map +1 -1
  166. package/dist/esm/lib/chains/getNativeLogoURI.js +1 -2
  167. package/dist/esm/lib/chains/getNativeLogoURI.js.map +1 -1
  168. package/dist/esm/lib/const/chainInfo.d.ts.map +1 -1
  169. package/dist/esm/lib/const/chainInfo.js +3 -3
  170. package/dist/esm/lib/const/chainInfo.js.map +1 -1
  171. package/dist/esm/lib/const/networks.d.ts.map +1 -1
  172. package/dist/esm/lib/const/networks.js +6 -7
  173. package/dist/esm/lib/const/networks.js.map +1 -1
  174. package/dist/esm/lib/const/providers.d.ts +1 -1
  175. package/dist/esm/lib/const/providers.d.ts.map +1 -1
  176. package/dist/esm/lib/const/providers.js +2 -4
  177. package/dist/esm/lib/const/providers.js.map +1 -1
  178. package/dist/esm/lib/const/routing.d.ts.map +1 -1
  179. package/dist/esm/lib/const/routing.js +1 -11
  180. package/dist/esm/lib/const/routing.js.map +1 -1
  181. package/dist/esm/lib/const/tokens.d.ts +3 -3
  182. package/dist/esm/lib/const/tokens.d.ts.map +1 -1
  183. package/dist/esm/lib/const/tokens.js +2 -5
  184. package/dist/esm/lib/const/tokens.js.map +1 -1
  185. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  186. package/package.json +4 -4
  187. package/src/colors.ts +3 -5
  188. package/src/components/connection/index.ts +2 -4
  189. package/src/components/form/Field.styles.ts +5 -8
  190. package/src/components/image/Image.styles.ts +1 -1
  191. package/src/components/image/Image.tsx +2 -2
  192. package/src/components/modal/components/Redeem/RedeemNonModal.tsx +1 -2
  193. package/src/components/modal/components/SellerFinance/FinanceWithdraw.tsx +1 -1
  194. package/src/components/modal/components/SellerFinance/FinancesStyles.tsx +5 -4
  195. package/src/components/ui/IpfsImage.tsx +53 -58
  196. package/src/components/ui/SvgImage.tsx +1 -3
  197. package/src/components/widgets/commit/CommitWidgetProviders.tsx +5 -5
  198. package/src/components/widgets/finance/FinanceWidgetProviders.tsx +28 -44
  199. package/src/components/widgets/finance/useSellerRoles.ts +38 -4
  200. package/src/components/widgets/index.tsx +0 -2
  201. package/src/components/widgets/redemption/RedemptionWidgetProviders.tsx +40 -56
  202. package/src/components/widgets/roblox/components/ConnectRoblox.tsx +8 -21
  203. package/src/components/widgets/roblox/components/LoginWithRoblox.tsx +1 -2
  204. package/src/components/widgets/roblox/components/RobloxExchangesGrid.tsx +1 -2
  205. package/src/hooks/connection/useSwitchChain.ts +3 -8
  206. package/src/hooks/contracts/useBlockNumber.tsx +127 -2
  207. package/src/index.tsx +0 -2
  208. package/src/lib/chains/getNativeLogoURI.ts +1 -2
  209. package/src/lib/const/chainInfo.ts +3 -9
  210. package/src/lib/const/networks.ts +6 -7
  211. package/src/lib/const/providers.ts +3 -10
  212. package/src/lib/const/routing.ts +1 -12
  213. package/src/lib/const/tokens.ts +7 -24
  214. package/src/stories/ConnectWallet.stories.tsx +6 -3
  215. package/src/stories/buttons/Upload.stories.tsx +1 -8
  216. package/src/stories/widgets/Roblox.stories.tsx +1 -1
  217. package/dist/cjs/hooks/contracts/BlockNumberProvider.d.ts +0 -12
  218. package/dist/cjs/hooks/contracts/BlockNumberProvider.d.ts.map +0 -1
  219. package/dist/cjs/hooks/contracts/BlockNumberProvider.js +0 -93
  220. package/dist/cjs/hooks/contracts/BlockNumberProvider.js.map +0 -1
  221. package/dist/esm/hooks/contracts/BlockNumberProvider.d.ts +0 -12
  222. package/dist/esm/hooks/contracts/BlockNumberProvider.d.ts.map +0 -1
  223. package/dist/esm/hooks/contracts/BlockNumberProvider.js +0 -86
  224. package/dist/esm/hooks/contracts/BlockNumberProvider.js.map +0 -1
  225. package/src/hooks/contracts/BlockNumberProvider.tsx +0 -126
@@ -1,5 +1,27 @@
1
- import { useContext } from "react";
2
- import { BlockNumberContext, MISSING_PROVIDER } from "./BlockNumberProvider";
1
+ import React from "react";
2
+ import { ChainId } from "@uniswap/sdk-core";
3
+ import {
4
+ createContext,
5
+ ReactNode,
6
+ useCallback,
7
+ useContext,
8
+ useEffect,
9
+ useMemo,
10
+ useState
11
+ } from "react";
12
+ import { useIsWindowVisible } from "../uniswap/useIsWindowVisible";
13
+ import { RPC_PROVIDERS } from "../../lib/const/providers";
14
+ import { useChainId, useProvider } from "../connection/connection";
15
+
16
+ const MISSING_PROVIDER = Symbol();
17
+ const BlockNumberContext = createContext<
18
+ | {
19
+ fastForward(block: number): void;
20
+ block?: number;
21
+ mainnetBlock?: number;
22
+ }
23
+ | typeof MISSING_PROVIDER
24
+ >(MISSING_PROVIDER);
3
25
 
4
26
  function useBlockNumberContext() {
5
27
  const blockNumber = useContext(BlockNumberContext);
@@ -19,3 +41,106 @@ export function useBlockNumber(): number | undefined {
19
41
  export function useMainnetBlockNumber(): number | undefined {
20
42
  return useBlockNumberContext().mainnetBlock;
21
43
  }
44
+
45
+ export function BlockNumberProvider({ children }: { children: ReactNode }) {
46
+ const activeChainId = useChainId();
47
+ const provider = useProvider();
48
+
49
+ const [{ chainId, block, mainnetBlock }, setChainBlock] = useState<{
50
+ chainId?: number;
51
+ block?: number;
52
+ mainnetBlock?: number;
53
+ }>({
54
+ chainId: activeChainId
55
+ });
56
+
57
+ const onChainBlock = useCallback((chainId: number, block: number) => {
58
+ setChainBlock((chainBlock) => {
59
+ if (chainBlock.chainId === chainId) {
60
+ if (!chainBlock.block || chainBlock.block < block) {
61
+ return {
62
+ chainId,
63
+ block,
64
+ mainnetBlock:
65
+ chainId === ChainId.MAINNET ? block : chainBlock.mainnetBlock
66
+ };
67
+ }
68
+ } else if (chainId === ChainId.MAINNET) {
69
+ if (!chainBlock.mainnetBlock || chainBlock.mainnetBlock < block) {
70
+ return { ...chainBlock, mainnetBlock: block };
71
+ }
72
+ }
73
+ return chainBlock;
74
+ });
75
+ }, []);
76
+
77
+ const windowVisible = useIsWindowVisible();
78
+ useEffect(() => {
79
+ let stale = false;
80
+
81
+ if (provider && activeChainId && windowVisible) {
82
+ // If chainId hasn't changed, don't clear the block. This prevents re-fetching still valid data.
83
+ setChainBlock((chainBlock) =>
84
+ chainBlock.chainId === activeChainId
85
+ ? chainBlock
86
+ : { chainId: activeChainId, mainnetBlock: chainBlock.mainnetBlock }
87
+ );
88
+
89
+ provider
90
+ .getBlockNumber()
91
+ .then((block) => {
92
+ if (!stale) onChainBlock(activeChainId, block);
93
+ })
94
+ .catch((error) => {
95
+ console.error(
96
+ `Failed to get block number for chainId ${activeChainId}`,
97
+ error
98
+ );
99
+ });
100
+
101
+ const onBlock = (block: number) => onChainBlock(activeChainId, block);
102
+ provider.on("block", onBlock);
103
+ return () => {
104
+ stale = true;
105
+ provider.removeListener("block", onBlock);
106
+ };
107
+ }
108
+
109
+ return void 0;
110
+ }, [activeChainId, provider, windowVisible, onChainBlock]);
111
+
112
+ useEffect(() => {
113
+ if (mainnetBlock === undefined) {
114
+ RPC_PROVIDERS[ChainId.MAINNET]
115
+ .getBlockNumber()
116
+ .then((block) => {
117
+ onChainBlock(ChainId.MAINNET, block);
118
+ })
119
+ // swallow errors - it's ok if this fails, as we'll try again if we activate mainnet
120
+ .catch(() => undefined);
121
+ }
122
+ }, [mainnetBlock, onChainBlock]);
123
+
124
+ const value = useMemo(
125
+ () => ({
126
+ fastForward: (update: number) => {
127
+ if (block && update > block) {
128
+ setChainBlock({
129
+ chainId: activeChainId,
130
+ block: update,
131
+ mainnetBlock:
132
+ activeChainId === ChainId.MAINNET ? update : mainnetBlock
133
+ });
134
+ }
135
+ },
136
+ block: chainId === activeChainId ? block : undefined,
137
+ mainnetBlock
138
+ }),
139
+ [activeChainId, block, chainId, mainnetBlock]
140
+ );
141
+ return (
142
+ <BlockNumberContext.Provider value={value}>
143
+ {children}
144
+ </BlockNumberContext.Provider>
145
+ );
146
+ }
package/src/index.tsx CHANGED
@@ -82,7 +82,6 @@ export * from "./lib/bundle/const";
82
82
  export * from "./lib/bundle/filter";
83
83
  export * from "./lib/bytes/bytesToSize";
84
84
  export * from "./lib/const/networks";
85
- export * from "./lib/copy/copyToClipboard";
86
85
  export * from "./lib/errors/transactions";
87
86
  export * from "./lib/ipfs/ipfs";
88
87
  export * from "./lib/magicLink/logout";
@@ -93,7 +92,6 @@ export * from "./lib/opensea/getOpenSeaUrl";
93
92
  export * from "./lib/promises/promises";
94
93
  export * from "./lib/url/url";
95
94
  export * from "./theme";
96
- export * from "./colors";
97
95
  export * from "./types/helpers";
98
96
  export { AuthTokenType } from "@bosonprotocol/common";
99
97
  export * from "@bosonprotocol/core-sdk";
@@ -1,7 +1,6 @@
1
1
  import { ChainId } from "@uniswap/sdk-core";
2
2
  import EthereumLogo from "../../assets/svg/ethereum_square_logo.svg";
3
3
  import MaticLogo from "../../assets/svg/matic-token-icon.svg";
4
- import { ChainId_POLYGON_AMOY } from "../const/chains";
5
4
 
6
5
  export function getNativeLogoURI(
7
6
  chainId: ChainId | number = ChainId.MAINNET
@@ -9,7 +8,7 @@ export function getNativeLogoURI(
9
8
  switch (chainId) {
10
9
  case ChainId.POLYGON:
11
10
  case ChainId.POLYGON_MUMBAI:
12
- case ChainId_POLYGON_AMOY:
11
+ case 80002:
13
12
  return MaticLogo;
14
13
  default:
15
14
  return EthereumLogo;
@@ -5,13 +5,7 @@ import polygonMaticLogo from "../../assets/svg/polygon-matic-logo.svg";
5
5
  import polygonSquareLogoUrl from "../../assets/svg/polygon_square_logo.svg";
6
6
  import ms from "ms";
7
7
 
8
- import {
9
- LocalChainId,
10
- SupportedL1ChainId,
11
- SupportedL2ChainId,
12
- ChainId_POLYGON_AMOY,
13
- ChainId_BASE_SEPOLIA
14
- } from "./chains";
8
+ import { LocalChainId, SupportedL1ChainId, SupportedL2ChainId } from "./chains";
15
9
 
16
10
  export const AVERAGE_L1_BLOCK_TIME = ms(`12s`);
17
11
 
@@ -105,7 +99,7 @@ const CHAIN_INFO: ChainInfoMap = {
105
99
  decimals: 18
106
100
  }
107
101
  },
108
- [ChainId_POLYGON_AMOY]: {
102
+ 80002: {
109
103
  networkType: NetworkType.L1,
110
104
  blockWaitMsBeforeWarning: ms(`10m`),
111
105
  bridge: "https://wallet.polygon.technology/polygon/bridge/deposit",
@@ -136,7 +130,7 @@ const CHAIN_INFO: ChainInfoMap = {
136
130
  },
137
131
  defaultListUrl: ""
138
132
  },
139
- [ChainId_BASE_SEPOLIA]: {
133
+ 84532: {
140
134
  networkType: NetworkType.L2,
141
135
  blockWaitMsBeforeWarning: ms(`10m`),
142
136
  bridge: "https://testnets.superbridge.app/base-sepolia",
@@ -1,5 +1,4 @@
1
1
  import { ChainId } from "@uniswap/sdk-core";
2
- import { ChainId_BASE_SEPOLIA, ChainId_POLYGON_AMOY } from "./chains";
3
2
 
4
3
  // TODO: comment out?
5
4
  // const QUICKNODE_BNB_RPC_URL = process.env.REACT_APP_BNB_RPC_URL;
@@ -72,7 +71,7 @@ export const FALLBACK_URLS = {
72
71
  "https://rpc-mumbai.maticvigil.com",
73
72
  "https://matic-testnet-archive-rpc.bwarelabs.com"
74
73
  ],
75
- [ChainId_POLYGON_AMOY]: [
74
+ 80002: [
76
75
  // "Safe" URLs
77
76
  "https://rpc-amoy.polygon.technology"
78
77
  ],
@@ -137,7 +136,7 @@ export const FALLBACK_URLS = {
137
136
  "https://base-goerli.blastapi.io/b5a802d8-151d-4443-90a7-699108dc4e01",
138
137
  "https://svc.blockdaemon.com/base/testnet/native?apiKey=zpka_1334e7c450464d06b6e33a972a7a4e57_75320f43"
139
138
  ],
140
- [ChainId_BASE_SEPOLIA]: [
139
+ 84532: [
141
140
  // "Safe" URLs
142
141
  "https://sepolia.base.org"
143
142
  ]
@@ -184,10 +183,10 @@ export const getRpcUrls = (infuraKey: string) => ({
184
183
  `https://polygon-mumbai.infura.io/v3/${infuraKey}`,
185
184
  ...FALLBACK_URLS[ChainId.POLYGON_MUMBAI]
186
185
  ],
187
- [ChainId_POLYGON_AMOY]: [
186
+ 80002: [
188
187
  // AMOY
189
188
  `https://polygon-amoy.infura.io/v3/${infuraKey}`,
190
- ...FALLBACK_URLS[ChainId_POLYGON_AMOY]
189
+ ...FALLBACK_URLS[80002]
191
190
  ],
192
191
  [ChainId.CELO]: FALLBACK_URLS[ChainId.CELO],
193
192
  [ChainId.CELO_ALFAJORES]: FALLBACK_URLS[ChainId.CELO_ALFAJORES],
@@ -206,10 +205,10 @@ export const getRpcUrls = (infuraKey: string) => ({
206
205
  `https://base-goerli.infura.io/v3/${infuraKey}`,
207
206
  ...FALLBACK_URLS[ChainId.BASE_GOERLI]
208
207
  ],
209
- [ChainId_BASE_SEPOLIA]: [
208
+ 84532: [
210
209
  // BASE_SEPOLIA
211
210
  `https://base-sepolia.infura.io/v3/${infuraKey}`,
212
- ...FALLBACK_URLS[ChainId_BASE_SEPOLIA]
211
+ ...FALLBACK_URLS[84532]
213
212
  ],
214
213
  31337: [
215
214
  `https://mainnet.infura.io/v3/${infuraKey}`,
@@ -3,15 +3,10 @@ import { deepCopy } from "@ethersproject/properties";
3
3
  // eslint-disable-next-line @typescript-eslint/no-restricted-imports
4
4
  import { StaticJsonRpcProvider } from "@ethersproject/providers";
5
5
  import { isPlain } from "@reduxjs/toolkit";
6
- import { ChainId } from "@uniswap/sdk-core";
6
+ import { ChainId, SupportedChainsType } from "@uniswap/sdk-core";
7
7
 
8
8
  import { AVERAGE_L1_BLOCK_TIME } from "./chainInfo";
9
- import {
10
- CHAIN_IDS_TO_NAMES,
11
- ChainId_BASE_SEPOLIA,
12
- ChainId_POLYGON_AMOY,
13
- SupportedChainsType
14
- } from "./chains";
9
+ import { CHAIN_IDS_TO_NAMES } from "./chains";
15
10
  import { CONFIG } from "../config/config";
16
11
  const RPC_URLS = CONFIG.rpcUrls;
17
12
 
@@ -86,12 +81,10 @@ export const RPC_PROVIDERS: {
86
81
  [ChainId.ARBITRUM_GOERLI]: new AppJsonRpcProvider(ChainId.ARBITRUM_GOERLI),
87
82
  [ChainId.POLYGON]: new AppJsonRpcProvider(ChainId.POLYGON),
88
83
  [ChainId.POLYGON_MUMBAI]: new AppJsonRpcProvider(ChainId.POLYGON_MUMBAI),
89
- [ChainId_POLYGON_AMOY]: new AppJsonRpcProvider(ChainId_POLYGON_AMOY),
90
84
  [ChainId.CELO]: new AppJsonRpcProvider(ChainId.CELO),
91
85
  [ChainId.CELO_ALFAJORES]: new AppJsonRpcProvider(ChainId.CELO_ALFAJORES),
92
86
  [ChainId.BNB]: new AppJsonRpcProvider(ChainId.BNB),
93
87
  [ChainId.AVALANCHE]: new AppJsonRpcProvider(ChainId.AVALANCHE),
94
88
  [ChainId.BASE]: new AppJsonRpcProvider(ChainId.BASE),
95
- [ChainId.BASE_GOERLI]: new AppJsonRpcProvider(ChainId.BASE_GOERLI),
96
- [ChainId_BASE_SEPOLIA]: new AppJsonRpcProvider(ChainId_BASE_SEPOLIA)
89
+ [ChainId.BASE_GOERLI]: new AppJsonRpcProvider(ChainId.BASE_GOERLI)
97
90
  };
@@ -42,10 +42,8 @@ import {
42
42
  WETH_AVALANCHE,
43
43
  WETH_POLYGON,
44
44
  WETH_POLYGON_MUMBAI,
45
- WRAPPED_NATIVE_CURRENCY,
46
- WETH_POLYGON_AMOY
45
+ WRAPPED_NATIVE_CURRENCY
47
46
  } from "./tokens";
48
- import { ChainId_BASE_SEPOLIA, ChainId_POLYGON_AMOY } from "./chains";
49
47
 
50
48
  type ChainTokenList = {
51
49
  readonly [chainId: number]: Token[];
@@ -113,10 +111,6 @@ export const COMMON_BASES: ChainCurrencyList = {
113
111
  nativeOnChain(ChainId.BASE_GOERLI),
114
112
  WRAPPED_NATIVE_CURRENCY[ChainId.BASE_GOERLI] as Token
115
113
  ],
116
- [ChainId_BASE_SEPOLIA]: [
117
- nativeOnChain(ChainId_BASE_SEPOLIA),
118
- WRAPPED_NATIVE_CURRENCY[ChainId_BASE_SEPOLIA] as Token
119
- ],
120
114
  [ChainId.POLYGON]: [
121
115
  nativeOnChain(ChainId.POLYGON),
122
116
  WETH_POLYGON,
@@ -130,11 +124,6 @@ export const COMMON_BASES: ChainCurrencyList = {
130
124
  WRAPPED_NATIVE_CURRENCY[ChainId.POLYGON_MUMBAI] as Token,
131
125
  WETH_POLYGON_MUMBAI
132
126
  ],
133
- [ChainId_POLYGON_AMOY]: [
134
- nativeOnChain(ChainId_POLYGON_AMOY),
135
- WRAPPED_NATIVE_CURRENCY[ChainId_POLYGON_AMOY] as Token,
136
- WETH_POLYGON_AMOY
137
- ],
138
127
 
139
128
  [ChainId.CELO]: [
140
129
  nativeOnChain(ChainId.CELO),
@@ -7,7 +7,6 @@ import {
7
7
  WETH9
8
8
  } from "@uniswap/sdk-core";
9
9
  import invariant from "tiny-invariant";
10
- import { ChainId_BASE_SEPOLIA, ChainId_POLYGON_AMOY } from "./chains";
11
10
 
12
11
  export const NATIVE_CHAIN_ID = "NATIVE";
13
12
 
@@ -194,14 +193,6 @@ export const WETH_POLYGON_MUMBAI = new Token(
194
193
  "Wrapped Ether"
195
194
  );
196
195
 
197
- export const WETH_POLYGON_AMOY = new Token(
198
- ChainId_POLYGON_AMOY,
199
- "0x52eF3d68BaB452a294342DC3e5f464d7f610f72E",
200
- 18,
201
- "WETH",
202
- "Wrapped Ether"
203
- );
204
-
205
196
  export const WETH_POLYGON = new Token(
206
197
  ChainId.POLYGON,
207
198
  "0x7ceb23fd6bc0add59e62ac25578270cff1b9f619",
@@ -385,13 +376,6 @@ export const WRAPPED_NATIVE_CURRENCY: { [chainId: number]: Token | undefined } =
385
376
  "WETH",
386
377
  "Wrapped Ether"
387
378
  ),
388
- [ChainId_BASE_SEPOLIA]: new Token(
389
- ChainId_BASE_SEPOLIA,
390
- "0x4200000000000000000000000000000000000006",
391
- 18,
392
- "WETH",
393
- "Wrapped Ether"
394
- ),
395
379
  [ChainId.ARBITRUM_ONE]: new Token(
396
380
  ChainId.ARBITRUM_ONE,
397
381
  "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",
@@ -427,9 +411,9 @@ export const WRAPPED_NATIVE_CURRENCY: { [chainId: number]: Token | undefined } =
427
411
  "WMATIC",
428
412
  "Wrapped MATIC"
429
413
  ),
430
- [ChainId_POLYGON_AMOY]: new Token(
431
- ChainId_POLYGON_AMOY,
432
- "0x778f1b662a461695633791d03a77d992c24b588a",
414
+ 80002: new Token(
415
+ 80002,
416
+ "0x52eF3d68BaB452a294342DC3e5f464d7f610f72E",
433
417
  18,
434
418
  "WMATIC",
435
419
  "Wrapped MATIC"
@@ -481,16 +465,15 @@ function getCeloNativeCurrency(chainId: number) {
481
465
  }
482
466
  }
483
467
 
468
+ type NewType = 80002;
469
+
484
470
  export function isMatic(
485
471
  chainId: number
486
- ): chainId is
487
- | ChainId.POLYGON
488
- | ChainId.POLYGON_MUMBAI
489
- | typeof ChainId_POLYGON_AMOY {
472
+ ): chainId is ChainId.POLYGON | ChainId.POLYGON_MUMBAI | NewType {
490
473
  return (
491
474
  chainId === ChainId.POLYGON_MUMBAI ||
492
475
  chainId === ChainId.POLYGON ||
493
- chainId === ChainId_POLYGON_AMOY
476
+ chainId === 80002
494
477
  );
495
478
  }
496
479
 
@@ -20,10 +20,13 @@ import { bosonButtonThemeKeys } from "../components/ui/ThemedButton";
20
20
  import { CSSProperties, createGlobalStyle } from "styled-components";
21
21
  import { Wallet } from "phosphor-react";
22
22
  import { ReduxProvider } from "../components/widgets/ReduxProvider";
23
- import { BlockNumberProvider } from "../hooks/contracts/BlockNumberProvider";
23
+ import { BlockNumberProvider } from "../hooks/contracts/useBlockNumber";
24
24
 
25
- const successButtonTheme: ConnectWalletProps["connectWalletButtonTheme"] =
26
- bosonButtonThemes()["primary"];
25
+ const successButtonTheme: ConnectWalletProps["connectWalletButtonTheme"] = {
26
+ ...bosonButtonThemes()["primary"],
27
+ color: "inherit",
28
+ background: "var(--buttonBgColor)"
29
+ };
27
30
  const errorButtonTheme = bosonButtonThemes()["orangeInverse"];
28
31
 
29
32
  const envName =
@@ -70,14 +70,7 @@ const BASE_ARGS = {
70
70
  name,
71
71
  placeholder: "",
72
72
  withEditor: false,
73
- saveButtonTheme: undefined,
74
- theme: {
75
- triggerTheme: {
76
- media: {
77
- objectFit: "cover"
78
- }
79
- }
80
- }
73
+ saveButtonTheme: undefined
81
74
  } as const satisfies UploadProps;
82
75
 
83
76
  // More on args: https://storybook.js.org/docs/react/writing-stories/args
@@ -65,7 +65,7 @@ export const Base = {
65
65
  ipfsProjectSecret: process.env.STORYBOOK_DATA_IPFS_PROJECT_SECRET,
66
66
  sendDeliveryInfoThroughXMTP: true,
67
67
  raiseDisputeForExchangeUrl:
68
- "https://drcenter-staging.on-fleek.app/#/exchange/{id}/raise-dispute",
68
+ "https://drcenter-staging.on.fleek.co/#/exchange/{id}/raise-dispute",
69
69
  showProductsPreLogin: true,
70
70
  roundness: "mid",
71
71
  layout: "vertical"
@@ -1,12 +0,0 @@
1
- import React from "react";
2
- import { ReactNode } from "react";
3
- export declare const MISSING_PROVIDER: unique symbol;
4
- export declare const BlockNumberContext: React.Context<typeof MISSING_PROVIDER | {
5
- fastForward(block: number): void;
6
- block?: number;
7
- mainnetBlock?: number;
8
- }>;
9
- export declare function BlockNumberProvider({ children }: {
10
- children: ReactNode;
11
- }): React.JSX.Element;
12
- //# sourceMappingURL=BlockNumberProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BlockNumberProvider.d.ts","sourceRoot":"","sources":["../../../../src/hooks/contracts/BlockNumberProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAEL,SAAS,EAKV,MAAM,OAAO,CAAC;AAKf,eAAO,MAAM,gBAAgB,eAAW,CAAC;AACzC,eAAO,MAAM,kBAAkB;uBAEN,MAAM,GAAG,IAAI;YACxB,MAAM;mBACC,MAAM;EAGR,CAAC;AAEpB,wBAAgB,mBAAmB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,qBAqGxE"}
@@ -1,93 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.BlockNumberContext = exports.MISSING_PROVIDER = void 0;
7
- exports.BlockNumberProvider = BlockNumberProvider;
8
- const react_1 = __importDefault(require("react"));
9
- const sdk_core_1 = require("@uniswap/sdk-core");
10
- const react_2 = require("react");
11
- const useIsWindowVisible_1 = require("../uniswap/useIsWindowVisible");
12
- const providers_1 = require("../../lib/const/providers");
13
- const connection_1 = require("../connection/connection");
14
- exports.MISSING_PROVIDER = Symbol();
15
- exports.BlockNumberContext = (0, react_2.createContext)(exports.MISSING_PROVIDER);
16
- function BlockNumberProvider({ children }) {
17
- const activeChainId = (0, connection_1.useChainId)();
18
- const provider = (0, connection_1.useProvider)();
19
- const [{ chainId, block, mainnetBlock }, setChainBlock] = (0, react_2.useState)({
20
- chainId: activeChainId
21
- });
22
- const onChainBlock = (0, react_2.useCallback)((chainId, block) => {
23
- setChainBlock((chainBlock) => {
24
- if (chainBlock.chainId === chainId) {
25
- if (!chainBlock.block || chainBlock.block < block) {
26
- return {
27
- chainId,
28
- block,
29
- mainnetBlock: chainId === sdk_core_1.ChainId.MAINNET ? block : chainBlock.mainnetBlock
30
- };
31
- }
32
- }
33
- else if (chainId === sdk_core_1.ChainId.MAINNET) {
34
- if (!chainBlock.mainnetBlock || chainBlock.mainnetBlock < block) {
35
- return Object.assign(Object.assign({}, chainBlock), { mainnetBlock: block });
36
- }
37
- }
38
- return chainBlock;
39
- });
40
- }, []);
41
- const windowVisible = (0, useIsWindowVisible_1.useIsWindowVisible)();
42
- (0, react_2.useEffect)(() => {
43
- let stale = false;
44
- if (provider && activeChainId && windowVisible) {
45
- // If chainId hasn't changed, don't clear the block. This prevents re-fetching still valid data.
46
- setChainBlock((chainBlock) => chainBlock.chainId === activeChainId
47
- ? chainBlock
48
- : { chainId: activeChainId, mainnetBlock: chainBlock.mainnetBlock });
49
- provider
50
- .getBlockNumber()
51
- .then((block) => {
52
- if (!stale)
53
- onChainBlock(activeChainId, block);
54
- })
55
- .catch((error) => {
56
- console.error(`Failed to get block number for chainId ${activeChainId}`, error);
57
- });
58
- const onBlock = (block) => onChainBlock(activeChainId, block);
59
- provider.on("block", onBlock);
60
- return () => {
61
- stale = true;
62
- provider.removeListener("block", onBlock);
63
- };
64
- }
65
- return void 0;
66
- }, [activeChainId, provider, windowVisible, onChainBlock]);
67
- (0, react_2.useEffect)(() => {
68
- if (mainnetBlock === undefined) {
69
- providers_1.RPC_PROVIDERS[sdk_core_1.ChainId.MAINNET]
70
- .getBlockNumber()
71
- .then((block) => {
72
- onChainBlock(sdk_core_1.ChainId.MAINNET, block);
73
- })
74
- // swallow errors - it's ok if this fails, as we'll try again if we activate mainnet
75
- .catch(() => undefined);
76
- }
77
- }, [mainnetBlock, onChainBlock]);
78
- const value = (0, react_2.useMemo)(() => ({
79
- fastForward: (update) => {
80
- if (block && update > block) {
81
- setChainBlock({
82
- chainId: activeChainId,
83
- block: update,
84
- mainnetBlock: activeChainId === sdk_core_1.ChainId.MAINNET ? update : mainnetBlock
85
- });
86
- }
87
- },
88
- block: chainId === activeChainId ? block : undefined,
89
- mainnetBlock
90
- }), [activeChainId, block, chainId, mainnetBlock]);
91
- return (react_1.default.createElement(exports.BlockNumberContext.Provider, { value: value }, children));
92
- }
93
- //# sourceMappingURL=BlockNumberProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BlockNumberProvider.js","sourceRoot":"","sources":["../../../../src/hooks/contracts/BlockNumberProvider.tsx"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import React from "react";
2
- import { ReactNode } from "react";
3
- export declare const MISSING_PROVIDER: unique symbol;
4
- export declare const BlockNumberContext: React.Context<typeof MISSING_PROVIDER | {
5
- fastForward(block: number): void;
6
- block?: number;
7
- mainnetBlock?: number;
8
- }>;
9
- export declare function BlockNumberProvider({ children }: {
10
- children: ReactNode;
11
- }): React.JSX.Element;
12
- //# sourceMappingURL=BlockNumberProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BlockNumberProvider.d.ts","sourceRoot":"","sources":["../../../../src/hooks/contracts/BlockNumberProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAEL,SAAS,EAKV,MAAM,OAAO,CAAC;AAKf,eAAO,MAAM,gBAAgB,eAAW,CAAC;AACzC,eAAO,MAAM,kBAAkB;uBAEN,MAAM,GAAG,IAAI;YACxB,MAAM;mBACC,MAAM;EAGR,CAAC;AAEpB,wBAAgB,mBAAmB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,qBAqGxE"}
@@ -1,86 +0,0 @@
1
- import React from "react";
2
- import { ChainId } from "@uniswap/sdk-core";
3
- import { createContext, useCallback, useEffect, useMemo, useState } from "react";
4
- import { useIsWindowVisible } from "../uniswap/useIsWindowVisible";
5
- import { RPC_PROVIDERS } from "../../lib/const/providers";
6
- import { useChainId, useProvider } from "../connection/connection";
7
- export const MISSING_PROVIDER = Symbol();
8
- export const BlockNumberContext = createContext(MISSING_PROVIDER);
9
- export function BlockNumberProvider({ children }) {
10
- const activeChainId = useChainId();
11
- const provider = useProvider();
12
- const [{ chainId, block, mainnetBlock }, setChainBlock] = useState({
13
- chainId: activeChainId
14
- });
15
- const onChainBlock = useCallback((chainId, block) => {
16
- setChainBlock((chainBlock) => {
17
- if (chainBlock.chainId === chainId) {
18
- if (!chainBlock.block || chainBlock.block < block) {
19
- return {
20
- chainId,
21
- block,
22
- mainnetBlock: chainId === ChainId.MAINNET ? block : chainBlock.mainnetBlock
23
- };
24
- }
25
- }
26
- else if (chainId === ChainId.MAINNET) {
27
- if (!chainBlock.mainnetBlock || chainBlock.mainnetBlock < block) {
28
- return { ...chainBlock, mainnetBlock: block };
29
- }
30
- }
31
- return chainBlock;
32
- });
33
- }, []);
34
- const windowVisible = useIsWindowVisible();
35
- useEffect(() => {
36
- let stale = false;
37
- if (provider && activeChainId && windowVisible) {
38
- // If chainId hasn't changed, don't clear the block. This prevents re-fetching still valid data.
39
- setChainBlock((chainBlock) => chainBlock.chainId === activeChainId
40
- ? chainBlock
41
- : { chainId: activeChainId, mainnetBlock: chainBlock.mainnetBlock });
42
- provider
43
- .getBlockNumber()
44
- .then((block) => {
45
- if (!stale)
46
- onChainBlock(activeChainId, block);
47
- })
48
- .catch((error) => {
49
- console.error(`Failed to get block number for chainId ${activeChainId}`, error);
50
- });
51
- const onBlock = (block) => onChainBlock(activeChainId, block);
52
- provider.on("block", onBlock);
53
- return () => {
54
- stale = true;
55
- provider.removeListener("block", onBlock);
56
- };
57
- }
58
- return void 0;
59
- }, [activeChainId, provider, windowVisible, onChainBlock]);
60
- useEffect(() => {
61
- if (mainnetBlock === undefined) {
62
- RPC_PROVIDERS[ChainId.MAINNET]
63
- .getBlockNumber()
64
- .then((block) => {
65
- onChainBlock(ChainId.MAINNET, block);
66
- })
67
- // swallow errors - it's ok if this fails, as we'll try again if we activate mainnet
68
- .catch(() => undefined);
69
- }
70
- }, [mainnetBlock, onChainBlock]);
71
- const value = useMemo(() => ({
72
- fastForward: (update) => {
73
- if (block && update > block) {
74
- setChainBlock({
75
- chainId: activeChainId,
76
- block: update,
77
- mainnetBlock: activeChainId === ChainId.MAINNET ? update : mainnetBlock
78
- });
79
- }
80
- },
81
- block: chainId === activeChainId ? block : undefined,
82
- mainnetBlock
83
- }), [activeChainId, block, chainId, mainnetBlock]);
84
- return (React.createElement(BlockNumberContext.Provider, { value: value }, children));
85
- }
86
- //# sourceMappingURL=BlockNumberProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BlockNumberProvider.js","sourceRoot":"","sources":["../../../../src/hooks/contracts/BlockNumberProvider.tsx"],"names":[],"mappings":"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"}