@bosonprotocol/react-kit 0.36.0-alpha.18 → 0.36.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/colors.d.ts +3 -5
- package/dist/cjs/colors.d.ts.map +1 -1
- package/dist/cjs/colors.js +3 -5
- package/dist/cjs/colors.js.map +1 -1
- package/dist/cjs/components/connection/index.d.ts.map +1 -1
- package/dist/cjs/components/connection/index.js +2 -4
- package/dist/cjs/components/connection/index.js.map +1 -1
- package/dist/cjs/components/form/Field.styles.d.ts +0 -1
- package/dist/cjs/components/form/Field.styles.d.ts.map +1 -1
- package/dist/cjs/components/form/Field.styles.js +5 -8
- package/dist/cjs/components/form/Field.styles.js.map +1 -1
- package/dist/cjs/components/form/Upload/BaseUpload.d.ts +0 -2
- package/dist/cjs/components/form/Upload/BaseUpload.d.ts.map +1 -1
- package/dist/cjs/components/image/Image.js +1 -1
- package/dist/cjs/components/image/Image.js.map +1 -1
- package/dist/cjs/components/image/Image.styles.d.ts +1 -1
- package/dist/cjs/components/image/Image.styles.d.ts.map +1 -1
- package/dist/cjs/components/image/Image.styles.js +2 -2
- package/dist/cjs/components/image/Image.styles.js.map +1 -1
- package/dist/cjs/components/modal/components/Redeem/RedeemNonModal.js +1 -2
- package/dist/cjs/components/modal/components/Redeem/RedeemNonModal.js.map +1 -1
- package/dist/cjs/components/modal/components/SellerFinance/FinanceWithdraw.js +1 -1
- package/dist/cjs/components/modal/components/SellerFinance/FinanceWithdraw.js.map +1 -1
- package/dist/cjs/components/modal/components/SellerFinance/FinancesStyles.d.ts.map +1 -1
- package/dist/cjs/components/modal/components/SellerFinance/FinancesStyles.js +8 -37
- package/dist/cjs/components/modal/components/SellerFinance/FinancesStyles.js.map +1 -1
- package/dist/cjs/components/ui/IpfsImage.d.ts.map +1 -1
- package/dist/cjs/components/ui/IpfsImage.js +31 -41
- package/dist/cjs/components/ui/IpfsImage.js.map +1 -1
- package/dist/cjs/components/ui/SvgImage.d.ts.map +1 -1
- package/dist/cjs/components/ui/SvgImage.js +1 -2
- package/dist/cjs/components/ui/SvgImage.js.map +1 -1
- package/dist/cjs/components/widgets/commit/CommitWidgetProviders.d.ts +2 -2
- package/dist/cjs/components/widgets/commit/CommitWidgetProviders.d.ts.map +1 -1
- package/dist/cjs/components/widgets/commit/CommitWidgetProviders.js +3 -3
- package/dist/cjs/components/widgets/commit/CommitWidgetProviders.js.map +1 -1
- package/dist/cjs/components/widgets/finance/FinanceWidgetProviders.d.ts +1 -3
- package/dist/cjs/components/widgets/finance/FinanceWidgetProviders.d.ts.map +1 -1
- package/dist/cjs/components/widgets/finance/FinanceWidgetProviders.js +12 -17
- package/dist/cjs/components/widgets/finance/FinanceWidgetProviders.js.map +1 -1
- package/dist/cjs/components/widgets/finance/useSellerRoles.d.ts +8 -1
- package/dist/cjs/components/widgets/finance/useSellerRoles.d.ts.map +1 -1
- package/dist/cjs/components/widgets/finance/useSellerRoles.js +25 -3
- package/dist/cjs/components/widgets/finance/useSellerRoles.js.map +1 -1
- package/dist/cjs/components/widgets/index.d.ts +0 -2
- package/dist/cjs/components/widgets/index.d.ts.map +1 -1
- package/dist/cjs/components/widgets/index.js +1 -4
- package/dist/cjs/components/widgets/index.js.map +1 -1
- package/dist/cjs/components/widgets/redemption/RedemptionWidgetProviders.d.ts +1 -3
- package/dist/cjs/components/widgets/redemption/RedemptionWidgetProviders.d.ts.map +1 -1
- package/dist/cjs/components/widgets/redemption/RedemptionWidgetProviders.js +17 -22
- package/dist/cjs/components/widgets/redemption/RedemptionWidgetProviders.js.map +1 -1
- package/dist/cjs/components/widgets/roblox/components/ConnectRoblox.d.ts.map +1 -1
- package/dist/cjs/components/widgets/roblox/components/ConnectRoblox.js +7 -11
- package/dist/cjs/components/widgets/roblox/components/ConnectRoblox.js.map +1 -1
- package/dist/cjs/components/widgets/roblox/components/LoginWithRoblox.d.ts.map +1 -1
- package/dist/cjs/components/widgets/roblox/components/LoginWithRoblox.js +1 -2
- package/dist/cjs/components/widgets/roblox/components/LoginWithRoblox.js.map +1 -1
- package/dist/cjs/components/widgets/roblox/components/RobloxExchangesGrid.d.ts.map +1 -1
- package/dist/cjs/components/widgets/roblox/components/RobloxExchangesGrid.js +1 -2
- package/dist/cjs/components/widgets/roblox/components/RobloxExchangesGrid.js.map +1 -1
- package/dist/cjs/hooks/connection/useSwitchChain.d.ts.map +1 -1
- package/dist/cjs/hooks/connection/useSwitchChain.js +1 -4
- package/dist/cjs/hooks/connection/useSwitchChain.js.map +1 -1
- package/dist/cjs/hooks/contracts/useBlockNumber.d.ts +5 -0
- package/dist/cjs/hooks/contracts/useBlockNumber.d.ts.map +1 -1
- package/dist/cjs/hooks/contracts/useBlockNumber.js +91 -4
- package/dist/cjs/hooks/contracts/useBlockNumber.js.map +1 -1
- package/dist/cjs/index.d.ts +0 -2
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +0 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/chains/getNativeLogoURI.d.ts.map +1 -1
- package/dist/cjs/lib/chains/getNativeLogoURI.js +1 -2
- package/dist/cjs/lib/chains/getNativeLogoURI.js.map +1 -1
- package/dist/cjs/lib/config/config.d.ts +0 -1
- package/dist/cjs/lib/config/config.d.ts.map +1 -1
- package/dist/cjs/lib/const/chainInfo.d.ts.map +1 -1
- package/dist/cjs/lib/const/chainInfo.js +1 -33
- package/dist/cjs/lib/const/chainInfo.js.map +1 -1
- package/dist/cjs/lib/const/chains.d.ts +3 -6
- package/dist/cjs/lib/const/chains.d.ts.map +1 -1
- package/dist/cjs/lib/const/chains.js +10 -18
- package/dist/cjs/lib/const/chains.js.map +1 -1
- package/dist/cjs/lib/const/networks.d.ts +0 -2
- package/dist/cjs/lib/const/networks.d.ts.map +1 -1
- package/dist/cjs/lib/const/networks.js +3 -13
- package/dist/cjs/lib/const/networks.js.map +1 -1
- package/dist/cjs/lib/const/providers.d.ts +1 -1
- package/dist/cjs/lib/const/providers.d.ts.map +1 -1
- package/dist/cjs/lib/const/providers.js +1 -3
- package/dist/cjs/lib/const/providers.js.map +1 -1
- package/dist/cjs/lib/const/routing.d.ts.map +1 -1
- package/dist/cjs/lib/const/routing.js +0 -10
- package/dist/cjs/lib/const/routing.js.map +1 -1
- package/dist/cjs/lib/const/tokens.d.ts +3 -3
- package/dist/cjs/lib/const/tokens.d.ts.map +1 -1
- package/dist/cjs/lib/const/tokens.js +3 -5
- package/dist/cjs/lib/const/tokens.js.map +1 -1
- package/dist/cjs/lib/opensea/getOpenSeaUrl.d.ts.map +1 -1
- package/dist/cjs/lib/opensea/getOpenSeaUrl.js +0 -12
- package/dist/cjs/lib/opensea/getOpenSeaUrl.js.map +1 -1
- package/dist/esm/colors.d.ts +3 -5
- package/dist/esm/colors.d.ts.map +1 -1
- package/dist/esm/colors.js +3 -5
- package/dist/esm/colors.js.map +1 -1
- package/dist/esm/components/connection/index.d.ts.map +1 -1
- package/dist/esm/components/connection/index.js +2 -4
- package/dist/esm/components/connection/index.js.map +1 -1
- package/dist/esm/components/form/Field.styles.d.ts +0 -1
- package/dist/esm/components/form/Field.styles.d.ts.map +1 -1
- package/dist/esm/components/form/Field.styles.js +5 -7
- package/dist/esm/components/form/Field.styles.js.map +1 -1
- package/dist/esm/components/form/Upload/BaseUpload.d.ts +0 -2
- package/dist/esm/components/form/Upload/BaseUpload.d.ts.map +1 -1
- package/dist/esm/components/image/Image.js +2 -2
- package/dist/esm/components/image/Image.js.map +1 -1
- package/dist/esm/components/image/Image.styles.d.ts +1 -1
- package/dist/esm/components/image/Image.styles.d.ts.map +1 -1
- package/dist/esm/components/image/Image.styles.js +1 -1
- package/dist/esm/components/image/Image.styles.js.map +1 -1
- package/dist/esm/components/modal/components/Redeem/RedeemNonModal.js +1 -2
- package/dist/esm/components/modal/components/Redeem/RedeemNonModal.js.map +1 -1
- package/dist/esm/components/modal/components/SellerFinance/FinanceWithdraw.js +1 -1
- package/dist/esm/components/modal/components/SellerFinance/FinanceWithdraw.js.map +1 -1
- package/dist/esm/components/modal/components/SellerFinance/FinancesStyles.d.ts.map +1 -1
- package/dist/esm/components/modal/components/SellerFinance/FinancesStyles.js +5 -4
- package/dist/esm/components/modal/components/SellerFinance/FinancesStyles.js.map +1 -1
- package/dist/esm/components/ui/IpfsImage.d.ts.map +1 -1
- package/dist/esm/components/ui/IpfsImage.js +31 -41
- package/dist/esm/components/ui/IpfsImage.js.map +1 -1
- package/dist/esm/components/ui/SvgImage.d.ts.map +1 -1
- package/dist/esm/components/ui/SvgImage.js +1 -2
- package/dist/esm/components/ui/SvgImage.js.map +1 -1
- package/dist/esm/components/widgets/commit/CommitWidgetProviders.d.ts +2 -2
- package/dist/esm/components/widgets/commit/CommitWidgetProviders.d.ts.map +1 -1
- package/dist/esm/components/widgets/commit/CommitWidgetProviders.js +2 -2
- package/dist/esm/components/widgets/commit/CommitWidgetProviders.js.map +1 -1
- package/dist/esm/components/widgets/finance/FinanceWidgetProviders.d.ts +1 -3
- package/dist/esm/components/widgets/finance/FinanceWidgetProviders.d.ts.map +1 -1
- package/dist/esm/components/widgets/finance/FinanceWidgetProviders.js +12 -17
- package/dist/esm/components/widgets/finance/FinanceWidgetProviders.js.map +1 -1
- package/dist/esm/components/widgets/finance/useSellerRoles.d.ts +8 -1
- package/dist/esm/components/widgets/finance/useSellerRoles.d.ts.map +1 -1
- package/dist/esm/components/widgets/finance/useSellerRoles.js +24 -3
- package/dist/esm/components/widgets/finance/useSellerRoles.js.map +1 -1
- package/dist/esm/components/widgets/index.d.ts +0 -2
- package/dist/esm/components/widgets/index.d.ts.map +1 -1
- package/dist/esm/components/widgets/index.js +0 -2
- package/dist/esm/components/widgets/index.js.map +1 -1
- package/dist/esm/components/widgets/redemption/RedemptionWidgetProviders.d.ts +1 -3
- package/dist/esm/components/widgets/redemption/RedemptionWidgetProviders.d.ts.map +1 -1
- package/dist/esm/components/widgets/redemption/RedemptionWidgetProviders.js +17 -22
- package/dist/esm/components/widgets/redemption/RedemptionWidgetProviders.js.map +1 -1
- package/dist/esm/components/widgets/roblox/components/ConnectRoblox.d.ts.map +1 -1
- package/dist/esm/components/widgets/roblox/components/ConnectRoblox.js +7 -11
- package/dist/esm/components/widgets/roblox/components/ConnectRoblox.js.map +1 -1
- package/dist/esm/components/widgets/roblox/components/LoginWithRoblox.d.ts.map +1 -1
- package/dist/esm/components/widgets/roblox/components/LoginWithRoblox.js +1 -2
- package/dist/esm/components/widgets/roblox/components/LoginWithRoblox.js.map +1 -1
- package/dist/esm/components/widgets/roblox/components/RobloxExchangesGrid.d.ts.map +1 -1
- package/dist/esm/components/widgets/roblox/components/RobloxExchangesGrid.js +1 -2
- package/dist/esm/components/widgets/roblox/components/RobloxExchangesGrid.js.map +1 -1
- package/dist/esm/hooks/connection/useSwitchChain.d.ts.map +1 -1
- package/dist/esm/hooks/connection/useSwitchChain.js +2 -5
- package/dist/esm/hooks/connection/useSwitchChain.js.map +1 -1
- package/dist/esm/hooks/contracts/useBlockNumber.d.ts +5 -0
- package/dist/esm/hooks/contracts/useBlockNumber.d.ts.map +1 -1
- package/dist/esm/hooks/contracts/useBlockNumber.js +85 -2
- package/dist/esm/hooks/contracts/useBlockNumber.js.map +1 -1
- package/dist/esm/index.d.ts +0 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +0 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/chains/getNativeLogoURI.d.ts.map +1 -1
- package/dist/esm/lib/chains/getNativeLogoURI.js +1 -2
- package/dist/esm/lib/chains/getNativeLogoURI.js.map +1 -1
- package/dist/esm/lib/config/config.d.ts +0 -1
- package/dist/esm/lib/config/config.d.ts.map +1 -1
- package/dist/esm/lib/const/chainInfo.d.ts.map +1 -1
- package/dist/esm/lib/const/chainInfo.js +2 -34
- package/dist/esm/lib/const/chainInfo.js.map +1 -1
- package/dist/esm/lib/const/chains.d.ts +3 -6
- package/dist/esm/lib/const/chains.d.ts.map +1 -1
- package/dist/esm/lib/const/chains.js +9 -17
- package/dist/esm/lib/const/chains.js.map +1 -1
- package/dist/esm/lib/const/networks.d.ts +0 -2
- package/dist/esm/lib/const/networks.d.ts.map +1 -1
- package/dist/esm/lib/const/networks.js +3 -13
- package/dist/esm/lib/const/networks.js.map +1 -1
- package/dist/esm/lib/const/providers.d.ts +1 -1
- package/dist/esm/lib/const/providers.d.ts.map +1 -1
- package/dist/esm/lib/const/providers.js +2 -4
- package/dist/esm/lib/const/providers.js.map +1 -1
- package/dist/esm/lib/const/routing.d.ts.map +1 -1
- package/dist/esm/lib/const/routing.js +1 -11
- package/dist/esm/lib/const/routing.js.map +1 -1
- package/dist/esm/lib/const/tokens.d.ts +3 -3
- package/dist/esm/lib/const/tokens.d.ts.map +1 -1
- package/dist/esm/lib/const/tokens.js +2 -5
- package/dist/esm/lib/const/tokens.js.map +1 -1
- package/dist/esm/lib/opensea/getOpenSeaUrl.d.ts.map +1 -1
- package/dist/esm/lib/opensea/getOpenSeaUrl.js +0 -12
- package/dist/esm/lib/opensea/getOpenSeaUrl.js.map +1 -1
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/src/colors.ts +3 -5
- package/src/components/connection/index.ts +2 -4
- package/src/components/form/Field.styles.ts +5 -8
- package/src/components/image/Image.styles.ts +1 -1
- package/src/components/image/Image.tsx +2 -2
- package/src/components/modal/components/Redeem/RedeemNonModal.tsx +1 -2
- package/src/components/modal/components/SellerFinance/FinanceWithdraw.tsx +1 -1
- package/src/components/modal/components/SellerFinance/FinancesStyles.tsx +5 -4
- package/src/components/ui/IpfsImage.tsx +53 -58
- package/src/components/ui/SvgImage.tsx +1 -3
- package/src/components/widgets/commit/CommitWidgetProviders.tsx +5 -5
- package/src/components/widgets/finance/FinanceWidgetProviders.tsx +28 -44
- package/src/components/widgets/finance/useSellerRoles.ts +38 -4
- package/src/components/widgets/index.tsx +0 -2
- package/src/components/widgets/redemption/RedemptionWidgetProviders.tsx +40 -56
- package/src/components/widgets/roblox/components/ConnectRoblox.tsx +8 -21
- package/src/components/widgets/roblox/components/LoginWithRoblox.tsx +1 -2
- package/src/components/widgets/roblox/components/RobloxExchangesGrid.tsx +1 -2
- package/src/hooks/connection/useSwitchChain.ts +2 -10
- package/src/hooks/contracts/useBlockNumber.tsx +127 -2
- package/src/index.tsx +0 -2
- package/src/lib/chains/getNativeLogoURI.ts +1 -2
- package/src/lib/const/chainInfo.ts +2 -40
- package/src/lib/const/chains.ts +4 -12
- package/src/lib/const/networks.ts +3 -13
- package/src/lib/const/providers.ts +3 -10
- package/src/lib/const/routing.ts +1 -12
- package/src/lib/const/tokens.ts +7 -24
- package/src/lib/opensea/getOpenSeaUrl.ts +0 -15
- package/src/stories/ConnectWallet.stories.tsx +6 -3
- package/src/stories/buttons/Upload.stories.tsx +1 -8
- package/src/stories/widgets/Roblox.stories.tsx +1 -1
- package/dist/cjs/hooks/contracts/BlockNumberProvider.d.ts +0 -12
- package/dist/cjs/hooks/contracts/BlockNumberProvider.d.ts.map +0 -1
- package/dist/cjs/hooks/contracts/BlockNumberProvider.js +0 -93
- package/dist/cjs/hooks/contracts/BlockNumberProvider.js.map +0 -1
- package/dist/esm/hooks/contracts/BlockNumberProvider.d.ts +0 -12
- package/dist/esm/hooks/contracts/BlockNumberProvider.d.ts.map +0 -1
- package/dist/esm/hooks/contracts/BlockNumberProvider.js +0 -86
- package/dist/esm/hooks/contracts/BlockNumberProvider.js.map +0 -1
- package/src/hooks/contracts/BlockNumberProvider.tsx +0 -126
|
@@ -1,5 +1,27 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
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
|
|
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
|
-
|
|
102
|
+
80002: {
|
|
109
103
|
networkType: NetworkType.L1,
|
|
110
104
|
blockWaitMsBeforeWarning: ms(`10m`),
|
|
111
105
|
bridge: "https://wallet.polygon.technology/polygon/bridge/deposit",
|
|
@@ -120,38 +114,6 @@ const CHAIN_INFO: ChainInfoMap = {
|
|
|
120
114
|
decimals: 18
|
|
121
115
|
}
|
|
122
116
|
},
|
|
123
|
-
[ChainId.BASE]: {
|
|
124
|
-
networkType: NetworkType.L2,
|
|
125
|
-
blockWaitMsBeforeWarning: ms(`10m`),
|
|
126
|
-
bridge: "https://superbridge.app/base",
|
|
127
|
-
docs: "https://www.base.org",
|
|
128
|
-
explorer: "https://basescan.org/",
|
|
129
|
-
infoLink: "https://info.uniswap.org/#/base/",
|
|
130
|
-
label: "Base",
|
|
131
|
-
logoUrl: ethereumLogoUrl,
|
|
132
|
-
nativeCurrency: {
|
|
133
|
-
name: "Ether",
|
|
134
|
-
symbol: "ETH",
|
|
135
|
-
decimals: 18
|
|
136
|
-
},
|
|
137
|
-
defaultListUrl: ""
|
|
138
|
-
},
|
|
139
|
-
[ChainId_BASE_SEPOLIA]: {
|
|
140
|
-
networkType: NetworkType.L2,
|
|
141
|
-
blockWaitMsBeforeWarning: ms(`10m`),
|
|
142
|
-
bridge: "https://testnets.superbridge.app/base-sepolia",
|
|
143
|
-
docs: "https://www.base.org",
|
|
144
|
-
explorer: "https://sepolia.basescan.org/",
|
|
145
|
-
infoLink: "https://info.uniswap.org/#/base-sepolia/",
|
|
146
|
-
label: "Base Sepolia",
|
|
147
|
-
logoUrl: ethereumLogoUrl,
|
|
148
|
-
nativeCurrency: {
|
|
149
|
-
name: "Ether",
|
|
150
|
-
symbol: "ETH",
|
|
151
|
-
decimals: 18
|
|
152
|
-
},
|
|
153
|
-
defaultListUrl: ""
|
|
154
|
-
},
|
|
155
117
|
[LocalChainId]: {
|
|
156
118
|
networkType: NetworkType.L1,
|
|
157
119
|
docs: "https://docs.uniswap.org/",
|
package/src/lib/const/chains.ts
CHANGED
|
@@ -7,14 +7,13 @@ import { EnvironmentType } from "@bosonprotocol/core-sdk";
|
|
|
7
7
|
|
|
8
8
|
export const LocalChainId = 31337;
|
|
9
9
|
export const ChainId_POLYGON_AMOY = 80002;
|
|
10
|
-
export const ChainId_BASE_SEPOLIA = 84532;
|
|
11
10
|
|
|
12
11
|
export const UniWalletSupportedChains = [
|
|
13
12
|
ChainId.MAINNET,
|
|
14
13
|
// ChainId.ARBITRUM_ONE,
|
|
15
14
|
// ChainId.OPTIMISM,
|
|
16
|
-
ChainId.POLYGON
|
|
17
|
-
ChainId.BASE
|
|
15
|
+
ChainId.POLYGON
|
|
16
|
+
// ChainId.BASE
|
|
18
17
|
];
|
|
19
18
|
|
|
20
19
|
export const CHAIN_IDS_TO_NAMES = {
|
|
@@ -34,7 +33,6 @@ export const CHAIN_IDS_TO_NAMES = {
|
|
|
34
33
|
[ChainId.AVALANCHE]: "avalanche",
|
|
35
34
|
[ChainId.BASE]: "base",
|
|
36
35
|
[ChainId.BASE_GOERLI]: "base_goerli",
|
|
37
|
-
[ChainId_BASE_SEPOLIA]: "base_sepolia",
|
|
38
36
|
[LocalChainId]: "local"
|
|
39
37
|
} as const;
|
|
40
38
|
|
|
@@ -55,14 +53,12 @@ export const CHAIN_IDS_TO_FRIENDLY_NAMES = {
|
|
|
55
53
|
[ChainId.AVALANCHE]: "Avalanche",
|
|
56
54
|
[ChainId.BASE]: "Base",
|
|
57
55
|
[ChainId.BASE_GOERLI]: "Base Goerli",
|
|
58
|
-
[ChainId_BASE_SEPOLIA]: "Base Sepolia",
|
|
59
56
|
[LocalChainId]: "Local Hardhat"
|
|
60
57
|
} as const;
|
|
61
58
|
|
|
62
59
|
const SUPPORTED_CHAINS = [
|
|
63
60
|
LocalChainId,
|
|
64
61
|
ChainId_POLYGON_AMOY,
|
|
65
|
-
ChainId_BASE_SEPOLIA,
|
|
66
62
|
..._SUPPORTED_CHAINS
|
|
67
63
|
] as const;
|
|
68
64
|
export declare type SupportedChainsType = (typeof SUPPORTED_CHAINS)[number];
|
|
@@ -98,7 +94,6 @@ export const TESTNET_CHAIN_IDS = [
|
|
|
98
94
|
ChainId.SEPOLIA,
|
|
99
95
|
ChainId.POLYGON_MUMBAI,
|
|
100
96
|
ChainId_POLYGON_AMOY,
|
|
101
|
-
ChainId_BASE_SEPOLIA,
|
|
102
97
|
LocalChainId
|
|
103
98
|
// ChainId.ARBITRUM_GOERLI,
|
|
104
99
|
// ChainId.OPTIMISM_GOERLI,
|
|
@@ -134,8 +129,7 @@ export const L2_CHAIN_IDS = [
|
|
|
134
129
|
// ChainId.ARBITRUM_GOERLI,
|
|
135
130
|
// ChainId.OPTIMISM,
|
|
136
131
|
// ChainId.OPTIMISM_GOERLI
|
|
137
|
-
ChainId.BASE,
|
|
138
|
-
ChainId_BASE_SEPOLIA
|
|
132
|
+
// ChainId.BASE,
|
|
139
133
|
// ChainId.BASE_GOERLI
|
|
140
134
|
] as const;
|
|
141
135
|
|
|
@@ -154,9 +148,7 @@ export function getChainPriority(chainId: number): number {
|
|
|
154
148
|
return 0;
|
|
155
149
|
case ChainId.POLYGON:
|
|
156
150
|
case ChainId.POLYGON_MUMBAI:
|
|
157
|
-
case
|
|
158
|
-
case ChainId.BASE:
|
|
159
|
-
case ChainId_BASE_SEPOLIA:
|
|
151
|
+
case 80002:
|
|
160
152
|
return 1;
|
|
161
153
|
// case ChainId.ARBITRUM_ONE:
|
|
162
154
|
// case ChainId.ARBITRUM_GOERLI:
|
|
@@ -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
|
-
|
|
74
|
+
80002: [
|
|
76
75
|
// "Safe" URLs
|
|
77
76
|
"https://rpc-amoy.polygon.technology"
|
|
78
77
|
],
|
|
@@ -136,10 +135,6 @@ export const FALLBACK_URLS = {
|
|
|
136
135
|
/*TODO:QUICKNODE_BASE_GOERLI_RPC_URL,*/
|
|
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
|
-
],
|
|
140
|
-
[ChainId_BASE_SEPOLIA]: [
|
|
141
|
-
// "Safe" URLs
|
|
142
|
-
"https://sepolia.base.org"
|
|
143
138
|
]
|
|
144
139
|
};
|
|
145
140
|
|
|
@@ -184,10 +179,10 @@ export const getRpcUrls = (infuraKey: string) => ({
|
|
|
184
179
|
`https://polygon-mumbai.infura.io/v3/${infuraKey}`,
|
|
185
180
|
...FALLBACK_URLS[ChainId.POLYGON_MUMBAI]
|
|
186
181
|
],
|
|
187
|
-
|
|
182
|
+
80002: [
|
|
188
183
|
// AMOY
|
|
189
184
|
`https://polygon-amoy.infura.io/v3/${infuraKey}`,
|
|
190
|
-
...FALLBACK_URLS[
|
|
185
|
+
...FALLBACK_URLS[80002]
|
|
191
186
|
],
|
|
192
187
|
[ChainId.CELO]: FALLBACK_URLS[ChainId.CELO],
|
|
193
188
|
[ChainId.CELO_ALFAJORES]: FALLBACK_URLS[ChainId.CELO_ALFAJORES],
|
|
@@ -206,11 +201,6 @@ export const getRpcUrls = (infuraKey: string) => ({
|
|
|
206
201
|
`https://base-goerli.infura.io/v3/${infuraKey}`,
|
|
207
202
|
...FALLBACK_URLS[ChainId.BASE_GOERLI]
|
|
208
203
|
],
|
|
209
|
-
[ChainId_BASE_SEPOLIA]: [
|
|
210
|
-
// BASE_SEPOLIA
|
|
211
|
-
`https://base-sepolia.infura.io/v3/${infuraKey}`,
|
|
212
|
-
...FALLBACK_URLS[ChainId_BASE_SEPOLIA]
|
|
213
|
-
],
|
|
214
204
|
31337: [
|
|
215
205
|
`https://mainnet.infura.io/v3/${infuraKey}`,
|
|
216
206
|
...FALLBACK_URLS[ChainId.MAINNET]
|
|
@@ -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
|
};
|
package/src/lib/const/routing.ts
CHANGED
|
@@ -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),
|
package/src/lib/const/tokens.ts
CHANGED
|
@@ -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
|
-
|
|
431
|
-
|
|
432
|
-
"
|
|
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 ===
|
|
476
|
+
chainId === 80002
|
|
494
477
|
);
|
|
495
478
|
}
|
|
496
479
|
|
|
@@ -15,11 +15,6 @@ const openSeaUrlMap = new Map([
|
|
|
15
15
|
"testing-11155111-0",
|
|
16
16
|
(tokenId: string, contractAddress: string) =>
|
|
17
17
|
`https://testnets.opensea.io/assets/sepolia/${contractAddress}/${tokenId}`
|
|
18
|
-
],
|
|
19
|
-
[
|
|
20
|
-
"testing-84532-0",
|
|
21
|
-
(tokenId: string, contractAddress: string) =>
|
|
22
|
-
`https://testnets.opensea.io/assets/base_sepolia/${contractAddress}/${tokenId}`
|
|
23
18
|
]
|
|
24
19
|
])
|
|
25
20
|
],
|
|
@@ -35,11 +30,6 @@ const openSeaUrlMap = new Map([
|
|
|
35
30
|
"staging-11155111-0",
|
|
36
31
|
(tokenId: string, contractAddress: string) =>
|
|
37
32
|
`https://testnets.opensea.io/assets/sepolia/${contractAddress}/${tokenId}`
|
|
38
|
-
],
|
|
39
|
-
[
|
|
40
|
-
"staging-84532-0",
|
|
41
|
-
(tokenId: string, contractAddress: string) =>
|
|
42
|
-
`https://testnets.opensea.io/assets/base_sepolia/${contractAddress}/${tokenId}`
|
|
43
33
|
]
|
|
44
34
|
])
|
|
45
35
|
],
|
|
@@ -55,11 +45,6 @@ const openSeaUrlMap = new Map([
|
|
|
55
45
|
"production-1-0",
|
|
56
46
|
(tokenId: string, contractAddress: string) =>
|
|
57
47
|
`https://opensea.io/assets/ethereum/${contractAddress}/${tokenId}`
|
|
58
|
-
],
|
|
59
|
-
[
|
|
60
|
-
"production-8453-0",
|
|
61
|
-
(tokenId: string, contractAddress: string) =>
|
|
62
|
-
`https://opensea.io/assets/base/${contractAddress}/${tokenId}`
|
|
63
48
|
]
|
|
64
49
|
])
|
|
65
50
|
]
|
|
@@ -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/
|
|
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
|
|
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
|