• Wraps usePrepareContractWrite with abi set to clearABI and functionName set to "write".

    Parameters

    • config: Omit<UsePrepareContractWriteConfig<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";
      }], "write">, "address" | "abi" | "functionName"> & {
          chainId?: 1 | 31337 | 42161 | 421614;
      } = ...

    Returns Pick<QueryObserverResult<PrepareWriteContractResult<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";
    }], "write", number>, Error>, "data" | "error" | "isError" | "isLoading" | "isSuccess" | "isFetched" | "isFetchedAfterMount" | "isFetching" | "isRefetching" | "refetch" | "fetchStatus"> & {
        internal: Pick<QueryObserverResult<unknown, unknown>, "isLoadingError" | "isRefetchError" | "dataUpdatedAt" | "errorUpdatedAt" | "failureCount" | "isPaused" | "isPlaceholderData" | "isPreviousData" | "isStale" | "remove">;
        isIdle: boolean;
        status: "error" | "success" | "loading" | "idle";
    } & {
        config: PrepareWriteContractResult<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";
        }], "write", number>;
    }

Generated using TypeDoc