diff --git a/e2e/meta-tx-gateway/src/services/meta-tx.ts b/e2e/meta-tx-gateway/src/services/meta-tx.ts index 1f0316eda..8a006f4f9 100644 --- a/e2e/meta-tx-gateway/src/services/meta-tx.ts +++ b/e2e/meta-tx-gateway/src/services/meta-tx.ts @@ -5,8 +5,6 @@ import { Interface } from "@ethersproject/abi"; import { ethers } from "ethers"; import { Config, getConfig } from "../config"; import { getSigner } from "../utils/web3"; -import { BytesLike } from "@ethersproject/bytes"; -import { BigNumberish } from "@ethersproject/bignumber"; export type PostMetaTxBody = { to: string; diff --git a/packages/core-sdk/src/core-sdk.ts b/packages/core-sdk/src/core-sdk.ts index a15b33a27..001b51c29 100644 --- a/packages/core-sdk/src/core-sdk.ts +++ b/packages/core-sdk/src/core-sdk.ts @@ -92,6 +92,10 @@ export class CoreSDK extends BaseCoreSDK { return this._getTxExplorerUrl; } + public get web3Lib() { + return this._web3Lib; + } + public checkMetaTxConfigSet( args: { contractAddress?: string; diff --git a/packages/core-sdk/src/offers/mixin.ts b/packages/core-sdk/src/offers/mixin.ts index 567a3a7ad..a1ee1a5b5 100644 --- a/packages/core-sdk/src/offers/mixin.ts +++ b/packages/core-sdk/src/offers/mixin.ts @@ -19,7 +19,6 @@ import { BigNumber, BigNumberish } from "@ethersproject/bignumber"; import { getValueFromLogs, getValuesFromLogs } from "../utils/logs"; import { ITokenInfo, TokenInfoManager } from "../utils/tokenInfoManager"; import { batchTasks } from "../utils/promises"; -import { ExchangesMixin } from "../exchanges/mixin"; import { EventLogsMixin } from "../event-logs/mixin"; import { AccountsMixin } from "../accounts/mixin"; diff --git a/packages/react-kit/src/components/cta/common/CtaButton.tsx b/packages/react-kit/src/components/cta/common/CtaButton.tsx index ce6ef93c7..7e0edf9c4 100644 --- a/packages/react-kit/src/components/cta/common/CtaButton.tsx +++ b/packages/react-kit/src/components/cta/common/CtaButton.tsx @@ -2,13 +2,13 @@ import React from "react"; import { providers } from "ethers"; import { Button } from "../../buttons/Button"; -import { useCoreSdk } from "../../../hooks/useCoreSdk"; import { useSignerAddress } from "../../../hooks/useSignerAddress"; import { useCtaClickHandler, Action } from "../../../hooks/useCtaClickHandler"; import { ButtonTextWrapper, ExtraInfo, LoadingWrapper } from "../common/styles"; import { CtaButtonProps } from "../common/types"; import { Loading } from "../../Loading"; import { ButtonSize } from "../../ui/buttonSize"; +import { useCoreSdkOverrides } from "../../../hooks/useCoreSdkOverrides"; type Props = CtaButtonProps & { defaultLabel?: string; @@ -35,8 +35,8 @@ export function CtaButton({ coreSdkConfig, ...rest }: Props) { - const coreSdk = useCoreSdk(coreSdkConfig); - const signerAddress = useSignerAddress(coreSdkConfig.web3Provider); + const coreSdk = useCoreSdkOverrides({ coreSdkConfig }); + const signerAddress = useSignerAddress(coreSdk.web3Lib); const { clickHandler, isLoading } = useCtaClickHandler({ waitBlocks, diff --git a/packages/react-kit/src/components/cta/dispute/AddFeesDisputeResolverButton.tsx b/packages/react-kit/src/components/cta/dispute/AddFeesDisputeResolverButton.tsx index bb34130c2..38405070b 100644 --- a/packages/react-kit/src/components/cta/dispute/AddFeesDisputeResolverButton.tsx +++ b/packages/react-kit/src/components/cta/dispute/AddFeesDisputeResolverButton.tsx @@ -2,13 +2,13 @@ import React, { useState } from "react"; import { BigNumberish, providers } from "ethers"; import { Button } from "../../buttons/Button"; -import { useCoreSdk } from "../../../hooks/useCoreSdk"; import { ButtonTextWrapper, ExtraInfo, LoadingWrapper } from "../common/styles"; import { CtaButtonProps } from "../common/types"; import { Loading } from "../../Loading"; import { CreateSellerArgs, TransactionResponse } from "@bosonprotocol/common"; import { DisputeResolutionFee } from "@bosonprotocol/core-sdk/dist/cjs/accounts"; import { ButtonSize } from "../../ui/buttonSize"; +import { useCoreSdkOverrides } from "../../../hooks/useCoreSdkOverrides"; export type IAddFeesDisputeResolverButton = { exchangeId: BigNumberish; createSellerArgs: CreateSellerArgs; @@ -39,7 +39,7 @@ export const AddFeesDisputeResolverButton = ({ coreSdkConfig, ...rest }: IAddFeesDisputeResolverButton) => { - const coreSdk = useCoreSdk(coreSdkConfig); + const coreSdk = useCoreSdkOverrides({ coreSdkConfig }); const [isLoading, setIsLoading] = useState(false); return ( diff --git a/packages/react-kit/src/components/cta/dispute/AddSellerToDisputeResolverButton.tsx b/packages/react-kit/src/components/cta/dispute/AddSellerToDisputeResolverButton.tsx index 9746f962a..5643c66c5 100644 --- a/packages/react-kit/src/components/cta/dispute/AddSellerToDisputeResolverButton.tsx +++ b/packages/react-kit/src/components/cta/dispute/AddSellerToDisputeResolverButton.tsx @@ -2,13 +2,13 @@ import React, { useState } from "react"; import { BigNumberish, providers } from "ethers"; import { Button } from "../../buttons/Button"; -import { useCoreSdk } from "../../../hooks/useCoreSdk"; import { ButtonTextWrapper, ExtraInfo, LoadingWrapper } from "../common/styles"; import { CtaButtonProps } from "../common/types"; import { Loading } from "../../Loading"; import { CreateSellerArgs, TransactionResponse } from "@bosonprotocol/common"; import { DisputeResolutionFee } from "@bosonprotocol/core-sdk/dist/cjs/accounts"; import { ButtonSize } from "../../ui/buttonSize"; +import { useCoreSdkOverrides } from "../../../hooks/useCoreSdkOverrides"; export type IAddSellerToDisputeResolver = { exchangeId: BigNumberish; createSellerArgs: CreateSellerArgs; @@ -41,7 +41,7 @@ export const AddSellerToDisputeResolver = ({ coreSdkConfig, ...rest }: IAddSellerToDisputeResolver) => { - const coreSdk = useCoreSdk(coreSdkConfig); + const coreSdk = useCoreSdkOverrides({ coreSdkConfig }); const [isLoading, setIsLoading] = useState(false); return ( diff --git a/packages/react-kit/src/components/cta/dispute/CreateDisputeResolverButton.tsx b/packages/react-kit/src/components/cta/dispute/CreateDisputeResolverButton.tsx index bd2a64767..12e63e193 100644 --- a/packages/react-kit/src/components/cta/dispute/CreateDisputeResolverButton.tsx +++ b/packages/react-kit/src/components/cta/dispute/CreateDisputeResolverButton.tsx @@ -2,13 +2,13 @@ import React, { useState } from "react"; import { BigNumberish, providers } from "ethers"; import { Button } from "../../buttons/Button"; -import { useCoreSdk } from "../../../hooks/useCoreSdk"; import { ButtonTextWrapper, ExtraInfo, LoadingWrapper } from "../common/styles"; import { CtaButtonProps } from "../common/types"; import { Loading } from "../../Loading"; import { TransactionResponse } from "@bosonprotocol/common"; import { accounts } from "@bosonprotocol/core-sdk"; import { ButtonSize } from "../../ui/buttonSize"; +import { useCoreSdkOverrides } from "../../../hooks/useCoreSdkOverrides"; export type ICreateDisputeResolverButton = { exchangeId: BigNumberish; disputeResolverToCreate: accounts.CreateDisputeResolverArgs; @@ -33,7 +33,7 @@ export const CreateDisputeResolverButton = ({ coreSdkConfig, ...rest }: ICreateDisputeResolverButton) => { - const coreSdk = useCoreSdk(coreSdkConfig); + const coreSdk = useCoreSdkOverrides({ coreSdkConfig }); const [isLoading, setIsLoading] = useState(false); return ( diff --git a/packages/react-kit/src/components/cta/dispute/DecideDisputeButton.tsx b/packages/react-kit/src/components/cta/dispute/DecideDisputeButton.tsx index 1d49d4fdc..03059e5cb 100644 --- a/packages/react-kit/src/components/cta/dispute/DecideDisputeButton.tsx +++ b/packages/react-kit/src/components/cta/dispute/DecideDisputeButton.tsx @@ -1,9 +1,9 @@ import React from "react"; import { BigNumberish } from "ethers"; -import { useCoreSdk } from "../../../hooks/useCoreSdk"; import { CtaButtonProps } from "../common/types"; import { CtaButton } from "../common/CtaButton"; +import { useCoreSdkOverrides } from "../../../hooks/useCoreSdkOverrides"; type AdditionalProps = { exchangeId: BigNumberish; @@ -23,7 +23,9 @@ export const DecideDisputeButton = ({ variant = "primaryFill", ...restProps }: IDecideDisputeButton) => { - const coreSdk = useCoreSdk(restProps.coreSdkConfig); + const coreSdk = useCoreSdkOverrides({ + coreSdkConfig: restProps.coreSdkConfig + }); const actions = [ { writeContractFn: () => coreSdk.decideDispute(exchangeId, buyerPercent) diff --git a/packages/react-kit/src/components/cta/dispute/EscalateDisputeButton.tsx b/packages/react-kit/src/components/cta/dispute/EscalateDisputeButton.tsx index 6620273eb..292f592af 100644 --- a/packages/react-kit/src/components/cta/dispute/EscalateDisputeButton.tsx +++ b/packages/react-kit/src/components/cta/dispute/EscalateDisputeButton.tsx @@ -1,9 +1,9 @@ import React from "react"; import { BigNumberish } from "ethers"; -import { useCoreSdk } from "../../../hooks/useCoreSdk"; import { CtaButtonProps } from "../common/types"; import { CtaButton } from "../common/CtaButton"; +import { useCoreSdkOverrides } from "../../../hooks/useCoreSdkOverrides"; type AdditionalProps = { exchangeId: BigNumberish; @@ -21,7 +21,9 @@ export const EscalateDisputeButton = ({ exchangeId, ...restProps }: IEscalateDisputeButton) => { - const coreSdk = useCoreSdk(restProps.coreSdkConfig); + const coreSdk = useCoreSdkOverrides({ + coreSdkConfig: restProps.coreSdkConfig + }); const actions = [ { diff --git a/packages/react-kit/src/components/cta/dispute/ExpireDisputeButton.tsx b/packages/react-kit/src/components/cta/dispute/ExpireDisputeButton.tsx index 50c310236..8f72c2312 100644 --- a/packages/react-kit/src/components/cta/dispute/ExpireDisputeButton.tsx +++ b/packages/react-kit/src/components/cta/dispute/ExpireDisputeButton.tsx @@ -1,9 +1,9 @@ import React from "react"; import { BigNumberish } from "ethers"; -import { useCoreSdk } from "../../../hooks/useCoreSdk"; import { CtaButtonProps } from "../common/types"; import { CtaButton } from "../common/CtaButton"; +import { useCoreSdkOverrides } from "../../../hooks/useCoreSdkOverrides"; type AdditionalProps = { exchangeId: BigNumberish; @@ -21,7 +21,9 @@ export const ExpireDisputeButton = ({ exchangeId, ...restProps }: IExpireDisputeButton) => { - const coreSdk = useCoreSdk(restProps.coreSdkConfig); + const coreSdk = useCoreSdkOverrides({ + coreSdkConfig: restProps.coreSdkConfig + }); const actions = [ { diff --git a/packages/react-kit/src/components/cta/dispute/ExpireEscalationDisputeButton.tsx b/packages/react-kit/src/components/cta/dispute/ExpireEscalationDisputeButton.tsx index 55641e255..e95c755db 100644 --- a/packages/react-kit/src/components/cta/dispute/ExpireEscalationDisputeButton.tsx +++ b/packages/react-kit/src/components/cta/dispute/ExpireEscalationDisputeButton.tsx @@ -1,9 +1,9 @@ import React from "react"; import { BigNumberish } from "ethers"; -import { useCoreSdk } from "../../../hooks/useCoreSdk"; import { CtaButtonProps } from "../common/types"; import { CtaButton } from "../common/CtaButton"; +import { useCoreSdkOverrides } from "../../../hooks/useCoreSdkOverrides"; type AdditionalProps = { exchangeId: BigNumberish; @@ -21,7 +21,9 @@ export const ExpireEscalationDisputeButton = ({ variant = "secondaryFill", ...restProps }: IExpireEscalationDisputeButton) => { - const coreSdk = useCoreSdk(restProps.coreSdkConfig); + const coreSdk = useCoreSdkOverrides({ + coreSdkConfig: restProps.coreSdkConfig + }); const actions = [ { writeContractFn: () => coreSdk.expireEscalatedDispute(exchangeId) diff --git a/packages/react-kit/src/components/cta/dispute/ExtendDisputeTimeoutButton.tsx b/packages/react-kit/src/components/cta/dispute/ExtendDisputeTimeoutButton.tsx index b3e0e2569..1ec41012b 100644 --- a/packages/react-kit/src/components/cta/dispute/ExtendDisputeTimeoutButton.tsx +++ b/packages/react-kit/src/components/cta/dispute/ExtendDisputeTimeoutButton.tsx @@ -1,9 +1,9 @@ import React from "react"; import { BigNumberish } from "ethers"; -import { useCoreSdk } from "../../../hooks/useCoreSdk"; import { CtaButtonProps } from "../common/types"; import { CtaButton } from "../common/CtaButton"; +import { useCoreSdkOverrides } from "../../../hooks/useCoreSdkOverrides"; type AdditionalProps = { exchangeId: BigNumberish; @@ -23,7 +23,9 @@ export const ExtendDisputeTimeoutButton = ({ newDisputeTimeout, ...restProps }: IExtendDisputeTimeoutButton) => { - const coreSdk = useCoreSdk(restProps.coreSdkConfig); + const coreSdk = useCoreSdkOverrides({ + coreSdkConfig: restProps.coreSdkConfig + }); const actions = [ { diff --git a/packages/react-kit/src/components/cta/dispute/RaiseDisputeButton.tsx b/packages/react-kit/src/components/cta/dispute/RaiseDisputeButton.tsx index 71d971f59..cbedfafea 100644 --- a/packages/react-kit/src/components/cta/dispute/RaiseDisputeButton.tsx +++ b/packages/react-kit/src/components/cta/dispute/RaiseDisputeButton.tsx @@ -1,9 +1,9 @@ import React from "react"; import { BigNumberish } from "ethers"; -import { useCoreSdk } from "../../../hooks/useCoreSdk"; import { CtaButtonProps } from "../common/types"; import { CtaButton } from "../common/CtaButton"; +import { useCoreSdkOverrides } from "../../../hooks/useCoreSdkOverrides"; type AdditionalProps = { exchangeId: BigNumberish; @@ -21,7 +21,9 @@ export const RaiseDisputeButton = ({ exchangeId, ...restProps }: IRaiseDisputeButton) => { - const coreSdk = useCoreSdk(restProps.coreSdkConfig); + const coreSdk = useCoreSdkOverrides({ + coreSdkConfig: restProps.coreSdkConfig + }); const actions = [ { diff --git a/packages/react-kit/src/components/cta/dispute/RefuseDisputeButton.tsx b/packages/react-kit/src/components/cta/dispute/RefuseDisputeButton.tsx index 9e2b8db31..e012b78a4 100644 --- a/packages/react-kit/src/components/cta/dispute/RefuseDisputeButton.tsx +++ b/packages/react-kit/src/components/cta/dispute/RefuseDisputeButton.tsx @@ -1,9 +1,9 @@ import React from "react"; import { BigNumberish } from "ethers"; -import { useCoreSdk } from "../../../hooks/useCoreSdk"; import { CtaButtonProps } from "../common/types"; import { CtaButton } from "../common/CtaButton"; +import { useCoreSdkOverrides } from "../../../hooks/useCoreSdkOverrides"; type AdditionalProps = { exchangeId: BigNumberish; @@ -21,7 +21,9 @@ export const RefuseDisputeButton = ({ variant = "secondaryFill", ...restProps }: IRefuseDisputeButton) => { - const coreSdk = useCoreSdk(restProps.coreSdkConfig); + const coreSdk = useCoreSdkOverrides({ + coreSdkConfig: restProps.coreSdkConfig + }); const actions = [ { writeContractFn: () => coreSdk.refuseEscalatedDispute(exchangeId) diff --git a/packages/react-kit/src/components/cta/dispute/RemoveSellerFromDisputeResolverButton.tsx b/packages/react-kit/src/components/cta/dispute/RemoveSellerFromDisputeResolverButton.tsx index 2da9458c6..9d1cea507 100644 --- a/packages/react-kit/src/components/cta/dispute/RemoveSellerFromDisputeResolverButton.tsx +++ b/packages/react-kit/src/components/cta/dispute/RemoveSellerFromDisputeResolverButton.tsx @@ -2,13 +2,13 @@ import React, { useState } from "react"; import { BigNumberish, providers } from "ethers"; import { Button } from "../../buttons/Button"; -import { useCoreSdk } from "../../../hooks/useCoreSdk"; import { ButtonTextWrapper, ExtraInfo, LoadingWrapper } from "../common/styles"; import { CtaButtonProps } from "../common/types"; import { Loading } from "../../Loading"; import { CreateSellerArgs, TransactionResponse } from "@bosonprotocol/common"; import { DisputeResolutionFee } from "@bosonprotocol/core-sdk/dist/cjs/accounts"; import { ButtonSize } from "../../ui/buttonSize"; +import { useCoreSdkOverrides } from "../../../hooks/useCoreSdkOverrides"; export type IRemoveSellerFromDisputeResolverButton = { exchangeId: BigNumberish; createSellerArgs: CreateSellerArgs; @@ -41,7 +41,7 @@ export const RemoveSellerFromDisputeResolverButton = ({ coreSdkConfig, ...rest }: IRemoveSellerFromDisputeResolverButton) => { - const coreSdk = useCoreSdk(coreSdkConfig); + const coreSdk = useCoreSdkOverrides({ coreSdkConfig }); const [isLoading, setIsLoading] = useState(false); return ( diff --git a/packages/react-kit/src/components/cta/dispute/ResolveDisputeButton.tsx b/packages/react-kit/src/components/cta/dispute/ResolveDisputeButton.tsx index be5e90ae1..62872fdab 100644 --- a/packages/react-kit/src/components/cta/dispute/ResolveDisputeButton.tsx +++ b/packages/react-kit/src/components/cta/dispute/ResolveDisputeButton.tsx @@ -1,9 +1,9 @@ import React from "react"; import { BigNumberish, utils } from "ethers"; -import { useCoreSdk } from "../../../hooks/useCoreSdk"; import { CtaButtonProps } from "../common/types"; import { CtaButton } from "../common/CtaButton"; +import { useCoreSdkOverrides } from "../../../hooks/useCoreSdkOverrides"; type AdditionalProps = { exchangeId: BigNumberish; @@ -27,7 +27,9 @@ export const ResolveDisputeButton = ({ variant = "primaryFill", ...restProps }: IResolveDisputeButton) => { - const coreSdk = useCoreSdk(restProps.coreSdkConfig); + const coreSdk = useCoreSdkOverrides({ + coreSdkConfig: restProps.coreSdkConfig + }); const signature = utils.splitSignature(proposal.signature); const actions = [ diff --git a/packages/react-kit/src/components/cta/dispute/RetractDisputeButton.tsx b/packages/react-kit/src/components/cta/dispute/RetractDisputeButton.tsx index 3abef3856..10e6c3856 100644 --- a/packages/react-kit/src/components/cta/dispute/RetractDisputeButton.tsx +++ b/packages/react-kit/src/components/cta/dispute/RetractDisputeButton.tsx @@ -1,9 +1,9 @@ import React from "react"; import { BigNumberish } from "ethers"; -import { useCoreSdk } from "../../../hooks/useCoreSdk"; import { CtaButtonProps } from "../common/types"; import { CtaButton } from "../common/CtaButton"; +import { useCoreSdkOverrides } from "../../../hooks/useCoreSdkOverrides"; type AdditionalProps = { exchangeId: BigNumberish; @@ -21,7 +21,9 @@ export const RetractDisputeButton = ({ variant = "primaryFill", ...restProps }: IRetractDisputeButton) => { - const coreSdk = useCoreSdk(restProps.coreSdkConfig); + const coreSdk = useCoreSdkOverrides({ + coreSdkConfig: restProps.coreSdkConfig + }); const actions = [ { diff --git a/packages/react-kit/src/components/cta/dispute/UpdateDisputeResolverButton.tsx b/packages/react-kit/src/components/cta/dispute/UpdateDisputeResolverButton.tsx index 1b7b53f1e..2508f8303 100644 --- a/packages/react-kit/src/components/cta/dispute/UpdateDisputeResolverButton.tsx +++ b/packages/react-kit/src/components/cta/dispute/UpdateDisputeResolverButton.tsx @@ -2,13 +2,13 @@ import React, { useState } from "react"; import { BigNumberish, providers } from "ethers"; import { Button } from "../../buttons/Button"; -import { useCoreSdk } from "../../../hooks/useCoreSdk"; import { ButtonTextWrapper, ExtraInfo, LoadingWrapper } from "../common/styles"; import { CtaButtonProps } from "../common/types"; import { Loading } from "../../Loading"; import { CreateSellerArgs, TransactionResponse } from "@bosonprotocol/common"; import { accounts } from "@bosonprotocol/core-sdk"; import { ButtonSize } from "../../ui/buttonSize"; +import { useCoreSdkOverrides } from "../../../hooks/useCoreSdkOverrides"; export type IUpdateDisputeResolverButton = { exchangeId: BigNumberish; disputeResolverId: BigNumberish; @@ -37,7 +37,7 @@ export const UpdateDisputeResolverButton = ({ coreSdkConfig, ...rest }: IUpdateDisputeResolverButton) => { - const coreSdk = useCoreSdk(coreSdkConfig); + const coreSdk = useCoreSdkOverrides({ coreSdkConfig }); const [isLoading, setIsLoading] = useState(false); return ( diff --git a/packages/react-kit/src/components/cta/exchange/BatchCompleteButton.tsx b/packages/react-kit/src/components/cta/exchange/BatchCompleteButton.tsx index 31c6c6b9c..a07f39161 100644 --- a/packages/react-kit/src/components/cta/exchange/BatchCompleteButton.tsx +++ b/packages/react-kit/src/components/cta/exchange/BatchCompleteButton.tsx @@ -1,9 +1,9 @@ import React from "react"; import { BigNumberish } from "ethers"; -import { useCoreSdk } from "../../../hooks/useCoreSdk"; import { CtaButtonProps } from "../common/types"; import { CtaButton } from "../common/CtaButton"; +import { useCoreSdkOverrides } from "../../../hooks/useCoreSdkOverrides"; type AdditionalProps = { /** @@ -23,7 +23,9 @@ export const BatchCompleteButton = ({ variant = "primaryFill", ...restProps }: Props) => { - const coreSdk = useCoreSdk(restProps.coreSdkConfig); + const coreSdk = useCoreSdkOverrides({ + coreSdkConfig: restProps.coreSdkConfig + }); const actions = [ { diff --git a/packages/react-kit/src/components/cta/exchange/CancelButton.tsx b/packages/react-kit/src/components/cta/exchange/CancelButton.tsx index a2ccb28a9..b0e2f52e2 100644 --- a/packages/react-kit/src/components/cta/exchange/CancelButton.tsx +++ b/packages/react-kit/src/components/cta/exchange/CancelButton.tsx @@ -1,9 +1,9 @@ import React from "react"; import { BigNumberish } from "ethers"; -import { useCoreSdk } from "../../../hooks/useCoreSdk"; import { CtaButtonProps } from "../common/types"; import { CtaButton } from "../common/CtaButton"; +import { useCoreSdkOverrides } from "../../../hooks/useCoreSdkOverrides"; type AdditionalProps = { exchangeId: BigNumberish; @@ -20,7 +20,9 @@ export const CancelButton = ({ exchangeId, ...restProps }: ICancelButton) => { - const coreSdk = useCoreSdk(restProps.coreSdkConfig); + const coreSdk = useCoreSdkOverrides({ + coreSdkConfig: restProps.coreSdkConfig + }); const actions = [ { diff --git a/packages/react-kit/src/components/cta/exchange/CompleteButton.tsx b/packages/react-kit/src/components/cta/exchange/CompleteButton.tsx index 55ec8869e..973a83469 100644 --- a/packages/react-kit/src/components/cta/exchange/CompleteButton.tsx +++ b/packages/react-kit/src/components/cta/exchange/CompleteButton.tsx @@ -1,9 +1,9 @@ import React from "react"; import { BigNumberish } from "ethers"; -import { useCoreSdk } from "../../../hooks/useCoreSdk"; import { CtaButtonProps } from "../common/types"; import { CtaButton } from "../common/CtaButton"; +import { useCoreSdkOverrides } from "../../../hooks/useCoreSdkOverrides"; type AdditionalProps = { exchangeId: BigNumberish; @@ -20,7 +20,9 @@ export const CompleteButton = ({ variant = "primaryFill", ...restProps }: Props) => { - const coreSdk = useCoreSdk(restProps.coreSdkConfig); + const coreSdk = useCoreSdkOverrides({ + coreSdkConfig: restProps.coreSdkConfig + }); const actions = [ { diff --git a/packages/react-kit/src/components/cta/exchange/ExpireButton.tsx b/packages/react-kit/src/components/cta/exchange/ExpireButton.tsx index 10719e8ee..a64e17c97 100644 --- a/packages/react-kit/src/components/cta/exchange/ExpireButton.tsx +++ b/packages/react-kit/src/components/cta/exchange/ExpireButton.tsx @@ -1,9 +1,9 @@ import React from "react"; import { BigNumberish } from "ethers"; -import { useCoreSdk } from "../../../hooks/useCoreSdk"; import { CtaButtonProps } from "../common/types"; import { CtaButton } from "../common/CtaButton"; +import { useCoreSdkOverrides } from "../../../hooks/useCoreSdkOverrides"; type AdditionalProps = { exchangeId: BigNumberish; @@ -20,7 +20,9 @@ export const ExpireButton = ({ variant = "secondaryFill", ...restProps }: IExpireButton) => { - const coreSdk = useCoreSdk(restProps.coreSdkConfig); + const coreSdk = useCoreSdkOverrides({ + coreSdkConfig: restProps.coreSdkConfig + }); const actions = [ { diff --git a/packages/react-kit/src/components/cta/exchange/RedeemButton.tsx b/packages/react-kit/src/components/cta/exchange/RedeemButton.tsx index 2a8b75fee..94821f12d 100644 --- a/packages/react-kit/src/components/cta/exchange/RedeemButton.tsx +++ b/packages/react-kit/src/components/cta/exchange/RedeemButton.tsx @@ -1,9 +1,9 @@ import React from "react"; import { BigNumberish } from "ethers"; -import { useCoreSdk } from "../../../hooks/useCoreSdk"; import { CtaButtonProps } from "../common/types"; import { CtaButton } from "../common/CtaButton"; +import { useCoreSdkOverrides } from "../../../hooks/useCoreSdkOverrides"; type AdditionalProps = { exchangeId: BigNumberish; @@ -20,7 +20,9 @@ export const RedeemButton = ({ variant = "primaryFill", ...restProps }: IRedeemButton) => { - const coreSdk = useCoreSdk(restProps.coreSdkConfig); + const coreSdk = useCoreSdkOverrides({ + coreSdkConfig: restProps.coreSdkConfig + }); const actions = [ { diff --git a/packages/react-kit/src/components/cta/exchange/RevokeButton.tsx b/packages/react-kit/src/components/cta/exchange/RevokeButton.tsx index dfaf14625..975e6fe78 100644 --- a/packages/react-kit/src/components/cta/exchange/RevokeButton.tsx +++ b/packages/react-kit/src/components/cta/exchange/RevokeButton.tsx @@ -1,9 +1,9 @@ import React from "react"; import { BigNumberish } from "ethers"; -import { useCoreSdk } from "../../../hooks/useCoreSdk"; import { CtaButtonProps } from "../common/types"; import { CtaButton } from "../common/CtaButton"; +import { useCoreSdkOverrides } from "../../../hooks/useCoreSdkOverrides"; type AdditionalProps = { exchangeId: BigNumberish; @@ -20,7 +20,9 @@ export const RevokeButton = ({ variant = "secondaryFill", ...restProps }: IRevokeButton) => { - const coreSdk = useCoreSdk(restProps.coreSdkConfig); + const coreSdk = useCoreSdkOverrides({ + coreSdkConfig: restProps.coreSdkConfig + }); const actions = [ { diff --git a/packages/react-kit/src/components/cta/funds/DepositFundsButton.tsx b/packages/react-kit/src/components/cta/funds/DepositFundsButton.tsx index 95dc88f01..c8f48af72 100644 --- a/packages/react-kit/src/components/cta/funds/DepositFundsButton.tsx +++ b/packages/react-kit/src/components/cta/funds/DepositFundsButton.tsx @@ -1,11 +1,11 @@ import React from "react"; import { BigNumber, BigNumberish, constants, ethers } from "ethers"; -import { useCoreSdk } from "../../../hooks/useCoreSdk"; import { CtaButtonProps } from "../common/types"; import { CtaButton } from "../common/CtaButton"; import { useSignerAddress } from "../../../hooks/useSignerAddress"; import { TransactionReceipt } from "@bosonprotocol/common"; +import { useCoreSdkOverrides } from "../../../hooks/useCoreSdkOverrides"; type AdditionalProps = { exchangeToken: string; @@ -25,8 +25,10 @@ export const DepositFundsButton = ({ amountToDeposit, ...restProps }: IDepositFundsButton) => { - const coreSdk = useCoreSdk(restProps.coreSdkConfig); - const signerAddress = useSignerAddress(restProps.coreSdkConfig.web3Provider); + const coreSdk = useCoreSdkOverrides({ + coreSdkConfig: restProps.coreSdkConfig + }); + const signerAddress = useSignerAddress(coreSdk.web3Lib); const actions = [ // Approve exchange token diff --git a/packages/react-kit/src/components/cta/funds/WithdrawAllFundsButton.tsx b/packages/react-kit/src/components/cta/funds/WithdrawAllFundsButton.tsx index 5353993b5..8cb920e9d 100644 --- a/packages/react-kit/src/components/cta/funds/WithdrawAllFundsButton.tsx +++ b/packages/react-kit/src/components/cta/funds/WithdrawAllFundsButton.tsx @@ -1,9 +1,9 @@ import React from "react"; -import { useCoreSdk } from "../../../hooks/useCoreSdk"; import { CtaButtonProps } from "../common/types"; import { CtaButton } from "../common/CtaButton"; import { TransactionReceipt } from "@bosonprotocol/common"; +import { useCoreSdkOverrides } from "../../../hooks/useCoreSdkOverrides"; type AdditionalProps = { accountId: string; @@ -19,7 +19,9 @@ export const WithdrawAllFundsButton = ({ variant = "primaryFill", ...restProps }: IWithdrawAllFundsButton) => { - const coreSdk = useCoreSdk(restProps.coreSdkConfig); + const coreSdk = useCoreSdkOverrides({ + coreSdkConfig: restProps.coreSdkConfig + }); const actions = [ // Withdraw all funds { diff --git a/packages/react-kit/src/components/cta/funds/WithdrawFundsButton.tsx b/packages/react-kit/src/components/cta/funds/WithdrawFundsButton.tsx index fa9205f6c..e6ddea407 100644 --- a/packages/react-kit/src/components/cta/funds/WithdrawFundsButton.tsx +++ b/packages/react-kit/src/components/cta/funds/WithdrawFundsButton.tsx @@ -1,11 +1,11 @@ import React, { useMemo } from "react"; import { BigNumber, BigNumberish } from "ethers"; -import { useCoreSdk } from "../../../hooks/useCoreSdk"; import { CtaButtonProps } from "../common/types"; import { CtaButton } from "../common/CtaButton"; import { useSignerAddress } from "../../../hooks/useSignerAddress"; import { TransactionReceipt } from "@bosonprotocol/common"; +import { useCoreSdkOverrides } from "../../../hooks/useCoreSdkOverrides"; type AdditionalProps = { accountId: string; @@ -26,8 +26,10 @@ export const WithdrawFundsButton = ({ tokensToWithdraw, ...restProps }: IWithdrawFundsButton) => { - const coreSdk = useCoreSdk(restProps.coreSdkConfig); - const signerAddress = useSignerAddress(restProps.coreSdkConfig.web3Provider); + const coreSdk = useCoreSdkOverrides({ + coreSdkConfig: restProps.coreSdkConfig + }); + const signerAddress = useSignerAddress(coreSdk.web3Lib); const tokenList = useMemo( () => tokensToWithdraw.map((t) => t.address), [tokensToWithdraw] diff --git a/packages/react-kit/src/components/cta/offer/BatchVoidButton.tsx b/packages/react-kit/src/components/cta/offer/BatchVoidButton.tsx index 031d61809..7ac9cfb38 100644 --- a/packages/react-kit/src/components/cta/offer/BatchVoidButton.tsx +++ b/packages/react-kit/src/components/cta/offer/BatchVoidButton.tsx @@ -2,13 +2,13 @@ import React, { useState } from "react"; import { BigNumberish, providers } from "ethers"; import { Button } from "../../buttons/Button"; -import { useCoreSdk } from "../../../hooks/useCoreSdk"; import { ButtonTextWrapper, ExtraInfo, LoadingWrapper } from "../common/styles"; import { useSignerAddress } from "../../../hooks/useSignerAddress"; import { CtaButtonProps } from "../common/types"; import { Loading } from "../../Loading"; import { ButtonSize } from "../../ui/buttonSize"; import { TransactionResponse } from "@bosonprotocol/common"; +import { useCoreSdkOverrides } from "../../../hooks/useCoreSdkOverrides"; type Props = { /** @@ -35,10 +35,10 @@ export const BatchVoidButton = ({ coreSdkConfig, ...rest }: Props) => { - const coreSdk = useCoreSdk(coreSdkConfig); + const coreSdk = useCoreSdkOverrides({ coreSdkConfig }); const [isLoading, setIsLoading] = useState(false); - const signerAddress = useSignerAddress(coreSdkConfig.web3Provider); + const signerAddress = useSignerAddress(coreSdk.web3Lib); return ( ); diff --git a/packages/react-kit/src/components/modal/components/SellerFinance/FinanceDeposit.tsx b/packages/react-kit/src/components/modal/components/SellerFinance/FinanceDeposit.tsx index 1b9810369..7ad34ff52 100644 --- a/packages/react-kit/src/components/modal/components/SellerFinance/FinanceDeposit.tsx +++ b/packages/react-kit/src/components/modal/components/SellerFinance/FinanceDeposit.tsx @@ -122,9 +122,11 @@ export default function FinanceDeposit({ > {symbol} - - Balance {dataBalance?.formatted} - + {dataBalance && ( + + Balance {dataBalance.formatted} + + )} @@ -176,7 +178,7 @@ export default function FinanceDeposit({ break; } }} - onSuccess={async () => { + onSuccess={async (...args) => { await poll( async () => { const balance = await refetch(); diff --git a/packages/react-kit/src/components/signer/SignerContext.tsx b/packages/react-kit/src/components/signer/SignerContext.tsx new file mode 100644 index 000000000..cd47ca5af --- /dev/null +++ b/packages/react-kit/src/components/signer/SignerContext.tsx @@ -0,0 +1,25 @@ +import React, { createContext, ReactNode } from "react"; +import { Web3LibAdapter } from "@bosonprotocol/common"; +import { useProvideExternalSigner } from "../../lib/signer/externalSigner"; + +export const SignerContext = createContext( + undefined +); + +type SignerProviderProps = { + children: ReactNode; + parentOrigin: `http${string}` | null | undefined; +}; +export const SignerProvider = ({ + children, + parentOrigin +}: SignerProviderProps) => { + const externalSigner = useProvideExternalSigner({ + parentOrigin + }); + return ( + + {children} + + ); +}; diff --git a/packages/react-kit/src/components/signer/useExternalSigner.ts b/packages/react-kit/src/components/signer/useExternalSigner.ts new file mode 100644 index 000000000..eddfe21cc --- /dev/null +++ b/packages/react-kit/src/components/signer/useExternalSigner.ts @@ -0,0 +1,7 @@ +import { useContext } from "react"; +import { SignerContext } from "./SignerContext"; + +export const useExternalSigner = () => { + const context = useContext(SignerContext); + return context; +}; diff --git a/packages/react-kit/src/components/wallet/ConnectButton.tsx b/packages/react-kit/src/components/wallet/ConnectButton.tsx index bdf06eb1d..f5d488922 100644 --- a/packages/react-kit/src/components/wallet/ConnectButton.tsx +++ b/packages/react-kit/src/components/wallet/ConnectButton.tsx @@ -89,10 +89,7 @@ export default function ConnectButton({ account && Sentry.setTag("wallet_address", account?.address); return ( -
+
{({ isMagicLoggedIn, chainId, globalAccount, disconnect }) => { diff --git a/packages/react-kit/src/components/wallet/WalletConnectionProvider.tsx b/packages/react-kit/src/components/wallet/WalletConnectionProvider.tsx index 50c9bc85e..1a4094fe5 100644 --- a/packages/react-kit/src/components/wallet/WalletConnectionProvider.tsx +++ b/packages/react-kit/src/components/wallet/WalletConnectionProvider.tsx @@ -1,6 +1,5 @@ import "@rainbow-me/rainbowkit/styles.css"; -import { EnvironmentType } from "@bosonprotocol/core-sdk"; import { AvatarComponent, darkTheme, diff --git a/packages/react-kit/src/components/widgets/finance/Finance.tsx b/packages/react-kit/src/components/widgets/finance/Finance.tsx index 37b19d666..9d5283d56 100644 --- a/packages/react-kit/src/components/widgets/finance/Finance.tsx +++ b/packages/react-kit/src/components/widgets/finance/Finance.tsx @@ -29,16 +29,19 @@ import { Currencies, CurrencyDisplay } from "../../currencyDisplay/CurrencyDisplay"; -import ThemedButton from "../../ui/ThemedButton"; import { ExchangeTokensProps } from "./exchange-tokens/useExchangeTokens"; +import ThemedButton from "../../ui/ThemedButton"; +import { useAccount } from "../../../hooks/connection/connection"; dayjs.extend(isBetween); +const colors = theme.colors.light; const BosonButton = Button; + const Table = styled.table` width: 100%; border-collapse: collapse; th { font-weight: 600; - color: ${theme.colors.light.darkGrey}; + color: ${colors.darkGrey}; :not([data-sortable]) { cursor: default !important; } @@ -48,11 +51,10 @@ const Table = styled.table` } td { font-weight: 400; - color: ${theme.colors.light.black}; + color: ${colors.black}; } th, td { - font-family: "Plus Jakarta Sans"; font-style: normal; font-size: 0.75rem; line-height: 1.5; @@ -60,7 +62,7 @@ const Table = styled.table` thead { tr { th { - border-bottom: 2px solid ${theme.colors.light.border}; + border-bottom: 2px solid ${colors.border}; text-align: left; padding: 0.5rem; &:first-child { @@ -76,13 +78,13 @@ const Table = styled.table` tr { :hover { td { - background-color: ${theme.colors.light.darkGrey}08; + background-color: ${colors.darkGrey}08; cursor: pointer; } } &:not(:last-child) { td { - border-bottom: 1px solid ${theme.colors.light.border}; + border-bottom: 1px solid ${colors.border}; } } td { @@ -114,30 +116,30 @@ const HeaderSorter = styled.span` const Pagination = styled.div` width: 100%; padding-top: 1rem; - border-top: 2px solid ${theme.colors.light.border}; + border-top: 2px solid ${colors.border}; select { padding: 0.5rem; - border: 1px solid ${theme.colors.light.border}; - background: ${theme.colors.light.white}; + border: 1px solid ${colors.border}; + background: ${colors.white}; margin: 0 1rem; } `; const Span = styled.span` font-size: 0.75rem; - color: ${theme.colors.light.darkGrey}; + color: ${colors.darkGrey}; &:not(:last-of-type) { margin-right: 1rem; } `; const WithdrawButton = styled(ThemedButton)` - color: ${theme.colors.light.secondary}; + color: ${colors.secondary}; border-color: transparent; `; const WarningWrapper = styled(Grid)` svg { - color: ${theme.colors.light.orange}; + color: ${colors.orange}; } `; @@ -214,7 +216,8 @@ export default function Finance({ offersBacked, sellerRoles }: Props) { - const { showModal, modalTypes } = useModal(); + const { address } = useAccount(); + const { showModal } = useModal(); const { funds, reload, fundStatus } = fundsData; const { isLoading: isLoadingExchangesTokens, @@ -282,7 +285,7 @@ export default function Finance({ const offersBackedCell = useCallback( (value: number | null) => { if (value === null) { - return ""; + return null; } if (Number(value) < threshold) { return ( @@ -337,13 +340,17 @@ export default function Finance({ action: ( { showModal( - modalTypes.FINANCE_WITHDRAW_MODAL, + "FINANCE_WITHDRAW_MODAL", { title: `Withdraw ${fund.token.symbol}`, protocolBalance: withdrawable, @@ -364,9 +371,11 @@ export default function Finance({ { showModal( - modalTypes.FINANCE_DEPOSIT_MODAL, + "FINANCE_DEPOSIT_MODAL", { title: `Deposit ${fund.token.symbol}`, protocolBalance: withdrawable, @@ -388,16 +397,15 @@ export default function Finance({ }; }), [ - funds, - sellerLockedFunds, offersBackedCell, - offersBackedFn, - sellerRoles.isClerk, - showModal, - modalTypes.FINANCE_WITHDRAW_MODAL, - modalTypes.FINANCE_DEPOSIT_MODAL, + reloadData, sellerId, - reloadData + sellerLockedFunds, + showModal, + funds, + sellerRoles, + offersBackedFn, + address ] ); @@ -445,6 +453,10 @@ export default function Finance({ ); }, [pageCount, pageIndex]); + if (!address) { + return

Please connect your wallet

; + } + if (!isFundsInitialized || isLoadingSellerData || isLoadingExchangesTokens) { return ; } @@ -568,8 +580,7 @@ export default function Finance({