@settlemint/solidity-diamond-bond
Version:
Smart contract set to build an enterprise bond usecase in SettleMint
601 lines (600 loc) • 20.3 kB
JSON
[
{
"name": "Account",
"fields": [
{ "name": "id", "type": "Bytes!" },
{ "name": "asBondFacet", "type": "BondFacet" },
{
"name": "BondParametersEditedPart1Events",
"type": "BondParametersEditedPart1!",
"derived": "emitter"
},
{
"name": "BondParametersEditedPart2Events",
"type": "BondParametersEditedPart2!",
"derived": "emitter"
},
{
"name": "CouponsComputedEvents",
"type": "CouponsComputed!",
"derived": "emitter"
},
{
"name": "BondsWithdrawnEvents",
"type": "BondsWithdrawn!",
"derived": "emitter"
},
{
"name": "BondIssuedEvents",
"type": "BondIssued!",
"derived": "emitter"
},
{
"name": "BalloonRateSetEvents",
"type": "BalloonRateSet!",
"derived": "emitter"
},
{
"name": "GracePeriodSetEvents",
"type": "GracePeriodSet!",
"derived": "emitter"
},
{
"name": "CostEmittentSetEvents",
"type": "CostEmittentSet!",
"derived": "emitter"
},
{
"name": "CapitalAmortizationFreePeriodSetEvents",
"type": "CapitalAmortizationFreePeriodSet!",
"derived": "emitter"
},
{
"name": "InvestorsCountChangedEvents",
"type": "InvestorsCountChanged!",
"derived": "emitter"
},
{
"name": "RevocationsCountChangedEvents",
"type": "RevocationsCountChanged!",
"derived": "emitter"
},
{
"name": "CampaignStartAndEndDateSetEvents",
"type": "CampaignStartAndEndDateSet!",
"derived": "emitter"
},
{
"name": "CampaignPausedEvents",
"type": "CampaignPaused!",
"derived": "emitter"
},
{
"name": "CampaignUnpausedEvents",
"type": "CampaignUnpaused!",
"derived": "emitter"
},
{
"name": "MinAndMaxAmountSetEvents",
"type": "MinAndMaxAmountSet!",
"derived": "emitter"
},
{
"name": "BondTransferrerdEvents",
"type": "BondTransferred!",
"derived": "emitter"
},
{
"name": "ReservedAmountChangedEvents",
"type": "ReservedAmountChanged!",
"derived": "emitter"
},
{
"name": "CouponStatusChangedEvents",
"type": "CouponStatusChanged!",
"derived": "emitter"
}
]
},
{
"name": "BondFacet",
"fields": [
{ "name": "asAccount", "type": "Account" },
{
"name": "BondInitializedPart1Event",
"type": "BondInitializedPart1!",
"derived": "contract"
},
{
"name": "BondInitializedPart2Event",
"type": "BondInitializedPart2!",
"derived": "contract"
},
{
"name": "BondParametersEditedPart1Event",
"type": "BondParametersEditedPart1!",
"derived": "contract"
},
{
"name": "BondParametersEditedPart2Event",
"type": "BondParametersEditedPart2!",
"derived": "contract"
},
{
"name": "CouponsComputedEvent",
"type": "CouponsComputed!",
"derived": "contract"
},
{
"name": "BondsWithdrawn",
"type": "BondsWithdrawn!",
"derived": "contract"
},
{ "name": "BondIssued", "type": "BondIssued!", "derived": "contract" },
{
"name": "BalloonRateSet",
"type": "BalloonRateSet!",
"derived": "contract"
},
{
"name": "GracePeriodSet",
"type": "GracePeriodSet!",
"derived": "contract"
},
{
"name": "CapitalAmortizationFreePeriodSet",
"type": "CapitalAmortizationFreePeriodSet!",
"derived": "contract"
},
{
"name": "CostEmittentSet",
"type": "CostEmittentSet!",
"derived": "contract"
},
{
"name": "InvestorsCountChanged",
"type": "InvestorsCountChanged!",
"derived": "contract"
},
{
"name": "RevocationsCountChanged",
"type": "RevocationsCountChanged!",
"derived": "contract"
},
{
"name": "CampaignStartAndEndDateSet",
"type": "CampaignStartAndEndDateSet!",
"derived": "contract"
},
{
"name": "CampaignPaused",
"type": "CampaignPaused!",
"derived": "contract"
},
{
"name": "CampaignUnpaused",
"type": "CampaignUnpaused!",
"derived": "contract"
},
{
"name": "MinAndMaxAmountSet",
"type": "MinAndMaxAmountSet!",
"derived": "contract"
},
{
"name": "IssueDateSet",
"type": "IssueDateSet!",
"derived": "contract"
},
{
"name": "BondTransferred",
"type": "BondTransferred!",
"derived": "contract"
},
{
"name": "ReservedAmountChanged",
"type": "ReservedAmountChanged!",
"derived": "contract"
},
{
"name": "CouponStatusChanged",
"type": "CouponStatusChanged!",
"derived": "contract"
}
]
},
{
"name": "Bond",
"fields": [
{ "name": "contract", "type": "BondFacet!" },
{ "name": "coupure", "type": "BigInt!" },
{ "name": "grossInterestRate", "type": "BigDecimal!" },
{ "name": "netReturn", "type": "BigDecimal!" },
{ "name": "withholdingTaxRate", "type": "BigDecimal!" },
{ "name": "periodicInterestRate", "type": "BigDecimal!" },
{ "name": "holders", "type": "[Account!]!" },
{ "name": "holdersAmount", "type": "[BigInt!]!" },
{ "name": "reservationsByAddresses", "type": "[Account!]!" },
{ "name": "reservedAmountByAddresses", "type": "[Account!]!" },
{ "name": "reservedAmount", "type": "BigInt!" },
{ "name": "periodicity", "type": "String!" },
{ "name": "methodOfRepayment", "type": "String!" },
{ "name": "duration", "type": "BigInt!" },
{ "name": "gracePeriod", "type": "BigInt!" },
{ "name": "balloonPercentage", "type": "BigDecimal!" },
{ "name": "capitalAmortizationFreePeriod", "type": "BigInt!" },
{ "name": "costEmittent", "type": "BigDecimal!" },
{ "name": "investorsCount", "type": "BigInt!" },
{ "name": "revocationsCount", "type": "BigInt!" },
{ "name": "campaignStartDate", "type": "BigInt!" },
{ "name": "campaignEndDate", "type": "BigInt!" },
{ "name": "paused", "type": "Boolean!" },
{ "name": "maxAmountPerInvestor", "type": "BigDecimal!" },
{ "name": "maxSupply", "type": "BigDecimal!" },
{ "name": "maxAmount", "type": "BigInt!" },
{ "name": "minAmount", "type": "BigInt!" },
{ "name": "issueDate", "type": "BigInt!" },
{ "name": "formOfFinancing", "type": "String!" },
{ "name": "status", "type": "String!" },
{ "name": "cancelRef", "type": "String" },
{ "name": "withdrawRef", "type": "String" },
{ "name": "withdrawStartTime", "type": "BigInt!" },
{ "name": "withdrawEndTime", "type": "BigInt!" },
{ "name": "cancelStartTime", "type": "BigInt!" },
{ "name": "cancelEndTime", "type": "BigInt!" },
{ "name": "hashLockCancel", "type": "Bytes" },
{ "name": "hashLockWithdraw", "type": "Bytes" },
{ "name": "issuedAmount", "type": "BigInt" },
{ "name": "totalAmountOfAssignedBonds", "type": "BigInt!" },
{ "name": "terminated", "type": "Boolean!" },
{ "name": "isReplacementBond", "type": "Boolean!" },
{ "name": "oldBondId", "type": "BigInt" }
]
},
{
"name": "Holder",
"fields": [
{ "name": "contract", "type": "BondFacet!" },
{ "name": "account", "type": "Account!" },
{ "name": "amount", "type": "BigInt!" },
{ "name": "bondId", "type": "String!" },
{ "name": "dateOfOwnership", "type": "BigInt!" }
]
},
{
"name": "Transfer",
"fields": [
{ "name": "contract", "type": "BondFacet!" },
{ "name": "bondTransferId", "type": "String!" },
{ "name": "from", "type": "Account!" },
{ "name": "to", "type": "Account!" },
{ "name": "bondId", "type": "String! " },
{ "name": "transferDate", "type": "BigInt!" },
{ "name": "amount", "type": "BigInt!" }
]
},
{
"name": "CouponList",
"fields": [
{ "name": "contract", "type": "BondFacet!" },
{ "name": "couponDate", "type": "[BigInt!]!" },
{ "name": "newCouponDate", "type": "[BigInt!]!" },
{ "name": "remainingCapital", "type": "[BigDecimal!]!" },
{ "name": "capitalRepayment", "type": "[BigDecimal!]!" },
{ "name": "grossInterestRate", "type": "[BigDecimal!]!" },
{ "name": "netInterestRate", "type": "[BigDecimal!]!" },
{ "name": "grossInterest", "type": "[BigDecimal!]!" },
{ "name": "netInterest", "type": "[BigDecimal!]!" },
{ "name": "feeAmount", "type": "[BigDecimal!]!" },
{ "name": "stepUp", "type": "[BigDecimal!]!" },
{ "name": "stepDown", "type": "[BigDecimal!]!" },
{ "name": "fee", "type": "[BigDecimal!]!" },
{ "name": "status", "type": "[String!]!" },
{ "name": "capitalAndInterest", "type": "[BigDecimal!]!" },
{ "name": "totalToBeRepaid", "type": "BigDecimal!" },
{ "name": "totalAmountRepaid", "type": "BigDecimal!" },
{ "name": "capitalRepaid", "type": "BigDecimal!" },
{ "name": "interestRepaid", "type": "BigDecimal!" },
{ "name": "interestTotal", "type": "BigDecimal!" }
]
},
{
"name": "BondInitializedPart1",
"parent": "Event",
"fields": [
{ "name": "emitter", "type": "Account!" },
{ "name": "transaction", "type": "Transaction!" },
{ "name": "timestamp", "type": "BigInt!" },
{ "name": "contract", "type": "BondFacet!" },
{ "name": "bondId", "type": "BigInt!" },
{ "name": "coupure", "type": "BigInt!" },
{ "name": "interestNum", "type": "BigDecimal!" },
{ "name": "interestDen", "type": "BigDecimal!" },
{ "name": "withholdingTaxNum", "type": "BigDecimal!" },
{ "name": "withholdingTaxDen", "type": "BigDecimal!" },
{ "name": "issuer", "type": "Account!" }
]
},
{
"name": "BondInitializedPart2",
"parent": "Event",
"fields": [
{ "name": "emitter", "type": "Account!" },
{ "name": "transaction", "type": "Transaction!" },
{ "name": "timestamp", "type": "BigInt!" },
{ "name": "contract", "type": "BondFacet!" },
{ "name": "bondId", "type": "BigInt!" },
{ "name": "periodicInterestRate", "type": "BigDecimal!" },
{ "name": "periodicity", "type": "BigInt!" },
{ "name": "duration", "type": "BigInt!" },
{ "name": "methodOfRepayment", "type": "BigInt!" },
{ "name": "netReturn", "type": "BigDecimal!" },
{ "name": "maxSupply", "type": "BigDecimal!" },
{ "name": "formOfFinancing", "type": "BigInt!" }
]
},
{
"name": "BondParametersEditedPart1",
"parent": "Event",
"fields": [
{ "name": "emitter", "type": "Account!" },
{ "name": "transaction", "type": "Transaction!" },
{ "name": "timestamp", "type": "BigInt!" },
{ "name": "contract", "type": "BondFacet!" },
{ "name": "bondId", "type": "BigInt!" },
{ "name": "coupure", "type": "BigInt!" },
{ "name": "interestNum", "type": "BigDecimal!" },
{ "name": "interestDen", "type": "BigDecimal!" },
{ "name": "withholdingTaxNum", "type": "BigDecimal!" },
{ "name": "withholdingTaxDen", "type": "BigDecimal!" },
{ "name": "issuer", "type": "Account!" }
]
},
{
"name": "BondParametersEditedPart2",
"parent": "Event",
"fields": [
{ "name": "emitter", "type": "Account!" },
{ "name": "transaction", "type": "Transaction!" },
{ "name": "timestamp", "type": "BigInt!" },
{ "name": "contract", "type": "BondFacet!" },
{ "name": "bondId", "type": "BigInt!" },
{ "name": "periodicInterestRate", "type": "BigDecimal!" },
{ "name": "periodicity", "type": "BigInt!" },
{ "name": "duration", "type": "BigInt!" },
{ "name": "methodOfRepayment", "type": "BigInt!" },
{ "name": "netReturn", "type": "BigDecimal!" },
{ "name": "maxSupply", "type": "BigDecimal!" },
{ "name": "formOfFinancing", "type": "BigInt!" }
]
},
{
"name": "CouponsComputed",
"parent": "Event",
"fields": [
{ "name": "emitter", "type": "Account!" },
{ "name": "transaction", "type": "Transaction!" },
{ "name": "timestamp", "type": "BigInt!" },
{ "name": "contract", "type": "BondFacet!" },
{ "name": "bondId", "type": "BigInt!" },
{ "name": "couponDates", "type": "[BigInt!]" },
{ "name": "remainingCapital", "type": "[BigDecimal!]" },
{ "name": "capitalRepayment", "type": "[BigDecimal!]" },
{ "name": "grossCoupons", "type": "[BigDecimal!]" },
{ "name": "netCoupons", "type": "[BigDecimal!]" }
]
},
{
"name": "BondsWithdrawn",
"parent": "Event",
"fields": [
{ "name": "emitter", "type": "Account!" },
{ "name": "transaction", "type": "Transaction!" },
{ "name": "timestamp", "type": "BigInt!" },
{ "name": "contract", "type": "BondFacet!" },
{ "name": "bondId", "type": "BigInt!" },
{ "name": "holder", "type": "Account!" },
{ "name": "amount", "type": "BigInt!" }
]
},
{
"name": "BondIssued",
"parent": "Event",
"fields": [
{ "name": "emitter", "type": "Account!" },
{ "name": "transaction", "type": "Transaction!" },
{ "name": "timestamp", "type": "BigInt!" },
{ "name": "contract", "type": "BondFacet!" },
{ "name": "bondId", "type": "BigInt!" },
{ "name": "issueDate", "type": "BigInt!" },
{ "name": "issuedAmount", "type": "BigInt!" }
]
},
{
"name": "BondsBurned",
"parent": "Event",
"fields": [
{ "name": "emitter", "type": "Account!" },
{ "name": "transaction", "type": "Transaction!" },
{ "name": "timestamp", "type": "BigInt!" },
{ "name": "contract", "type": "BondFacet!" },
{ "name": "bondId", "type": "BigInt!" },
{ "name": "holder", "type": "Account!" },
{ "name": "amount", "type": "BigInt!" }
]
},
{
"name": "BalloonRateSet",
"parent": "Event",
"fields": [
{ "name": "emitter", "type": "Account!" },
{ "name": "transaction", "type": "Transaction!" },
{ "name": "timestamp", "type": "BigInt!" },
{ "name": "contract", "type": "BondFacet!" },
{ "name": "bondId", "type": "BigInt!" },
{ "name": "balloonRateNum", "type": "BigDecimal!" },
{ "name": "balloonRateDen", "type": "BigDecimal!" }
]
},
{
"name": "CostEmittentSet",
"parent": "Event",
"fields": [
{ "name": "emitter", "type": "Account!" },
{ "name": "transaction", "type": "Transaction!" },
{ "name": "timestamp", "type": "BigInt!" },
{ "name": "contract", "type": "BondFacet!" },
{ "name": "bondId", "type": "BigInt!" },
{ "name": "costEmittentNum", "type": "BigDecimal!" },
{ "name": "costEmittentDen", "type": "BigDecimal!" }
]
},
{
"name": "GracePeriodSet",
"parent": "Event",
"fields": [
{ "name": "emitter", "type": "Account!" },
{ "name": "transaction", "type": "Transaction!" },
{ "name": "timestamp", "type": "BigInt!" },
{ "name": "contract", "type": "BondFacet!" },
{ "name": "bondId", "type": "BigInt!" },
{ "name": "gracePeriodDuration", "type": "BigInt!" }
]
},
{
"name": "CapitalAmortizationFreePeriodSet",
"parent": "Event",
"fields": [
{ "name": "emitter", "type": "Account!" },
{ "name": "transaction", "type": "Transaction!" },
{ "name": "timestamp", "type": "BigInt!" },
{ "name": "contract", "type": "BondFacet!" },
{ "name": "bondId", "type": "BigInt!" },
{ "name": "CapitalAmortizationPeriodDuration", "type": "BigInt!" }
]
},
{
"name": "InvestorsCountChanged",
"parent": "Event",
"fields": [
{ "name": "emitter", "type": "Account!" },
{ "name": "transaction", "type": "Transaction!" },
{ "name": "timestamp", "type": "BigInt!" },
{ "name": "contract", "type": "BondFacet!" },
{ "name": "bondId", "type": "BigInt!" },
{ "name": "investorsCount", "type": "BigInt!" }
]
},
{
"name": "RevocationsCountChanged",
"parent": "Event",
"fields": [
{ "name": "emitter", "type": "Account!" },
{ "name": "transaction", "type": "Transaction!" },
{ "name": "timestamp", "type": "BigInt!" },
{ "name": "contract", "type": "BondFacet!" },
{ "name": "bondId", "type": "BigInt!" },
{ "name": "revocationsCount", "type": "BigInt!" }
]
},
{
"name": "ReservedAmountChanged",
"parent": "Event",
"fields": [
{ "name": "emitter", "type": "Account!" },
{ "name": "transaction", "type": "Transaction!" },
{ "name": "timestamp", "type": "BigInt!" },
{ "name": "contract", "type": "BondFacet!" },
{ "name": "bondId", "type": "BigInt!" },
{ "name": "reservedAmount", "type": "BigInt!" }
]
},
{
"name": "CouponStatusChanged",
"parent": "Event",
"fields": [
{ "name": "emitter", "type": "Account!" },
{ "name": "transaction", "type": "Transaction!" },
{ "name": "timestamp", "type": "BigInt!" },
{ "name": "contract", "type": "BondFacet!" },
{ "name": "bondId", "type": "BigInt!" },
{ "name": "lineNumber", "type": "BigInt!" }
]
},
{
"name": "CampaignStartAndEndDateSet",
"parent": "Event",
"fields": [
{ "name": "emitter", "type": "Account!" },
{ "name": "transaction", "type": "Transaction!" },
{ "name": "timestamp", "type": "BigInt!" },
{ "name": "contract", "type": "BondFacet!" },
{ "name": "bondId", "type": "BigInt!" },
{ "name": "campaignStartDate", "type": "BigInt!" },
{ "name": "campaignEndDate", "type": "BigInt!" }
]
},
{
"name": "CampaignPaused",
"parent": "Event",
"fields": [
{ "name": "emitter", "type": "Account!" },
{ "name": "transaction", "type": "Transaction!" },
{ "name": "timestamp", "type": "BigInt!" },
{ "name": "contract", "type": "BondFacet!" },
{ "name": "bondId", "type": "BigInt!" }
]
},
{
"name": "CampaignUnpaused",
"parent": "Event",
"fields": [
{ "name": "emitter", "type": "Account!" },
{ "name": "transaction", "type": "Transaction!" },
{ "name": "timestamp", "type": "BigInt!" },
{ "name": "contract", "type": "BondFacet!" },
{ "name": "bondId", "type": "BigInt!" }
]
},
{
"name": "MinAndMaxAmountSet",
"parent": "Event",
"fields": [
{ "name": "emitter", "type": "Account!" },
{ "name": "transaction", "type": "Transaction!" },
{ "name": "timestamp", "type": "BigInt!" },
{ "name": "contract", "type": "BondFacet!" },
{ "name": "bondId", "type": "BigInt!" },
{ "name": "minAmount", "type": "BigInt!" },
{ "name": "maxAmount", "type": "BigInt!" },
{ "name": "maxAmountPerInvestor", "type": "BigDecimal!" }
]
},
{
"name": "IssueDateSet",
"parent": "Event",
"fields": [
{ "name": "emitter", "type": "Account!" },
{ "name": "transaction", "type": "Transaction!" },
{ "name": "timestamp", "type": "BigInt!" },
{ "name": "contract", "type": "BondFacet!" },
{ "name": "bondId", "type": "BigInt!" },
{ "name": "issueDate", "type": "BigInt!" }
]
},
{
"name": "BondTransferred",
"parent": "Event",
"fields": [
{ "name": "emitter", "type": "Account!" },
{ "name": "transaction", "type": "Transaction!" },
{ "name": "timestamp", "type": "BigInt!" },
{ "name": "contract", "type": "BondFacet!" },
{ "name": "bondTransferId", "type": "String!" },
{ "name": "bondId", "type": "BigInt!" },
{ "name": "oldAccount", "type": "Account!" },
{ "name": "newAccount", "type": "Account!" },
{ "name": "amount", "type": "BigInt!" }
]
}
]