diff --git a/package.json b/package.json index c281e738..37e90025 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,9 @@ "prettier:check": "prettier --check \"**/*.{js,json,md,sol,ts,yaml,yml}\"", "build": "rm -rf dist && hardhat compile && tsc --declaration", "docgen": "hardhat docgen", - "prepare": "husky install" + "prepare": "husky install", + "generate-abis": "yarn wagmi generate", + "postinstall": "yarn generate-abis" }, "keywords": [], "author": "Venus", @@ -55,6 +57,7 @@ "@typescript-eslint/parser": "^6.13.1", "@venusprotocol/oracle": "^1.7.3", "@venusprotocol/solidity-utilities": "^1.1.0", + "@wagmi/cli": "^2.0.4", "chai": "^4.3.10", "dotenv": "^16.3.1", "eslint": "^7.32.0", diff --git a/src/config/abis/AbstractTokenConverter.ts b/src/config/abis/AbstractTokenConverter.ts deleted file mode 100644 index 0a8ff985..00000000 --- a/src/config/abis/AbstractTokenConverter.ts +++ /dev/null @@ -1,1272 +0,0 @@ -// @kkirka: This is a typescript file and not a JSON file because I wanted to keep -// the narrow type for viem (importing from JSON yields an array of garbage). I guess -// we could generate these files similarly to how it's done in the frontend repo -// (in the postinstall script), but I'd keep this up for discussion for now. - -export default [ - { - inputs: [ - { - internalType: "uint256", - name: "amountInMantissa", - type: "uint256", - }, - { - internalType: "uint256", - name: "amountInMaxMantissa", - type: "uint256", - }, - ], - name: "AmountInHigherThanMax", - type: "error", - }, - { - inputs: [], - name: "AmountInMismatched", - type: "error", - }, - { - inputs: [ - { - internalType: "uint256", - name: "amountOutMantissa", - type: "uint256", - }, - { - internalType: "uint256", - name: "amountOutMinMantissa", - type: "uint256", - }, - ], - name: "AmountOutLowerThanMinRequired", - type: "error", - }, - { - inputs: [], - name: "AmountOutMismatched", - type: "error", - }, - { - inputs: [], - name: "ConversionConfigNotEnabled", - type: "error", - }, - { - inputs: [], - name: "ConversionEnabledOnlyForPrivateConversions", - type: "error", - }, - { - inputs: [], - name: "ConversionTokensActive", - type: "error", - }, - { - inputs: [], - name: "ConversionTokensPaused", - type: "error", - }, - { - inputs: [], - name: "DeflationaryTokenNotSupported", - type: "error", - }, - { - inputs: [ - { - internalType: "uint256", - name: "incentive", - type: "uint256", - }, - { - internalType: "uint256", - name: "maxIncentive", - type: "uint256", - }, - ], - name: "IncentiveTooHigh", - type: "error", - }, - { - inputs: [], - name: "InputLengthMisMatch", - type: "error", - }, - { - inputs: [], - name: "InsufficientInputAmount", - type: "error", - }, - { - inputs: [], - name: "InsufficientOutputAmount", - type: "error", - }, - { - inputs: [], - name: "InsufficientPoolLiquidity", - type: "error", - }, - { - inputs: [], - name: "InvalidConverterNetwork", - type: "error", - }, - { - inputs: [], - name: "InvalidMinimumAmountToConvert", - type: "error", - }, - { - inputs: [], - name: "InvalidToAddress", - type: "error", - }, - { - inputs: [], - name: "InvalidTokenConfigAddresses", - type: "error", - }, - { - inputs: [], - name: "NonZeroIncentiveForPrivateConversion", - type: "error", - }, - { - inputs: [ - { - internalType: "address", - name: "sender", - type: "address", - }, - { - internalType: "address", - name: "calledContract", - type: "address", - }, - { - internalType: "string", - name: "methodSignature", - type: "string", - }, - ], - name: "Unauthorized", - type: "error", - }, - { - inputs: [], - name: "ZeroAddressNotAllowed", - type: "error", - }, - { - inputs: [], - name: "ZeroValueNotAllowed", - type: "error", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "tokenAddressIn", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "tokenAddressOut", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "oldIncentive", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "newIncentive", - type: "uint256", - }, - { - indexed: false, - internalType: "enum IAbstractTokenConverter.ConversionAccessibility", - name: "oldAccess", - type: "uint8", - }, - { - indexed: false, - internalType: "enum IAbstractTokenConverter.ConversionAccessibility", - name: "newAccess", - type: "uint8", - }, - ], - name: "ConversionConfigUpdated", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "sender", - type: "address", - }, - ], - name: "ConversionPaused", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "sender", - type: "address", - }, - ], - name: "ConversionResumed", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "sender", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "receiver", - type: "address", - }, - { - indexed: false, - internalType: "address", - name: "tokenAddressIn", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "tokenAddressOut", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "amountIn", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "amountOut", - type: "uint256", - }, - ], - name: "ConvertedExactTokens", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "sender", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "receiver", - type: "address", - }, - { - indexed: false, - internalType: "address", - name: "tokenAddressIn", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "tokenAddressOut", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "amountIn", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "amountOut", - type: "uint256", - }, - ], - name: "ConvertedExactTokensSupportingFeeOnTransferTokens", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "sender", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "receiver", - type: "address", - }, - { - indexed: false, - internalType: "address", - name: "tokenAddressIn", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "tokenAddressOut", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "amountIn", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "amountOut", - type: "uint256", - }, - ], - name: "ConvertedForExactTokens", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "sender", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "receiver", - type: "address", - }, - { - indexed: false, - internalType: "address", - name: "tokenAddressIn", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "tokenAddressOut", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "amountIn", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "amountOut", - type: "uint256", - }, - ], - name: "ConvertedForExactTokensSupportingFeeOnTransferTokens", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "oldConverterNetwork", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "converterNetwork", - type: "address", - }, - ], - name: "ConverterNetworkAddressUpdated", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "oldDestinationAddress", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "destinationAddress", - type: "address", - }, - ], - name: "DestinationAddressUpdated", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint8", - name: "version", - type: "uint8", - }, - ], - name: "Initialized", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "oldMinAmountToConvert", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "newMinAmountToConvert", - type: "uint256", - }, - ], - name: "MinAmountToConvertUpdated", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "address", - name: "oldAccessControlManager", - type: "address", - }, - { - indexed: false, - internalType: "address", - name: "newAccessControlManager", - type: "address", - }, - ], - name: "NewAccessControlManager", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "previousOwner", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "newOwner", - type: "address", - }, - ], - name: "OwnershipTransferStarted", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "previousOwner", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "newOwner", - type: "address", - }, - ], - name: "OwnershipTransferred", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "contract ResilientOracle", - name: "oldPriceOracle", - type: "address", - }, - { - indexed: true, - internalType: "contract ResilientOracle", - name: "priceOracle", - type: "address", - }, - ], - name: "PriceOracleUpdated", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "token", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "to", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "SweepToken", - type: "event", - }, - { - inputs: [], - name: "MAX_INCENTIVE", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "acceptOwnership", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "accessControlManager", - outputs: [ - { - internalType: "contract IAccessControlManagerV8", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "token", - type: "address", - }, - ], - name: "balanceOf", - outputs: [ - { - internalType: "uint256", - name: "tokenBalance", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - { - internalType: "address", - name: "", - type: "address", - }, - ], - name: "conversionConfigurations", - outputs: [ - { - internalType: "uint256", - name: "incentive", - type: "uint256", - }, - { - internalType: "enum IAbstractTokenConverter.ConversionAccessibility", - name: "conversionAccess", - type: "uint8", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "conversionPaused", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "amountInMantissa", - type: "uint256", - }, - { - internalType: "uint256", - name: "amountOutMinMantissa", - type: "uint256", - }, - { - internalType: "address", - name: "tokenAddressIn", - type: "address", - }, - { - internalType: "address", - name: "tokenAddressOut", - type: "address", - }, - { - internalType: "address", - name: "to", - type: "address", - }, - ], - name: "convertExactTokens", - outputs: [ - { - internalType: "uint256", - name: "actualAmountIn", - type: "uint256", - }, - { - internalType: "uint256", - name: "actualAmountOut", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "amountInMantissa", - type: "uint256", - }, - { - internalType: "uint256", - name: "amountOutMinMantissa", - type: "uint256", - }, - { - internalType: "address", - name: "tokenAddressIn", - type: "address", - }, - { - internalType: "address", - name: "tokenAddressOut", - type: "address", - }, - { - internalType: "address", - name: "to", - type: "address", - }, - ], - name: "convertExactTokensSupportingFeeOnTransferTokens", - outputs: [ - { - internalType: "uint256", - name: "actualAmountIn", - type: "uint256", - }, - { - internalType: "uint256", - name: "actualAmountOut", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "amountInMaxMantissa", - type: "uint256", - }, - { - internalType: "uint256", - name: "amountOutMantissa", - type: "uint256", - }, - { - internalType: "address", - name: "tokenAddressIn", - type: "address", - }, - { - internalType: "address", - name: "tokenAddressOut", - type: "address", - }, - { - internalType: "address", - name: "to", - type: "address", - }, - ], - name: "convertForExactTokens", - outputs: [ - { - internalType: "uint256", - name: "actualAmountIn", - type: "uint256", - }, - { - internalType: "uint256", - name: "actualAmountOut", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "amountInMaxMantissa", - type: "uint256", - }, - { - internalType: "uint256", - name: "amountOutMantissa", - type: "uint256", - }, - { - internalType: "address", - name: "tokenAddressIn", - type: "address", - }, - { - internalType: "address", - name: "tokenAddressOut", - type: "address", - }, - { - internalType: "address", - name: "to", - type: "address", - }, - ], - name: "convertForExactTokensSupportingFeeOnTransferTokens", - outputs: [ - { - internalType: "uint256", - name: "actualAmountIn", - type: "uint256", - }, - { - internalType: "uint256", - name: "actualAmountOut", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "converterNetwork", - outputs: [ - { - internalType: "contract IConverterNetwork", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "destinationAddress", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "amountOutMantissa", - type: "uint256", - }, - { - internalType: "address", - name: "tokenAddressIn", - type: "address", - }, - { - internalType: "address", - name: "tokenAddressOut", - type: "address", - }, - ], - name: "getAmountIn", - outputs: [ - { - internalType: "uint256", - name: "amountConvertedMantissa", - type: "uint256", - }, - { - internalType: "uint256", - name: "amountInMantissa", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "amountInMantissa", - type: "uint256", - }, - { - internalType: "address", - name: "tokenAddressIn", - type: "address", - }, - { - internalType: "address", - name: "tokenAddressOut", - type: "address", - }, - ], - name: "getAmountOut", - outputs: [ - { - internalType: "uint256", - name: "amountConvertedMantissa", - type: "uint256", - }, - { - internalType: "uint256", - name: "amountOutMantissa", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "amountOutMantissa", - type: "uint256", - }, - { - internalType: "address", - name: "tokenAddressIn", - type: "address", - }, - { - internalType: "address", - name: "tokenAddressOut", - type: "address", - }, - ], - name: "getUpdatedAmountIn", - outputs: [ - { - internalType: "uint256", - name: "amountConvertedMantissa", - type: "uint256", - }, - { - internalType: "uint256", - name: "amountInMantissa", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "amountInMantissa", - type: "uint256", - }, - { - internalType: "address", - name: "tokenAddressIn", - type: "address", - }, - { - internalType: "address", - name: "tokenAddressOut", - type: "address", - }, - ], - name: "getUpdatedAmountOut", - outputs: [ - { - internalType: "uint256", - name: "amountConvertedMantissa", - type: "uint256", - }, - { - internalType: "uint256", - name: "amountOutMantissa", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "minAmountToConvert", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "owner", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "pauseConversion", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "pendingOwner", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "priceOracle", - outputs: [ - { - internalType: "contract ResilientOracle", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "renounceOwnership", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "resumeConversion", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "accessControlManager_", - type: "address", - }, - ], - name: "setAccessControlManager", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "tokenAddressIn", - type: "address", - }, - { - internalType: "address", - name: "tokenAddressOut", - type: "address", - }, - { - components: [ - { - internalType: "uint256", - name: "incentive", - type: "uint256", - }, - { - internalType: "enum IAbstractTokenConverter.ConversionAccessibility", - name: "conversionAccess", - type: "uint8", - }, - ], - internalType: "struct IAbstractTokenConverter.ConversionConfig", - name: "conversionConfig", - type: "tuple", - }, - ], - name: "setConversionConfig", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "tokenAddressIn", - type: "address", - }, - { - internalType: "address[]", - name: "tokenAddressesOut", - type: "address[]", - }, - { - components: [ - { - internalType: "uint256", - name: "incentive", - type: "uint256", - }, - { - internalType: "enum IAbstractTokenConverter.ConversionAccessibility", - name: "conversionAccess", - type: "uint8", - }, - ], - internalType: "struct IAbstractTokenConverter.ConversionConfig[]", - name: "conversionConfigs", - type: "tuple[]", - }, - ], - name: "setConversionConfigs", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "contract IConverterNetwork", - name: "converterNetwork_", - type: "address", - }, - ], - name: "setConverterNetwork", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "destinationAddress_", - type: "address", - }, - ], - name: "setDestination", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "minAmountToConvert_", - type: "uint256", - }, - ], - name: "setMinAmountToConvert", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "contract ResilientOracle", - name: "priceOracle_", - type: "address", - }, - ], - name: "setPriceOracle", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "tokenAddress", - type: "address", - }, - { - internalType: "address", - name: "to", - type: "address", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "sweepToken", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "newOwner", - type: "address", - }, - ], - name: "transferOwnership", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "comptroller", - type: "address", - }, - { - internalType: "address", - name: "asset", - type: "address", - }, - ], - name: "updateAssetsState", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, -] as const; diff --git a/src/config/abis/TokenConverterOperator.ts b/src/config/abis/TokenConverterOperator.ts deleted file mode 100644 index a51f5644..00000000 --- a/src/config/abis/TokenConverterOperator.ts +++ /dev/null @@ -1,227 +0,0 @@ -// @kkirka: This is a typescript file and not a JSON file because I wanted to keep -// the narrow type for viem (importing from JSON yields an array of garbage). I guess -// we could generate these files similarly to how it's done in the frontend repo -// (in the postinstall script), but I'd keep this up for discussion for now. - -export default [ - { - inputs: [ - { - internalType: "contract ISmartRouter", - name: "swapRouter_", - type: "address", - }, - ], - stateMutability: "nonpayable", - type: "constructor", - }, - { - inputs: [], - name: "ApproveFailed", - type: "error", - }, - { - inputs: [ - { - internalType: "uint256", - name: "currentTimestamp", - type: "uint256", - }, - { - internalType: "uint256", - name: "deadline", - type: "uint256", - }, - ], - name: "DeadlinePassed", - type: "error", - }, - { - inputs: [], - name: "EmptySwap", - type: "error", - }, - { - inputs: [ - { - internalType: "uint256", - name: "expected", - type: "uint256", - }, - { - internalType: "uint256", - name: "actual", - type: "uint256", - }, - ], - name: "InsufficientLiquidity", - type: "error", - }, - { - inputs: [ - { - internalType: "address", - name: "expected", - type: "address", - }, - { - internalType: "address", - name: "actual", - type: "address", - }, - ], - name: "InvalidCallbackSender", - type: "error", - }, - { - inputs: [ - { - internalType: "address", - name: "expected", - type: "address", - }, - { - internalType: "address", - name: "actual", - type: "address", - }, - ], - name: "InvalidSwapEnd", - type: "error", - }, - { - inputs: [ - { - internalType: "address", - name: "expected", - type: "address", - }, - { - internalType: "address", - name: "actual", - type: "address", - }, - ], - name: "InvalidSwapStart", - type: "error", - }, - { - inputs: [], - name: "Overflow", - type: "error", - }, - { - inputs: [], - name: "Underflow", - type: "error", - }, - { - inputs: [], - name: "ZeroAddressNotAllowed", - type: "error", - }, - { - inputs: [], - name: "DEPLOYER", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "SWAP_ROUTER", - outputs: [ - { - internalType: "contract ISmartRouter", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - components: [ - { - internalType: "address", - name: "beneficiary", - type: "address", - }, - { - internalType: "contract IERC20", - name: "tokenToReceiveFromConverter", - type: "address", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - { - internalType: "int256", - name: "minIncome", - type: "int256", - }, - { - internalType: "contract IERC20", - name: "tokenToSendToConverter", - type: "address", - }, - { - internalType: "contract IAbstractTokenConverter", - name: "converter", - type: "address", - }, - { - internalType: "bytes", - name: "path", - type: "bytes", - }, - { - internalType: "uint256", - name: "deadline", - type: "uint256", - }, - ], - internalType: "struct TokenConverterOperator.ConversionParameters", - name: "params", - type: "tuple", - }, - ], - name: "convert", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "int256", - name: "amount0Delta", - type: "int256", - }, - { - internalType: "int256", - name: "amount1Delta", - type: "int256", - }, - { - internalType: "bytes", - name: "data", - type: "bytes", - }, - ], - name: "pancakeV3SwapCallback", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, -] as const; diff --git a/wagmi.config.ts b/wagmi.config.ts new file mode 100644 index 00000000..80ead800 --- /dev/null +++ b/wagmi.config.ts @@ -0,0 +1,54 @@ +import { defineConfig } from '@wagmi/cli' +import { hardhat } from '@wagmi/cli/plugins' +import poolLensArtifact from '@venusprotocol/isolated-pools/artifacts/contracts/Lens/PoolLens.sol/PoolLens.json' assert { type: "json"}; +import diamondComptrollerArtifact from '@venusprotocol/venus-protocol/artifacts/contracts/Comptroller/Diamond/DiamondConsolidated.sol/DiamondConsolidated.json' assert { type: "json"}; +import ilComptrollerArtifact from '@venusprotocol/isolated-pools/artifacts/contracts/Comptroller.sol/Comptroller.json' assert { type: "json"}; +import coreVTokenArtifact from '@venusprotocol/venus-protocol/artifacts/contracts/Tokens/VTokens/VBep20Delegate.sol/VBep20Delegate.json' assert { type: "json"}; +import protocolShareReserveArtifact from '@venusprotocol/protocol-reserve/artifacts/contracts/ProtocolReserve/ProtocolShareReserve.sol/ProtocolShareReserve.json' assert { type: "json"}; +import vBnbAdminArtifact from '@venusprotocol/venus-protocol/artifacts/contracts/Admin/VBNBAdmin.sol/VBNBAdmin.json' assert { type: "json"}; +import vBNB from '@venusprotocol/venus-protocol/artifacts/contracts/Admin/VBNBAdminStorage.sol/VTokenInterface.json' assert { type: "json"}; + + +const getExternalContracts = async (): Promise => [ + { + abi: poolLensArtifact.abi, + name: 'PoolLens' + }, + { + abi: diamondComptrollerArtifact.abi, + name: 'CoreComptroller' + }, + { + abi: ilComptrollerArtifact.abi, + name: 'IlComptroller' + }, + { + abi: coreVTokenArtifact.abi, + name: 'CoreVToken' + }, + { + abi: protocolShareReserveArtifact.abi, + name: 'ProtocolShareReserve' + }, + { + abi: vBnbAdminArtifact.abi, + name: 'VBnbAdmin' + }, + { + abi: vBNB.abi, + name: 'vBNB' + } +] + +export default defineConfig(async () => { + const externalContracts = await getExternalContracts() + return { + out: 'src/config/abis/generated.ts', + contracts: externalContracts, + plugins: [ + hardhat({ + project: '.', + }), + ], + } +}) diff --git a/yarn.lock b/yarn.lock index 7bafef9a..ea18002c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -645,6 +645,167 @@ __metadata: languageName: node linkType: hard +"@esbuild/aix-ppc64@npm:0.19.11": + version: 0.19.11 + resolution: "@esbuild/aix-ppc64@npm:0.19.11" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.19.11": + version: 0.19.11 + resolution: "@esbuild/android-arm64@npm:0.19.11" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.19.11": + version: 0.19.11 + resolution: "@esbuild/android-arm@npm:0.19.11" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.19.11": + version: 0.19.11 + resolution: "@esbuild/android-x64@npm:0.19.11" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.19.11": + version: 0.19.11 + resolution: "@esbuild/darwin-arm64@npm:0.19.11" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.19.11": + version: 0.19.11 + resolution: "@esbuild/darwin-x64@npm:0.19.11" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.19.11": + version: 0.19.11 + resolution: "@esbuild/freebsd-arm64@npm:0.19.11" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.19.11": + version: 0.19.11 + resolution: "@esbuild/freebsd-x64@npm:0.19.11" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.19.11": + version: 0.19.11 + resolution: "@esbuild/linux-arm64@npm:0.19.11" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.19.11": + version: 0.19.11 + resolution: "@esbuild/linux-arm@npm:0.19.11" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.19.11": + version: 0.19.11 + resolution: "@esbuild/linux-ia32@npm:0.19.11" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.19.11": + version: 0.19.11 + resolution: "@esbuild/linux-loong64@npm:0.19.11" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.19.11": + version: 0.19.11 + resolution: "@esbuild/linux-mips64el@npm:0.19.11" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.19.11": + version: 0.19.11 + resolution: "@esbuild/linux-ppc64@npm:0.19.11" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.19.11": + version: 0.19.11 + resolution: "@esbuild/linux-riscv64@npm:0.19.11" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.19.11": + version: 0.19.11 + resolution: "@esbuild/linux-s390x@npm:0.19.11" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.19.11": + version: 0.19.11 + resolution: "@esbuild/linux-x64@npm:0.19.11" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.19.11": + version: 0.19.11 + resolution: "@esbuild/netbsd-x64@npm:0.19.11" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.19.11": + version: 0.19.11 + resolution: "@esbuild/openbsd-x64@npm:0.19.11" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.19.11": + version: 0.19.11 + resolution: "@esbuild/sunos-x64@npm:0.19.11" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.19.11": + version: 0.19.11 + resolution: "@esbuild/win32-arm64@npm:0.19.11" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.19.11": + version: 0.19.11 + resolution: "@esbuild/win32-ia32@npm:0.19.11" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.19.11": + version: 0.19.11 + resolution: "@esbuild/win32-x64@npm:0.19.11" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@eslint-community/eslint-utils@npm:^4.4.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" @@ -3179,7 +3340,7 @@ __metadata: languageName: node linkType: hard -"@venusprotocol/isolated-pools@npm:2.3.0": +"@venusprotocol/isolated-pools@npm:2.3.0, @venusprotocol/isolated-pools@npm:^2.3.0": version: 2.3.0 resolution: "@venusprotocol/isolated-pools@npm:2.3.0" dependencies: @@ -3195,22 +3356,6 @@ __metadata: languageName: node linkType: hard -"@venusprotocol/isolated-pools@npm:^2.3.0": - version: 2.4.0 - resolution: "@venusprotocol/isolated-pools@npm:2.4.0" - dependencies: - "@nomiclabs/hardhat-ethers": ^2.2.3 - "@openzeppelin/contracts": ^4.8.3 - "@openzeppelin/contracts-upgradeable": ^4.8.3 - "@openzeppelin/hardhat-upgrades": ^1.21.0 - "@solidity-parser/parser": ^0.13.2 - ethers: ^5.7.0 - hardhat-deploy: ^0.11.14 - module-alias: ^2.2.2 - checksum: c67b2d1eaf2ae7cae1e7b73799ec1dd0ffd3bc996bea09fc6e6c909f416f65fa168bd0690034ce8882da0d0b9a8825032dde3dd15bad392a5a5cad32bf697a73 - languageName: node - linkType: hard - "@venusprotocol/keeper-bots@workspace:.": version: 0.0.0-use.local resolution: "@venusprotocol/keeper-bots@workspace:." @@ -3242,6 +3387,7 @@ __metadata: "@venusprotocol/protocol-reserve": ^1.4.0 "@venusprotocol/solidity-utilities": ^1.1.0 "@venusprotocol/venus-protocol": ^7.1.0 + "@wagmi/cli": ^2.0.4 chai: ^4.3.10 dotenv: ^16.3.1 eslint: ^7.32.0 @@ -3453,6 +3599,40 @@ __metadata: languageName: node linkType: hard +"@wagmi/cli@npm:^2.0.4": + version: 2.0.4 + resolution: "@wagmi/cli@npm:2.0.4" + dependencies: + abitype: ^0.9.8 + bundle-require: ^4.0.2 + cac: ^6.7.14 + change-case: ^4.1.2 + chokidar: ^3.5.3 + dedent: ^0.7.0 + dotenv: ^16.3.1 + dotenv-expand: ^10.0.0 + esbuild: ^0.19.0 + execa: ^6.1.0 + find-up: ^6.3.0 + fs-extra: ^10.1.0 + globby: ^13.2.2 + ora: ^6.3.1 + pathe: ^1.1.1 + picocolors: ^1.0.0 + prettier: ^3.0.3 + viem: 2.0.0 + zod: ^3.22.2 + peerDependencies: + typescript: ">=5" + peerDependenciesMeta: + typescript: + optional: true + bin: + wagmi: dist/esm/cli.js + checksum: 5be53ffb70627214969a38af8c3861f039ba6a8649fadad19df3e0b2566dc317ebe8de21d13f39e93bb2349459c5b0711b918ab782e51c2ff56e9ad18734a276 + languageName: node + linkType: hard + "JSONStream@npm:^1.3.5": version: 1.3.5 resolution: "JSONStream@npm:1.3.5" @@ -3501,6 +3681,21 @@ __metadata: languageName: node linkType: hard +"abitype@npm:^0.9.8": + version: 0.9.10 + resolution: "abitype@npm:0.9.10" + peerDependencies: + typescript: ">=5.0.4" + zod: ^3 >=3.22.0 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true + checksum: de703b58c221395f015c04a8512dde2cff2b9541c577a23cf205204604e624fbfd0e682e82f7954968d5e437cd0d7e630b1c159e73543881a4d0040238bfb13a + languageName: node + linkType: hard + "abort-controller@npm:^3.0.0": version: 3.0.0 resolution: "abort-controller@npm:3.0.0" @@ -4140,6 +4335,17 @@ __metadata: languageName: node linkType: hard +"bl@npm:^5.0.0": + version: 5.1.0 + resolution: "bl@npm:5.1.0" + dependencies: + buffer: ^6.0.3 + inherits: ^2.0.4 + readable-stream: ^3.4.0 + checksum: a7a438ee0bc540e80b8eb68cc1ad759a9c87df06874a99411d701d01cc0b36f30cd20050512ac3e77090138890960e07bfee724f3ee6619bb39a569f5cc3b1bc + languageName: node + linkType: hard + "blakejs@npm:^1.1.0": version: 1.2.1 resolution: "blakejs@npm:1.2.1" @@ -4328,6 +4534,17 @@ __metadata: languageName: node linkType: hard +"bundle-require@npm:^4.0.2": + version: 4.0.2 + resolution: "bundle-require@npm:4.0.2" + dependencies: + load-tsconfig: ^0.2.3 + peerDependencies: + esbuild: ">=0.17" + checksum: 13a78ac0aee0f33614c24f2747167c7faebef6c9d1d5453b464fc85fa164a3a3aab657b2b31b7b5d2a088e4958676fef0454328ff7baddd6bfb03a8ff8d8b928 + languageName: node + linkType: hard + "bytes@npm:3.1.2": version: 3.1.2 resolution: "bytes@npm:3.1.2" @@ -4335,6 +4552,13 @@ __metadata: languageName: node linkType: hard +"cac@npm:^6.7.14": + version: 6.7.14 + resolution: "cac@npm:6.7.14" + checksum: 45a2496a9443abbe7f52a49b22fbe51b1905eff46e03fd5e6c98e3f85077be3f8949685a1849b1a9cd2bc3e5567dfebcf64f01ce01847baf918f1b37c839791a + languageName: node + linkType: hard + "cacache@npm:^18.0.0": version: 18.0.1 resolution: "cacache@npm:18.0.1" @@ -4395,6 +4619,16 @@ __metadata: languageName: node linkType: hard +"camel-case@npm:^4.1.2": + version: 4.1.2 + resolution: "camel-case@npm:4.1.2" + dependencies: + pascal-case: ^3.1.2 + tslib: ^2.0.3 + checksum: bcbd25cd253b3cbc69be3f535750137dbf2beb70f093bdc575f73f800acc8443d34fd52ab8f0a2413c34f1e8203139ffc88428d8863e4dfe530cfb257a379ad6 + languageName: node + linkType: hard + "camelcase-keys@npm:^6.2.2": version: 6.2.2 resolution: "camelcase-keys@npm:6.2.2" @@ -4427,6 +4661,17 @@ __metadata: languageName: node linkType: hard +"capital-case@npm:^1.0.4": + version: 1.0.4 + resolution: "capital-case@npm:1.0.4" + dependencies: + no-case: ^3.0.4 + tslib: ^2.0.3 + upper-case-first: ^2.0.2 + checksum: 41fa8fa87f6d24d0835a2b4a9341a3eaecb64ac29cd7c5391f35d6175a0fa98ab044e7f2602e1ec3afc886231462ed71b5b80c590b8b41af903ec2c15e5c5931 + languageName: node + linkType: hard + "cardinal@npm:^2.1.1": version: 2.1.1 resolution: "cardinal@npm:2.1.1" @@ -4525,13 +4770,33 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^5.3.0": +"chalk@npm:^5.0.0, chalk@npm:^5.3.0": version: 5.3.0 resolution: "chalk@npm:5.3.0" checksum: 623922e077b7d1e9dedaea6f8b9e9352921f8ae3afe739132e0e00c275971bdd331268183b2628cf4ab1727c45ea1f28d7e24ac23ce1db1eb653c414ca8a5a80 languageName: node linkType: hard +"change-case@npm:^4.1.2": + version: 4.1.2 + resolution: "change-case@npm:4.1.2" + dependencies: + camel-case: ^4.1.2 + capital-case: ^1.0.4 + constant-case: ^3.0.4 + dot-case: ^3.0.4 + header-case: ^2.0.4 + no-case: ^3.0.4 + param-case: ^3.0.4 + pascal-case: ^3.1.2 + path-case: ^3.0.4 + sentence-case: ^3.0.4 + snake-case: ^3.0.4 + tslib: ^2.0.3 + checksum: e4bc4a093a1f7cce8b33896665cf9e456e3bc3cc0def2ad7691b1994cfca99b3188d0a513b16855b01a6bd20692fcde12a7d4d87a5615c4c515bbbf0e651f116 + languageName: node + linkType: hard + "char-regex@npm:^1.0.2": version: 1.0.2 resolution: "char-regex@npm:1.0.2" @@ -4555,7 +4820,7 @@ __metadata: languageName: node linkType: hard -"chokidar@npm:3.5.3, chokidar@npm:^3.4.0, chokidar@npm:^3.5.2": +"chokidar@npm:3.5.3, chokidar@npm:^3.4.0, chokidar@npm:^3.5.2, chokidar@npm:^3.5.3": version: 3.5.3 resolution: "chokidar@npm:3.5.3" dependencies: @@ -4663,6 +4928,22 @@ __metadata: languageName: node linkType: hard +"cli-cursor@npm:^4.0.0": + version: 4.0.0 + resolution: "cli-cursor@npm:4.0.0" + dependencies: + restore-cursor: ^4.0.0 + checksum: ab3f3ea2076e2176a1da29f9d64f72ec3efad51c0960898b56c8a17671365c26e67b735920530eaf7328d61f8bd41c27f46b9cf6e4e10fe2fa44b5e8c0e392cc + languageName: node + linkType: hard + +"cli-spinners@npm:^2.6.1": + version: 2.9.2 + resolution: "cli-spinners@npm:2.9.2" + checksum: 1bd588289b28432e4676cb5d40505cfe3e53f2e4e10fbe05c8a710a154d6fe0ce7836844b00d6858f740f2ffe67cdc36e0fce9c7b6a8430e80e6388d5aa4956c + languageName: node + linkType: hard + "cli-table3@npm:^0.5.0": version: 0.5.1 resolution: "cli-table3@npm:0.5.1" @@ -4898,6 +5179,17 @@ __metadata: languageName: node linkType: hard +"constant-case@npm:^3.0.4": + version: 3.0.4 + resolution: "constant-case@npm:3.0.4" + dependencies: + no-case: ^3.0.4 + tslib: ^2.0.3 + upper-case: ^2.0.2 + checksum: 6c3346d51afc28d9fae922e966c68eb77a19d94858dba230dd92d7b918b37d36db50f0311e9ecf6847e43e934b1c01406a0936973376ab17ec2c471fbcfb2cf3 + languageName: node + linkType: hard + "conventional-changelog-angular@npm:^6.0.0": version: 6.0.0 resolution: "conventional-changelog-angular@npm:6.0.0" @@ -5173,6 +5465,13 @@ __metadata: languageName: node linkType: hard +"dedent@npm:^0.7.0": + version: 0.7.0 + resolution: "dedent@npm:0.7.0" + checksum: 87de191050d9a40dd70cad01159a0bcf05ecb59750951242070b6abf9569088684880d00ba92a955b4058804f16eeaf91d604f283929b4f614d181cd7ae633d2 + languageName: node + linkType: hard + "deep-eql@npm:^4.0.1, deep-eql@npm:^4.1.3": version: 4.1.3 resolution: "deep-eql@npm:4.1.3" @@ -5332,6 +5631,16 @@ __metadata: languageName: node linkType: hard +"dot-case@npm:^3.0.4": + version: 3.0.4 + resolution: "dot-case@npm:3.0.4" + dependencies: + no-case: ^3.0.4 + tslib: ^2.0.3 + checksum: a65e3519414856df0228b9f645332f974f2bf5433370f544a681122eab59e66038fc3349b4be1cdc47152779dac71a5864f1ccda2f745e767c46e9c6543b1169 + languageName: node + linkType: hard + "dot-prop@npm:^5.1.0": version: 5.3.0 resolution: "dot-prop@npm:5.3.0" @@ -5341,6 +5650,13 @@ __metadata: languageName: node linkType: hard +"dotenv-expand@npm:^10.0.0": + version: 10.0.0 + resolution: "dotenv-expand@npm:10.0.0" + checksum: 2a38b470efe0abcb1ac8490421a55e1d764dc9440fd220942bce40965074f3fb00b585f4346020cb0f0f219966ee6b4ee5023458b3e2953fe5b3214de1b314ee + languageName: node + linkType: hard + "dotenv@npm:^10.0.0": version: 10.0.0 resolution: "dotenv@npm:10.0.0" @@ -5558,6 +5874,86 @@ __metadata: languageName: node linkType: hard +"esbuild@npm:^0.19.0": + version: 0.19.11 + resolution: "esbuild@npm:0.19.11" + dependencies: + "@esbuild/aix-ppc64": 0.19.11 + "@esbuild/android-arm": 0.19.11 + "@esbuild/android-arm64": 0.19.11 + "@esbuild/android-x64": 0.19.11 + "@esbuild/darwin-arm64": 0.19.11 + "@esbuild/darwin-x64": 0.19.11 + "@esbuild/freebsd-arm64": 0.19.11 + "@esbuild/freebsd-x64": 0.19.11 + "@esbuild/linux-arm": 0.19.11 + "@esbuild/linux-arm64": 0.19.11 + "@esbuild/linux-ia32": 0.19.11 + "@esbuild/linux-loong64": 0.19.11 + "@esbuild/linux-mips64el": 0.19.11 + "@esbuild/linux-ppc64": 0.19.11 + "@esbuild/linux-riscv64": 0.19.11 + "@esbuild/linux-s390x": 0.19.11 + "@esbuild/linux-x64": 0.19.11 + "@esbuild/netbsd-x64": 0.19.11 + "@esbuild/openbsd-x64": 0.19.11 + "@esbuild/sunos-x64": 0.19.11 + "@esbuild/win32-arm64": 0.19.11 + "@esbuild/win32-ia32": 0.19.11 + "@esbuild/win32-x64": 0.19.11 + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: ae949a796d1d06b55275ae7491ce137857468f69a93d8cc9c0943d2a701ac54e14dbb250a2ba56f2ad98283669578f1ec3bd85a4681910a5ff29a2470c3bd62c + languageName: node + linkType: hard + "escalade@npm:^3.1.1": version: 3.1.1 resolution: "escalade@npm:3.1.1" @@ -6112,6 +6508,23 @@ __metadata: languageName: node linkType: hard +"execa@npm:^6.1.0": + version: 6.1.0 + resolution: "execa@npm:6.1.0" + dependencies: + cross-spawn: ^7.0.3 + get-stream: ^6.0.1 + human-signals: ^3.0.1 + is-stream: ^3.0.0 + merge-stream: ^2.0.0 + npm-run-path: ^5.1.0 + onetime: ^6.0.0 + signal-exit: ^3.0.7 + strip-final-newline: ^3.0.0 + checksum: 1a4af799839134f5c72eb63d525b87304c1114a63aa71676c91d57ccef2e26f2f53e14c11384ab11c4ec479be1efa83d11c8190e00040355c2c5c3364327fa8e + languageName: node + linkType: hard + "execa@npm:^8.0.0": version: 8.0.1 resolution: "execa@npm:8.0.1" @@ -6157,7 +6570,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.0.3, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2": +"fast-glob@npm:^3.0.3, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.2": version: 3.3.2 resolution: "fast-glob@npm:3.3.2" dependencies: @@ -6281,6 +6694,16 @@ __metadata: languageName: node linkType: hard +"find-up@npm:^6.3.0": + version: 6.3.0 + resolution: "find-up@npm:6.3.0" + dependencies: + locate-path: ^7.1.0 + path-exists: ^5.0.0 + checksum: 9a21b7f9244a420e54c6df95b4f6fc3941efd3c3e5476f8274eb452f6a85706e7a6a90de71353ee4f091fcb4593271a6f92810a324ec542650398f928783c280 + languageName: node + linkType: hard + "find-versions@npm:^5.1.0": version: 5.1.0 resolution: "find-versions@npm:5.1.0" @@ -6421,7 +6844,7 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^10.0.0": +"fs-extra@npm:^10.0.0, fs-extra@npm:^10.1.0": version: 10.1.0 resolution: "fs-extra@npm:10.1.0" dependencies: @@ -6865,6 +7288,19 @@ __metadata: languageName: node linkType: hard +"globby@npm:^13.2.2": + version: 13.2.2 + resolution: "globby@npm:13.2.2" + dependencies: + dir-glob: ^3.0.1 + fast-glob: ^3.3.0 + ignore: ^5.2.4 + merge2: ^1.4.1 + slash: ^4.0.0 + checksum: f3d84ced58a901b4fcc29c846983108c426631fe47e94872868b65565495f7bee7b3defd68923bd480582771fd4bbe819217803a164a618ad76f1d22f666f41e + languageName: node + linkType: hard + "globby@npm:^14.0.0": version: 14.0.0 resolution: "globby@npm:14.0.0" @@ -7292,6 +7728,16 @@ __metadata: languageName: node linkType: hard +"header-case@npm:^2.0.4": + version: 2.0.4 + resolution: "header-case@npm:2.0.4" + dependencies: + capital-case: ^1.0.4 + tslib: ^2.0.3 + checksum: 571c83eeb25e8130d172218712f807c0b96d62b020981400bccc1503a7cf14b09b8b10498a962d2739eccf231d950e3848ba7d420b58a6acd2f9283439546cd9 + languageName: node + linkType: hard + "heap@npm:>= 0.2.0": version: 0.2.7 resolution: "heap@npm:0.2.7" @@ -7430,6 +7876,13 @@ __metadata: languageName: node linkType: hard +"human-signals@npm:^3.0.1": + version: 3.0.1 + resolution: "human-signals@npm:3.0.1" + checksum: f252a7769c8094a5c9dc6772816bdb417b188820b04c8b42d0fc468e03a0ba905b1dd07afabe9385cc83504af1ccc2b985cd1e4aeeeb8e0029896c5af2e6f354 + languageName: node + linkType: hard + "human-signals@npm:^5.0.0": version: 5.0.0 resolution: "human-signals@npm:5.0.0" @@ -7784,6 +8237,13 @@ __metadata: languageName: node linkType: hard +"is-interactive@npm:^2.0.0": + version: 2.0.0 + resolution: "is-interactive@npm:2.0.0" + checksum: e8d52ad490bed7ae665032c7675ec07732bbfe25808b0efbc4d5a76b1a1f01c165f332775c63e25e9a03d319ebb6b24f571a9e902669fc1e40b0a60b5be6e26c + languageName: node + linkType: hard + "is-lambda@npm:^1.0.1": version: 1.0.1 resolution: "is-lambda@npm:1.0.1" @@ -7920,6 +8380,13 @@ __metadata: languageName: node linkType: hard +"is-unicode-supported@npm:^1.1.0": + version: 1.3.0 + resolution: "is-unicode-supported@npm:1.3.0" + checksum: 20a1fc161afafaf49243551a5ac33b6c4cf0bbcce369fcd8f2951fbdd000c30698ce320de3ee6830497310a8f41880f8066d440aa3eb0a853e2aa4836dd89abc + languageName: node + linkType: hard + "is-unicode-supported@npm:^2.0.0": version: 2.0.0 resolution: "is-unicode-supported@npm:2.0.0" @@ -8481,6 +8948,13 @@ __metadata: languageName: node linkType: hard +"load-tsconfig@npm:^0.2.3": + version: 0.2.5 + resolution: "load-tsconfig@npm:0.2.5" + checksum: 631740833c4a7157bb7b6eeae6e1afb6a6fac7416b7ba91bd0944d5c5198270af2d68bf8347af3cc2ba821adc4d83ef98f66278bd263bc284c863a09ec441503 + languageName: node + linkType: hard + "locate-path@npm:^2.0.0": version: 2.0.0 resolution: "locate-path@npm:2.0.0" @@ -8509,6 +8983,15 @@ __metadata: languageName: node linkType: hard +"locate-path@npm:^7.1.0": + version: 7.2.0 + resolution: "locate-path@npm:7.2.0" + dependencies: + p-locate: ^6.0.0 + checksum: c1b653bdf29beaecb3d307dfb7c44d98a2a98a02ebe353c9ad055d1ac45d6ed4e1142563d222df9b9efebc2bcb7d4c792b507fad9e7150a04c29530b7db570f8 + languageName: node + linkType: hard + "lodash-es@npm:^4.17.21": version: 4.17.21 resolution: "lodash-es@npm:4.17.21" @@ -8652,6 +9135,16 @@ __metadata: languageName: node linkType: hard +"log-symbols@npm:^5.1.0": + version: 5.1.0 + resolution: "log-symbols@npm:5.1.0" + dependencies: + chalk: ^5.0.0 + is-unicode-supported: ^1.1.0 + checksum: 7291b6e7f1b3df6865bdaeb9b59605c832668ac2fa0965c63b1e7dd3700349aec09c1d7d40c368d5041ff58b7f89461a56e4009471921301af7b3609cbff9a29 + languageName: node + linkType: hard + "loupe@npm:^2.3.6": version: 2.3.7 resolution: "loupe@npm:2.3.7" @@ -8661,6 +9154,15 @@ __metadata: languageName: node linkType: hard +"lower-case@npm:^2.0.2": + version: 2.0.2 + resolution: "lower-case@npm:2.0.2" + dependencies: + tslib: ^2.0.3 + checksum: 83a0a5f159ad7614bee8bf976b96275f3954335a84fad2696927f609ddae902802c4f3312d86668722e668bef41400254807e1d3a7f2e8c3eede79691aa1f010 + languageName: node + linkType: hard + "lowercase-keys@npm:^3.0.0": version: 3.0.0 resolution: "lowercase-keys@npm:3.0.0" @@ -9263,6 +9765,16 @@ __metadata: languageName: node linkType: hard +"no-case@npm:^3.0.4": + version: 3.0.4 + resolution: "no-case@npm:3.0.4" + dependencies: + lower-case: ^2.0.2 + tslib: ^2.0.3 + checksum: 0b2ebc113dfcf737d48dde49cfebf3ad2d82a8c3188e7100c6f375e30eafbef9e9124aadc3becef237b042fd5eb0aad2fd78669c20972d045bbe7fea8ba0be5c + languageName: node + linkType: hard + "node-addon-api@npm:^2.0.0": version: 2.0.2 resolution: "node-addon-api@npm:2.0.2" @@ -9726,7 +10238,7 @@ __metadata: languageName: node linkType: hard -"onetime@npm:^5.1.2": +"onetime@npm:^5.1.0, onetime@npm:^5.1.2": version: 5.1.2 resolution: "onetime@npm:5.1.2" dependencies: @@ -9772,6 +10284,23 @@ __metadata: languageName: node linkType: hard +"ora@npm:^6.3.1": + version: 6.3.1 + resolution: "ora@npm:6.3.1" + dependencies: + chalk: ^5.0.0 + cli-cursor: ^4.0.0 + cli-spinners: ^2.6.1 + is-interactive: ^2.0.0 + is-unicode-supported: ^1.1.0 + log-symbols: ^5.1.0 + stdin-discarder: ^0.1.0 + strip-ansi: ^7.0.1 + wcwidth: ^1.0.1 + checksum: 474c0596a35c1be1e836bb836bea8a2d9e37458fc63b020e1435c8fe2030ab224454bfb263618e3ec09fcab2008dd525e9047f4c61548c4ace7b6490a766fc1c + languageName: node + linkType: hard + "ordinal@npm:^1.0.3": version: 1.0.3 resolution: "ordinal@npm:1.0.3" @@ -9843,6 +10372,15 @@ __metadata: languageName: node linkType: hard +"p-limit@npm:^4.0.0": + version: 4.0.0 + resolution: "p-limit@npm:4.0.0" + dependencies: + yocto-queue: ^1.0.0 + checksum: 01d9d70695187788f984226e16c903475ec6a947ee7b21948d6f597bed788e3112cc7ec2e171c1d37125057a5f45f3da21d8653e04a3a793589e12e9e80e756b + languageName: node + linkType: hard + "p-locate@npm:^2.0.0": version: 2.0.0 resolution: "p-locate@npm:2.0.0" @@ -9870,6 +10408,15 @@ __metadata: languageName: node linkType: hard +"p-locate@npm:^6.0.0": + version: 6.0.0 + resolution: "p-locate@npm:6.0.0" + dependencies: + p-limit: ^4.0.0 + checksum: 2bfe5234efa5e7a4e74b30a5479a193fdd9236f8f6b4d2f3f69e3d286d9a7d7ab0c118a2a50142efcf4e41625def635bd9332d6cbf9cc65d85eb0718c579ab38 + languageName: node + linkType: hard + "p-map@npm:^4.0.0": version: 4.0.0 resolution: "p-map@npm:4.0.0" @@ -9956,6 +10503,16 @@ __metadata: languageName: node linkType: hard +"param-case@npm:^3.0.4": + version: 3.0.4 + resolution: "param-case@npm:3.0.4" + dependencies: + dot-case: ^3.0.4 + tslib: ^2.0.3 + checksum: b34227fd0f794e078776eb3aa6247442056cb47761e9cd2c4c881c86d84c64205f6a56ef0d70b41ee7d77da02c3f4ed2f88e3896a8fefe08bdfb4deca037c687 + languageName: node + linkType: hard + "parent-module@npm:^1.0.0": version: 1.0.1 resolution: "parent-module@npm:1.0.1" @@ -10016,6 +10573,26 @@ __metadata: languageName: node linkType: hard +"pascal-case@npm:^3.1.2": + version: 3.1.2 + resolution: "pascal-case@npm:3.1.2" + dependencies: + no-case: ^3.0.4 + tslib: ^2.0.3 + checksum: ba98bfd595fc91ef3d30f4243b1aee2f6ec41c53b4546bfa3039487c367abaa182471dcfc830a1f9e1a0df00c14a370514fa2b3a1aacc68b15a460c31116873e + languageName: node + linkType: hard + +"path-case@npm:^3.0.4": + version: 3.0.4 + resolution: "path-case@npm:3.0.4" + dependencies: + dot-case: ^3.0.4 + tslib: ^2.0.3 + checksum: 61de0526222629f65038a66f63330dd22d5b54014ded6636283e1d15364da38b3cf29e4433aa3f9d8b0dba407ae2b059c23b0104a34ee789944b1bc1c5c7e06d + languageName: node + linkType: hard + "path-exists@npm:^3.0.0": version: 3.0.0 resolution: "path-exists@npm:3.0.0" @@ -10030,6 +10607,13 @@ __metadata: languageName: node linkType: hard +"path-exists@npm:^5.0.0": + version: 5.0.0 + resolution: "path-exists@npm:5.0.0" + checksum: 8ca842868cab09423994596eb2c5ec2a971c17d1a3cb36dbf060592c730c725cd524b9067d7d2a1e031fef9ba7bd2ac6dc5ec9fb92aa693265f7be3987045254 + languageName: node + linkType: hard + "path-is-absolute@npm:^1.0.0": version: 1.0.1 resolution: "path-is-absolute@npm:1.0.1" @@ -10082,6 +10666,13 @@ __metadata: languageName: node linkType: hard +"pathe@npm:^1.1.1": + version: 1.1.2 + resolution: "pathe@npm:1.1.2" + checksum: ec5f778d9790e7b9ffc3e4c1df39a5bb1ce94657a4e3ad830c1276491ca9d79f189f47609884671db173400256b005f4955f7952f52a2aeb5834ad5fb4faf134 + languageName: node + linkType: hard + "pathval@npm:^1.1.1": version: 1.1.1 resolution: "pathval@npm:1.1.1" @@ -10222,6 +10813,15 @@ __metadata: languageName: node linkType: hard +"prettier@npm:^3.0.3": + version: 3.2.4 + resolution: "prettier@npm:3.2.4" + bin: + prettier: bin/prettier.cjs + checksum: 6ec9385a836e0b9bac549e585101c086d1521c31d7b882d5c8bb7d7646da0693da5f31f4fff6dc080710e5e2d34c85e6fb2f8766876b3645c8be2f33b9c3d1a3 + languageName: node + linkType: hard + "proc-log@npm:^3.0.0": version: 3.0.0 resolution: "proc-log@npm:3.0.0" @@ -10490,7 +11090,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:3, readable-stream@npm:^3.0.0, readable-stream@npm:^3.6.0": +"readable-stream@npm:3, readable-stream@npm:^3.0.0, readable-stream@npm:^3.4.0, readable-stream@npm:^3.6.0": version: 3.6.2 resolution: "readable-stream@npm:3.6.2" dependencies: @@ -10754,6 +11354,16 @@ __metadata: languageName: node linkType: hard +"restore-cursor@npm:^4.0.0": + version: 4.0.0 + resolution: "restore-cursor@npm:4.0.0" + dependencies: + onetime: ^5.1.0 + signal-exit: ^3.0.2 + checksum: 5b675c5a59763bf26e604289eab35711525f11388d77f409453904e1e69c0d37ae5889295706b2c81d23bd780165084d040f9b68fffc32cc921519031c4fa4af + languageName: node + linkType: hard + "retry@npm:0.13.1": version: 0.13.1 resolution: "retry@npm:0.13.1" @@ -11023,6 +11633,17 @@ __metadata: languageName: node linkType: hard +"sentence-case@npm:^3.0.4": + version: 3.0.4 + resolution: "sentence-case@npm:3.0.4" + dependencies: + no-case: ^3.0.4 + tslib: ^2.0.3 + upper-case-first: ^2.0.2 + checksum: 3cfe6c0143e649132365695706702d7f729f484fa7b25f43435876efe7af2478243eefb052bacbcce10babf9319fd6b5b6bc59b94c80a1c819bcbb40651465d5 + languageName: node + linkType: hard + "serialize-javascript@npm:6.0.0": version: 6.0.0 resolution: "serialize-javascript@npm:6.0.0" @@ -11138,7 +11759,7 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3": +"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" checksum: a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 @@ -11191,6 +11812,13 @@ __metadata: languageName: node linkType: hard +"slash@npm:^4.0.0": + version: 4.0.0 + resolution: "slash@npm:4.0.0" + checksum: da8e4af73712253acd21b7853b7e0dbba776b786e82b010a5bfc8b5051a1db38ed8aba8e1e8f400dd2c9f373be91eb1c42b66e91abb407ff42b10feece5e1d2d + languageName: node + linkType: hard + "slash@npm:^5.1.0": version: 5.1.0 resolution: "slash@npm:5.1.0" @@ -11216,6 +11844,16 @@ __metadata: languageName: node linkType: hard +"snake-case@npm:^3.0.4": + version: 3.0.4 + resolution: "snake-case@npm:3.0.4" + dependencies: + dot-case: ^3.0.4 + tslib: ^2.0.3 + checksum: 0a7a79900bbb36f8aaa922cf111702a3647ac6165736d5dc96d3ef367efc50465cac70c53cd172c382b022dac72ec91710608e5393de71f76d7142e6fd80e8a3 + languageName: node + linkType: hard + "socks-proxy-agent@npm:^8.0.1": version: 8.0.2 resolution: "socks-proxy-agent@npm:8.0.2" @@ -11486,6 +12124,15 @@ __metadata: languageName: node linkType: hard +"stdin-discarder@npm:^0.1.0": + version: 0.1.0 + resolution: "stdin-discarder@npm:0.1.0" + dependencies: + bl: ^5.0.0 + checksum: 85131f70ae2830144133b7a6211d56f9ac2603573f4af3d0b66e828af5e13fcdea351f9192f86bb7fed2c64604c8097bf36d50cb77d54e898ce4604c3b7b6b8f + languageName: node + linkType: hard + "stream-combiner2@npm:~1.1.1": version: 1.1.1 resolution: "stream-combiner2@npm:1.1.1" @@ -12026,7 +12673,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.1.0, tslib@npm:^2.3.1, tslib@npm:^2.5.0": +"tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.1, tslib@npm:^2.5.0": version: 2.6.2 resolution: "tslib@npm:2.6.2" checksum: 329ea56123005922f39642318e3d1f0f8265d1e7fcb92c633e0809521da75eeaca28d2cf96d7248229deb40e5c19adf408259f4b9640afd20d13aecc1430f3ad @@ -12397,6 +13044,24 @@ __metadata: languageName: node linkType: hard +"upper-case-first@npm:^2.0.2": + version: 2.0.2 + resolution: "upper-case-first@npm:2.0.2" + dependencies: + tslib: ^2.0.3 + checksum: 4487db4701effe3b54ced4b3e4aa4d9ab06c548f97244d04aafb642eedf96a76d5a03cf5f38f10f415531d5792d1ac6e1b50f2a76984dc6964ad530f12876409 + languageName: node + linkType: hard + +"upper-case@npm:^2.0.2": + version: 2.0.2 + resolution: "upper-case@npm:2.0.2" + dependencies: + tslib: ^2.0.3 + checksum: 508723a2b03ab90cf1d6b7e0397513980fab821cbe79c87341d0e96cedefadf0d85f9d71eac24ab23f526a041d585a575cfca120a9f920e44eb4f8a7cf89121c + languageName: node + linkType: hard + "uri-js@npm:^4.2.2": version: 4.4.1 resolution: "uri-js@npm:4.4.1" @@ -12469,6 +13134,27 @@ __metadata: languageName: node linkType: hard +"viem@npm:2.0.0": + version: 2.0.0 + resolution: "viem@npm:2.0.0" + dependencies: + "@adraffy/ens-normalize": 1.10.0 + "@noble/curves": 1.2.0 + "@noble/hashes": 1.3.2 + "@scure/bip32": 1.3.2 + "@scure/bip39": 1.2.1 + abitype: 0.10.0 + isows: 1.0.3 + ws: 8.13.0 + peerDependencies: + typescript: ">=5.0.4" + peerDependenciesMeta: + typescript: + optional: true + checksum: c1610d1a78490872f279351aeef54834211c57ca51fb4a2834e1b48bb0f0c1bcfbb5e02e91a66341eb6c316458a2b6556b7da24d22ab0db7e1eb0f5d01d2946a + languageName: node + linkType: hard + "viem@npm:^2.1.1": version: 2.1.1 resolution: "viem@npm:2.1.1" @@ -12497,7 +13183,7 @@ __metadata: languageName: node linkType: hard -"wcwidth@npm:^1.0.0": +"wcwidth@npm:^1.0.0, wcwidth@npm:^1.0.1": version: 1.0.1 resolution: "wcwidth@npm:1.0.1" dependencies: @@ -12827,6 +13513,13 @@ __metadata: languageName: node linkType: hard +"yocto-queue@npm:^1.0.0": + version: 1.0.0 + resolution: "yocto-queue@npm:1.0.0" + checksum: 2cac84540f65c64ccc1683c267edce396b26b1e931aa429660aefac8fbe0188167b7aee815a3c22fa59a28a58d898d1a2b1825048f834d8d629f4c2a5d443801 + languageName: node + linkType: hard + "zksync-web3@npm:^0.14.3": version: 0.14.4 resolution: "zksync-web3@npm:0.14.4" @@ -12835,3 +13528,10 @@ __metadata: checksum: f702a3437f48a8d42c4bb35b8dd13671a168aadfc4e23ce723d62959220ccb6bf9c529c60331fe5b91afaa622147c6a37490551474fe3e35c06ac476524b5160 languageName: node linkType: hard + +"zod@npm:^3.22.2": + version: 3.22.4 + resolution: "zod@npm:3.22.4" + checksum: 80bfd7f8039b24fddeb0718a2ec7c02aa9856e4838d6aa4864335a047b6b37a3273b191ef335bf0b2002e5c514ef261ffcda5a589fb084a48c336ffc4cdbab7f + languageName: node + linkType: hard