Function useClearTokenUriGenerator

  • Wraps useContractRead with abi set to clearABI and functionName set to "tokenURIGenerator".

    Type Parameters

    • TFunctionName extends "tokenURIGenerator"

    • TSelectData = ReadContractResult<readonly [{
          inputs: readonly [{
              internalType: "address";
              name: "_feeTo";
              type: "address";
          }, {
              internalType: "address";
              name: "_tokenURIGenerator";
              type: "address";
          }];
          stateMutability: "nonpayable";
          type: "constructor";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "accessor";
              type: "address";
          }, {
              internalType: "address";
              name: "permissioned";
              type: "address";
          }];
          name: "AccessControlViolation";
          type: "error";
      }, {
          inputs: readonly [];
          name: "AmountWrittenCannotBeZero";
          type: "error";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "claimId";
              type: "uint256";
          }];
          name: "CallerDoesNotOwnClaimId";
          type: "error";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "optionId";
              type: "uint256";
          }, {
              internalType: "uint112";
              name: "amount";
              type: "uint112";
          }];
          name: "CallerHoldsInsufficientOptions";
          type: "error";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "claimId";
              type: "uint256";
          }, {
              internalType: "uint40";
              name: "expiry";
              type: "uint40";
          }];
          name: "ClaimTooSoon";
          type: "error";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "optionId";
              type: "uint256";
          }, {
              internalType: "uint40";
              name: "exercise";
              type: "uint40";
          }];
          name: "ExerciseTooEarly";
          type: "error";
      }, {
          inputs: readonly [{
              internalType: "uint40";
              name: "exercise";
              type: "uint40";
          }];
          name: "ExerciseWindowTooShort";
          type: "error";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "optionId";
              type: "uint256";
          }, {
              internalType: "uint40";
              name: "expiry";
              type: "uint40";
          }];
          name: "ExpiredOption";
          type: "error";
      }, {
          inputs: readonly [{
              internalType: "uint40";
              name: "expiry";
              type: "uint40";
          }];
          name: "ExpiryWindowTooShort";
          type: "error";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "input";
              type: "address";
          }];
          name: "InvalidAddress";
          type: "error";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "asset1";
              type: "address";
          }, {
              internalType: "address";
              name: "asset2";
              type: "address";
          }];
          name: "InvalidAssets";
          type: "error";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "token";
              type: "uint256";
          }];
          name: "InvalidClaim";
          type: "error";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "token";
              type: "uint256";
          }];
          name: "InvalidOption";
          type: "error";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "optionId";
              type: "uint256";
          }];
          name: "OptionsTypeExists";
          type: "error";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "token";
              type: "uint256";
          }];
          name: "TokenNotFound";
          type: "error";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              internalType: "address";
              name: "owner";
              type: "address";
          }, {
              indexed: true;
              internalType: "address";
              name: "operator";
              type: "address";
          }, {
              indexed: false;
              internalType: "bool";
              name: "approved";
              type: "bool";
          }];
          name: "ApprovalForAll";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              internalType: "uint256";
              name: "optionId";
              type: "uint256";
          }, {
              indexed: true;
              internalType: "uint96";
              name: "bucketIndex";
              type: "uint96";
          }, {
              indexed: false;
              internalType: "uint112";
              name: "amountAssigned";
              type: "uint112";
          }];
          name: "BucketAssignedExercise";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              internalType: "uint256";
              name: "optionId";
              type: "uint256";
          }, {
              indexed: true;
              internalType: "uint256";
              name: "claimId";
              type: "uint256";
          }, {
              indexed: true;
              internalType: "uint96";
              name: "bucketIndex";
              type: "uint96";
          }, {
              indexed: false;
              internalType: "uint112";
              name: "amount";
              type: "uint112";
          }];
          name: "BucketWrittenInto";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              internalType: "uint256";
              name: "claimId";
              type: "uint256";
          }, {
              indexed: true;
              internalType: "uint256";
              name: "optionId";
              type: "uint256";
          }, {
              indexed: true;
              internalType: "address";
              name: "redeemer";
              type: "address";
          }, {
              indexed: false;
              internalType: "uint256";
              name: "exerciseAmountRedeemed";
              type: "uint256";
          }, {
              indexed: false;
              internalType: "uint256";
              name: "underlyingAmountRedeemed";
              type: "uint256";
          }];
          name: "ClaimRedeemed";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              internalType: "uint256";
              name: "optionId";
              type: "uint256";
          }, {
              indexed: true;
              internalType: "address";
              name: "asset";
              type: "address";
          }, {
              indexed: true;
              internalType: "address";
              name: "payer";
              type: "address";
          }, {
              indexed: false;
              internalType: "uint256";
              name: "amount";
              type: "uint256";
          }];
          name: "FeeAccrued";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              internalType: "address";
              name: "asset";
              type: "address";
          }, {
              indexed: true;
              internalType: "address";
              name: "feeTo";
              type: "address";
          }, {
              indexed: false;
              internalType: "uint256";
              name: "amount";
              type: "uint256";
          }];
          name: "FeeSwept";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: false;
              internalType: "address";
              name: "feeTo";
              type: "address";
          }, {
              indexed: false;
              internalType: "bool";
              name: "enabled";
              type: "bool";
          }];
          name: "FeeSwitchUpdated";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              internalType: "address";
              name: "newFeeTo";
              type: "address";
          }];
          name: "FeeToUpdated";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: false;
              internalType: "uint256";
              name: "optionId";
              type: "uint256";
          }, {
              indexed: true;
              internalType: "address";
              name: "exerciseAsset";
              type: "address";
          }, {
              indexed: true;
              internalType: "address";
              name: "underlyingAsset";
              type: "address";
          }, {
              indexed: false;
              internalType: "uint96";
              name: "exerciseAmount";
              type: "uint96";
          }, {
              indexed: false;
              internalType: "uint96";
              name: "underlyingAmount";
              type: "uint96";
          }, {
              indexed: false;
              internalType: "uint40";
              name: "exerciseTimestamp";
              type: "uint40";
          }, {
              indexed: true;
              internalType: "uint40";
              name: "expiryTimestamp";
              type: "uint40";
          }];
          name: "NewOptionType";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              internalType: "uint256";
              name: "optionId";
              type: "uint256";
          }, {
              indexed: true;
              internalType: "address";
              name: "exerciser";
              type: "address";
          }, {
              indexed: false;
              internalType: "uint112";
              name: "amount";
              type: "uint112";
          }];
          name: "OptionsExercised";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              internalType: "uint256";
              name: "optionId";
              type: "uint256";
          }, {
              indexed: true;
              internalType: "address";
              name: "writer";
              type: "address";
          }, {
              indexed: true;
              internalType: "uint256";
              name: "claimId";
              type: "uint256";
          }, {
              indexed: false;
              internalType: "uint112";
              name: "amount";
              type: "uint112";
          }];
          name: "OptionsWritten";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              internalType: "address";
              name: "newTokenURIGenerator";
              type: "address";
          }];
          name: "TokenURIGeneratorUpdated";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              internalType: "address";
              name: "operator";
              type: "address";
          }, {
              indexed: true;
              internalType: "address";
              name: "from";
              type: "address";
          }, {
              indexed: true;
              internalType: "address";
              name: "to";
              type: "address";
          }, {
              indexed: false;
              internalType: "uint256[]";
              name: "ids";
              type: "uint256[]";
          }, {
              indexed: false;
              internalType: "uint256[]";
              name: "amounts";
              type: "uint256[]";
          }];
          name: "TransferBatch";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              internalType: "address";
              name: "operator";
              type: "address";
          }, {
              indexed: true;
              internalType: "address";
              name: "from";
              type: "address";
          }, {
              indexed: true;
              internalType: "address";
              name: "to";
              type: "address";
          }, {
              indexed: false;
              internalType: "uint256";
              name: "id";
              type: "uint256";
          }, {
              indexed: false;
              internalType: "uint256";
              name: "amount";
              type: "uint256";
          }];
          name: "TransferSingle";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: false;
              internalType: "string";
              name: "value";
              type: "string";
          }, {
              indexed: true;
              internalType: "uint256";
              name: "id";
              type: "uint256";
          }];
          name: "URI";
          type: "event";
      }, {
          inputs: readonly [];
          name: "acceptFeeTo";
          outputs: readonly [];
          stateMutability: "nonpayable";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "";
              type: "address";
          }, {
              internalType: "uint256";
              name: "";
              type: "uint256";
          }];
          name: "balanceOf";
          outputs: readonly [{
              internalType: "uint256";
              name: "";
              type: "uint256";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address[]";
              name: "owners";
              type: "address[]";
          }, {
              internalType: "uint256[]";
              name: "ids";
              type: "uint256[]";
          }];
          name: "balanceOfBatch";
          outputs: readonly [{
              internalType: "uint256[]";
              name: "balances";
              type: "uint256[]";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "claimId";
              type: "uint256";
          }];
          name: "claim";
          outputs: readonly [{
              components: readonly [{
                  internalType: "uint256";
                  name: "amountWritten";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "amountExercised";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "optionId";
                  type: "uint256";
              }];
              internalType: "struct IValoremOptionsClearinghouse.Claim";
              name: "claimInfo";
              type: "tuple";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "optionId";
              type: "uint256";
          }, {
              internalType: "uint112";
              name: "amount";
              type: "uint112";
          }];
          name: "exercise";
          outputs: readonly [];
          stateMutability: "nonpayable";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "";
              type: "address";
          }];
          name: "feeBalance";
          outputs: readonly [{
              internalType: "uint256";
              name: "";
              type: "uint256";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [];
          name: "feeBps";
          outputs: readonly [{
              internalType: "uint8";
              name: "";
              type: "uint8";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [];
          name: "feeTo";
          outputs: readonly [{
              internalType: "address";
              name: "";
              type: "address";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [];
          name: "feesEnabled";
          outputs: readonly [{
              internalType: "bool";
              name: "";
              type: "bool";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "";
              type: "address";
          }, {
              internalType: "address";
              name: "";
              type: "address";
          }];
          name: "isApprovedForAll";
          outputs: readonly [{
              internalType: "bool";
              name: "";
              type: "bool";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "underlyingAsset";
              type: "address";
          }, {
              internalType: "uint96";
              name: "underlyingAmount";
              type: "uint96";
          }, {
              internalType: "address";
              name: "exerciseAsset";
              type: "address";
          }, {
              internalType: "uint96";
              name: "exerciseAmount";
              type: "uint96";
          }, {
              internalType: "uint40";
              name: "exerciseTimestamp";
              type: "uint40";
          }, {
              internalType: "uint40";
              name: "expiryTimestamp";
              type: "uint40";
          }];
          name: "newOptionType";
          outputs: readonly [{
              internalType: "uint256";
              name: "optionId";
              type: "uint256";
          }];
          stateMutability: "nonpayable";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "tokenId";
              type: "uint256";
          }];
          name: "option";
          outputs: readonly [{
              components: readonly [{
                  internalType: "address";
                  name: "underlyingAsset";
                  type: "address";
              }, {
                  internalType: "uint96";
                  name: "underlyingAmount";
                  type: "uint96";
              }, {
                  internalType: "address";
                  name: "exerciseAsset";
                  type: "address";
              }, {
                  internalType: "uint96";
                  name: "exerciseAmount";
                  type: "uint96";
              }, {
                  internalType: "uint40";
                  name: "exerciseTimestamp";
                  type: "uint40";
              }, {
                  internalType: "uint40";
                  name: "expiryTimestamp";
                  type: "uint40";
              }, {
                  internalType: "uint160";
                  name: "settlementSeed";
                  type: "uint160";
              }, {
                  internalType: "uint96";
                  name: "nextClaimKey";
                  type: "uint96";
              }];
              internalType: "struct IValoremOptionsClearinghouse.Option";
              name: "optionInfo";
              type: "tuple";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "tokenId";
              type: "uint256";
          }];
          name: "position";
          outputs: readonly [{
              components: readonly [{
                  internalType: "address";
                  name: "underlyingAsset";
                  type: "address";
              }, {
                  internalType: "int256";
                  name: "underlyingAmount";
                  type: "int256";
              }, {
                  internalType: "address";
                  name: "exerciseAsset";
                  type: "address";
              }, {
                  internalType: "int256";
                  name: "exerciseAmount";
                  type: "int256";
              }];
              internalType: "struct IValoremOptionsClearinghouse.Position";
              name: "positionInfo";
              type: "tuple";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "claimId";
              type: "uint256";
          }];
          name: "redeem";
          outputs: readonly [];
          stateMutability: "nonpayable";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "from";
              type: "address";
          }, {
              internalType: "address";
              name: "to";
              type: "address";
          }, {
              internalType: "uint256[]";
              name: "ids";
              type: "uint256[]";
          }, {
              internalType: "uint256[]";
              name: "amounts";
              type: "uint256[]";
          }, {
              internalType: "bytes";
              name: "data";
              type: "bytes";
          }];
          name: "safeBatchTransferFrom";
          outputs: readonly [];
          stateMutability: "nonpayable";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "from";
              type: "address";
          }, {
              internalType: "address";
              name: "to";
              type: "address";
          }, {
              internalType: "uint256";
              name: "id";
              type: "uint256";
          }, {
              internalType: "uint256";
              name: "amount";
              type: "uint256";
          }, {
              internalType: "bytes";
              name: "data";
              type: "bytes";
          }];
          name: "safeTransferFrom";
          outputs: readonly [];
          stateMutability: "nonpayable";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "operator";
              type: "address";
          }, {
              internalType: "bool";
              name: "approved";
              type: "bool";
          }];
          name: "setApprovalForAll";
          outputs: readonly [];
          stateMutability: "nonpayable";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "newFeeTo";
              type: "address";
          }];
          name: "setFeeTo";
          outputs: readonly [];
          stateMutability: "nonpayable";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "bool";
              name: "enabled";
              type: "bool";
          }];
          name: "setFeesEnabled";
          outputs: readonly [];
          stateMutability: "nonpayable";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "newTokenURIGenerator";
              type: "address";
          }];
          name: "setTokenURIGenerator";
          outputs: readonly [];
          stateMutability: "nonpayable";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "bytes4";
              name: "interfaceId";
              type: "bytes4";
          }];
          name: "supportsInterface";
          outputs: readonly [{
              internalType: "bool";
              name: "";
              type: "bool";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address[]";
              name: "tokens";
              type: "address[]";
          }];
          name: "sweepFees";
          outputs: readonly [];
          stateMutability: "nonpayable";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "tokenId";
              type: "uint256";
          }];
          name: "tokenType";
          outputs: readonly [{
              internalType: "enum IValoremOptionsClearinghouse.TokenType";
              name: "typeOfToken";
              type: "uint8";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [];
          name: "tokenURIGenerator";
          outputs: readonly [{
              internalType: "contract ITokenURIGenerator";
              name: "";
              type: "address";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "tokenId";
              type: "uint256";
          }];
          name: "uri";
          outputs: readonly [{
              internalType: "string";
              name: "";
              type: "string";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "tokenId";
              type: "uint256";
          }, {
              internalType: "uint112";
              name: "amount";
              type: "uint112";
          }];
          name: "write";
          outputs: readonly [{
              internalType: "uint256";
              name: "";
              type: "uint256";
          }];
          stateMutability: "nonpayable";
          type: "function";
      }], TFunctionName>

    Parameters

    • config: Omit<UseContractReadConfig<readonly [{
          inputs: readonly [{
              internalType: "address";
              name: "_feeTo";
              type: "address";
          }, {
              internalType: "address";
              name: "_tokenURIGenerator";
              type: "address";
          }];
          stateMutability: "nonpayable";
          type: "constructor";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "accessor";
              type: "address";
          }, {
              internalType: "address";
              name: "permissioned";
              type: "address";
          }];
          name: "AccessControlViolation";
          type: "error";
      }, {
          inputs: readonly [];
          name: "AmountWrittenCannotBeZero";
          type: "error";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "claimId";
              type: "uint256";
          }];
          name: "CallerDoesNotOwnClaimId";
          type: "error";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "optionId";
              type: "uint256";
          }, {
              internalType: "uint112";
              name: "amount";
              type: "uint112";
          }];
          name: "CallerHoldsInsufficientOptions";
          type: "error";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "claimId";
              type: "uint256";
          }, {
              internalType: "uint40";
              name: "expiry";
              type: "uint40";
          }];
          name: "ClaimTooSoon";
          type: "error";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "optionId";
              type: "uint256";
          }, {
              internalType: "uint40";
              name: "exercise";
              type: "uint40";
          }];
          name: "ExerciseTooEarly";
          type: "error";
      }, {
          inputs: readonly [{
              internalType: "uint40";
              name: "exercise";
              type: "uint40";
          }];
          name: "ExerciseWindowTooShort";
          type: "error";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "optionId";
              type: "uint256";
          }, {
              internalType: "uint40";
              name: "expiry";
              type: "uint40";
          }];
          name: "ExpiredOption";
          type: "error";
      }, {
          inputs: readonly [{
              internalType: "uint40";
              name: "expiry";
              type: "uint40";
          }];
          name: "ExpiryWindowTooShort";
          type: "error";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "input";
              type: "address";
          }];
          name: "InvalidAddress";
          type: "error";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "asset1";
              type: "address";
          }, {
              internalType: "address";
              name: "asset2";
              type: "address";
          }];
          name: "InvalidAssets";
          type: "error";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "token";
              type: "uint256";
          }];
          name: "InvalidClaim";
          type: "error";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "token";
              type: "uint256";
          }];
          name: "InvalidOption";
          type: "error";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "optionId";
              type: "uint256";
          }];
          name: "OptionsTypeExists";
          type: "error";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "token";
              type: "uint256";
          }];
          name: "TokenNotFound";
          type: "error";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              internalType: "address";
              name: "owner";
              type: "address";
          }, {
              indexed: true;
              internalType: "address";
              name: "operator";
              type: "address";
          }, {
              indexed: false;
              internalType: "bool";
              name: "approved";
              type: "bool";
          }];
          name: "ApprovalForAll";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              internalType: "uint256";
              name: "optionId";
              type: "uint256";
          }, {
              indexed: true;
              internalType: "uint96";
              name: "bucketIndex";
              type: "uint96";
          }, {
              indexed: false;
              internalType: "uint112";
              name: "amountAssigned";
              type: "uint112";
          }];
          name: "BucketAssignedExercise";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              internalType: "uint256";
              name: "optionId";
              type: "uint256";
          }, {
              indexed: true;
              internalType: "uint256";
              name: "claimId";
              type: "uint256";
          }, {
              indexed: true;
              internalType: "uint96";
              name: "bucketIndex";
              type: "uint96";
          }, {
              indexed: false;
              internalType: "uint112";
              name: "amount";
              type: "uint112";
          }];
          name: "BucketWrittenInto";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              internalType: "uint256";
              name: "claimId";
              type: "uint256";
          }, {
              indexed: true;
              internalType: "uint256";
              name: "optionId";
              type: "uint256";
          }, {
              indexed: true;
              internalType: "address";
              name: "redeemer";
              type: "address";
          }, {
              indexed: false;
              internalType: "uint256";
              name: "exerciseAmountRedeemed";
              type: "uint256";
          }, {
              indexed: false;
              internalType: "uint256";
              name: "underlyingAmountRedeemed";
              type: "uint256";
          }];
          name: "ClaimRedeemed";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              internalType: "uint256";
              name: "optionId";
              type: "uint256";
          }, {
              indexed: true;
              internalType: "address";
              name: "asset";
              type: "address";
          }, {
              indexed: true;
              internalType: "address";
              name: "payer";
              type: "address";
          }, {
              indexed: false;
              internalType: "uint256";
              name: "amount";
              type: "uint256";
          }];
          name: "FeeAccrued";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              internalType: "address";
              name: "asset";
              type: "address";
          }, {
              indexed: true;
              internalType: "address";
              name: "feeTo";
              type: "address";
          }, {
              indexed: false;
              internalType: "uint256";
              name: "amount";
              type: "uint256";
          }];
          name: "FeeSwept";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: false;
              internalType: "address";
              name: "feeTo";
              type: "address";
          }, {
              indexed: false;
              internalType: "bool";
              name: "enabled";
              type: "bool";
          }];
          name: "FeeSwitchUpdated";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              internalType: "address";
              name: "newFeeTo";
              type: "address";
          }];
          name: "FeeToUpdated";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: false;
              internalType: "uint256";
              name: "optionId";
              type: "uint256";
          }, {
              indexed: true;
              internalType: "address";
              name: "exerciseAsset";
              type: "address";
          }, {
              indexed: true;
              internalType: "address";
              name: "underlyingAsset";
              type: "address";
          }, {
              indexed: false;
              internalType: "uint96";
              name: "exerciseAmount";
              type: "uint96";
          }, {
              indexed: false;
              internalType: "uint96";
              name: "underlyingAmount";
              type: "uint96";
          }, {
              indexed: false;
              internalType: "uint40";
              name: "exerciseTimestamp";
              type: "uint40";
          }, {
              indexed: true;
              internalType: "uint40";
              name: "expiryTimestamp";
              type: "uint40";
          }];
          name: "NewOptionType";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              internalType: "uint256";
              name: "optionId";
              type: "uint256";
          }, {
              indexed: true;
              internalType: "address";
              name: "exerciser";
              type: "address";
          }, {
              indexed: false;
              internalType: "uint112";
              name: "amount";
              type: "uint112";
          }];
          name: "OptionsExercised";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              internalType: "uint256";
              name: "optionId";
              type: "uint256";
          }, {
              indexed: true;
              internalType: "address";
              name: "writer";
              type: "address";
          }, {
              indexed: true;
              internalType: "uint256";
              name: "claimId";
              type: "uint256";
          }, {
              indexed: false;
              internalType: "uint112";
              name: "amount";
              type: "uint112";
          }];
          name: "OptionsWritten";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              internalType: "address";
              name: "newTokenURIGenerator";
              type: "address";
          }];
          name: "TokenURIGeneratorUpdated";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              internalType: "address";
              name: "operator";
              type: "address";
          }, {
              indexed: true;
              internalType: "address";
              name: "from";
              type: "address";
          }, {
              indexed: true;
              internalType: "address";
              name: "to";
              type: "address";
          }, {
              indexed: false;
              internalType: "uint256[]";
              name: "ids";
              type: "uint256[]";
          }, {
              indexed: false;
              internalType: "uint256[]";
              name: "amounts";
              type: "uint256[]";
          }];
          name: "TransferBatch";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              internalType: "address";
              name: "operator";
              type: "address";
          }, {
              indexed: true;
              internalType: "address";
              name: "from";
              type: "address";
          }, {
              indexed: true;
              internalType: "address";
              name: "to";
              type: "address";
          }, {
              indexed: false;
              internalType: "uint256";
              name: "id";
              type: "uint256";
          }, {
              indexed: false;
              internalType: "uint256";
              name: "amount";
              type: "uint256";
          }];
          name: "TransferSingle";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: false;
              internalType: "string";
              name: "value";
              type: "string";
          }, {
              indexed: true;
              internalType: "uint256";
              name: "id";
              type: "uint256";
          }];
          name: "URI";
          type: "event";
      }, {
          inputs: readonly [];
          name: "acceptFeeTo";
          outputs: readonly [];
          stateMutability: "nonpayable";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "";
              type: "address";
          }, {
              internalType: "uint256";
              name: "";
              type: "uint256";
          }];
          name: "balanceOf";
          outputs: readonly [{
              internalType: "uint256";
              name: "";
              type: "uint256";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address[]";
              name: "owners";
              type: "address[]";
          }, {
              internalType: "uint256[]";
              name: "ids";
              type: "uint256[]";
          }];
          name: "balanceOfBatch";
          outputs: readonly [{
              internalType: "uint256[]";
              name: "balances";
              type: "uint256[]";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "claimId";
              type: "uint256";
          }];
          name: "claim";
          outputs: readonly [{
              components: readonly [{
                  internalType: "uint256";
                  name: "amountWritten";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "amountExercised";
                  type: "uint256";
              }, {
                  internalType: "uint256";
                  name: "optionId";
                  type: "uint256";
              }];
              internalType: "struct IValoremOptionsClearinghouse.Claim";
              name: "claimInfo";
              type: "tuple";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "optionId";
              type: "uint256";
          }, {
              internalType: "uint112";
              name: "amount";
              type: "uint112";
          }];
          name: "exercise";
          outputs: readonly [];
          stateMutability: "nonpayable";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "";
              type: "address";
          }];
          name: "feeBalance";
          outputs: readonly [{
              internalType: "uint256";
              name: "";
              type: "uint256";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [];
          name: "feeBps";
          outputs: readonly [{
              internalType: "uint8";
              name: "";
              type: "uint8";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [];
          name: "feeTo";
          outputs: readonly [{
              internalType: "address";
              name: "";
              type: "address";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [];
          name: "feesEnabled";
          outputs: readonly [{
              internalType: "bool";
              name: "";
              type: "bool";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "";
              type: "address";
          }, {
              internalType: "address";
              name: "";
              type: "address";
          }];
          name: "isApprovedForAll";
          outputs: readonly [{
              internalType: "bool";
              name: "";
              type: "bool";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "underlyingAsset";
              type: "address";
          }, {
              internalType: "uint96";
              name: "underlyingAmount";
              type: "uint96";
          }, {
              internalType: "address";
              name: "exerciseAsset";
              type: "address";
          }, {
              internalType: "uint96";
              name: "exerciseAmount";
              type: "uint96";
          }, {
              internalType: "uint40";
              name: "exerciseTimestamp";
              type: "uint40";
          }, {
              internalType: "uint40";
              name: "expiryTimestamp";
              type: "uint40";
          }];
          name: "newOptionType";
          outputs: readonly [{
              internalType: "uint256";
              name: "optionId";
              type: "uint256";
          }];
          stateMutability: "nonpayable";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "tokenId";
              type: "uint256";
          }];
          name: "option";
          outputs: readonly [{
              components: readonly [{
                  internalType: "address";
                  name: "underlyingAsset";
                  type: "address";
              }, {
                  internalType: "uint96";
                  name: "underlyingAmount";
                  type: "uint96";
              }, {
                  internalType: "address";
                  name: "exerciseAsset";
                  type: "address";
              }, {
                  internalType: "uint96";
                  name: "exerciseAmount";
                  type: "uint96";
              }, {
                  internalType: "uint40";
                  name: "exerciseTimestamp";
                  type: "uint40";
              }, {
                  internalType: "uint40";
                  name: "expiryTimestamp";
                  type: "uint40";
              }, {
                  internalType: "uint160";
                  name: "settlementSeed";
                  type: "uint160";
              }, {
                  internalType: "uint96";
                  name: "nextClaimKey";
                  type: "uint96";
              }];
              internalType: "struct IValoremOptionsClearinghouse.Option";
              name: "optionInfo";
              type: "tuple";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "tokenId";
              type: "uint256";
          }];
          name: "position";
          outputs: readonly [{
              components: readonly [{
                  internalType: "address";
                  name: "underlyingAsset";
                  type: "address";
              }, {
                  internalType: "int256";
                  name: "underlyingAmount";
                  type: "int256";
              }, {
                  internalType: "address";
                  name: "exerciseAsset";
                  type: "address";
              }, {
                  internalType: "int256";
                  name: "exerciseAmount";
                  type: "int256";
              }];
              internalType: "struct IValoremOptionsClearinghouse.Position";
              name: "positionInfo";
              type: "tuple";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "claimId";
              type: "uint256";
          }];
          name: "redeem";
          outputs: readonly [];
          stateMutability: "nonpayable";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "from";
              type: "address";
          }, {
              internalType: "address";
              name: "to";
              type: "address";
          }, {
              internalType: "uint256[]";
              name: "ids";
              type: "uint256[]";
          }, {
              internalType: "uint256[]";
              name: "amounts";
              type: "uint256[]";
          }, {
              internalType: "bytes";
              name: "data";
              type: "bytes";
          }];
          name: "safeBatchTransferFrom";
          outputs: readonly [];
          stateMutability: "nonpayable";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "from";
              type: "address";
          }, {
              internalType: "address";
              name: "to";
              type: "address";
          }, {
              internalType: "uint256";
              name: "id";
              type: "uint256";
          }, {
              internalType: "uint256";
              name: "amount";
              type: "uint256";
          }, {
              internalType: "bytes";
              name: "data";
              type: "bytes";
          }];
          name: "safeTransferFrom";
          outputs: readonly [];
          stateMutability: "nonpayable";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "operator";
              type: "address";
          }, {
              internalType: "bool";
              name: "approved";
              type: "bool";
          }];
          name: "setApprovalForAll";
          outputs: readonly [];
          stateMutability: "nonpayable";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "newFeeTo";
              type: "address";
          }];
          name: "setFeeTo";
          outputs: readonly [];
          stateMutability: "nonpayable";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "bool";
              name: "enabled";
              type: "bool";
          }];
          name: "setFeesEnabled";
          outputs: readonly [];
          stateMutability: "nonpayable";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "newTokenURIGenerator";
              type: "address";
          }];
          name: "setTokenURIGenerator";
          outputs: readonly [];
          stateMutability: "nonpayable";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "bytes4";
              name: "interfaceId";
              type: "bytes4";
          }];
          name: "supportsInterface";
          outputs: readonly [{
              internalType: "bool";
              name: "";
              type: "bool";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address[]";
              name: "tokens";
              type: "address[]";
          }];
          name: "sweepFees";
          outputs: readonly [];
          stateMutability: "nonpayable";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "tokenId";
              type: "uint256";
          }];
          name: "tokenType";
          outputs: readonly [{
              internalType: "enum IValoremOptionsClearinghouse.TokenType";
              name: "typeOfToken";
              type: "uint8";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [];
          name: "tokenURIGenerator";
          outputs: readonly [{
              internalType: "contract ITokenURIGenerator";
              name: "";
              type: "address";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "tokenId";
              type: "uint256";
          }];
          name: "uri";
          outputs: readonly [{
              internalType: "string";
              name: "";
              type: "string";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "uint256";
              name: "tokenId";
              type: "uint256";
          }, {
              internalType: "uint112";
              name: "amount";
              type: "uint112";
          }];
          name: "write";
          outputs: readonly [{
              internalType: "uint256";
              name: "";
              type: "uint256";
          }];
          stateMutability: "nonpayable";
          type: "function";
      }], TFunctionName, TSelectData>, "address" | "abi" | "functionName"> & {
          chainId?: 1 | 31337 | 42161 | 421614;
      } = ...

    Returns UseQueryResult<TSelectData, Error>

Generated using TypeDoc