39 txs
10.1k calls
constructor
constructor(address bondFactory_, address collateral_)
functions
activeBondAt
viewfunction activeBondAt(uint256 index) view returns (address)
activeCount
viewfunction activeCount() view returns (uint256)
bondFactory
viewfunction bondFactory() view returns (address)
collateral
viewfunction collateral() view returns (address)
isInstance
viewfunction isInstance(address bond) view returns (bool)
issuedBondAt
viewfunction issuedBondAt(uint256 index) view returns (address)
issuedCount
viewfunction issuedCount() view returns (uint256)
issueWindowOffsetSec
viewfunction issueWindowOffsetSec() view returns (uint256)
lastIssueWindowTimestamp
viewfunction lastIssueWindowTimestamp() view returns (uint256)
maxMaturityDuration
viewfunction maxMaturityDuration() view returns (uint256)
minIssueTimeIntervalSec
viewfunction minIssueTimeIntervalSec() view returns (uint256)
owner
viewfunction owner() view returns (address)
trancheRatios
viewfunction trancheRatios(uint256) view returns (uint256)
getLatestBond
nonpayablefunction getLatestBond() returns (address)
init
nonpayablefunction init(uint256 maxMaturityDuration_, uint256[] trancheRatios_, uint256 minIssueTimeIntervalSec_, uint256 issueWindowOffsetSec_)
issue
nonpayablefunction issue()
matureActive
nonpayablefunction matureActive()
renounceOwnership
nonpayablefunction renounceOwnership()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateIssuanceTimingConfig
nonpayablefunction updateIssuanceTimingConfig(uint256 minIssueTimeIntervalSec_, uint256 issueWindowOffsetSec_)
updateMaxMaturityDuration
nonpayablefunction updateMaxMaturityDuration(uint256 maxMaturityDuration_)
updateTrancheRatios
nonpayablefunction updateTrancheRatios(uint256[] trancheRatios_)
events
BondIssued
event BondIssued(address bond)
BondMature
event BondMature(address bond)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
errors
NoMaturedBonds
error NoMaturedBonds()
creation bytecode
0x60c060405234801561001057600080fd5b506040516110e93803806110e983398101604081905261002f9161005e565b6001600160a01b039182166080521660a052610098565b6001600160a01b038116811461005b57600080fd5b50565b6000806040838503121561007157600080fd5b825161007c81610046565b602084015190925061008d81610046565b809150509250929050565b60805160a05161101e6100cb6000396000818161026b015261071a0152600081816101a001526106eb015261101e6000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80638da5cb5b116100b8578063d8dfeb451161007c578063d8dfeb4514610266578063d97bef341461028d578063e1b43ba2146102a0578063f2fde38b146102a9578063fb425cc7146102bc578063ffdae9f8146102cf57600080fd5b80638da5cb5b146102345780638f87f37114610245578063d383f6461461024d578063d3cf9e3014610255578063d5eb27a11461025e57600080fd5b8063576e41511161010a578063576e41511461019b5780636b44e6be146101da578063715018a6146101fd578063748fff83146102055780637c46dc2b146102185780638c0407171461022157600080fd5b80630b0f774314610147578063107e12d61461016257806319e1d5d61461016b5780633b35897a146101805780634331ed1f14610193575b600080fd5b61014f6102e2565b6040519081526020015b60405180910390f35b61014f60655481565b61017e610179366004610c6f565b6102f3565b005b61017e61018e366004610d39565b610300565b606b5461014f565b6101c27f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610159565b6101ed6101e8366004610da5565b610436565b6040519015158152602001610159565b61017e610449565b61017e610213366004610dc2565b61045d565b61014f606c5481565b6101c261022f366004610c6f565b610470565b6033546001600160a01b03166101c2565b61017e6104a3565b61017e6106a4565b61014f60685481565b6101c2610824565b6101c27f000000000000000000000000000000000000000000000000000000000000000081565b6101c261029b366004610c6f565b61084f565b61014f60675481565b61017e6102b7366004610da5565b61085c565b61014f6102ca366004610c6f565b6108d2565b61017e6102dd366004610de4565b6108f3565b60006102ee60696109bc565b905090565b6102fb6109c6565b606555565b600054610100900460ff16158080156103205750600054600160ff909116105b8061033a5750303b15801561033a575060005460ff166001145b6103a25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156103c5576000805461ff0019166101001790555b6103cd610a20565b6103d6856102f3565b6103df846108f3565b6103e9838361045d565b801561042f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6000610443606983610a4f565b92915050565b6104516109c6565b61045b6000610a74565b565b6104656109c6565b606791909155606855565b6000610443606b838154811061048857610488610e21565b90600052602060002001546069610ac690919063ffffffff16565b606b546000905b80156106825760006104d2606b6104c2600185610e4d565b8154811061048857610488610e21565b905060006104e8826001600160a01b0316610ad2565b1161066f57806001600160a01b031663ae4e7fdf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f9190610e60565b6105a757806001600160a01b03166387b652076040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561058e57600080fd5b505af11580156105a2573d6000803e3d6000fd5b505050505b606b80546105b790600190610e4d565b815481106105c7576105c7610e21565b9060005260206000200154606b6001846105e19190610e4d565b815481106105f1576105f1610e21565b600091825260209091200155606b80548061060e5761060e610e82565b600190038181906000526020600020016000905590557fb8511133c7eac5e683d37d135a7463f951284f44d7d944e66d0321ada8cd58318160405161066291906001600160a01b0391909116815260200190565b60405180910390a1600192505b508061067a81610e98565b9150506104aa565b50806106a15760405163379b62bf60e21b815260040160405180910390fd5b50565b606754606c546106b49190610eaf565b4210156106bd57565b6067546068546106cd9042610e4d565b6106d79190610ec2565b6106e19042610e4d565b606c8190555060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c7bfded57f00000000000000000000000000000000000000000000000000000000000000006066606554606c5461074b9190610eaf565b6040518463ffffffff1660e01b815260040161076993929190610ee4565b6020604051808303816000875af1158015610788573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ac9190610f48565b90506107b9606982610b51565b50606b60016107c860696109bc565b6107d29190610e4d565b8154600181018355600092835260209283902001556040516001600160a01b03831681527f83425b315fe57ede6e65954ac7ec63b2699040570de3470442b54866a4a4c41d910160405180910390a150565b600061082e6106a4565b6102ee600161083d60696109bc565b6108479190610e4d565b606990610ac6565b6000610443606983610ac6565b6108646109c6565b6001600160a01b0381166108c95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610399565b6106a181610a74565b606681815481106108e257600080fd5b600091825260209091200154905081565b6108fb6109c6565b805161090e906066906020840190610c0f565b506000805b82518160ff16101561095b57828160ff168151811061093457610934610e21565b6020026020010151826109479190610eaf565b91508061095381610f65565b915050610913565b506103e881146109b85760405162461bcd60e51b815260206004820152602260248201527f426f6e644973737565723a20496e76616c6964207472616e63686520726174696044820152616f7360f01b6064820152608401610399565b5050565b6000610443825490565b6033546001600160a01b0316331461045b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610399565b600054610100900460ff16610a475760405162461bcd60e51b815260040161039990610f84565b61045b610b66565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000610a6d8383610b96565b600080826001600160a01b031663d59624b46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b379190610fcf565b9050428111610b47576000610a6d565b610a6d4282610e4d565b6000610a6d836001600160a01b038416610bc0565b600054610100900460ff16610b8d5760405162461bcd60e51b815260040161039990610f84565b61045b33610a74565b6000826000018281548110610bad57610bad610e21565b9060005260206000200154905092915050565b6000818152600183016020526040812054610c0757508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610443565b506000610443565b828054828255906000526020600020908101928215610c4a579160200282015b82811115610c4a578251825591602001919060010190610c2f565b50610c56929150610c5a565b5090565b5b80821115610c565760008155600101610c5b565b600060208284031215610c8157600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610caf57600080fd5b8135602067ffffffffffffffff80831115610ccc57610ccc610c88565b8260051b604051601f19603f83011681018181108482111715610cf157610cf1610c88565b604052938452858101830193838101925087851115610d0f57600080fd5b83870191505b84821015610d2e57813583529183019190830190610d15565b979650505050505050565b60008060008060808587031215610d4f57600080fd5b84359350602085013567ffffffffffffffff811115610d6d57600080fd5b610d7987828801610c9e565b949794965050505060408301359260600135919050565b6001600160a01b03811681146106a157600080fd5b600060208284031215610db757600080fd5b8135610a6d81610d90565b60008060408385031215610dd557600080fd5b50508035926020909101359150565b600060208284031215610df657600080fd5b813567ffffffffffffffff811115610e0d57600080fd5b610e1984828501610c9e565b949350505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8181038181111561044357610443610e37565b600060208284031215610e7257600080fd5b81518015158114610a6d57600080fd5b634e487b7160e01b600052603160045260246000fd5b600081610ea757610ea7610e37565b506000190190565b8082018082111561044357610443610e37565b600082610edf57634e487b7160e01b600052601260045260246000fd5b500690565b6001600160a01b0384168152606060208083018290528454918301829052600085815281812090929091906080850190845b81811015610f3257845483526001948501949284019201610f16565b5050809350505050826040830152949350505050565b600060208284031215610f5a57600080fd5b8151610a6d81610d90565b600060ff821660ff8103610f7b57610f7b610e37565b60010192915050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600060208284031215610fe157600080fd5b505191905056fea2646970667358221220da32384574c016f6fa13a46d017820cf3a1adf573970eaf4e0af646d2c4b3e4764736f6c6343000813003300000000000000000000000017550f48c61915a67f216a083ced89e04d91fd54000000000000000000000000d46ba6d942050d489dbd938a2c909a5d5039a161