@velora-dex/widget 0.0.12 → 0.0.14
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/components/ui/drawer.d.ts +1 -1
- package/dist/components/ui/drawer.d.ts.map +1 -1
- package/dist/components/ui/drawer.js +1 -1
- package/dist/components/ui/drawer.js.map +1 -1
- package/dist/components/ui/dropdown-menu.js +25 -19
- package/dist/components/ui/dropdown-menu.js.map +1 -1
- package/dist/components/ui/vaul/browser.d.ts +8 -0
- package/dist/components/ui/vaul/browser.d.ts.map +1 -0
- package/dist/components/ui/vaul/browser.js +37 -0
- package/dist/components/ui/vaul/browser.js.map +1 -0
- package/dist/components/ui/vaul/constants.d.ts +12 -0
- package/dist/components/ui/vaul/constants.d.ts.map +1 -0
- package/dist/components/ui/vaul/constants.js +24 -0
- package/dist/components/ui/vaul/constants.js.map +1 -0
- package/dist/components/ui/vaul/context.d.ts +38 -0
- package/dist/components/ui/vaul/context.d.ts.map +1 -0
- package/dist/components/ui/vaul/context.js +72 -0
- package/dist/components/ui/vaul/context.js.map +1 -0
- package/dist/components/ui/vaul/helpers.d.ts +17 -0
- package/dist/components/ui/vaul/helpers.d.ts.map +1 -0
- package/dist/components/ui/vaul/helpers.js +87 -0
- package/dist/components/ui/vaul/helpers.js.map +1 -0
- package/dist/components/ui/vaul/index.d.ts +140 -0
- package/dist/components/ui/vaul/index.d.ts.map +1 -0
- package/dist/components/ui/vaul/index.js +807 -0
- package/dist/components/ui/vaul/index.js.map +1 -0
- package/dist/components/ui/vaul/types.d.ts +7 -0
- package/dist/components/ui/vaul/types.d.ts.map +1 -0
- package/dist/components/ui/vaul/use-composed-refs.d.ts +14 -0
- package/dist/components/ui/vaul/use-composed-refs.d.ts.map +1 -0
- package/dist/components/ui/vaul/use-composed-refs.js +28 -0
- package/dist/components/ui/vaul/use-composed-refs.js.map +1 -0
- package/dist/components/ui/vaul/use-controllable-state.d.ts +9 -0
- package/dist/components/ui/vaul/use-controllable-state.d.ts.map +1 -0
- package/dist/components/ui/vaul/use-controllable-state.js +134 -0
- package/dist/components/ui/vaul/use-controllable-state.js.map +1 -0
- package/dist/components/ui/vaul/use-position-fixed.d.ts +19 -0
- package/dist/components/ui/vaul/use-position-fixed.d.ts.map +1 -0
- package/dist/components/ui/vaul/use-position-fixed.js +109 -0
- package/dist/components/ui/vaul/use-position-fixed.js.map +1 -0
- package/dist/components/ui/vaul/use-prevent-scroll.d.ts +18 -0
- package/dist/components/ui/vaul/use-prevent-scroll.d.ts.map +1 -0
- package/dist/components/ui/vaul/use-prevent-scroll.js +182 -0
- package/dist/components/ui/vaul/use-prevent-scroll.js.map +1 -0
- package/dist/components/ui/vaul/use-scale-background.d.ts +2 -0
- package/dist/components/ui/vaul/use-scale-background.d.ts.map +1 -0
- package/dist/components/ui/vaul/use-scale-background.js +68 -0
- package/dist/components/ui/vaul/use-scale-background.js.map +1 -0
- package/dist/components/ui/vaul/use-snap-points.d.ts +32 -0
- package/dist/components/ui/vaul/use-snap-points.d.ts.map +1 -0
- package/dist/components/ui/vaul/use-snap-points.js +222 -0
- package/dist/components/ui/vaul/use-snap-points.js.map +1 -0
- package/dist/components/web3/AccountButton.d.ts.map +1 -1
- package/dist/components/web3/AccountButton.js +26 -30
- package/dist/components/web3/AccountButton.js.map +1 -1
- package/dist/components/web3/ConnectWallets/index.d.ts.map +1 -1
- package/dist/components/web3/ConnectWallets/index.js +12 -64
- package/dist/components/web3/ConnectWallets/index.js.map +1 -1
- package/dist/components/widget/AppHeader/ActivityButton.d.ts +2 -0
- package/dist/components/widget/AppHeader/ActivityButton.d.ts.map +1 -0
- package/dist/components/widget/AppHeader/ActivityButton.js +46 -0
- package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -0
- package/dist/components/widget/AppHeader/AppHeader.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/AppHeader.js +35 -29
- package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
- package/dist/components/widget/Drawer/index.d.ts +1 -1
- package/dist/components/widget/Drawer/index.d.ts.map +1 -1
- package/dist/components/widget/Drawer/index.js +37 -30
- package/dist/components/widget/Drawer/index.js.map +1 -1
- package/dist/components/widget/Informative/Informative.d.ts +7 -0
- package/dist/components/widget/Informative/Informative.d.ts.map +1 -0
- package/dist/components/widget/Informative/Informative.js +33 -0
- package/dist/components/widget/Informative/Informative.js.map +1 -0
- package/dist/components/widget/PoweredBy/PoweredBy.d.ts +2 -0
- package/dist/components/widget/PoweredBy/PoweredBy.d.ts.map +1 -0
- package/dist/components/widget/PoweredBy/PoweredBy.js +31 -0
- package/dist/components/widget/PoweredBy/PoweredBy.js.map +1 -0
- package/dist/components/widget/PoweredBy/assets/velora.svg.js +12 -0
- package/dist/components/widget/PoweredBy/assets/velora.svg.js.map +1 -0
- package/dist/components/widget/ReceiverAddress/ReceiverAddress.js +35 -39
- package/dist/components/widget/ReceiverAddress/ReceiverAddress.js.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js +1 -1
- package/dist/components/widget/SelectToken/SelectTokenButton.js +55 -65
- package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.d.ts.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js +1 -0
- package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
- package/dist/components/widget/TokenInput/index.d.ts.map +1 -1
- package/dist/components/widget/TokenInput/index.js +133 -103
- package/dist/components/widget/TokenInput/index.js.map +1 -1
- package/dist/components/widget/TokenInput/types.d.ts +4 -2
- package/dist/components/widget/TokenInput/types.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/Stepper.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/Stepper.js +38 -3
- package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
- package/dist/components/widget/WrapEth/WrapEthDrawerButton.d.ts +2 -1
- package/dist/components/widget/WrapEth/WrapEthDrawerButton.d.ts.map +1 -1
- package/dist/components/widget/WrapEth/WrapEthDrawerButton.js +30 -29
- package/dist/components/widget/WrapEth/WrapEthDrawerButton.js.map +1 -1
- package/dist/hooks/gas/config.d.ts +6 -0
- package/dist/hooks/gas/config.d.ts.map +1 -0
- package/dist/hooks/gas/config.js +53 -0
- package/dist/hooks/gas/config.js.map +1 -0
- package/dist/hooks/gas/types.d.ts +43 -0
- package/dist/hooks/gas/types.d.ts.map +1 -0
- package/dist/hooks/gas/useGasPrices.d.ts +7 -0
- package/dist/hooks/gas/useGasPrices.d.ts.map +1 -0
- package/dist/hooks/gas/useGasPrices.js +118 -0
- package/dist/hooks/gas/useGasPrices.js.map +1 -0
- package/dist/hooks/gas/utils.d.ts +8 -0
- package/dist/hooks/gas/utils.d.ts.map +1 -0
- package/dist/hooks/gas/utils.js +21 -0
- package/dist/hooks/gas/utils.js.map +1 -0
- package/dist/hooks/getCode/useIsAccountContract.d.ts +2 -0
- package/dist/hooks/getCode/useIsAccountContract.d.ts.map +1 -0
- package/dist/hooks/getCode/useIsAccountContract.js +34 -0
- package/dist/hooks/getCode/useIsAccountContract.js.map +1 -0
- package/dist/hooks/permit/hooks/useGetPermitInfo.d.ts +27 -0
- package/dist/hooks/permit/hooks/useGetPermitInfo.d.ts.map +1 -0
- package/dist/hooks/permit/hooks/useGetPermitInfo.js +98 -0
- package/dist/hooks/permit/hooks/useGetPermitInfo.js.map +1 -0
- package/dist/hooks/permit/hooks/useGetSafePermitInfo.d.ts +31 -0
- package/dist/hooks/permit/hooks/useGetSafePermitInfo.d.ts.map +1 -0
- package/dist/hooks/permit/hooks/useGetSafePermitInfo.js +129 -0
- package/dist/hooks/permit/hooks/useGetSafePermitInfo.js.map +1 -0
- package/dist/hooks/permit/hooks/usePermit1Nonce.d.ts +38 -0
- package/dist/hooks/permit/hooks/usePermit1Nonce.d.ts.map +1 -0
- package/dist/hooks/permit/hooks/usePermit1Nonce.js +153 -0
- package/dist/hooks/permit/hooks/usePermit1Nonce.js.map +1 -0
- package/dist/hooks/permit/hooks/useSignArbitraryTypedData.d.ts +18 -0
- package/dist/hooks/permit/hooks/useSignArbitraryTypedData.d.ts.map +1 -0
- package/dist/hooks/permit/hooks/useSignArbitraryTypedData.js +109 -0
- package/dist/hooks/permit/hooks/useSignArbitraryTypedData.js.map +1 -0
- package/dist/hooks/permit/hooks/useSignPermit.d.ts +13 -0
- package/dist/hooks/permit/hooks/useSignPermit.d.ts.map +1 -0
- package/dist/hooks/permit/hooks/useSignPermit.js +103 -0
- package/dist/hooks/permit/hooks/useSignPermit.js.map +1 -0
- package/dist/hooks/permit/hooks/useSignTokenFromPermit1.d.ts +50 -0
- package/dist/hooks/permit/hooks/useSignTokenFromPermit1.d.ts.map +1 -0
- package/dist/hooks/permit/hooks/useSignTokenFromPermit1.js +338 -0
- package/dist/hooks/permit/hooks/useSignTokenFromPermit1.js.map +1 -0
- package/dist/hooks/permit/hooks/useTokenFromPermit1Nonce.d.ts +10 -0
- package/dist/hooks/permit/hooks/useTokenFromPermit1Nonce.d.ts.map +1 -0
- package/dist/hooks/permit/hooks/useTokenFromPermit1Nonce.js +69 -0
- package/dist/hooks/permit/hooks/useTokenFromPermit1Nonce.js.map +1 -0
- package/dist/hooks/permit/hooks/useTokenFromPermitInfo.d.ts +10 -0
- package/dist/hooks/permit/hooks/useTokenFromPermitInfo.d.ts.map +1 -0
- package/dist/hooks/permit/hooks/useTokenFromPermitInfo.js +63 -0
- package/dist/hooks/permit/hooks/useTokenFromPermitInfo.js.map +1 -0
- package/dist/hooks/permit/hooks/useTryToSignPermit1.d.ts +16 -0
- package/dist/hooks/permit/hooks/useTryToSignPermit1.d.ts.map +1 -0
- package/dist/hooks/permit/hooks/useTryToSignPermit1.js +94 -0
- package/dist/hooks/permit/hooks/useTryToSignPermit1.js.map +1 -0
- package/dist/hooks/permit/utils/abi.d.ts +219 -0
- package/dist/hooks/permit/utils/abi.d.ts.map +1 -0
- package/dist/hooks/permit/utils/abi.js +204 -0
- package/dist/hooks/permit/utils/abi.js.map +1 -0
- package/dist/hooks/permit/utils/constants.d.ts +224 -0
- package/dist/hooks/permit/utils/constants.d.ts.map +1 -0
- package/dist/hooks/permit/utils/constants.js +229 -0
- package/dist/hooks/permit/utils/constants.js.map +1 -0
- package/dist/hooks/permit/utils/construct.d.ts +161 -0
- package/dist/hooks/permit/utils/construct.d.ts.map +1 -0
- package/dist/hooks/permit/utils/construct.js +227 -0
- package/dist/hooks/permit/utils/construct.js.map +1 -0
- package/dist/hooks/permit/utils/detect.d.ts +35 -0
- package/dist/hooks/permit/utils/detect.d.ts.map +1 -0
- package/dist/hooks/permit/utils/detect.js +241 -0
- package/dist/hooks/permit/utils/detect.js.map +1 -0
- package/dist/hooks/permit/utils/domainSeparator.d.ts +44 -0
- package/dist/hooks/permit/utils/domainSeparator.d.ts.map +1 -0
- package/dist/hooks/permit/utils/domainSeparator.js +216 -0
- package/dist/hooks/permit/utils/domainSeparator.js.map +1 -0
- package/dist/hooks/permit/utils/encodeArgs.d.ts +11 -0
- package/dist/hooks/permit/utils/encodeArgs.d.ts.map +1 -0
- package/dist/hooks/permit/utils/encodeArgs.js +29 -0
- package/dist/hooks/permit/utils/encodeArgs.js.map +1 -0
- package/dist/hooks/permit/utils/trySignPermit1.d.ts +42 -0
- package/dist/hooks/permit/utils/trySignPermit1.d.ts.map +1 -0
- package/dist/hooks/permit/utils/trySignPermit1.js +283 -0
- package/dist/hooks/permit/utils/trySignPermit1.js.map +1 -0
- package/dist/hooks/permit/utils/types.d.ts +77 -0
- package/dist/hooks/permit/utils/types.d.ts.map +1 -0
- package/dist/hooks/permit/utils/utils.d.ts +15 -0
- package/dist/hooks/permit/utils/utils.d.ts.map +1 -0
- package/dist/hooks/permit/utils/utils.js +44 -0
- package/dist/hooks/permit/utils/utils.js.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.d.ts +1 -1
- package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js +94 -0
- package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -0
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts +3 -0
- package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js +43 -29
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts +2 -10
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.js +10 -10
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/types.d.ts +15 -0
- package/dist/hooks/swap/tradeFlow/common/types.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +2 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +433 -268
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +4 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts +2 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js +411 -245
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +4 -1
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
- package/dist/hooks/tokens/allowance/types.d.ts +2 -0
- package/dist/hooks/tokens/allowance/types.d.ts.map +1 -1
- package/dist/hooks/tokens/allowance/useGenericTokenAllowance.d.ts +3 -1
- package/dist/hooks/tokens/allowance/useGenericTokenAllowance.d.ts.map +1 -1
- package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js +4 -2
- package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js.map +1 -1
- package/dist/hooks/tokens/allowance/useTokenAllowance.d.ts +1 -1
- package/dist/hooks/tokens/allowance/useTokenAllowance.d.ts.map +1 -1
- package/dist/hooks/tokens/allowance/useTokenAllowance.js +11 -8
- package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
- package/dist/hooks/tokens/balances/useInvalidateTokenData.d.ts +1 -0
- package/dist/hooks/tokens/balances/useInvalidateTokenData.d.ts.map +1 -1
- package/dist/hooks/tokens/balances/useInvalidateTokenData.js +32 -5
- package/dist/hooks/tokens/balances/useInvalidateTokenData.js.map +1 -1
- package/dist/hooks/txs/mutations/useSendTx.d.ts.map +1 -1
- package/dist/hooks/txs/mutations/useSendTx.js +48 -44
- package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
- package/dist/hooks/useIsCrosschainPossible.d.ts +12 -0
- package/dist/hooks/useIsCrosschainPossible.d.ts.map +1 -0
- package/dist/hooks/useIsCrosschainPossible.js +68 -0
- package/dist/hooks/useIsCrosschainPossible.js.map +1 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/utils/delta.d.ts +13 -0
- package/dist/lib/utils/delta.d.ts.map +1 -0
- package/dist/lib/utils/delta.js +35 -0
- package/dist/lib/utils/delta.js.map +1 -0
- package/dist/lib/utils/explorer.d.ts +2 -0
- package/dist/lib/utils/explorer.d.ts.map +1 -1
- package/dist/lib/utils/explorer.js +15 -1
- package/dist/lib/utils/explorer.js.map +1 -1
- package/dist/styles/global.css.js +4 -0
- package/dist/styles/global.css.js.map +1 -0
- package/dist/styles.css +194 -3411
- package/dist/test/Configurator.d.ts.map +1 -1
- package/dist/tokens/defaultTokens.js.map +1 -1
- package/dist/widget/Updaters.d.ts.map +1 -1
- package/dist/widget/Updaters.js +4 -0
- package/dist/widget/Updaters.js.map +1 -1
- package/dist/widget/button/hooks/useWidgetButtonExtraProps.d.ts +9 -0
- package/dist/widget/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -0
- package/dist/widget/button/hooks/useWidgetButtonExtraProps.js +81 -0
- package/dist/widget/button/hooks/useWidgetButtonExtraProps.js.map +1 -0
- package/dist/widget/index.d.ts.map +1 -1
- package/dist/widget/index.js +303 -259
- package/dist/widget/index.js.map +1 -1
- package/dist/widget/inputs/hooks/types.d.ts +4 -0
- package/dist/widget/inputs/hooks/types.d.ts.map +1 -0
- package/dist/widget/inputs/hooks/useTokenFromInputProps.d.ts +3 -1
- package/dist/widget/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
- package/dist/widget/inputs/hooks/useTokenFromInputProps.js +160 -99
- package/dist/widget/inputs/hooks/useTokenFromInputProps.js.map +1 -1
- package/dist/widget/inputs/hooks/useTokenToInputProps.d.ts +2 -1
- package/dist/widget/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
- package/dist/widget/inputs/hooks/useTokenToInputProps.js +136 -105
- package/dist/widget/inputs/hooks/useTokenToInputProps.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { GasPricesAPIResponse, LegacyGasPricesResponse } from './types';
|
|
2
|
+
export declare function isLegacyPriceResponse(legacy: boolean, response: GasPricesAPIResponse): response is LegacyGasPricesResponse;
|
|
3
|
+
/** * Converts a wei string value to gwei. Useful for gas that comes from API
|
|
4
|
+
* @param wei - The wei value to convert.
|
|
5
|
+
* @returns The converted value in gwei as a number.
|
|
6
|
+
*/
|
|
7
|
+
export declare function weiToGwei(wei: string): number;
|
|
8
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/hooks/gas/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAE7E,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,oBAAoB,GAC7B,QAAQ,IAAI,uBAAuB,CAErC;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { formatGwei } from 'viem';
|
|
2
|
+
|
|
3
|
+
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
4
|
+
cache: /* @__PURE__ */ new Map(),
|
|
5
|
+
get(name, inst) {
|
|
6
|
+
if (this.cache.has(name)) {
|
|
7
|
+
return this.cache.get(name);
|
|
8
|
+
}
|
|
9
|
+
this.cache.set(name, inst);
|
|
10
|
+
return inst;
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
function isLegacyPriceResponse(legacy, response) {
|
|
14
|
+
return legacy && typeof response.safeLow === "string";
|
|
15
|
+
}
|
|
16
|
+
function weiToGwei(wei) {
|
|
17
|
+
return Number(formatGwei(BigInt(wei)));
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export { isLegacyPriceResponse, weiToGwei };
|
|
21
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../src/hooks/gas/utils.ts"],"sourcesContent":["import { formatGwei } from \"viem\";\nimport type { GasPricesAPIResponse, LegacyGasPricesResponse } from \"./types\";\n\nexport function isLegacyPriceResponse(\n legacy: boolean,\n response: GasPricesAPIResponse\n): response is LegacyGasPricesResponse {\n return legacy && typeof response.safeLow === \"string\";\n}\n\n/** * Converts a wei string value to gwei. Useful for gas that comes from API\n * @param wei - The wei value to convert.\n * @returns The converted value in gwei as a number.\n */\nexport function weiToGwei(wei: string): number {\n return Number(formatGwei(BigInt(wei)));\n}\n"],"names":["isLegacyPriceResponse","legacy","response","safeLow","weiToGwei","wei","Number","formatGwei","BigInt"],"mappings":";;;;;;;;;;;;AAGO,SAASA,qBAAAA,CACdC,QACAC,QAAAA,EACqC;AACrC,EAAA,OAAOD,MAAAA,IAAU,OAAOC,QAAAA,CAASC,OAAAA,KAAY,QAAA;AAC/C;AAMO,SAASC,UAAUC,GAAAA,EAAqB;AAC7C,EAAA,OAAOC,MAAAA,CAAOC,UAAAA,CAAWC,MAAAA,CAAOH,GAAG,CAAC,CAAC,CAAA;AACvC;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIsAccountContract.d.ts","sourceRoot":"","sources":["../../../src/hooks/getCode/useIsAccountContract.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,oBAAoB,6GAIhC,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { d as distExports } from '../../_virtual/index.js';
|
|
2
|
+
import { useAccount } from 'wagmi';
|
|
3
|
+
import { useIsContractAtAddress } from './useIsContractAtAddress.js';
|
|
4
|
+
|
|
5
|
+
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
6
|
+
cache: /* @__PURE__ */ new Map(),
|
|
7
|
+
get(name, inst) {
|
|
8
|
+
if (this.cache.has(name)) {
|
|
9
|
+
return this.cache.get(name);
|
|
10
|
+
}
|
|
11
|
+
this.cache.set(name, inst);
|
|
12
|
+
return inst;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
const useIsAccountContract = () => {
|
|
16
|
+
const $ = distExports.c(2);
|
|
17
|
+
const {
|
|
18
|
+
address
|
|
19
|
+
} = useAccount();
|
|
20
|
+
let t0;
|
|
21
|
+
if ($[0] !== address) {
|
|
22
|
+
t0 = {
|
|
23
|
+
address
|
|
24
|
+
};
|
|
25
|
+
$[0] = address;
|
|
26
|
+
$[1] = t0;
|
|
27
|
+
} else {
|
|
28
|
+
t0 = $[1];
|
|
29
|
+
}
|
|
30
|
+
return useIsContractAtAddress(t0);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export { useIsAccountContract };
|
|
34
|
+
//# sourceMappingURL=useIsAccountContract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIsAccountContract.js","sources":["../../../src/hooks/getCode/useIsAccountContract.ts"],"sourcesContent":["import { useAccount } from \"wagmi\";\nimport { useIsContractAtAddress } from \"./useIsContractAtAddress\";\n\nexport const useIsAccountContract = () => {\n const { address } = useAccount();\n\n return useIsContractAtAddress({ address });\n};\n"],"names":["useIsAccountContract","$","_c","address","useAccount","t0","useIsContractAtAddress"],"mappings":";;;;;;;;;;;;;;AAGO,MAAMA,uBAAuBA,MAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAClC,EAAA,MAAA;AAAA,IAAAC;AAAAA,MAAoBC,UAAAA,EAAW;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,QAAAE,OAAAA,EAAA;AAEHE,IAAAA,EAAAA,GAAA;AAAA,MAAAF;AAAAA,KAAA;AAAWF,IAAAA,CAAAA,MAAAE,OAAAA;AAAAF,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA;AAAA,EAAA,OAAlCK,uBAAuBD,EAAW,CAAA;AAAC;;;;"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { SupportedChainId } from '../../../lib/web3/wagmi/types';
|
|
2
|
+
import { Address } from 'viem';
|
|
3
|
+
import { UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
|
|
4
|
+
import { NotDetectedPermitSupport, PermitSupportResult } from '../utils/detect';
|
|
5
|
+
type GetPermitInfoQueryKey = readonly [
|
|
6
|
+
"permitInfo",
|
|
7
|
+
Address?,
|
|
8
|
+
SupportedChainId?
|
|
9
|
+
];
|
|
10
|
+
type PermitInfo = PermitSupportResult & {
|
|
11
|
+
tokenAddress: Address;
|
|
12
|
+
chainId: SupportedChainId;
|
|
13
|
+
};
|
|
14
|
+
type NotDetectedPermitInfo = NotDetectedPermitSupport & {
|
|
15
|
+
tokenAddress: Address;
|
|
16
|
+
chainId: SupportedChainId;
|
|
17
|
+
};
|
|
18
|
+
type PermitInfoResult = PermitInfo | NotDetectedPermitInfo;
|
|
19
|
+
export type UseGetPermitInfoParameters<Select = PermitInfoResult> = {
|
|
20
|
+
tokenAddress?: Address;
|
|
21
|
+
chainId?: SupportedChainId;
|
|
22
|
+
query?: Omit<UseQueryOptions<PermitInfoResult, Error, Select, GetPermitInfoQueryKey>, "queryKey" | "queryFn">;
|
|
23
|
+
};
|
|
24
|
+
export type UseGetPermitInfoReturnType<Select = PermitInfoResult> = UseQueryResult<Select, Error>;
|
|
25
|
+
export declare function useGetPermitInfo<Select = PermitInfoResult>({ tokenAddress, chainId, query, }: UseGetPermitInfoParameters<Select>): UseGetPermitInfoReturnType<Select>;
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=useGetPermitInfo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGetPermitInfo.d.ts","sourceRoot":"","sources":["../../../../src/hooks/permit/hooks/useGetPermitInfo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACzB,MAAM,iBAAiB,CAAC;AAKzB,KAAK,qBAAqB,GAAG,SAAS;IACpC,YAAY;IACZ,OAAO,CAAC;IACR,gBAAgB,CAAC;CAClB,CAAC;AAEF,KAAK,UAAU,GAAG,mBAAmB,GAAG;IACtC,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAEF,KAAK,qBAAqB,GAAG,wBAAwB,GAAG;IACtD,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAEF,KAAK,gBAAgB,GAAG,UAAU,GAAG,qBAAqB,CAAC;AAE3D,MAAM,MAAM,0BAA0B,CAAC,MAAM,GAAG,gBAAgB,IAAI;IAClE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,KAAK,CAAC,EAAE,IAAI,CACV,eAAe,CAAC,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,CAAC,EACvE,UAAU,GAAG,SAAS,CACvB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,0BAA0B,CAAC,MAAM,GAAG,gBAAgB,IAC9D,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAEhC,wBAAgB,gBAAgB,CAAC,MAAM,GAAG,gBAAgB,EAAE,EAC1D,YAAY,EACZ,OAAO,EACP,KAAK,GACN,EAAE,0BAA0B,CAAC,MAAM,CAAC,GAAG,0BAA0B,CAAC,MAAM,CAAC,CA+CzE"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { d as distExports } from '../../../_virtual/index.js';
|
|
2
|
+
import { useQuery } from '@tanstack/react-query';
|
|
3
|
+
import { detectPermitSupportType } from '../utils/detect.js';
|
|
4
|
+
import { useConfig } from 'wagmi';
|
|
5
|
+
import { constructAddressLinkForChain } from '../../../lib/utils/explorer.js';
|
|
6
|
+
import { assert } from 'ts-essentials';
|
|
7
|
+
|
|
8
|
+
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
9
|
+
cache: /* @__PURE__ */ new Map(),
|
|
10
|
+
get(name, inst) {
|
|
11
|
+
if (this.cache.has(name)) {
|
|
12
|
+
return this.cache.get(name);
|
|
13
|
+
}
|
|
14
|
+
this.cache.set(name, inst);
|
|
15
|
+
return inst;
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
function useGetPermitInfo(t0) {
|
|
19
|
+
const $ = distExports.c(14);
|
|
20
|
+
const {
|
|
21
|
+
tokenAddress,
|
|
22
|
+
chainId,
|
|
23
|
+
query
|
|
24
|
+
} = t0;
|
|
25
|
+
const config = useConfig();
|
|
26
|
+
const queryEnabled = query?.enabled ?? true;
|
|
27
|
+
let t1;
|
|
28
|
+
if ($[0] !== tokenAddress) {
|
|
29
|
+
t1 = tokenAddress?.toLowerCase();
|
|
30
|
+
$[0] = tokenAddress;
|
|
31
|
+
$[1] = t1;
|
|
32
|
+
} else {
|
|
33
|
+
t1 = $[1];
|
|
34
|
+
}
|
|
35
|
+
const t2 = t1;
|
|
36
|
+
let t3;
|
|
37
|
+
if ($[2] !== chainId || $[3] !== t2) {
|
|
38
|
+
t3 = ["permitInfo", t2, chainId];
|
|
39
|
+
$[2] = chainId;
|
|
40
|
+
$[3] = t2;
|
|
41
|
+
$[4] = t3;
|
|
42
|
+
} else {
|
|
43
|
+
t3 = $[4];
|
|
44
|
+
}
|
|
45
|
+
let t4;
|
|
46
|
+
if ($[5] !== chainId || $[6] !== config || $[7] !== tokenAddress) {
|
|
47
|
+
t4 = async () => {
|
|
48
|
+
assert(tokenAddress, "tokenAddress is required");
|
|
49
|
+
assert(chainId, "chainId is required");
|
|
50
|
+
const permitSupport = await detectPermitSupportType({
|
|
51
|
+
config,
|
|
52
|
+
tokenAddress,
|
|
53
|
+
chainId
|
|
54
|
+
});
|
|
55
|
+
const result = {
|
|
56
|
+
...permitSupport,
|
|
57
|
+
tokenAddress,
|
|
58
|
+
chainId
|
|
59
|
+
};
|
|
60
|
+
console.log("PERMIT1::permitInfo result", result);
|
|
61
|
+
console.log("PERMIT1::check Token at explorer", constructAddressLinkForChain({
|
|
62
|
+
chainId,
|
|
63
|
+
address: tokenAddress
|
|
64
|
+
}) + "#writeContract");
|
|
65
|
+
return result;
|
|
66
|
+
};
|
|
67
|
+
$[5] = chainId;
|
|
68
|
+
$[6] = config;
|
|
69
|
+
$[7] = tokenAddress;
|
|
70
|
+
$[8] = t4;
|
|
71
|
+
} else {
|
|
72
|
+
t4 = $[8];
|
|
73
|
+
}
|
|
74
|
+
const t5 = queryEnabled && !!tokenAddress && !!chainId;
|
|
75
|
+
let t6;
|
|
76
|
+
if ($[9] !== query || $[10] !== t3 || $[11] !== t4 || $[12] !== t5) {
|
|
77
|
+
t6 = {
|
|
78
|
+
queryKey: t3,
|
|
79
|
+
queryFn: t4,
|
|
80
|
+
staleTime: Infinity,
|
|
81
|
+
gcTime: Infinity,
|
|
82
|
+
...query,
|
|
83
|
+
enabled: t5
|
|
84
|
+
};
|
|
85
|
+
$[9] = query;
|
|
86
|
+
$[10] = t3;
|
|
87
|
+
$[11] = t4;
|
|
88
|
+
$[12] = t5;
|
|
89
|
+
$[13] = t6;
|
|
90
|
+
} else {
|
|
91
|
+
t6 = $[13];
|
|
92
|
+
}
|
|
93
|
+
const queryResult = useQuery(t6);
|
|
94
|
+
return queryResult;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export { useGetPermitInfo };
|
|
98
|
+
//# sourceMappingURL=useGetPermitInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGetPermitInfo.js","sources":["../../../../src/hooks/permit/hooks/useGetPermitInfo.ts"],"sourcesContent":["import type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { Address } from \"viem\";\nimport {\n useQuery,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport {\n detectPermitSupportType,\n type NotDetectedPermitSupport,\n type PermitSupportResult,\n} from \"../utils/detect\";\nimport { useConfig } from \"wagmi\";\nimport { constructAddressLinkForChain } from \"@/lib/utils/explorer\";\nimport { assert } from \"ts-essentials\";\n\ntype GetPermitInfoQueryKey = readonly [\n \"permitInfo\",\n Address?,\n SupportedChainId?,\n];\n\ntype PermitInfo = PermitSupportResult & {\n tokenAddress: Address;\n chainId: SupportedChainId;\n};\n\ntype NotDetectedPermitInfo = NotDetectedPermitSupport & {\n tokenAddress: Address;\n chainId: SupportedChainId;\n};\n\ntype PermitInfoResult = PermitInfo | NotDetectedPermitInfo;\n\nexport type UseGetPermitInfoParameters<Select = PermitInfoResult> = {\n tokenAddress?: Address;\n chainId?: SupportedChainId;\n query?: Omit<\n UseQueryOptions<PermitInfoResult, Error, Select, GetPermitInfoQueryKey>,\n \"queryKey\" | \"queryFn\"\n >;\n};\n\nexport type UseGetPermitInfoReturnType<Select = PermitInfoResult> =\n UseQueryResult<Select, Error>;\n\nexport function useGetPermitInfo<Select = PermitInfoResult>({\n tokenAddress,\n chainId,\n query,\n}: UseGetPermitInfoParameters<Select>): UseGetPermitInfoReturnType<Select> {\n const config = useConfig();\n\n const queryEnabled = query?.enabled ?? true;\n\n const queryResult = useQuery<\n PermitInfoResult,\n Error,\n Select,\n GetPermitInfoQueryKey\n >({\n queryKey: [\"permitInfo\", tokenAddress?.toLowerCase() as Address, chainId],\n queryFn: async () => {\n assert(tokenAddress, \"tokenAddress is required\");\n assert(chainId, \"chainId is required\");\n\n const permitSupport = await detectPermitSupportType({\n config,\n tokenAddress,\n chainId,\n });\n\n const result = {\n ...permitSupport,\n tokenAddress,\n chainId,\n };\n\n console.log(\"PERMIT1::permitInfo result\", result);\n console.log(\n \"PERMIT1::check Token at explorer\",\n constructAddressLinkForChain({\n chainId,\n address: tokenAddress,\n }) + \"#writeContract\"\n );\n\n return result;\n },\n // Token Permit support won't change during App runtime\n staleTime: Infinity,\n gcTime: Infinity,\n ...query,\n enabled: queryEnabled && !!tokenAddress && !!chainId,\n });\n\n return queryResult;\n}\n"],"names":["useGetPermitInfo","t0","$","_c","tokenAddress","chainId","query","config","useConfig","queryEnabled","enabled","t1","toLowerCase","t2","t3","t4","assert","permitSupport","detectPermitSupportType","result","console","log","constructAddressLinkForChain","address","t5","t6","queryKey","queryFn","staleTime","Infinity","gcTime","queryResult","useQuery"],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Address } from 'viem';
|
|
2
|
+
import { SupportedChainId } from '../../../lib/web3/wagmi/types';
|
|
3
|
+
import { TrySignPermitFailure, TrySignPermitSuccess } from '../utils/trySignPermit1';
|
|
4
|
+
import { PermitSupportResult } from '../utils/detect';
|
|
5
|
+
import { Prettify } from 'ts-essentials';
|
|
6
|
+
type UseGetSafePermitInfoParameters = {
|
|
7
|
+
tokenAddress?: Address;
|
|
8
|
+
chainId?: SupportedChainId;
|
|
9
|
+
enabled?: boolean;
|
|
10
|
+
};
|
|
11
|
+
type UseGetSafePermitInfoSuccess = {
|
|
12
|
+
testPermitResult?: TrySignPermitSuccess;
|
|
13
|
+
safePermitInfo?: PermitSupportResult;
|
|
14
|
+
};
|
|
15
|
+
type UseGetSafePermitInfoFailure = {
|
|
16
|
+
testPermitResult?: TrySignPermitFailure;
|
|
17
|
+
safePermitInfo?: undefined;
|
|
18
|
+
};
|
|
19
|
+
export type UseGetSafePermitInfoResult = Prettify<(UseGetSafePermitInfoSuccess | UseGetSafePermitInfoFailure) & {
|
|
20
|
+
isLoading: boolean;
|
|
21
|
+
isError: boolean;
|
|
22
|
+
error: Error | null;
|
|
23
|
+
isSuccess: boolean;
|
|
24
|
+
}>;
|
|
25
|
+
/**
|
|
26
|
+
* Prefer this hook for getting permitInfo
|
|
27
|
+
* as it employs more checks
|
|
28
|
+
*/
|
|
29
|
+
export declare function useGetSafePermitInfo({ tokenAddress, chainId, enabled, }: UseGetSafePermitInfoParameters): UseGetSafePermitInfoResult;
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=useGetSafePermitInfo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGetSafePermitInfo.d.ts","sourceRoot":"","sources":["../../../../src/hooks/permit/hooks/useGetSafePermitInfo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAGpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,KAAK,8BAA8B,GAAG;IACpC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,KAAK,2BAA2B,GAAG;IACjC,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IACxC,cAAc,CAAC,EAAE,mBAAmB,CAAC;CACtC,CAAC;AAEF,KAAK,2BAA2B,GAAG;IACjC,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IACxC,cAAc,CAAC,EAAE,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,QAAQ,CAC/C,CAAC,2BAA2B,GAAG,2BAA2B,CAAC,GAAG;IAC5D,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB,CACF,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,YAAY,EACZ,OAAO,EACP,OAAc,GACf,EAAE,8BAA8B,GAAG,0BAA0B,CAiD7D"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { d as distExports } from '../../../_virtual/index.js';
|
|
2
|
+
import { useGetPermitInfo } from './useGetPermitInfo.js';
|
|
3
|
+
import { useTryToSignPermit1 } from './useTryToSignPermit1.js';
|
|
4
|
+
|
|
5
|
+
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
6
|
+
cache: /* @__PURE__ */ new Map(),
|
|
7
|
+
get(name, inst) {
|
|
8
|
+
if (this.cache.has(name)) {
|
|
9
|
+
return this.cache.get(name);
|
|
10
|
+
}
|
|
11
|
+
this.cache.set(name, inst);
|
|
12
|
+
return inst;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
function useGetSafePermitInfo(t0) {
|
|
16
|
+
const $ = distExports.c(26);
|
|
17
|
+
const {
|
|
18
|
+
tokenAddress,
|
|
19
|
+
chainId,
|
|
20
|
+
enabled: t1
|
|
21
|
+
} = t0;
|
|
22
|
+
const enabled = t1 === void 0 ? true : t1;
|
|
23
|
+
let t2;
|
|
24
|
+
if ($[0] !== enabled) {
|
|
25
|
+
t2 = {
|
|
26
|
+
enabled
|
|
27
|
+
};
|
|
28
|
+
$[0] = enabled;
|
|
29
|
+
$[1] = t2;
|
|
30
|
+
} else {
|
|
31
|
+
t2 = $[1];
|
|
32
|
+
}
|
|
33
|
+
let t3;
|
|
34
|
+
if ($[2] !== chainId || $[3] !== t2 || $[4] !== tokenAddress) {
|
|
35
|
+
t3 = {
|
|
36
|
+
tokenAddress,
|
|
37
|
+
chainId,
|
|
38
|
+
query: t2
|
|
39
|
+
};
|
|
40
|
+
$[2] = chainId;
|
|
41
|
+
$[3] = t2;
|
|
42
|
+
$[4] = tokenAddress;
|
|
43
|
+
$[5] = t3;
|
|
44
|
+
} else {
|
|
45
|
+
t3 = $[5];
|
|
46
|
+
}
|
|
47
|
+
const permitInfoQuery = useGetPermitInfo(t3);
|
|
48
|
+
const t4 = permitInfoQuery.data?.type !== "NOT_DETECTED" ? permitInfoQuery.data : void 0;
|
|
49
|
+
const t5 = permitInfoQuery.data?.tokenAddress;
|
|
50
|
+
const t6 = permitInfoQuery.data?.chainId;
|
|
51
|
+
let t7;
|
|
52
|
+
if ($[6] !== enabled) {
|
|
53
|
+
t7 = {
|
|
54
|
+
enabled
|
|
55
|
+
};
|
|
56
|
+
$[6] = enabled;
|
|
57
|
+
$[7] = t7;
|
|
58
|
+
} else {
|
|
59
|
+
t7 = $[7];
|
|
60
|
+
}
|
|
61
|
+
let t8;
|
|
62
|
+
if ($[8] !== t4 || $[9] !== t5 || $[10] !== t6 || $[11] !== t7) {
|
|
63
|
+
t8 = {
|
|
64
|
+
permitInfo: t4,
|
|
65
|
+
tokenAddress: t5,
|
|
66
|
+
chainId: t6,
|
|
67
|
+
query: t7
|
|
68
|
+
};
|
|
69
|
+
$[8] = t4;
|
|
70
|
+
$[9] = t5;
|
|
71
|
+
$[10] = t6;
|
|
72
|
+
$[11] = t7;
|
|
73
|
+
$[12] = t8;
|
|
74
|
+
} else {
|
|
75
|
+
t8 = $[12];
|
|
76
|
+
}
|
|
77
|
+
const trySignPermitQuery = useTryToSignPermit1(t8);
|
|
78
|
+
const testPermitResult = trySignPermitQuery.data;
|
|
79
|
+
const safePermitInfo = testPermitResult?.success ? testPermitResult.permitInfo : void 0;
|
|
80
|
+
const isLoading = permitInfoQuery.isLoading || trySignPermitQuery.isLoading;
|
|
81
|
+
const isError = permitInfoQuery.isError || trySignPermitQuery.isError;
|
|
82
|
+
const error = permitInfoQuery.error || trySignPermitQuery.error;
|
|
83
|
+
const isSuccess = permitInfoQuery.isSuccess || trySignPermitQuery.isSuccess;
|
|
84
|
+
if (testPermitResult?.success) {
|
|
85
|
+
let t92;
|
|
86
|
+
if ($[13] !== error || $[14] !== isError || $[15] !== isLoading || $[16] !== isSuccess || $[17] !== safePermitInfo || $[18] !== testPermitResult) {
|
|
87
|
+
t92 = {
|
|
88
|
+
testPermitResult,
|
|
89
|
+
safePermitInfo,
|
|
90
|
+
isLoading,
|
|
91
|
+
isError,
|
|
92
|
+
error,
|
|
93
|
+
isSuccess
|
|
94
|
+
};
|
|
95
|
+
$[13] = error;
|
|
96
|
+
$[14] = isError;
|
|
97
|
+
$[15] = isLoading;
|
|
98
|
+
$[16] = isSuccess;
|
|
99
|
+
$[17] = safePermitInfo;
|
|
100
|
+
$[18] = testPermitResult;
|
|
101
|
+
$[19] = t92;
|
|
102
|
+
} else {
|
|
103
|
+
t92 = $[19];
|
|
104
|
+
}
|
|
105
|
+
return t92;
|
|
106
|
+
}
|
|
107
|
+
let t9;
|
|
108
|
+
if ($[20] !== error || $[21] !== isError || $[22] !== isLoading || $[23] !== isSuccess || $[24] !== testPermitResult) {
|
|
109
|
+
t9 = {
|
|
110
|
+
testPermitResult,
|
|
111
|
+
isLoading,
|
|
112
|
+
isError,
|
|
113
|
+
error,
|
|
114
|
+
isSuccess
|
|
115
|
+
};
|
|
116
|
+
$[20] = error;
|
|
117
|
+
$[21] = isError;
|
|
118
|
+
$[22] = isLoading;
|
|
119
|
+
$[23] = isSuccess;
|
|
120
|
+
$[24] = testPermitResult;
|
|
121
|
+
$[25] = t9;
|
|
122
|
+
} else {
|
|
123
|
+
t9 = $[25];
|
|
124
|
+
}
|
|
125
|
+
return t9;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export { useGetSafePermitInfo };
|
|
129
|
+
//# sourceMappingURL=useGetSafePermitInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGetSafePermitInfo.js","sources":["../../../../src/hooks/permit/hooks/useGetSafePermitInfo.ts"],"sourcesContent":["import type { Address } from \"viem\";\nimport { useGetPermitInfo } from \"./useGetPermitInfo\";\nimport { useTryToSignPermit1 } from \"./useTryToSignPermit1\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type {\n TrySignPermitFailure,\n TrySignPermitSuccess,\n} from \"../utils/trySignPermit1\";\nimport type { PermitSupportResult } from \"../utils/detect\";\nimport type { Prettify } from \"ts-essentials\";\n\ntype UseGetSafePermitInfoParameters = {\n tokenAddress?: Address;\n chainId?: SupportedChainId;\n enabled?: boolean;\n};\n\ntype UseGetSafePermitInfoSuccess = {\n testPermitResult?: TrySignPermitSuccess;\n safePermitInfo?: PermitSupportResult;\n};\n\ntype UseGetSafePermitInfoFailure = {\n testPermitResult?: TrySignPermitFailure;\n safePermitInfo?: undefined;\n};\n\nexport type UseGetSafePermitInfoResult = Prettify<\n (UseGetSafePermitInfoSuccess | UseGetSafePermitInfoFailure) & {\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n isSuccess: boolean;\n }\n>;\n\n/**\n * Prefer this hook for getting permitInfo\n * as it employs more checks\n */\nexport function useGetSafePermitInfo({\n tokenAddress,\n chainId,\n enabled = true, // enabled: false to get cached results\n}: UseGetSafePermitInfoParameters): UseGetSafePermitInfoResult {\n const permitInfoQuery = useGetPermitInfo({\n tokenAddress,\n chainId,\n query: {\n enabled,\n },\n });\n\n const trySignPermitQuery = useTryToSignPermit1({\n permitInfo:\n permitInfoQuery.data?.type !== \"NOT_DETECTED\"\n ? permitInfoQuery.data\n : undefined,\n tokenAddress: permitInfoQuery.data?.tokenAddress,\n chainId: permitInfoQuery.data?.chainId,\n query: {\n enabled,\n },\n });\n\n const testPermitResult = trySignPermitQuery.data;\n\n const safePermitInfo = testPermitResult?.success\n ? testPermitResult.permitInfo\n : undefined;\n const isLoading = permitInfoQuery.isLoading || trySignPermitQuery.isLoading;\n const isError = permitInfoQuery.isError || trySignPermitQuery.isError;\n const error = permitInfoQuery.error || trySignPermitQuery.error;\n const isSuccess = permitInfoQuery.isSuccess || trySignPermitQuery.isSuccess;\n\n if (testPermitResult?.success) {\n return {\n testPermitResult,\n safePermitInfo, // when present, Token can use some kind of Permit1\n isLoading,\n isError,\n error,\n isSuccess,\n };\n }\n\n return {\n testPermitResult,\n isLoading,\n isError,\n error,\n isSuccess,\n };\n}\n"],"names":["useGetSafePermitInfo","t0","$","_c","tokenAddress","chainId","enabled","t1","undefined","t2","t3","query","permitInfoQuery","useGetPermitInfo","t4","data","type","t5","t6","t7","t8","permitInfo","trySignPermitQuery","useTryToSignPermit1","testPermitResult","safePermitInfo","success","isLoading","isError","error","isSuccess","t9"],"mappings":";;;;;;;;;;;;;;AAwCO,SAAAA,qBAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAA8B,EAAA,MAAA;AAAA,IAAAC,YAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,OAAAA,EAAAC;AAAAA,GAAA,GAAAN,EAAAA;AAGnC,EAAA,MAAAK,OAAAA,GAAAC,EAAAA,KAAcC,MAAAA,UAAdD,EAAAA;AAAc,EAAA,IAAAE,EAAAA;AAAA,EAAA,IAAAP,CAAAA,QAAAI,OAAAA,EAAA;AAKLG,IAAAA,EAAAA,GAAA;AAAA,MAAAH;AAAAA,KAAA;AAENJ,IAAAA,CAAAA,MAAAI,OAAAA;AAAAJ,IAAAA,CAAAA,MAAAO,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAP,EAAA,CAAA,CAAA;AAAA;AAAA,EAAA,IAAAQ,EAAAA;AAAA,EAAA,IAAAR,CAAAA,CAAA,CAAA,CAAA,KAAAG,OAAAA,IAAAH,CAAAA,QAAAO,EAAAA,IAAAP,CAAAA,CAAA,CAAA,CAAA,KAAAE,YAAAA,EAAA;AALsCM,IAAAA,EAAAA,GAAA;AAAA,MAAAN,YAAAA;AAAAA,MAAAC,OAAAA;AAAAA,MAAAM,KAAAA,EAGhCF;AAAAA,KAEN;AACFP,IAAAA,CAAAA,MAAAG,OAAAA;AAAAH,IAAAA,CAAAA,MAAAO,EAAAA;AAAAP,IAAAA,CAAAA,MAAAE,YAAAA;AAAAF,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAR,EAAA,CAAA,CAAA;AAAA;AAND,EAAA,MAAAU,eAAAA,GAAwBC,iBAAiBH,EAMxC,CAAA;AAIG,EAAA,MAAAI,KAAAF,eAAAA,CAAeG,IAAAA,EAAAC,IAAAA,KAAgB,cAAA,GAC3BJ,gBAAeG,IAAAA,GAAAP,MAAAA;AAEP,EAAA,MAAAS,EAAAA,GAAAL,gBAAeG,IAAAA,EAAAX,YAAAA;AACpB,EAAA,MAAAc,EAAAA,GAAAN,gBAAeG,IAAAA,EAAAV,OAAAA;AAAc,EAAA,IAAAc,EAAAA;AAAA,EAAA,IAAAjB,CAAAA,QAAAI,OAAAA,EAAA;AAC/Ba,IAAAA,EAAAA,GAAA;AAAA,MAAAb;AAAAA,KAAA;AAENJ,IAAAA,CAAAA,MAAAI,OAAAA;AAAAJ,IAAAA,CAAAA,MAAAiB,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAjB,EAAA,CAAA,CAAA;AAAA;AAAA,EAAA,IAAAkB,EAAAA;AAAA,EAAA,IAAAlB,CAAAA,CAAA,CAAA,CAAA,KAAAY,EAAAA,IAAAZ,EAAA,CAAA,CAAA,KAAAe,EAAAA,IAAAf,CAAAA,CAAA,EAAA,CAAA,KAAAgB,EAAAA,IAAAhB,CAAAA,SAAAiB,EAAAA,EAAA;AAT4CC,IAAAA,EAAAA,GAAA;AAAA,MAAAC,UAAAA,EAE3CP,EAAAA;AAAAA,MAEaV,YAAAA,EACDa,EAAAA;AAAAA,MAAkCZ,OAAAA,EACvCa,EAAAA;AAAAA,MAA6BP,KAAAA,EAC/BQ;AAAAA,KAEN;AACFjB,IAAAA,CAAAA,MAAAY,EAAAA;AAAAZ,IAAAA,CAAAA,MAAAe,EAAAA;AAAAf,IAAAA,CAAAA,OAAAgB,EAAAA;AAAAhB,IAAAA,CAAAA,OAAAiB,EAAAA;AAAAjB,IAAAA,CAAAA,OAAAkB,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAlB,EAAA,EAAA,CAAA;AAAA;AAVD,EAAA,MAAAoB,kBAAAA,GAA2BC,oBAAoBH,EAU9C,CAAA;AAED,EAAA,MAAAI,mBAAyBF,kBAAAA,CAAkBP,IAAAA;AAE3C,EAAA,MAAAU,cAAAA,GAAuBD,gBAAAA,EAAgBE,OAAAA,GACnCF,gBAAAA,CAAgBH,UAAAA,GAAAb,MAAAA;AAEpB,EAAA,MAAAmB,SAAAA,GAAkBf,eAAAA,CAAee,SAAAA,IAAcL,kBAAAA,CAAkBK,SAAAA;AACjE,EAAA,MAAAC,OAAAA,GAAgBhB,eAAAA,CAAegB,OAAAA,IAAYN,kBAAAA,CAAkBM,OAAAA;AAC7D,EAAA,MAAAC,KAAAA,GAAcjB,eAAAA,CAAeiB,KAAAA,IAAUP,kBAAAA,CAAkBO,KAAAA;AACzD,EAAA,MAAAC,SAAAA,GAAkBlB,eAAAA,CAAekB,SAAAA,IAAcR,kBAAAA,CAAkBQ,SAAAA;AAAW,EAAA,IAExEN,kBAAgBE,OAAAA,EAAA;AAAA,IAAA,IAAAK,GAAAA;AAAA,IAAA,IAAA7B,CAAAA,SAAA2B,KAAAA,IAAA3B,EAAA,EAAA,CAAA,KAAA0B,OAAAA,IAAA1B,CAAAA,CAAA,EAAA,CAAA,KAAAyB,aAAAzB,CAAAA,CAAA,EAAA,CAAA,KAAA4B,SAAAA,IAAA5B,CAAAA,SAAAuB,cAAAA,IAAAvB,CAAAA,CAAA,EAAA,CAAA,KAAAsB,gBAAAA,EAAA;AACXO,MAAAA,GAAAA,GAAA;AAAA,QAAAP,gBAAAA;AAAAA,QAAAC,cAAAA;AAAAA,QAAAE,SAAAA;AAAAA,QAAAC,OAAAA;AAAAA,QAAAC,KAAAA;AAAAA,QAAAC;AAAAA,OAAA;AAON5B,MAAAA,CAAAA,OAAA2B,KAAAA;AAAA3B,MAAAA,CAAAA,OAAA0B,OAAAA;AAAA1B,MAAAA,CAAAA,OAAAyB,SAAAA;AAAAzB,MAAAA,CAAAA,OAAA4B,SAAAA;AAAA5B,MAAAA,CAAAA,OAAAuB,cAAAA;AAAAvB,MAAAA,CAAAA,OAAAsB,gBAAAA;AAAAtB,MAAAA,CAAAA,OAAA6B,GAAAA;AAAAA,KAAA,MAAA;AAAAA,MAAAA,GAAAA,GAAA7B,EAAA,EAAA,CAAA;AAAA;AAAA,IAAA,OAPM6B,GAAAA;AAAAA;AAON,EAAA,IAAAA,EAAAA;AAAA,EAAA,IAAA7B,EAAA,EAAA,CAAA,KAAA2B,SAAA3B,CAAAA,CAAA,EAAA,MAAA0B,OAAAA,IAAA1B,CAAAA,CAAA,EAAA,CAAA,KAAAyB,SAAAA,IAAAzB,EAAA,EAAA,CAAA,KAAA4B,aAAA5B,CAAAA,SAAAsB,gBAAAA,EAAA;AAGIO,IAAAA,EAAAA,GAAA;AAAA,MAAAP,gBAAAA;AAAAA,MAAAG,SAAAA;AAAAA,MAAAC,OAAAA;AAAAA,MAAAC,KAAAA;AAAAA,MAAAC;AAAAA,KAAA;AAMN5B,IAAAA,CAAAA,OAAA2B,KAAAA;AAAA3B,IAAAA,CAAAA,OAAA0B,OAAAA;AAAA1B,IAAAA,CAAAA,OAAAyB,SAAAA;AAAAzB,IAAAA,CAAAA,OAAA4B,SAAAA;AAAA5B,IAAAA,CAAAA,OAAAsB,gBAAAA;AAAAtB,IAAAA,CAAAA,OAAA6B,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA7B,EAAA,EAAA,CAAA;AAAA;AAAA,EAAA,OANM6B,EAAAA;AAMN;;;;"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ERC_20_NONCES_ABI } from '../utils/constants';
|
|
2
|
+
import { SupportedChainId } from '../../../lib/web3/wagmi/types';
|
|
3
|
+
import { Token } from '../../../tokens/state/types';
|
|
4
|
+
import { QueryObserverResult, RefetchOptions } from '@tanstack/react-query';
|
|
5
|
+
import { Address } from 'viem';
|
|
6
|
+
interface UsePermitNonceParams {
|
|
7
|
+
token?: Address;
|
|
8
|
+
owner?: Address;
|
|
9
|
+
chainId?: SupportedChainId;
|
|
10
|
+
enabled?: boolean;
|
|
11
|
+
}
|
|
12
|
+
type SetNonceInput = {
|
|
13
|
+
token: Pick<Token, "address" | "network">;
|
|
14
|
+
owner: Address;
|
|
15
|
+
usedNonce?: bigint;
|
|
16
|
+
};
|
|
17
|
+
type UseMarkNonceAsUsedResult = {
|
|
18
|
+
markNonceAsUsed: (input: SetNonceInput) => void;
|
|
19
|
+
clearNonce: (input: Pick<SetNonceInput, "token" | "owner">) => void;
|
|
20
|
+
};
|
|
21
|
+
export declare function useMarkNonceAsUsed(): UseMarkNonceAsUsedResult;
|
|
22
|
+
export type NonceMethod = (typeof ERC_20_NONCES_ABI)[number]["name"];
|
|
23
|
+
type PermitNonceResult = {
|
|
24
|
+
nonceMethod: NonceMethod;
|
|
25
|
+
nonceToUse: bigint;
|
|
26
|
+
};
|
|
27
|
+
export type UsePermitNonceResult = {
|
|
28
|
+
nonceToUse?: PermitNonceResult["nonceToUse"] | null;
|
|
29
|
+
nonceMethod?: PermitNonceResult["nonceMethod"] | null;
|
|
30
|
+
isLoading: boolean;
|
|
31
|
+
isError: boolean;
|
|
32
|
+
isSuccess: boolean;
|
|
33
|
+
error: Error | null;
|
|
34
|
+
refetch: (options?: RefetchOptions) => Promise<QueryObserverResult<PermitNonceResult | null, Error>>;
|
|
35
|
+
};
|
|
36
|
+
export declare function usePermit1Nonce({ token, owner, chainId, enabled, }: UsePermitNonceParams): UsePermitNonceResult;
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=usePermit1Nonce.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePermit1Nonce.d.ts","sourceRoot":"","sources":["../../../../src/hooks/permit/hooks/usePermit1Nonce.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAIpC,UAAU,oBAAoB;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAKD,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC;IAC1C,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAE9B,eAAe,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAEhD,UAAU,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC;CACrE,CAAC;AAEF,wBAAgB,kBAAkB,IAAI,wBAAwB,CA4C7D;AAcD,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAErE,KAAK,iBAAiB,GAAG;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAEjC,UAAU,CAAC,EAAE,iBAAiB,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IACpD,WAAW,CAAC,EAAE,iBAAiB,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IACtD,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,CACP,OAAO,CAAC,EAAE,cAAc,KACrB,OAAO,CAAC,mBAAmB,CAAC,iBAAiB,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;CACpE,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,KAAK,EACL,OAAO,EACP,OAAc,GACf,EAAE,oBAAoB,GAAG,oBAAoB,CA6F7C"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { useReadContracts } from 'wagmi';
|
|
2
|
+
import { ERC_20_NONCES_ABI } from '../utils/constants.js';
|
|
3
|
+
import { useAtomValue, atom, useSetAtom } from 'jotai';
|
|
4
|
+
import { useMemo } from 'react';
|
|
5
|
+
|
|
6
|
+
globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
|
|
7
|
+
cache: /* @__PURE__ */ new Map(),
|
|
8
|
+
get(name, inst) {
|
|
9
|
+
if (this.cache.has(name)) {
|
|
10
|
+
return this.cache.get(name);
|
|
11
|
+
}
|
|
12
|
+
this.cache.set(name, inst);
|
|
13
|
+
return inst;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
const NoncesAtom = globalThis.jotaiAtomCache.get("/Users/andriishymkiv/work/velora/widget/packages/ui/src/hooks/permit/hooks/usePermit1Nonce.ts/NoncesAtom", atom({}));
|
|
17
|
+
NoncesAtom.debugLabel = "NoncesAtom";
|
|
18
|
+
function useMarkNonceAsUsed() {
|
|
19
|
+
const setNonces = useSetAtom(NoncesAtom);
|
|
20
|
+
const markNonceAsUsed = ({
|
|
21
|
+
token,
|
|
22
|
+
owner,
|
|
23
|
+
usedNonce
|
|
24
|
+
}) => {
|
|
25
|
+
setNonces((prev) => {
|
|
26
|
+
const key = getNonceKey({
|
|
27
|
+
token: token.address,
|
|
28
|
+
owner,
|
|
29
|
+
chainId: token.network
|
|
30
|
+
});
|
|
31
|
+
const prevNonce = usedNonce ?? prev[key] ?? 0n;
|
|
32
|
+
return {
|
|
33
|
+
...prev,
|
|
34
|
+
[key]: prevNonce + 1n
|
|
35
|
+
};
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
const clearNonce = ({
|
|
39
|
+
token: token_0,
|
|
40
|
+
owner: owner_0
|
|
41
|
+
}) => {
|
|
42
|
+
setNonces((prev_0) => {
|
|
43
|
+
const key_0 = getNonceKey({
|
|
44
|
+
token: token_0.address,
|
|
45
|
+
owner: owner_0,
|
|
46
|
+
chainId: token_0.network
|
|
47
|
+
});
|
|
48
|
+
if (prev_0[key_0] === void 0) return prev_0;
|
|
49
|
+
const {
|
|
50
|
+
[key_0]: _,
|
|
51
|
+
...withoutKey
|
|
52
|
+
} = prev_0;
|
|
53
|
+
return withoutKey;
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
return {
|
|
57
|
+
markNonceAsUsed,
|
|
58
|
+
clearNonce
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
function getNonceKey({
|
|
62
|
+
token,
|
|
63
|
+
owner,
|
|
64
|
+
chainId
|
|
65
|
+
}) {
|
|
66
|
+
return `${chainId}:${token.toLowerCase()}:${owner.toLowerCase()}`;
|
|
67
|
+
}
|
|
68
|
+
function usePermit1Nonce({
|
|
69
|
+
token,
|
|
70
|
+
owner,
|
|
71
|
+
chainId,
|
|
72
|
+
enabled = true
|
|
73
|
+
}) {
|
|
74
|
+
const key = token && owner && chainId ? getNonceKey({
|
|
75
|
+
token,
|
|
76
|
+
owner,
|
|
77
|
+
chainId
|
|
78
|
+
}) : null;
|
|
79
|
+
const noncesMap = useAtomValue(NoncesAtom);
|
|
80
|
+
const {
|
|
81
|
+
contractCalls: contractCalls_0,
|
|
82
|
+
select: select_0
|
|
83
|
+
} = useMemo(() => {
|
|
84
|
+
const select = (data) => {
|
|
85
|
+
const successIndex = data.findIndex((d) => d.status === "success");
|
|
86
|
+
if (successIndex === -1) return null;
|
|
87
|
+
const method = contractCalls[successIndex]?.functionName;
|
|
88
|
+
const result = data[successIndex]?.result;
|
|
89
|
+
if (!method || result === void 0) return null;
|
|
90
|
+
const lastUnusedNonce = key ? noncesMap[key] ?? 0n : 0n;
|
|
91
|
+
const nonce = result > lastUnusedNonce ? result : lastUnusedNonce;
|
|
92
|
+
return {
|
|
93
|
+
nonceMethod: method,
|
|
94
|
+
nonceToUse: nonce
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
const ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";
|
|
98
|
+
const tokenAddress = token?.toLowerCase() ?? ZERO_ADDRESS;
|
|
99
|
+
const ownerAddress = owner?.toLowerCase() ?? ZERO_ADDRESS;
|
|
100
|
+
const contractCalls = [{
|
|
101
|
+
address: tokenAddress,
|
|
102
|
+
abi: ERC_20_NONCES_ABI,
|
|
103
|
+
functionName: "nonces",
|
|
104
|
+
args: [ownerAddress]
|
|
105
|
+
}, {
|
|
106
|
+
address: tokenAddress,
|
|
107
|
+
abi: ERC_20_NONCES_ABI,
|
|
108
|
+
functionName: "_nonces",
|
|
109
|
+
args: [ownerAddress]
|
|
110
|
+
}, {
|
|
111
|
+
address: tokenAddress,
|
|
112
|
+
abi: ERC_20_NONCES_ABI,
|
|
113
|
+
functionName: "nonce",
|
|
114
|
+
args: [ownerAddress]
|
|
115
|
+
}, {
|
|
116
|
+
address: tokenAddress,
|
|
117
|
+
abi: ERC_20_NONCES_ABI,
|
|
118
|
+
functionName: "getNonce",
|
|
119
|
+
args: [ownerAddress]
|
|
120
|
+
}];
|
|
121
|
+
return {
|
|
122
|
+
contractCalls,
|
|
123
|
+
select
|
|
124
|
+
};
|
|
125
|
+
}, [noncesMap, key, owner, token]);
|
|
126
|
+
const {
|
|
127
|
+
data: nonceResult,
|
|
128
|
+
isLoading,
|
|
129
|
+
isError,
|
|
130
|
+
isSuccess,
|
|
131
|
+
error,
|
|
132
|
+
refetch
|
|
133
|
+
} = useReadContracts({
|
|
134
|
+
allowFailure: true,
|
|
135
|
+
contracts: contractCalls_0,
|
|
136
|
+
query: {
|
|
137
|
+
enabled: enabled && !!(token && owner && chainId),
|
|
138
|
+
select: select_0
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
return {
|
|
142
|
+
nonceToUse: nonceResult === null ? null : nonceResult?.nonceToUse,
|
|
143
|
+
nonceMethod: nonceResult === null ? null : nonceResult?.nonceMethod,
|
|
144
|
+
isLoading,
|
|
145
|
+
isError,
|
|
146
|
+
isSuccess,
|
|
147
|
+
error,
|
|
148
|
+
refetch
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
export { useMarkNonceAsUsed, usePermit1Nonce };
|
|
153
|
+
//# sourceMappingURL=usePermit1Nonce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePermit1Nonce.js","sources":["../../../../src/hooks/permit/hooks/usePermit1Nonce.ts"],"sourcesContent":["import { useReadContracts } from \"wagmi\";\nimport { ERC_20_NONCES_ABI } from \"../utils/constants\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { atom, useAtomValue, useSetAtom } from \"jotai\";\nimport type { Token } from \"@/tokens/state/types\";\nimport type {\n QueryObserverResult,\n RefetchOptions,\n} from \"@tanstack/react-query\";\nimport type { Address } from \"viem\";\nimport { useMemo } from \"react\";\nimport type { ReadContractsData } from \"wagmi/query\";\n\ninterface UsePermitNonceParams {\n token?: Address;\n owner?: Address;\n chainId?: SupportedChainId;\n enabled?: boolean;\n}\n\n// chainId:token:owner => unused nonce (next to be used, starting with 0)\nconst NoncesAtom = atom<Record<TokenNonceKey, bigint>>({});\n\ntype SetNonceInput = {\n token: Pick<Token, \"address\" | \"network\">;\n owner: Address;\n usedNonce?: bigint;\n};\n\ntype UseMarkNonceAsUsedResult = {\n // mark as minimum nonce to use for next Permit, after sending Order or tx out\n markNonceAsUsed: (input: SetNonceInput) => void;\n // clear saved minimum nonce to rely on fetched nonce, if Order or tx failed\n clearNonce: (input: Pick<SetNonceInput, \"token\" | \"owner\">) => void;\n};\n\nexport function useMarkNonceAsUsed(): UseMarkNonceAsUsedResult {\n const setNonces = useSetAtom(NoncesAtom);\n\n const markNonceAsUsed: UseMarkNonceAsUsedResult[\"markNonceAsUsed\"] = ({\n token,\n owner,\n usedNonce,\n }) => {\n setNonces((prev) => {\n const key = getNonceKey({\n token: token.address as Address,\n owner,\n chainId: token.network,\n });\n const prevNonce = usedNonce ?? prev[key] ?? 0n;\n return {\n ...prev,\n [key]: prevNonce + 1n,\n };\n });\n };\n\n const clearNonce: UseMarkNonceAsUsedResult[\"clearNonce\"] = ({\n token,\n owner,\n }) => {\n setNonces((prev) => {\n const key = getNonceKey({\n token: token.address as Address,\n owner,\n chainId: token.network,\n });\n\n if (prev[key] === undefined) return prev;\n\n const { [key]: _, ...withoutKey } = prev;\n return withoutKey;\n });\n };\n\n return {\n markNonceAsUsed,\n clearNonce,\n };\n}\n\ntype GetNonceInput = {\n token: Address;\n owner: Address;\n chainId: SupportedChainId;\n};\n\ntype TokenNonceKey = `${number}:${Address}:${Address}`;\n\nfunction getNonceKey({ token, owner, chainId }: GetNonceInput): TokenNonceKey {\n return `${chainId}:${token.toLowerCase() as Address}:${owner.toLowerCase() as Address}` as const;\n}\n\nexport type NonceMethod = (typeof ERC_20_NONCES_ABI)[number][\"name\"];\n\ntype PermitNonceResult = {\n nonceMethod: NonceMethod;\n nonceToUse: bigint;\n};\n\nexport type UsePermitNonceResult = {\n // null when no nonce support detected\n nonceToUse?: PermitNonceResult[\"nonceToUse\"] | null;\n nonceMethod?: PermitNonceResult[\"nonceMethod\"] | null;\n isLoading: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<PermitNonceResult | null, Error>>;\n};\n\nexport function usePermit1Nonce({\n token,\n owner,\n chainId,\n enabled = true,\n}: UsePermitNonceParams): UsePermitNonceResult {\n const key =\n token && owner && chainId ? getNonceKey({ token, owner, chainId }) : null;\n\n const noncesMap = useAtomValue(NoncesAtom);\n\n // explicitly memoize select\n const { contractCalls, select } = useMemo(() => {\n const select = (\n data: ReadContractsData<typeof contractCalls, true>\n ): PermitNonceResult | null => {\n const successIndex = data.findIndex((d) => d.status === \"success\");\n // no method successfully returned anything\n if (successIndex === -1) return null;\n const method = contractCalls[successIndex]?.functionName;\n const result = data[successIndex]?.result;\n\n // the vars will always be non-null at this point\n if (!method || result === undefined) return null;\n\n const lastUnusedNonce = key ? (noncesMap[key] ?? 0n) : 0n;\n const nonce = result > lastUnusedNonce ? result : lastUnusedNonce;\n\n return {\n nonceMethod: method,\n nonceToUse: nonce,\n };\n };\n\n const ZERO_ADDRESS = \"0x0000000000000000000000000000000000000000\";\n // for the case where the token or owner is not set, to match the types,\n // readContracts isn't run anyway because of enabled=false\n const tokenAddress = (token?.toLowerCase() as Address) ?? ZERO_ADDRESS;\n const ownerAddress = (owner?.toLowerCase() as Address) ?? ZERO_ADDRESS;\n\n const contractCalls = [\n {\n address: tokenAddress,\n abi: ERC_20_NONCES_ABI,\n functionName: \"nonces\",\n args: [ownerAddress],\n },\n {\n address: tokenAddress,\n abi: ERC_20_NONCES_ABI,\n functionName: \"_nonces\",\n args: [ownerAddress],\n },\n {\n address: tokenAddress,\n abi: ERC_20_NONCES_ABI,\n functionName: \"nonce\",\n args: [ownerAddress],\n },\n {\n address: tokenAddress,\n abi: ERC_20_NONCES_ABI,\n functionName: \"getNonce\",\n args: [ownerAddress],\n },\n ] as const;\n\n return {\n contractCalls,\n select,\n };\n }, [noncesMap, key, owner, token]);\n\n const {\n data: nonceResult,\n isLoading,\n isError,\n isSuccess,\n error,\n refetch,\n } = useReadContracts({\n allowFailure: true,\n contracts: contractCalls,\n query: {\n enabled: enabled && !!(token && owner && chainId),\n select,\n },\n });\n\n return {\n nonceToUse: nonceResult === null ? null : nonceResult?.nonceToUse,\n nonceMethod: nonceResult === null ? null : nonceResult?.nonceMethod,\n isLoading,\n isError,\n isSuccess,\n error,\n refetch,\n };\n}\n"],"names":["NoncesAtom","globalThis","jotaiAtomCache","get","atom","debugLabel","useMarkNonceAsUsed","setNonces","useSetAtom","markNonceAsUsed","token","owner","usedNonce","prev","key","getNonceKey","address","chainId","network","prevNonce","clearNonce","undefined","_","withoutKey","toLowerCase","usePermit1Nonce","enabled","noncesMap","useAtomValue","contractCalls","select","useMemo","data","successIndex","findIndex","d","status","method","functionName","result","lastUnusedNonce","nonce","nonceMethod","nonceToUse","ZERO_ADDRESS","tokenAddress","ownerAddress","abi","ERC_20_NONCES_ABI","args","nonceResult","isLoading","isError","isSuccess","error","refetch","useReadContracts","allowFailure","contracts","query"],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Hash } from 'viem';
|
|
2
|
+
import { SignTypedDataVariables } from 'wagmi/query';
|
|
3
|
+
export type UseSignedArbitraryTypedDataInput = {
|
|
4
|
+
onSuccess?: (signature: Hash) => void;
|
|
5
|
+
onError?: (error: Error) => void;
|
|
6
|
+
};
|
|
7
|
+
export type UseSignedArbitraryTypedDataReturn = {
|
|
8
|
+
signTypedData: (typedData: SignTypedDataVariables) => void;
|
|
9
|
+
signTypedDataAsync: (typedData: SignTypedDataVariables) => Promise<Hash>;
|
|
10
|
+
isPending: boolean;
|
|
11
|
+
isSuccess: boolean;
|
|
12
|
+
isError: boolean;
|
|
13
|
+
error: Error | null;
|
|
14
|
+
signature?: Hash;
|
|
15
|
+
reset: () => void;
|
|
16
|
+
};
|
|
17
|
+
export declare const useSignArbitraryTypedData: ({ onSuccess, onError, }?: UseSignedArbitraryTypedDataInput) => UseSignedArbitraryTypedDataReturn;
|
|
18
|
+
//# sourceMappingURL=useSignArbitraryTypedData.d.ts.map
|