{
  "RolesAuthority": {
    "address": "0xd0322ae33ff5E14E4F200a2AAd57748F0899FAD9",
    "abi": [
      "constructor(address _owner, address _authority)",
      "event AuthorityUpdated(address indexed user, address indexed newAuthority)",
      "event OwnershipTransferred(address indexed user, address indexed newOwner)",
      "event PublicCapabilityUpdated(address indexed target, bytes4 indexed functionSig, bool enabled)",
      "event RoleCapabilityUpdated(uint8 indexed role, address indexed target, bytes4 indexed functionSig, bool enabled)",
      "event UserRoleUpdated(address indexed user, uint8 indexed role, bool enabled)",
      "function authority() view returns (address)",
      "function canCall(address user, address target, bytes4 functionSig) view returns (bool)",
      "function doesRoleHaveCapability(uint8 role, address target, bytes4 functionSig) view returns (bool)",
      "function doesUserHaveRole(address user, uint8 role) view returns (bool)",
      "function getRolesWithCapability(address, bytes4) view returns (bytes32)",
      "function getUserRoles(address) view returns (bytes32)",
      "function isCapabilityPublic(address, bytes4) view returns (bool)",
      "function owner() view returns (address)",
      "function setAuthority(address newAuthority)",
      "function setPublicCapability(address target, bytes4 functionSig, bool enabled)",
      "function setRoleCapability(uint8 role, address target, bytes4 functionSig, bool enabled)",
      "function setUserRole(address user, uint8 role, bool enabled)",
      "function transferOwnership(address newOwner)"
    ]
  },
  "BondAggregator": {
    "address": "0x220bB4D0d16AA509D126907d3fAe4EF55bE7316C",
    "abi": [
      "constructor(address guardian_, address authority_)",
      "error Aggregator_AlreadyRegistered(address auctioneer_)",
      "error Aggregator_InvalidParams()",
      "error Aggregator_OnlyAuctioneer()",
      "event AuthorityUpdated(address indexed user, address indexed newAuthority)",
      "event OwnershipTransferred(address indexed user, address indexed newOwner)",
      "function auctioneers(uint256) view returns (address)",
      "function authority() view returns (address)",
      "function closingMarketsBetween(uint256 firstIndex_, uint256 lastIndex_) view returns (uint256[])",
      "function currentCapacity(uint256 id_) view returns (uint256)",
      "function findMarketFor(address payout_, address quote_, uint256 amountIn_, uint256 minAmountOut_, uint256 maxExpiry_) view returns (uint256)",
      "function getAuctioneer(uint256 id_) view returns (address)",
      "function getTeller(uint256 id_) view returns (address)",
      "function isClosing(uint256 id_) view returns (bool)",
      "function isInstantSwap(uint256 id_) view returns (bool)",
      "function isLive(uint256 id_) view returns (bool)",
      "function liveMarketsBetween(uint256 firstIndex_, uint256 lastIndex_) view returns (uint256[])",
      "function liveMarketsBy(address owner_, uint256 firstIndex_, uint256 lastIndex_) view returns (uint256[])",
      "function liveMarketsFor(address token_, bool isPayout_) view returns (uint256[])",
      "function marketCounter() view returns (uint256)",
      "function marketPrice(uint256 id_) view returns (uint256)",
      "function marketScale(uint256 id_) view returns (uint256)",
      "function marketsFor(address payout_, address quote_) view returns (uint256[])",
      "function marketsForPayout(address, uint256) view returns (uint256)",
      "function marketsForQuote(address, uint256) view returns (uint256)",
      "function marketsToAuctioneers(uint256) view returns (address)",
      "function maxAmountAccepted(uint256 id_, address referrer_) view returns (uint256)",
      "function owner() view returns (address)",
      "function payoutFor(uint256 amount_, uint256 id_, address referrer_) view returns (uint256)",
      "function registerAuctioneer(address auctioneer_)",
      "function registerMarket(address payoutToken_, address quoteToken_) returns (uint256 marketId)",
      "function setAuthority(address newAuthority)",
      "function transferOwnership(address newOwner)"
    ]
  },
  "BondFixedExpiryTeller": {
    "address": "0xCdF926D872e20152fB79E8C6Ba9Fa6ebc22ad3d4",
    "abi": [
      "constructor(address protocol_, address aggregator_, address guardian_, address authority_)",
      "error CreateFail()",
      "error Teller_InvalidCallback()",
      "error Teller_InvalidParams()",
      "error Teller_NotAuthorized()",
      "error Teller_TokenDoesNotExist(address underlying, uint48 expiry)",
      "error Teller_TokenNotMatured(uint48 maturesOn)",
      "error Teller_UnsupportedToken()",
      "event AuthorityUpdated(address indexed user, address indexed newAuthority)",
      "event Bonded(uint256 indexed id, address indexed referrer, uint256 amount, uint256 payout)",
      "event ERC20BondTokenCreated(address bondToken, address indexed underlying, uint48 indexed expiry)",
      "event OwnershipTransferred(address indexed user, address indexed newOwner)",
      "function FEE_DECIMALS() view returns (uint48)",
      "function authority() view returns (address)",
      "function beneficiary() view returns (address)",
      "function bondTokenImplementation() view returns (address)",
      "function bondTokens(address, uint48) view returns (address)",
      "function closeMarket(uint256 id_)",
      "function create(address underlying_, uint48 expiry_, uint256 amount_) returns (address, uint256)",
      "function createFeeDiscount() view returns (uint48)",
      "function deploy(address underlying_, uint48 expiry_) returns (address)",
      "function getBondToken(address underlying_, uint48 expiry_) view returns (address)",
      "function getBondTokenForMarket(uint256 id_) view returns (address)",
      "function getFee(address referrer_) view returns (uint48)",
      "function owner() view returns (address)",
      "function protocolFee() view returns (uint48)",
      "function purchase(address recipient_, address referrer_, uint256 id_, uint256 amount_, uint256 minAmountOut_) payable returns (uint256, uint48)",
      "function redeem(address token_, uint256 amount_)",
      "function referrerFees(address) view returns (uint48)",
      "function setAuthority(address newAuthority)",
      "function setBeneficiary(address beneficiary_)",
      "function setCreateFeeDiscount(uint48 discount_)",
      "function setProtocolFee(uint48 fee_)",
      "function setReferrerFee(uint48 fee_)",
      "function transferOwnership(address newOwner)"
    ]
  },
  "BondFixedTermTeller": {
    "address": "0xC54450028dAE52c1DC1bb9Dabe553457eABd4Aa3",
    "abi": [
      "constructor(address protocol_, address aggregator_, address guardian_, address authority_)",
      "error Teller_InvalidCallback()",
      "error Teller_InvalidParams()",
      "error Teller_NotAuthorized()",
      "error Teller_TokenDoesNotExist(address underlying, uint48 expiry)",
      "error Teller_TokenNotMatured(uint48 maturesOn)",
      "error Teller_UnsupportedToken()",
      "event ApprovalForAll(address indexed owner, address indexed operator, bool approved)",
      "event AuthorityUpdated(address indexed user, address indexed newAuthority)",
      "event Bonded(uint256 indexed id, address indexed referrer, uint256 amount, uint256 payout)",
      "event ERC1155BondTokenCreated(uint256 tokenId, address indexed underlying, uint48 indexed expiry)",
      "event OwnershipTransferred(address indexed user, address indexed newOwner)",
      "event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] amounts)",
      "event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 amount)",
      "function FEE_DECIMALS() view returns (uint48)",
      "function authority() view returns (address)",
      "function balanceOf(address, uint256) view returns (uint256)",
      "function balanceOfBatch(address[] owners, uint256[] ids) view returns (uint256[] balances)",
      "function batchRedeem(uint256[] tokenIds_, uint256[] amounts_)",
      "function beneficiary() view returns (address)",
      "function closeMarket(uint256 id_)",
      "function create(address underlying_, uint48 expiry_, uint256 amount_) returns (uint256, uint256)",
      "function createFeeDiscount() view returns (uint48)",
      "function deploy(address underlying_, uint48 expiry_) returns (uint256)",
      "function getFee(address referrer_) view returns (uint48)",
      "function getTokenId(address underlying_, uint48 expiry_) pure returns (uint256)",
      "function getTokenNameAndSymbol(uint256 tokenId_) view returns (string, string)",
      "function isApprovedForAll(address, address) view returns (bool)",
      "function owner() view returns (address)",
      "function protocolFee() view returns (uint48)",
      "function purchase(address recipient_, address referrer_, uint256 id_, uint256 amount_, uint256 minAmountOut_) payable returns (uint256, uint48)",
      "function redeem(uint256 tokenId_, uint256 amount_)",
      "function referrerFees(address) view returns (uint48)",
      "function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data)",
      "function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data)",
      "function setApprovalForAll(address operator, bool approved)",
      "function setAuthority(address newAuthority)",
      "function setBeneficiary(address beneficiary_)",
      "function setCreateFeeDiscount(uint48 discount_)",
      "function setProtocolFee(uint48 fee_)",
      "function setReferrerFee(uint48 fee_)",
      "function supportsInterface(bytes4 interfaceId) view returns (bool)",
      "function tokenMetadata(uint256) view returns (bool active, address underlying, uint8 decimals, uint48 expiry, uint256 supply)",
      "function transferOwnership(address newOwner)"
    ]
  },
  "BondFixedExpiryFPA": {
    "address": "0x44E2880c2d4f1b806FD106a209EEDf0e7dC9C4aE",
    "abi": [
      "constructor(address teller_, address aggregator_, address guardian_, address authority_)",
      "error Auctioneer_AmountLessThanMinimum()",
      "error Auctioneer_BadExpiry()",
      "error Auctioneer_InvalidCallback()",
      "error Auctioneer_InvalidParams()",
      "error Auctioneer_MarketNotActive()",
      "error Auctioneer_MaxPayoutExceeded()",
      "error Auctioneer_NewMarketsNotAllowed()",
      "error Auctioneer_NotAuthorized()",
      "error Auctioneer_NotEnoughCapacity()",
      "error Auctioneer_OnlyMarketOwner()",
      "error Auctioneer_UnsupportedToken()",
      "event AuthorityUpdated(address indexed user, address indexed newAuthority)",
      "event MarketClosed(uint256 indexed id)",
      "event MarketCreated(uint256 indexed id, address indexed payoutToken, address indexed quoteToken, uint48 vesting, uint256 fixedPrice)",
      "event OwnershipTransferred(address indexed user, address indexed newOwner)",
      "function allowNewMarkets() view returns (bool)",
      "function authority() view returns (address)",
      "function closeMarket(uint256 id_)",
      "function createMarket(bytes params_) payable returns (uint256)",
      "function currentCapacity(uint256 id_) view returns (uint256)",
      "function getAggregator() view returns (address)",
      "function getConclusion(uint256 id_) view returns (uint48)",
      "function getMarketInfoForPurchase(uint256 id_) view returns (address owner, address payoutToken, address quoteToken, uint48 vesting, uint256 maxPayout_)",
      "function getTeller() view returns (address)",
      "function isClosing(uint256 id_) view returns (bool)",
      "function isInstantSwap(uint256 id_) view returns (bool)",
      "function isLive(uint256 id_) view returns (bool)",
      "function marketPrice(uint256 id_) view returns (uint256)",
      "function marketScale(uint256 id_) view returns (uint256)",
      "function markets(uint256) view returns (address owner, address payoutToken, address quoteToken, uint256 capacity, uint256 maxPayout, uint256 price, uint256 scale, uint256 sold, uint256 purchased)",
      "function maxAmountAccepted(uint256 id_, address referrer_) view returns (uint256)",
      "function maxPayout(uint256 id_) view returns (uint256)",
      "function minDepositInterval() view returns (uint48)",
      "function minMarketDuration() view returns (uint48)",
      "function newOwners(uint256) view returns (address)",
      "function owner() view returns (address)",
      "function ownerOf(uint256 id_) view returns (address)",
      "function payoutFor(uint256 amount_, uint256 id_, address referrer_) view returns (uint256)",
      "function pullOwnership(uint256 id_)",
      "function purchaseBond(uint256 id_, uint256 amount_, uint256 minAmountOut_) returns (uint256 payout)",
      "function pushOwnership(uint256 id_, address newOwner_)",
      "function setAllowNewMarkets(bool status_)",
      "function setAuthority(address newAuthority)",
      "function setDefaults(uint32[6] defaults_)",
      "function setIntervals(uint256 id_, uint32[3] intervals_)",
      "function setMinDepositInterval(uint48 depositInterval_)",
      "function setMinMarketDuration(uint48 duration_)",
      "function terms(uint256) view returns (uint48 start, uint48 conclusion, uint48 vesting)",
      "function transferOwnership(address newOwner)"
    ]
  },
  "BondFixedExpiryOFDA": {
    "address": "0xeAAd95c57BC920A175767f1b6187820B193E0889",
    "abi": [
      "constructor(address teller_, address aggregator_, address guardian_, address authority_)",
      "error Auctioneer_AmountLessThanMinimum()",
      "error Auctioneer_BadExpiry()",
      "error Auctioneer_InvalidCallback()",
      "error Auctioneer_InvalidParams()",
      "error Auctioneer_MarketNotActive()",
      "error Auctioneer_MaxPayoutExceeded()",
      "error Auctioneer_NewMarketsNotAllowed()",
      "error Auctioneer_NotAuthorized()",
      "error Auctioneer_NotEnoughCapacity()",
      "error Auctioneer_OnlyMarketOwner()",
      "error Auctioneer_OraclePriceZero()",
      "error Auctioneer_UnsupportedToken()",
      "event AuthorityUpdated(address indexed user, address indexed newAuthority)",
      "event MarketClosed(uint256 indexed id)",
      "event MarketCreated(uint256 indexed id, address indexed payoutToken, address indexed quoteToken, uint48 vesting)",
      "event OwnershipTransferred(address indexed user, address indexed newOwner)",
      "function allowNewMarkets() view returns (bool)",
      "function authority() view returns (address)",
      "function callbackAuthorized(address) view returns (bool)",
      "function closeMarket(uint256 id_)",
      "function createMarket(bytes params_) payable returns (uint256)",
      "function currentCapacity(uint256 id_) view returns (uint256)",
      "function getAggregator() view returns (address)",
      "function getConclusion(uint256 id_) view returns (uint48)",
      "function getMarketInfoForPurchase(uint256 id_) view returns (address owner, address payoutToken, address quoteToken, uint48 vesting, uint256 maxPayout_)",
      "function getTeller() view returns (address)",
      "function isClosing(uint256 id_) view returns (bool)",
      "function isInstantSwap(uint256 id_) view returns (bool)",
      "function isLive(uint256 id_) view returns (bool)",
      "function marketPrice(uint256 id_) view returns (uint256)",
      "function marketScale(uint256 id_) view returns (uint256)",
      "function markets(uint256) view returns (address owner, address payoutToken, address quoteToken, uint256 capacity, uint256 maxPayout, uint256 sold, uint256 purchased)",
      "function maxAmountAccepted(uint256 id_, address referrer_) view returns (uint256)",
      "function maxPayout(uint256 id_) view returns (uint256)",
      "function minDepositInterval() view returns (uint48)",
      "function minMarketDuration() view returns (uint48)",
      "function newOwners(uint256) view returns (address)",
      "function owner() view returns (address)",
      "function ownerOf(uint256 id_) view returns (address)",
      "function payoutFor(uint256 amount_, uint256 id_, address referrer_) view returns (uint256)",
      "function pullOwnership(uint256 id_)",
      "function purchaseBond(uint256 id_, uint256 amount_, uint256 minAmountOut_) returns (uint256 payout)",
      "function pushOwnership(uint256 id_, address newOwner_)",
      "function setAllowNewMarkets(bool status_)",
      "function setAuthority(address newAuthority)",
      "function setDefaults(uint32[6] defaults_)",
      "function setIntervals(uint256 id_, uint32[3] intervals_)",
      "function setMinDepositInterval(uint48 depositInterval_)",
      "function setMinMarketDuration(uint48 duration_)",
      "function terms(uint256) view returns (address oracle, uint48 start, uint48 conclusion, uint48 vesting, uint48 fixedDiscount, uint256 minPrice, uint256 scale, uint256 oracleConversion)",
      "function transferOwnership(address newOwner)"
    ]
  },
  "BondFixedExpiryOSDA": {
    "address": "0x009Ae4Bf3A00Ee4f9981bf7a808702f18b86d217",
    "abi": [
      "constructor(address teller_, address aggregator_, address guardian_, address authority_)",
      "error Auctioneer_AmountLessThanMinimum()",
      "error Auctioneer_BadExpiry()",
      "error Auctioneer_InitialPriceLessThanMin()",
      "error Auctioneer_InvalidCallback()",
      "error Auctioneer_InvalidParams()",
      "error Auctioneer_MarketNotActive()",
      "error Auctioneer_MaxPayoutExceeded()",
      "error Auctioneer_NewMarketsNotAllowed()",
      "error Auctioneer_NotAuthorized()",
      "error Auctioneer_NotEnoughCapacity()",
      "error Auctioneer_OnlyMarketOwner()",
      "error Auctioneer_OraclePriceZero()",
      "error Auctioneer_UnsupportedToken()",
      "event AuthorityUpdated(address indexed user, address indexed newAuthority)",
      "event MarketClosed(uint256 indexed id)",
      "event MarketCreated(uint256 indexed id, address indexed payoutToken, address indexed quoteToken, uint48 vesting)",
      "event OwnershipTransferred(address indexed user, address indexed newOwner)",
      "event Tuned(uint256 indexed id, uint256 oldControlVariable, uint256 newControlVariable)",
      "function allowNewMarkets() view returns (bool)",
      "function authority() view returns (address)",
      "function callbackAuthorized(address) view returns (bool)",
      "function closeMarket(uint256 id_)",
      "function createMarket(bytes params_) payable returns (uint256)",
      "function currentCapacity(uint256 id_) view returns (uint256)",
      "function getAggregator() view returns (address)",
      "function getConclusion(uint256 id_) view returns (uint48)",
      "function getMarketInfoForPurchase(uint256 id_) view returns (address owner, address payoutToken, address quoteToken, uint48 vesting, uint256 maxPayout_)",
      "function getTeller() view returns (address)",
      "function isClosing(uint256 id_) view returns (bool)",
      "function isInstantSwap(uint256 id_) view returns (bool)",
      "function isLive(uint256 id_) view returns (bool)",
      "function marketPrice(uint256 id_) view returns (uint256)",
      "function marketScale(uint256 id_) view returns (uint256)",
      "function markets(uint256) view returns (address owner, address payoutToken, address quoteToken, uint256 capacity, uint256 maxPayout, uint256 sold, uint256 purchased)",
      "function maxAmountAccepted(uint256 id_, address referrer_) view returns (uint256)",
      "function maxPayout(uint256 id_) view returns (uint256)",
      "function minDepositInterval() view returns (uint48)",
      "function minMarketDuration() view returns (uint48)",
      "function newOwners(uint256) view returns (address)",
      "function owner() view returns (address)",
      "function ownerOf(uint256 id_) view returns (address)",
      "function payoutFor(uint256 amount_, uint256 id_, address referrer_) view returns (uint256)",
      "function pullOwnership(uint256 id_)",
      "function purchaseBond(uint256 id_, uint256 amount_, uint256 minAmountOut_) returns (uint256 payout)",
      "function pushOwnership(uint256 id_, address newOwner_)",
      "function setAllowNewMarkets(bool status_)",
      "function setAuthority(address newAuthority)",
      "function setDefaults(uint32[6] defaults_)",
      "function setIntervals(uint256 id_, uint32[3] intervals_)",
      "function setMinDepositInterval(uint48 depositInterval_)",
      "function setMinMarketDuration(uint48 duration_)",
      "function terms(uint256) view returns (address oracle, uint48 start, uint48 conclusion, uint48 vesting, uint48 baseDiscount, uint48 decaySpeed, uint256 minPrice, uint256 scale, uint256 oracleConversion)",
      "function transferOwnership(address newOwner)"
    ]
  },
  "BondFixedExpirySDA": {
    "address": "0x480ca9040a1e64E9337c6Adac6730069B509DC08",
    "abi": [
      "constructor(address teller_, address aggregator_, address guardian_, address authority_)",
      "error Auctioneer_AmountLessThanMinimum()",
      "error Auctioneer_BadExpiry()",
      "error Auctioneer_InitialPriceLessThanMin()",
      "error Auctioneer_InvalidCallback()",
      "error Auctioneer_InvalidParams()",
      "error Auctioneer_MarketNotActive()",
      "error Auctioneer_MaxPayoutExceeded()",
      "error Auctioneer_NewMarketsNotAllowed()",
      "error Auctioneer_NotAuthorized()",
      "error Auctioneer_NotEnoughCapacity()",
      "error Auctioneer_OnlyMarketOwner()",
      "error Auctioneer_UnsupportedToken()",
      "event AuthorityUpdated(address indexed user, address indexed newAuthority)",
      "event DefaultsUpdated(uint32 defaultTuneInterval, uint32 defaultTuneAdjustment, uint32 minDebtDecayInterval, uint32 minDepositInterval, uint32 minMarketDuration, uint32 minDebtBuffer)",
      "event MarketClosed(uint256 indexed id)",
      "event MarketCreated(uint256 indexed id, address indexed payoutToken, address indexed quoteToken, uint48 vesting, uint256 initialPrice)",
      "event MarketPartialyClosed(uint256 indexed id)",
      "event OwnershipTransferred(address indexed user, address indexed newOwner)",
      "event Tuned(uint256 indexed id, uint256 oldControlVariable, uint256 newControlVariable)",
      "function adjustments(uint256) view returns (uint256 change, uint48 lastAdjustment, uint48 timeToAdjusted, bool active)",
      "function allowNewMarkets() view returns (bool)",
      "function authority() view returns (address)",
      "function callbackAuthorized(address) view returns (bool)",
      "function closeMarket(uint256 id_)",
      "function createMarket(bytes params_) payable returns (uint256)",
      "function currentCapacity(uint256 id_) view returns (uint256)",
      "function currentControlVariable(uint256 id_) view returns (uint256)",
      "function currentDebt(uint256 id_) view returns (uint256)",
      "function defaultTuneAdjustment() view returns (uint32)",
      "function defaultTuneInterval() view returns (uint32)",
      "function getAggregator() view returns (address)",
      "function getConclusion(uint256 id_) view returns (uint48)",
      "function getMarketInfoForPurchase(uint256 id_) view returns (address owner, address payoutToken, address quoteToken, uint48 vesting, uint256 maxPayout_)",
      "function getTeller() view returns (address)",
      "function isClosing(uint256 id_) view returns (bool)",
      "function isInstantSwap(uint256 id_) view returns (bool)",
      "function isLive(uint256 id_) view returns (bool)",
      "function marketPrice(uint256 id_) view returns (uint256)",
      "function marketScale(uint256 id_) view returns (uint256)",
      "function markets(uint256) view returns (address owner, address payoutToken, address quoteToken, uint256 capacity, uint256 totalDebt, uint256 minPrice, uint256 maxPayout, uint256 sold, uint256 purchased, uint256 scale)",
      "function maxAmountAccepted(uint256 id_, address referrer_) view returns (uint256)",
      "function maxPayout(uint256 id_) view returns (uint256)",
      "function metadata(uint256) view returns (uint48 lastTune, uint48 lastDecay, uint32 depositInterval, uint32 tuneInterval, uint32 tuneAdjustmentDelay, uint32 debtDecayInterval, uint256 tuneIntervalCapacity, uint256 tuneBelowCapacity, uint256 lastTuneDebt)",
      "function minDebtBuffer() view returns (uint32)",
      "function minDebtDecayInterval() view returns (uint32)",
      "function minDepositInterval() view returns (uint32)",
      "function minMarketDuration() view returns (uint32)",
      "function newOwners(uint256) view returns (address)",
      "function owner() view returns (address)",
      "function ownerOf(uint256 id_) view returns (address)",
      "function payoutFor(uint256 amount_, uint256 id_, address referrer_) view returns (uint256)",
      "function pullOwnership(uint256 id_)",
      "function purchaseBond(uint256 id_, uint256 amount_, uint256 minAmountOut_) returns (uint256 payout)",
      "function pushOwnership(uint256 id_, address newOwner_)",
      "function setAllowNewMarkets(bool status_)",
      "function setAuthority(address newAuthority)",
      "function setDefaults(uint32[6] defaults_)",
      "function setIntervals(uint256 id_, uint32[3] intervals_)",
      "function terms(uint256) view returns (uint256 controlVariable, uint256 maxDebt, uint48 start, uint48 conclusion, uint48 vesting)",
      "function transferOwnership(address newOwner)"
    ]
  },
  "BondFixedTermFPA": {
    "address": "0x52d026B38b3382Fe1b8a28EA55895aF875191750",
    "abi": [
      "constructor(address teller_, address aggregator_, address guardian_, address authority_)",
      "error Auctioneer_AmountLessThanMinimum()",
      "error Auctioneer_BadExpiry()",
      "error Auctioneer_InvalidCallback()",
      "error Auctioneer_InvalidParams()",
      "error Auctioneer_MarketNotActive()",
      "error Auctioneer_MaxPayoutExceeded()",
      "error Auctioneer_NewMarketsNotAllowed()",
      "error Auctioneer_NotAuthorized()",
      "error Auctioneer_NotEnoughCapacity()",
      "error Auctioneer_OnlyMarketOwner()",
      "error Auctioneer_UnsupportedToken()",
      "event AuthorityUpdated(address indexed user, address indexed newAuthority)",
      "event MarketClosed(uint256 indexed id)",
      "event MarketCreated(uint256 indexed id, address indexed payoutToken, address indexed quoteToken, uint48 vesting, uint256 fixedPrice)",
      "event OwnershipTransferred(address indexed user, address indexed newOwner)",
      "function allowNewMarkets() view returns (bool)",
      "function authority() view returns (address)",
      "function closeMarket(uint256 id_)",
      "function createMarket(bytes params_) payable returns (uint256)",
      "function currentCapacity(uint256 id_) view returns (uint256)",
      "function getAggregator() view returns (address)",
      "function getConclusion(uint256 id_) view returns (uint48)",
      "function getMarketInfoForPurchase(uint256 id_) view returns (address owner, address payoutToken, address quoteToken, uint48 vesting, uint256 maxPayout_)",
      "function getTeller() view returns (address)",
      "function isClosing(uint256 id_) view returns (bool)",
      "function isInstantSwap(uint256 id_) view returns (bool)",
      "function isLive(uint256 id_) view returns (bool)",
      "function marketPrice(uint256 id_) view returns (uint256)",
      "function marketScale(uint256 id_) view returns (uint256)",
      "function markets(uint256) view returns (address owner, address payoutToken, address quoteToken, uint256 capacity, uint256 maxPayout, uint256 price, uint256 scale, uint256 sold, uint256 purchased)",
      "function maxAmountAccepted(uint256 id_, address referrer_) view returns (uint256)",
      "function maxPayout(uint256 id_) view returns (uint256)",
      "function minDepositInterval() view returns (uint48)",
      "function minMarketDuration() view returns (uint48)",
      "function newOwners(uint256) view returns (address)",
      "function owner() view returns (address)",
      "function ownerOf(uint256 id_) view returns (address)",
      "function payoutFor(uint256 amount_, uint256 id_, address referrer_) view returns (uint256)",
      "function pullOwnership(uint256 id_)",
      "function purchaseBond(uint256 id_, uint256 amount_, uint256 minAmountOut_) returns (uint256 payout)",
      "function pushOwnership(uint256 id_, address newOwner_)",
      "function setAllowNewMarkets(bool status_)",
      "function setAuthority(address newAuthority)",
      "function setDefaults(uint32[6] defaults_)",
      "function setIntervals(uint256 id_, uint32[3] intervals_)",
      "function setMinDepositInterval(uint48 depositInterval_)",
      "function setMinMarketDuration(uint48 duration_)",
      "function terms(uint256) view returns (uint48 start, uint48 conclusion, uint48 vesting)",
      "function transferOwnership(address newOwner)"
    ]
  },
  "BondFixedTermOFDA": {
    "address": "0xe208a39e3F988f1565628457F17E9Aa469B78F76",
    "abi": [
      "constructor(address teller_, address aggregator_, address guardian_, address authority_)",
      "error Auctioneer_AmountLessThanMinimum()",
      "error Auctioneer_BadExpiry()",
      "error Auctioneer_InvalidCallback()",
      "error Auctioneer_InvalidParams()",
      "error Auctioneer_MarketNotActive()",
      "error Auctioneer_MaxPayoutExceeded()",
      "error Auctioneer_NewMarketsNotAllowed()",
      "error Auctioneer_NotAuthorized()",
      "error Auctioneer_NotEnoughCapacity()",
      "error Auctioneer_OnlyMarketOwner()",
      "error Auctioneer_OraclePriceZero()",
      "error Auctioneer_UnsupportedToken()",
      "event AuthorityUpdated(address indexed user, address indexed newAuthority)",
      "event MarketClosed(uint256 indexed id)",
      "event MarketCreated(uint256 indexed id, address indexed payoutToken, address indexed quoteToken, uint48 vesting)",
      "event OwnershipTransferred(address indexed user, address indexed newOwner)",
      "function allowNewMarkets() view returns (bool)",
      "function authority() view returns (address)",
      "function callbackAuthorized(address) view returns (bool)",
      "function closeMarket(uint256 id_)",
      "function createMarket(bytes params_) payable returns (uint256)",
      "function currentCapacity(uint256 id_) view returns (uint256)",
      "function getAggregator() view returns (address)",
      "function getConclusion(uint256 id_) view returns (uint48)",
      "function getMarketInfoForPurchase(uint256 id_) view returns (address owner, address payoutToken, address quoteToken, uint48 vesting, uint256 maxPayout_)",
      "function getTeller() view returns (address)",
      "function isClosing(uint256 id_) view returns (bool)",
      "function isInstantSwap(uint256 id_) view returns (bool)",
      "function isLive(uint256 id_) view returns (bool)",
      "function marketPrice(uint256 id_) view returns (uint256)",
      "function marketScale(uint256 id_) view returns (uint256)",
      "function markets(uint256) view returns (address owner, address payoutToken, address quoteToken, uint256 capacity, uint256 maxPayout, uint256 sold, uint256 purchased)",
      "function maxAmountAccepted(uint256 id_, address referrer_) view returns (uint256)",
      "function maxPayout(uint256 id_) view returns (uint256)",
      "function minDepositInterval() view returns (uint48)",
      "function minMarketDuration() view returns (uint48)",
      "function newOwners(uint256) view returns (address)",
      "function owner() view returns (address)",
      "function ownerOf(uint256 id_) view returns (address)",
      "function payoutFor(uint256 amount_, uint256 id_, address referrer_) view returns (uint256)",
      "function pullOwnership(uint256 id_)",
      "function purchaseBond(uint256 id_, uint256 amount_, uint256 minAmountOut_) returns (uint256 payout)",
      "function pushOwnership(uint256 id_, address newOwner_)",
      "function setAllowNewMarkets(bool status_)",
      "function setAuthority(address newAuthority)",
      "function setDefaults(uint32[6] defaults_)",
      "function setIntervals(uint256 id_, uint32[3] intervals_)",
      "function setMinDepositInterval(uint48 depositInterval_)",
      "function setMinMarketDuration(uint48 duration_)",
      "function terms(uint256) view returns (address oracle, uint48 start, uint48 conclusion, uint48 vesting, uint48 fixedDiscount, uint256 minPrice, uint256 scale, uint256 oracleConversion)",
      "function transferOwnership(address newOwner)"
    ]
  },
  "BondFixedTermOSDA": {
    "address": "0x1bc3aedfe168E84c8fCddaD279E650D4CFfd7a24",
    "abi": [
      "constructor(address teller_, address aggregator_, address guardian_, address authority_)",
      "error Auctioneer_AmountLessThanMinimum()",
      "error Auctioneer_BadExpiry()",
      "error Auctioneer_InitialPriceLessThanMin()",
      "error Auctioneer_InvalidCallback()",
      "error Auctioneer_InvalidParams()",
      "error Auctioneer_MarketNotActive()",
      "error Auctioneer_MaxPayoutExceeded()",
      "error Auctioneer_NewMarketsNotAllowed()",
      "error Auctioneer_NotAuthorized()",
      "error Auctioneer_NotEnoughCapacity()",
      "error Auctioneer_OnlyMarketOwner()",
      "error Auctioneer_OraclePriceZero()",
      "error Auctioneer_UnsupportedToken()",
      "event AuthorityUpdated(address indexed user, address indexed newAuthority)",
      "event MarketClosed(uint256 indexed id)",
      "event MarketCreated(uint256 indexed id, address indexed payoutToken, address indexed quoteToken, uint48 vesting)",
      "event OwnershipTransferred(address indexed user, address indexed newOwner)",
      "event Tuned(uint256 indexed id, uint256 oldControlVariable, uint256 newControlVariable)",
      "function allowNewMarkets() view returns (bool)",
      "function authority() view returns (address)",
      "function callbackAuthorized(address) view returns (bool)",
      "function closeMarket(uint256 id_)",
      "function createMarket(bytes params_) payable returns (uint256)",
      "function currentCapacity(uint256 id_) view returns (uint256)",
      "function getAggregator() view returns (address)",
      "function getConclusion(uint256 id_) view returns (uint48)",
      "function getMarketInfoForPurchase(uint256 id_) view returns (address owner, address payoutToken, address quoteToken, uint48 vesting, uint256 maxPayout_)",
      "function getTeller() view returns (address)",
      "function isClosing(uint256 id_) view returns (bool)",
      "function isInstantSwap(uint256 id_) view returns (bool)",
      "function isLive(uint256 id_) view returns (bool)",
      "function marketPrice(uint256 id_) view returns (uint256)",
      "function marketScale(uint256 id_) view returns (uint256)",
      "function markets(uint256) view returns (address owner, address payoutToken, address quoteToken, uint256 capacity, uint256 maxPayout, uint256 sold, uint256 purchased)",
      "function maxAmountAccepted(uint256 id_, address referrer_) view returns (uint256)",
      "function maxPayout(uint256 id_) view returns (uint256)",
      "function minDepositInterval() view returns (uint48)",
      "function minMarketDuration() view returns (uint48)",
      "function newOwners(uint256) view returns (address)",
      "function owner() view returns (address)",
      "function ownerOf(uint256 id_) view returns (address)",
      "function payoutFor(uint256 amount_, uint256 id_, address referrer_) view returns (uint256)",
      "function pullOwnership(uint256 id_)",
      "function purchaseBond(uint256 id_, uint256 amount_, uint256 minAmountOut_) returns (uint256 payout)",
      "function pushOwnership(uint256 id_, address newOwner_)",
      "function setAllowNewMarkets(bool status_)",
      "function setAuthority(address newAuthority)",
      "function setDefaults(uint32[6] defaults_)",
      "function setIntervals(uint256 id_, uint32[3] intervals_)",
      "function setMinDepositInterval(uint48 depositInterval_)",
      "function setMinMarketDuration(uint48 duration_)",
      "function terms(uint256) view returns (address oracle, uint48 start, uint48 conclusion, uint48 vesting, uint48 baseDiscount, uint48 decaySpeed, uint256 minPrice, uint256 scale, uint256 oracleConversion)",
      "function transferOwnership(address newOwner)"
    ]
  },
  "BondFixedTermSDA": {
    "address": "0xd24c6D48726C0e0b15F55Bb1E1D89D875287694a",
    "abi": [
      "constructor(address teller_, address aggregator_, address guardian_, address authority_)",
      "error Auctioneer_AmountLessThanMinimum()",
      "error Auctioneer_BadExpiry()",
      "error Auctioneer_InitialPriceLessThanMin()",
      "error Auctioneer_InvalidCallback()",
      "error Auctioneer_InvalidParams()",
      "error Auctioneer_MarketNotActive()",
      "error Auctioneer_MaxPayoutExceeded()",
      "error Auctioneer_NewMarketsNotAllowed()",
      "error Auctioneer_NotAuthorized()",
      "error Auctioneer_NotEnoughCapacity()",
      "error Auctioneer_OnlyMarketOwner()",
      "error Auctioneer_UnsupportedToken()",
      "event AuthorityUpdated(address indexed user, address indexed newAuthority)",
      "event DefaultsUpdated(uint32 defaultTuneInterval, uint32 defaultTuneAdjustment, uint32 minDebtDecayInterval, uint32 minDepositInterval, uint32 minMarketDuration, uint32 minDebtBuffer)",
      "event MarketClosed(uint256 indexed id)",
      "event MarketCreated(uint256 indexed id, address indexed payoutToken, address indexed quoteToken, uint48 vesting, uint256 initialPrice)",
      "event MarketPartialyClosed(uint256 indexed id)",
      "event OwnershipTransferred(address indexed user, address indexed newOwner)",
      "event Tuned(uint256 indexed id, uint256 oldControlVariable, uint256 newControlVariable)",
      "function adjustments(uint256) view returns (uint256 change, uint48 lastAdjustment, uint48 timeToAdjusted, bool active)",
      "function allowNewMarkets() view returns (bool)",
      "function authority() view returns (address)",
      "function callbackAuthorized(address) view returns (bool)",
      "function closeMarket(uint256 id_)",
      "function createMarket(bytes params_) payable returns (uint256)",
      "function currentCapacity(uint256 id_) view returns (uint256)",
      "function currentControlVariable(uint256 id_) view returns (uint256)",
      "function currentDebt(uint256 id_) view returns (uint256)",
      "function defaultTuneAdjustment() view returns (uint32)",
      "function defaultTuneInterval() view returns (uint32)",
      "function getAggregator() view returns (address)",
      "function getConclusion(uint256 id_) view returns (uint48)",
      "function getMarketInfoForPurchase(uint256 id_) view returns (address owner, address payoutToken, address quoteToken, uint48 vesting, uint256 maxPayout_)",
      "function getTeller() view returns (address)",
      "function isClosing(uint256 id_) view returns (bool)",
      "function isInstantSwap(uint256 id_) view returns (bool)",
      "function isLive(uint256 id_) view returns (bool)",
      "function marketPrice(uint256 id_) view returns (uint256)",
      "function marketScale(uint256 id_) view returns (uint256)",
      "function markets(uint256) view returns (address owner, address payoutToken, address quoteToken, uint256 capacity, uint256 totalDebt, uint256 minPrice, uint256 maxPayout, uint256 sold, uint256 purchased, uint256 scale)",
      "function maxAmountAccepted(uint256 id_, address referrer_) view returns (uint256)",
      "function maxPayout(uint256 id_) view returns (uint256)",
      "function metadata(uint256) view returns (uint48 lastTune, uint48 lastDecay, uint32 depositInterval, uint32 tuneInterval, uint32 tuneAdjustmentDelay, uint32 debtDecayInterval, uint256 tuneIntervalCapacity, uint256 tuneBelowCapacity, uint256 lastTuneDebt)",
      "function minDebtBuffer() view returns (uint32)",
      "function minDebtDecayInterval() view returns (uint32)",
      "function minDepositInterval() view returns (uint32)",
      "function minMarketDuration() view returns (uint32)",
      "function newOwners(uint256) view returns (address)",
      "function owner() view returns (address)",
      "function ownerOf(uint256 id_) view returns (address)",
      "function payoutFor(uint256 amount_, uint256 id_, address referrer_) view returns (uint256)",
      "function pullOwnership(uint256 id_)",
      "function purchaseBond(uint256 id_, uint256 amount_, uint256 minAmountOut_) returns (uint256 payout)",
      "function pushOwnership(uint256 id_, address newOwner_)",
      "function setAllowNewMarkets(bool status_)",
      "function setAuthority(address newAuthority)",
      "function setDefaults(uint32[6] defaults_)",
      "function setIntervals(uint256 id_, uint32[3] intervals_)",
      "function terms(uint256) view returns (uint256 controlVariable, uint256 maxDebt, uint48 start, uint48 conclusion, uint48 vesting)",
      "function transferOwnership(address newOwner)"
    ]
  }
}