UNPKG

@settlemint/solidity-diamond-bond

Version:

Smart contract set to build an enterprise bond usecase in SettleMint

601 lines (600 loc) 20.3 kB
[ { "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!" } ] } ]