CLEAR_ABI: 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";
}] = ...