mirror of
https://github.com/corda/corda.git
synced 2025-04-07 11:27:01 +00:00
Merge branch 'master' into dynamic-loading
This commit is contained in:
commit
5d5bcbfb00
2
.idea/runConfigurations/All_tests.xml
generated
2
.idea/runConfigurations/All_tests.xml
generated
@ -1,7 +1,7 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="All tests" type="JUnit" factoryName="JUnit">
|
||||
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
|
||||
<module name="r3prototyping" />
|
||||
<module name="r3prototyping_test" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" />
|
||||
<option name="PACKAGE_NAME" value="" />
|
||||
|
2
.idea/runConfigurations/Node__buyer.xml
generated
2
.idea/runConfigurations/Node__buyer.xml
generated
@ -8,7 +8,7 @@
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
<module name="r3prototyping" />
|
||||
<module name="r3prototyping_main" />
|
||||
<envs />
|
||||
<method />
|
||||
</configuration>
|
||||
|
2
.idea/runConfigurations/Node__seller.xml
generated
2
.idea/runConfigurations/Node__seller.xml
generated
@ -8,7 +8,7 @@
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
<module name="r3prototyping" />
|
||||
<module name="r3prototyping_main" />
|
||||
<envs />
|
||||
<method />
|
||||
</configuration>
|
||||
|
@ -4,9 +4,9 @@ This source repository contains explorations of various design concepts the R3 D
|
||||
|
||||
Things you need to know:
|
||||
|
||||
* The main code documentation is in the form of a website in the git repository. Load [the website](docs/build/html/index.html)
|
||||
in the `docs/build/html` directory to start reading about what's included, how to get set up, and to read a tutorial
|
||||
on writing smart contracts in this framework.
|
||||
* The main code documentation is in the form of a website in the git repository. There is a copy of the site online, so
|
||||
[access the website](http://docs.corda.r3cev.com) using the username 'corda' and password 'delegato' to start reading
|
||||
about what's included, how to get set up, and to read a tutorial on writing smart contracts in this framework.
|
||||
|
||||
* The architecture documentation is on the [Architecture Working Group Wiki](https://r3-cev.atlassian.net/wiki/display/AWG/Architecture+Working+Group) site - please
|
||||
refer to that for an explanation of some of the background concepts that the prototype is exploring.
|
||||
|
@ -111,9 +111,11 @@ dependencies {
|
||||
// Coda Hale's Metrics: for monitoring of key statistics
|
||||
compile "io.dropwizard.metrics:metrics-core:3.1.2"
|
||||
|
||||
// JimFS: in memory java.nio filesystem. Used for test and simulation utilities.
|
||||
compile 'com.google.jimfs:jimfs:1.1'
|
||||
|
||||
// Unit testing helpers.
|
||||
testCompile 'junit:junit:4.12'
|
||||
testCompile 'com.google.jimfs:jimfs:1.1' // in memory java.nio filesystem.
|
||||
}
|
||||
|
||||
// These lines tell Gradle to add a couple of JVM command line arguments to unit test and program runs, which set up
|
||||
|
453
contracts/src/main/kotlin/contracts/IRS.kt
Normal file
453
contracts/src/main/kotlin/contracts/IRS.kt
Normal file
@ -0,0 +1,453 @@
|
||||
/*
|
||||
* Copyright 2015 Distributed Ledger Group LLC. Distributed as Licensed Company IP to DLG Group Members
|
||||
* pursuant to the August 7, 2015 Advisory Services Agreement and subject to the Company IP License terms
|
||||
* set forth therein.
|
||||
*
|
||||
* All other rights reserved.
|
||||
*/
|
||||
|
||||
package contracts
|
||||
|
||||
import core.*
|
||||
import core.crypto.SecureHash
|
||||
import core.node.services.DummyTimestampingAuthority
|
||||
import org.apache.commons.jexl3.JexlBuilder
|
||||
import org.apache.commons.jexl3.MapContext
|
||||
import java.math.BigDecimal
|
||||
import java.math.RoundingMode
|
||||
import java.time.LocalDate
|
||||
import java.util.*
|
||||
|
||||
val IRS_PROGRAM_ID = SecureHash.sha256("replace-me-later-with-bytecode-hash-of-irs-code")
|
||||
|
||||
// This is a placeholder for some types that we haven't identified exactly what they are just yet for things still in discussion
|
||||
open class UnknownType()
|
||||
|
||||
/**
|
||||
* Event superclass - everything happens on a date.
|
||||
*/
|
||||
open class Event(val date: LocalDate)
|
||||
|
||||
/**
|
||||
* Top level PaymentEvent class - represents an obligation to pay an amount on a given date, which may be either in the past or the future.
|
||||
*/
|
||||
abstract class PaymentEvent(date: LocalDate) : Event(date) {
|
||||
abstract fun calculate(): Amount
|
||||
}
|
||||
|
||||
/**
|
||||
* A [RatePaymentEvent] represents a dated obligation of payment.
|
||||
* It is a specialisation / modification of a basic cash flow event (to be written) that has some additional assistance
|
||||
* functions for interest rate swap legs of the fixed and floating nature.
|
||||
* For the fixed leg, the rate is already known at creation and therefore the flows can be pre-determined.
|
||||
* For the floating leg, the rate refers to a reference rate which is to be "fixed" at a point in the future.
|
||||
*/
|
||||
abstract class RatePaymentEvent(date: LocalDate,
|
||||
val accrualStartDate: LocalDate,
|
||||
val accrualEndDate: LocalDate,
|
||||
val dayCountBasisDay: DayCountBasisDay,
|
||||
val dayCountBasisYear: DayCountBasisYear,
|
||||
val notional: Amount,
|
||||
val rate: Rate) : PaymentEvent(date) {
|
||||
companion object {
|
||||
val CSVHeader = "AccrualStartDate,AccrualEndDate,DayCountFactor,Days,Date,Ccy,Notional,Rate,Flow"
|
||||
}
|
||||
|
||||
override fun calculate(): Amount = flow
|
||||
|
||||
abstract val flow: Amount
|
||||
|
||||
val days: Int get() =
|
||||
dayCountCalculator(accrualStartDate, accrualEndDate, dayCountBasisYear, dayCountBasisDay)
|
||||
|
||||
val dayCountFactor: BigDecimal get() =
|
||||
// TODO : Fix below (use daycount convention for division)
|
||||
(BigDecimal(days).divide(BigDecimal(360.0), 8, RoundingMode.HALF_UP)).setScale(4, RoundingMode.HALF_UP)
|
||||
|
||||
open fun asCSV(): String = "$accrualStartDate,$accrualEndDate,$dayCountFactor,$days,$date,${notional.currency},${notional},$rate,$flow"
|
||||
}
|
||||
|
||||
/**
|
||||
* Basic class for the Fixed Rate Payments on the fixed leg - see [RatePaymentEvent]
|
||||
* Assumes that the rate is valid.
|
||||
*/
|
||||
class FixedRatePaymentEvent(date: LocalDate,
|
||||
accrualStartDate: LocalDate,
|
||||
accrualEndDate: LocalDate,
|
||||
dayCountBasisDay: DayCountBasisDay,
|
||||
dayCountBasisYear: DayCountBasisYear,
|
||||
notional: Amount,
|
||||
rate: Rate) :
|
||||
RatePaymentEvent(date, accrualStartDate, accrualEndDate, dayCountBasisDay, dayCountBasisYear, notional, rate) {
|
||||
companion object {
|
||||
val CSVHeader = RatePaymentEvent.CSVHeader
|
||||
}
|
||||
|
||||
override val flow: Amount get() =
|
||||
Amount(dayCountFactor.times(BigDecimal(notional.pennies)).times(rate.ratioUnit!!.value).toLong(), notional.currency)
|
||||
|
||||
override fun toString(): String =
|
||||
"FixedRatePaymentEvent $accrualStartDate -> $accrualEndDate : $dayCountFactor : $days : $date : $notional : $rate : $flow"
|
||||
}
|
||||
|
||||
/**
|
||||
* Basic class for the Floating Rate Payments on the floating leg - see [RatePaymentEvent]
|
||||
* If the rate is null returns a zero payment. // TODO: Is this the desired behaviour?
|
||||
*/
|
||||
class FloatingRatePaymentEvent(date: LocalDate,
|
||||
accrualStartDate: LocalDate,
|
||||
accrualEndDate: LocalDate,
|
||||
dayCountBasisDay: DayCountBasisDay,
|
||||
dayCountBasisYear: DayCountBasisYear,
|
||||
val fixingDate: LocalDate,
|
||||
notional: Amount,
|
||||
rate: Rate) : RatePaymentEvent(date, accrualStartDate, accrualEndDate, dayCountBasisDay, dayCountBasisYear, notional, rate) {
|
||||
|
||||
companion object {
|
||||
val CSVHeader = RatePaymentEvent.CSVHeader + ",FixingDate"
|
||||
}
|
||||
|
||||
override val flow: Amount get() {
|
||||
// TODO: Should an uncalculated amount return a zero ? null ? etc.
|
||||
val v = rate.ratioUnit?.value ?: return Amount(0, notional.currency)
|
||||
return Amount(dayCountFactor.times(BigDecimal(notional.pennies)).times(v).toLong(), notional.currency)
|
||||
}
|
||||
|
||||
override fun toString(): String {
|
||||
return "FloatingPaymentEvent $accrualStartDate -> $accrualEndDate : $dayCountFactor : $days : $date : $notional : $rate (fix on $fixingDate): $flow"
|
||||
}
|
||||
|
||||
override fun asCSV(): String = "$accrualStartDate,$accrualEndDate,$dayCountFactor,$days,$date,${notional.currency},${notional},$fixingDate,$rate,$flow"
|
||||
|
||||
/**
|
||||
* Used for making immutables
|
||||
*/
|
||||
fun withNewRate(newRate: Rate): FloatingRatePaymentEvent =
|
||||
FloatingRatePaymentEvent(date, accrualStartDate, accrualEndDate, dayCountBasisDay,
|
||||
dayCountBasisYear, fixingDate, notional, newRate)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Don't try and use a rate that isn't ready yet.
|
||||
*/
|
||||
class DataNotReadyException : Exception()
|
||||
|
||||
|
||||
/**
|
||||
* The Interest Rate Swap class. For a quick overview of what an IRS is, see here - http://www.pimco.co.uk/EN/Education/Pages/InterestRateSwapsBasics1-08.aspx (no endorsement)
|
||||
* This contract has 4 significant data classes within it, the "Common", "Calculation", "FixedLeg" and "FloatingLeg"
|
||||
* It also has 4 commands, "Agree", "Fix", "Pay" and "Mature".
|
||||
* Currently, we are not interested (excuse pun) in valuing the swap, calculating the PVs, DFs and all that good stuff (soon though).
|
||||
* This is just a representation of a vanilla Fixed vs Floating (same currency) IRS in the R3 prototype model.
|
||||
*/
|
||||
class InterestRateSwap() : Contract {
|
||||
override val legalContractReference: SecureHash = SecureHash.sha256("is_this_the_text_of_the_contract ? TBD")
|
||||
|
||||
/**
|
||||
* This Common area contains all the information that is not leg specific.
|
||||
*/
|
||||
data class Common(
|
||||
val baseCurrency: Currency,
|
||||
val eligibleCurrency: Currency,
|
||||
val eligibleCreditSupport: String,
|
||||
val independentAmounts: Amount,
|
||||
val threshold: Amount,
|
||||
val minimumTransferAmount: Amount,
|
||||
val rounding: Amount,
|
||||
val valuationDate: String,
|
||||
val notificationTime: String,
|
||||
val resolutionTime: String,
|
||||
val interestRate: ReferenceRate,
|
||||
val addressForTransfers: String,
|
||||
val exposure: UnknownType,
|
||||
val localBusinessDay: BusinessCalendar,
|
||||
val dailyInterestAmount: Expression,
|
||||
val tradeID: String,
|
||||
val hashLegalDocs: String
|
||||
)
|
||||
|
||||
data class Expression(val expr: String)
|
||||
|
||||
/**
|
||||
* The Calculation data class is "mutable" through out the life of the swap, as in, it's the only thing that contains
|
||||
* data that will changed from state to state (Recall that the design insists that everything is immutable, so we actually
|
||||
* copy / update for each transition)
|
||||
*/
|
||||
data class Calculation(
|
||||
val expression: Expression,
|
||||
val floatingLegPaymentSchedule: Map<LocalDate, FloatingRatePaymentEvent>,
|
||||
val fixedLegpaymentSchedule: Map<LocalDate, FixedRatePaymentEvent>
|
||||
) {
|
||||
/**
|
||||
* Gets the date of the next fixing.
|
||||
* @return LocalDate or null if no more fixings.
|
||||
*/
|
||||
fun nextFixingDate(): LocalDate? {
|
||||
return floatingLegPaymentSchedule.
|
||||
filter { it.value.rate is OracleRetrievableReferenceRate }.// TODO - a better way to determine what fixings remain to be fixed
|
||||
minBy { it.value.fixingDate.toEpochDay() }?.value?.fixingDate
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the fixing for that date
|
||||
*/
|
||||
fun getFixing(date: LocalDate): FloatingRatePaymentEvent =
|
||||
floatingLegPaymentSchedule.values.single { it.fixingDate == date }
|
||||
|
||||
/**
|
||||
* Returns a copy after modifying (applying) the fixing for that date.
|
||||
*/
|
||||
fun applyFixing(date: LocalDate, newRate: Rate): Calculation {
|
||||
val paymentEvent = getFixing(date)
|
||||
val newFloatingLPS = floatingLegPaymentSchedule + (paymentEvent.date to paymentEvent.withNewRate(newRate))
|
||||
return Calculation(expression = expression,
|
||||
floatingLegPaymentSchedule = newFloatingLPS,
|
||||
fixedLegpaymentSchedule = fixedLegpaymentSchedule)
|
||||
}
|
||||
|
||||
fun exportSchedule() {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
abstract class CommonLeg(
|
||||
val notional: Amount,
|
||||
val paymentFrequency: Frequency,
|
||||
val effectiveDate: LocalDate,
|
||||
val effectiveDateAdjustment: DateRollConvention?,
|
||||
val terminationDate: LocalDate,
|
||||
val terminationDateAdjustment: DateRollConvention?,
|
||||
var dayCountBasisDay: DayCountBasisDay,
|
||||
var dayCountBasisYear: DayCountBasisYear,
|
||||
var dayInMonth: Int,
|
||||
var paymentRule: PaymentRule,
|
||||
var paymentDelay: Int,
|
||||
var paymentCalendar: BusinessCalendar,
|
||||
var interestPeriodAdjustment: AccrualAdjustment
|
||||
) {
|
||||
override fun toString(): String {
|
||||
return "Notional=$notional,PaymentFrequency=$paymentFrequency,EffectiveDate=$effectiveDate,EffectiveDateAdjustment:$effectiveDateAdjustment,TerminatationDate=$terminationDate," +
|
||||
"TerminationDateAdjustment=$terminationDateAdjustment,DayCountBasis=$dayCountBasisDay/$dayCountBasisYear,DayInMonth=$dayInMonth," +
|
||||
"PaymentRule=$paymentRule,PaymentDelay=$paymentDelay,PaymentCalendar=$paymentCalendar,InterestPeriodAdjustment=$interestPeriodAdjustment"
|
||||
}
|
||||
}
|
||||
|
||||
open class FixedLeg(
|
||||
var fixedRatePayer: Party,
|
||||
notional: Amount,
|
||||
paymentFrequency: Frequency,
|
||||
effectiveDate: LocalDate,
|
||||
effectiveDateAdjustment: DateRollConvention?,
|
||||
terminationDate: LocalDate,
|
||||
terminationDateAdjustment: DateRollConvention?,
|
||||
dayCountBasisDay: DayCountBasisDay,
|
||||
dayCountBasisYear: DayCountBasisYear,
|
||||
dayInMonth: Int,
|
||||
paymentRule: PaymentRule,
|
||||
paymentDelay: Int,
|
||||
paymentCalendar: BusinessCalendar,
|
||||
interestPeriodAdjustment: AccrualAdjustment,
|
||||
var fixedRate: FixedRate,
|
||||
var rollConvention: DateRollConvention // TODO - best way of implementing - still awaiting some clarity
|
||||
) : CommonLeg
|
||||
(notional, paymentFrequency, effectiveDate, effectiveDateAdjustment, terminationDate, terminationDateAdjustment,
|
||||
dayCountBasisDay, dayCountBasisYear, dayInMonth, paymentRule, paymentDelay, paymentCalendar, interestPeriodAdjustment) {
|
||||
override fun toString(): String = "FixedLeg(Payer=$fixedRatePayer," + super.toString() + ",fixedRate=$fixedRate," +
|
||||
"rollConvention=$rollConvention"
|
||||
}
|
||||
|
||||
open class FloatingLeg(
|
||||
var floatingRatePayer: Party,
|
||||
notional: Amount,
|
||||
paymentFrequency: Frequency,
|
||||
effectiveDate: LocalDate,
|
||||
effectiveDateAdjustment: DateRollConvention?,
|
||||
terminationDate: LocalDate,
|
||||
terminationDateAdjustment: DateRollConvention?,
|
||||
dayCountBasisDay: DayCountBasisDay,
|
||||
dayCountBasisYear: DayCountBasisYear,
|
||||
dayInMonth: Int,
|
||||
paymentRule: PaymentRule,
|
||||
paymentDelay: Int,
|
||||
paymentCalendar: BusinessCalendar,
|
||||
interestPeriodAdjustment: AccrualAdjustment,
|
||||
var rollConvention: DateRollConvention,
|
||||
var fixingRollConvention: DateRollConvention,
|
||||
var resetDayInMonth: Int,
|
||||
var fixingPeriod: DateOffset,
|
||||
var resetRule: PaymentRule,
|
||||
var fixingsPerPayment: Frequency,
|
||||
var fixingCalendar: BusinessCalendar,
|
||||
var index: String,
|
||||
var indexSource: String,
|
||||
var indexTenor: Tenor
|
||||
) : CommonLeg(notional, paymentFrequency, effectiveDate, effectiveDateAdjustment, terminationDate, terminationDateAdjustment,
|
||||
dayCountBasisDay, dayCountBasisYear, dayInMonth, paymentRule, paymentDelay, paymentCalendar, interestPeriodAdjustment) {
|
||||
override fun toString(): String = "FloatingLeg(Payer=$floatingRatePayer," + super.toString() +
|
||||
"rollConvention=$rollConvention,FixingRollConvention=$fixingRollConvention,ResetDayInMonth=$resetDayInMonth" +
|
||||
"FixingPeriond=$fixingPeriod,ResetRule=$resetRule,FixingsPerPayment=$fixingsPerPayment,FixingCalendar=$fixingCalendar," +
|
||||
"Index=$index,IndexSource=$indexSource,IndexTenor=$indexTenor"
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* verify() with a few examples of what needs to be checked. TODO: Lots more to add.
|
||||
*/
|
||||
override fun verify(tx: TransactionForVerification) {
|
||||
val command = tx.commands.requireSingleCommand<InterestRateSwap.Commands>()
|
||||
val time = tx.getTimestampBy(DummyTimestampingAuthority.identity)?.midpoint
|
||||
if (time == null) throw IllegalArgumentException("must be timestamped")
|
||||
|
||||
val irs = tx.outStates.filterIsInstance<InterestRateSwap.State>().single()
|
||||
when (command.value) {
|
||||
is Commands.Agree -> {
|
||||
requireThat {
|
||||
"There are no in states for an agreement" by tx.inStates.isEmpty()
|
||||
"The fixed rate is non zero" by (irs.fixedLeg.fixedRate != FixedRate(PercentageRatioUnit("0.0")))
|
||||
"There are events in the fix schedule" by (irs.calculation.fixedLegpaymentSchedule.size > 0)
|
||||
"There are events in the float schedule" by (irs.calculation.floatingLegPaymentSchedule.size > 0)
|
||||
// "There are fixes in the schedule" by (irs.calculation.floatingLegPaymentSchedule!!.size > 0)
|
||||
// TODO: shortlist of other tests
|
||||
}
|
||||
}
|
||||
is Commands.Fix -> {
|
||||
requireThat {
|
||||
// TODO: see previous block
|
||||
// "There is a fixing supplied" by false // TODO
|
||||
// "The fixing has been signed by an appropriate oracle" by false // TODO
|
||||
// "The fixing has arrived at the right time" by false
|
||||
// "The net payment has been calculated" by false // TODO : Not sure if this is the right place
|
||||
|
||||
}
|
||||
}
|
||||
is Commands.Pay -> {
|
||||
requireThat {
|
||||
// TODO: see previous block
|
||||
//"A counterparty must be making a payment" by false // TODO
|
||||
// "The right counterparty must be receiving the payment" by false // TODO
|
||||
}
|
||||
}
|
||||
else -> throw IllegalArgumentException("Unrecognised verifiable command: ${command.value}")
|
||||
}
|
||||
}
|
||||
|
||||
interface Commands : CommandData {
|
||||
class Fix : TypeOnlyCommandData(), Commands // Receive interest rate from oracle, Both sides agree
|
||||
class Pay : TypeOnlyCommandData(), Commands // Not implemented just yet
|
||||
class Agree : TypeOnlyCommandData(), Commands // Both sides agree to trade
|
||||
class Mature : TypeOnlyCommandData(), Commands // Trade has matured; no more actions. Cleanup. // TODO: Do we need this?
|
||||
}
|
||||
|
||||
/**
|
||||
* The state class contains the 4 major data classes
|
||||
*/
|
||||
data class State(
|
||||
val fixedLeg: FixedLeg,
|
||||
val floatingLeg: FloatingLeg,
|
||||
val calculation: Calculation,
|
||||
val common: Common
|
||||
) : ContractState {
|
||||
override val programRef = IRS_PROGRAM_ID
|
||||
|
||||
/**
|
||||
* For evaluating arbitrary java on the platform
|
||||
*/
|
||||
|
||||
fun evaluateCalculation(businessDate: LocalDate, expression: Expression = calculation.expression): Any {
|
||||
// TODO: Jexl is purely for prototyping. It may be replaced
|
||||
// TODO: Whatever we do use must be secure and sandboxed
|
||||
var jexl = JexlBuilder().create()
|
||||
var expr = jexl.createExpression(expression.expr)
|
||||
var jc = MapContext()
|
||||
jc.set("fixedLeg", fixedLeg)
|
||||
jc.set("floatingLeg", floatingLeg)
|
||||
jc.set("calculation", calculation)
|
||||
jc.set("common", common)
|
||||
jc.set("currentBusinessDate", businessDate)
|
||||
return expr.evaluate(jc)
|
||||
}
|
||||
|
||||
/**
|
||||
* Just makes printing it out a bit better for those who don't have 80000 column wide monitors.
|
||||
*/
|
||||
fun prettyPrint(): String = toString().replace(",", "\n")
|
||||
}
|
||||
|
||||
/**
|
||||
* This generates the agreement state and also the schedules from the initial data.
|
||||
* Note: The day count, interest rate calculation etc are not finished yet, but they are demonstrable.
|
||||
*/
|
||||
fun generateAgreement(floatingLeg: FloatingLeg, fixedLeg: FixedLeg, calculation: Calculation, common: Common): TransactionBuilder {
|
||||
|
||||
val fixedLegPaymentSchedule = HashMap<LocalDate, FixedRatePaymentEvent>()
|
||||
var dates = BusinessCalendar.createGenericSchedule(fixedLeg.effectiveDate, fixedLeg.paymentFrequency, fixedLeg.paymentCalendar, fixedLeg.rollConvention, endDate = fixedLeg.terminationDate)
|
||||
var periodStartDate = fixedLeg.effectiveDate
|
||||
|
||||
// Create a schedule for the fixed payments
|
||||
for (periodEndDate in dates) {
|
||||
val paymentEvent = FixedRatePaymentEvent(
|
||||
// TODO: We are assuming the payment date is the end date of the accrual period.
|
||||
periodEndDate, periodStartDate, periodEndDate,
|
||||
fixedLeg.dayCountBasisDay,
|
||||
fixedLeg.dayCountBasisYear,
|
||||
fixedLeg.notional,
|
||||
fixedLeg.fixedRate
|
||||
)
|
||||
fixedLegPaymentSchedule[periodEndDate] = paymentEvent
|
||||
periodStartDate = periodEndDate
|
||||
}
|
||||
|
||||
dates = BusinessCalendar.createGenericSchedule(floatingLeg.effectiveDate,
|
||||
floatingLeg.fixingsPerPayment,
|
||||
floatingLeg.fixingCalendar,
|
||||
floatingLeg.rollConvention,
|
||||
endDate = floatingLeg.terminationDate)
|
||||
|
||||
var floatingLegPaymentSchedule: MutableMap<LocalDate, FloatingRatePaymentEvent> = HashMap()
|
||||
periodStartDate = floatingLeg.effectiveDate
|
||||
|
||||
// TODO: Temporary until implemented via Rates Oracle.
|
||||
val telerate = TelerateOracle("3750")
|
||||
|
||||
// Now create a schedule for the floating and fixes.
|
||||
for (periodEndDate in dates) {
|
||||
val paymentEvent = FloatingRatePaymentEvent(
|
||||
periodEndDate,
|
||||
periodStartDate,
|
||||
periodEndDate,
|
||||
floatingLeg.dayCountBasisDay,
|
||||
floatingLeg.dayCountBasisYear,
|
||||
calcFixingDate(periodStartDate, floatingLeg.fixingPeriod, floatingLeg.fixingCalendar),
|
||||
floatingLeg.notional,
|
||||
// TODO: OracleRetrievableReferenceRate will be replaced via oracle v soon.
|
||||
OracleRetrievableReferenceRate(telerate, floatingLeg.indexTenor, floatingLeg.index)
|
||||
)
|
||||
|
||||
floatingLegPaymentSchedule.put(periodEndDate, paymentEvent)
|
||||
periodStartDate = periodEndDate
|
||||
}
|
||||
|
||||
val newCalculation = Calculation(calculation.expression, floatingLegPaymentSchedule, fixedLegPaymentSchedule)
|
||||
|
||||
// Put all the above into a new State object.
|
||||
val state = State(fixedLeg, floatingLeg, newCalculation, common)
|
||||
return TransactionBuilder().withItems(state, Command(Commands.Agree(), listOf(state.floatingLeg.floatingRatePayer.owningKey, state.fixedLeg.fixedRatePayer.owningKey)))
|
||||
}
|
||||
|
||||
private fun calcFixingDate(date: LocalDate, fixingPeriod: DateOffset, calendar: BusinessCalendar): LocalDate {
|
||||
return when (fixingPeriod) {
|
||||
DateOffset.ZERO -> date
|
||||
DateOffset.TWODAYS -> calendar.moveBusinessDays(date, DateRollDirection.BACKWARD, 2)
|
||||
else -> TODO("Improved fixing date calculation logic")
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Replace with rates oracle
|
||||
fun generateFix(tx: TransactionBuilder, irs: StateAndRef<State>, fixing: Pair<LocalDate, Rate>) {
|
||||
tx.addInputState(irs.ref)
|
||||
tx.addOutputState(irs.state.copy(calculation = irs.state.calculation.applyFixing(fixing.first, fixing.second)))
|
||||
tx.addCommand(Commands.Fix(), listOf(irs.state.floatingLeg.floatingRatePayer.owningKey, irs.state.fixedLeg.fixedRatePayer.owningKey))
|
||||
}
|
||||
}
|
15
contracts/src/main/kotlin/contracts/IRSExport.kt
Normal file
15
contracts/src/main/kotlin/contracts/IRSExport.kt
Normal file
@ -0,0 +1,15 @@
|
||||
/*
|
||||
* Copyright 2015 Distributed Ledger Group LLC. Distributed as Licensed Company IP to DLG Group Members
|
||||
* pursuant to the August 7, 2015 Advisory Services Agreement and subject to the Company IP License terms
|
||||
* set forth therein.
|
||||
*
|
||||
* All other rights reserved.
|
||||
*/
|
||||
|
||||
package contracts
|
||||
|
||||
fun InterestRateSwap.State.exportIRSToCSV() : String =
|
||||
"Fixed Leg\n" + FixedRatePaymentEvent.CSVHeader + "\n" +
|
||||
this.calculation.fixedLegpaymentSchedule.toSortedMap().values.map{ it.asCSV() }.joinToString("\n") + "\n" +
|
||||
"Floating Leg\n" + FloatingRatePaymentEvent.CSVHeader + "\n" +
|
||||
this.calculation.floatingLegPaymentSchedule.toSortedMap().values.map{ it.asCSV() }.joinToString("\n") + "\n"
|
100
contracts/src/main/kotlin/contracts/IRSUtils.kt
Normal file
100
contracts/src/main/kotlin/contracts/IRSUtils.kt
Normal file
@ -0,0 +1,100 @@
|
||||
package contracts
|
||||
|
||||
import core.Amount
|
||||
import core.Tenor
|
||||
import java.math.BigDecimal
|
||||
import java.time.LocalDate
|
||||
|
||||
|
||||
// Things in here will move to the general utils class when we've hammered out various discussions regarding amounts, dates, oracle etc.
|
||||
|
||||
/**
|
||||
* A utility class to prevent the various mixups between percentages, decimals, bips etc.
|
||||
*/
|
||||
open class RatioUnit(value: BigDecimal) { // TODO: Discuss this type
|
||||
val value = value
|
||||
}
|
||||
|
||||
/**
|
||||
* A class to reprecent a percentage in an unambiguous way.
|
||||
*/
|
||||
open class PercentageRatioUnit(percentageAsString: String) : RatioUnit(BigDecimal(percentageAsString).divide(BigDecimal("100"))) {
|
||||
override fun toString(): String = value.times(BigDecimal(100)).toString()+"%"
|
||||
}
|
||||
|
||||
/**
|
||||
* For the convenience of writing "5".percent
|
||||
* Note that we do not currently allow 10.percent (ie no quotes) as this might get a little confusing if
|
||||
* 0.1.percent was written TODO: Discuss
|
||||
*/
|
||||
val String.percent: PercentageRatioUnit get() = PercentageRatioUnit(this)
|
||||
|
||||
/**
|
||||
* Parent of the Rate family. Used to denote fixed rates, floating rates, reference rates etc
|
||||
*/
|
||||
open class Rate(val ratioUnit: RatioUnit? = null)
|
||||
|
||||
/**
|
||||
* A very basic subclass to represent a fixed rate.
|
||||
*/
|
||||
class FixedRate(ratioUnit: RatioUnit) : Rate(ratioUnit) {
|
||||
override fun toString(): String = "$ratioUnit"
|
||||
}
|
||||
|
||||
/**
|
||||
* The parent class of the Floating rate classes
|
||||
*/
|
||||
open class FloatingRate: Rate(null)
|
||||
|
||||
/**
|
||||
* So a reference rate is a rate that takes its value from a source at a given date
|
||||
* e.g. LIBOR 6M as of 17 March 2016. Hence it requires a source (name) and a value date in the getAsOf(..) method.
|
||||
*/
|
||||
abstract class ReferenceRate(val name: String): FloatingRate() {
|
||||
abstract fun getAsOf(date: LocalDate?) : RatioUnit
|
||||
}
|
||||
|
||||
/**
|
||||
* A concrete implementation of the above for testing purposes
|
||||
*/
|
||||
open class TestReferenceRate(val testrate: String) : ReferenceRate(testrate) {
|
||||
override fun getAsOf(date: LocalDate?) : RatioUnit {
|
||||
return testrate.percent
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This represents a source of data.
|
||||
*/
|
||||
abstract class Oracle() { abstract fun retrieve(tenor: Tenor, date: LocalDate) : RatioUnit }
|
||||
|
||||
class ReutersOracle() : Oracle() {
|
||||
override fun retrieve(tenor: Tenor, date: LocalDate): RatioUnit {
|
||||
TODO("Reuters Oracle retrieval")
|
||||
}
|
||||
}
|
||||
|
||||
class TelerateOracle(page: String) : Oracle() {
|
||||
override fun retrieve(tenor: Tenor, date: LocalDate): RatioUnit {
|
||||
TODO("Telerate Oracle retrieval")
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* A Reference rate that is retrieved via an Oracle.
|
||||
*/
|
||||
open class OracleRetrievableReferenceRate(val oracle: Oracle, val tenor: Tenor, referenceRate: String) : ReferenceRate(referenceRate) {
|
||||
override fun getAsOf(date: LocalDate?): RatioUnit {
|
||||
return oracle.retrieve(tenor,date!!)
|
||||
}
|
||||
override fun toString(): String = "$name - $tenor"
|
||||
}
|
||||
|
||||
// TODO: For further discussion.
|
||||
operator fun Amount.times(other: RatioUnit): Amount = Amount((BigDecimal(this.pennies).multiply(other.value)).longValueExact(), this.currency)
|
||||
//operator fun Amount.times(other: FixedRate): Amount = Amount((BigDecimal(this.pennies).multiply(other.value)).longValueExact(), this.currency)
|
||||
//fun Amount.times(other: InterestRateSwap.RatioUnit): Amount = Amount((BigDecimal(this.pennies).multiply(other.value)).longValueExact(), this.currency)
|
||||
|
||||
operator fun kotlin.Int.times(other: FixedRate): Int = BigDecimal(this).multiply(other.ratioUnit!!.value).intValueExact()
|
||||
operator fun Int.times(other: Rate): Int = BigDecimal(this).multiply(other.ratioUnit!!.value).intValueExact()
|
||||
operator fun Int.times(other: RatioUnit): Int = BigDecimal(this).multiply(other.value).intValueExact()
|
@ -10,7 +10,6 @@ package core
|
||||
|
||||
import java.math.BigDecimal
|
||||
import java.time.DayOfWeek
|
||||
import java.time.Duration
|
||||
import java.time.LocalDate
|
||||
import java.time.format.DateTimeFormatter
|
||||
import java.util.*
|
||||
@ -39,6 +38,8 @@ data class Amount(val pennies: Long, val currency: Currency) : Comparable<Amount
|
||||
require(pennies >= 0) { "Negative amounts are not allowed: $pennies" }
|
||||
}
|
||||
|
||||
constructor(amount:BigDecimal, currency: Currency) : this(amount.toLong(), currency)
|
||||
|
||||
operator fun plus(other: Amount): Amount {
|
||||
checkCurrency(other)
|
||||
return Amount(Math.addExact(pennies, other.pennies), currency)
|
||||
@ -58,7 +59,8 @@ data class Amount(val pennies: Long, val currency: Currency) : Comparable<Amount
|
||||
operator fun div(other: Int): Amount = Amount(pennies / other, currency)
|
||||
operator fun times(other: Int): Amount = Amount(Math.multiplyExact(pennies, other.toLong()), currency)
|
||||
|
||||
override fun toString(): String = currency.currencyCode + " " + (BigDecimal(pennies).divide(BigDecimal(100))).setScale(2).toPlainString()
|
||||
// override fun toString(): String = currency.currencyCode + " " + (BigDecimal(pennies).divide(BigDecimal(100))).setScale(2).toPlainString()
|
||||
override fun toString(): String = (BigDecimal(pennies).divide(BigDecimal(100))).setScale(2).toPlainString()
|
||||
|
||||
override fun compareTo(other: Amount): Int {
|
||||
checkCurrency(other)
|
||||
@ -76,7 +78,7 @@ fun Iterable<Amount>.sumOrZero(currency: Currency) = if (iterator().hasNext()) s
|
||||
//
|
||||
|
||||
/** A [FixOf] identifies the question side of a fix: what day, tenor and type of fix ("LIBOR", "EURIBOR" etc) */
|
||||
data class FixOf(val name: String, val forDay: LocalDate, val ofTenor: Duration)
|
||||
data class FixOf(val name: String, val forDay: LocalDate, val ofTenor: Tenor)
|
||||
/** A [Fix] represents a named interest rate, on a given day, for a given duration. It can be embedded in a tx. */
|
||||
data class Fix(val of: FixOf, val value: BigDecimal) : CommandData
|
||||
|
||||
@ -84,7 +86,15 @@ data class Fix(val of: FixOf, val value: BigDecimal) : CommandData
|
||||
|
||||
/**
|
||||
* Placeholder class for the Tenor datatype - which is a standardised duration of time until maturity */
|
||||
data class Tenor(var name:String)
|
||||
data class Tenor(val name:String) {
|
||||
init {
|
||||
val verifier = Regex("([0-9])+([DMYW])") // Only doing Overnight, Day, Week, Month, Year for now.
|
||||
if (!(name == "ON" || verifier.containsMatchIn(name))) {
|
||||
throw IllegalArgumentException("Unrecognized tenor : $name")
|
||||
}
|
||||
}
|
||||
override fun toString(): String = "$name"
|
||||
}
|
||||
|
||||
/** Simple enum for returning accurals adjusted or unadjusted.
|
||||
* We don't actually do anything with this yet though, so it's ignored for now.
|
||||
@ -142,16 +152,25 @@ enum class DateRollConvention {
|
||||
}
|
||||
|
||||
|
||||
/** This forms the day part of the "Day Count Basis" used for interest calculation. */
|
||||
/**
|
||||
* This forms the day part of the "Day Count Basis" used for interest calculation.
|
||||
* Note that the first character cannot be a number (enum naming constraints), so we drop that
|
||||
* in the toString lest some people get confused. */
|
||||
enum class DayCountBasisDay {
|
||||
// We have to prefix 30 etc with a letter due to enum naming constraints.
|
||||
D30, D30N, D30P, D30E, D30G, Actual, ActualJ, D30Z, D30F, Bus_SaoPaulo
|
||||
D30, D30N, D30P, D30E, D30G, DActual, DActualJ, D30Z, D30F, DBus_SaoPaulo;
|
||||
override fun toString(): String {
|
||||
return super.toString().drop(1)
|
||||
}
|
||||
}
|
||||
|
||||
/** This forms the year part of the "Day Count Basis" used for interest calculation. */
|
||||
enum class DayCountBasisYear {
|
||||
// Ditto above comment for years.
|
||||
Y360, Y365F, Y365L, Y365Q, Y366, Actual, ActualA, Y365B, Y365, ISMA, ICMA, Y252
|
||||
Y360, Y365F, Y365L, Y365Q, Y366, YActual, YActualA, Y365B, Y365, YISMA, YICMA, Y252;
|
||||
override fun toString(): String {
|
||||
return super.toString().drop(1)
|
||||
}
|
||||
}
|
||||
|
||||
/** Whether the payment should be made before the due date, or after it. */
|
||||
@ -284,16 +303,32 @@ open class BusinessCalendar private constructor(val holidayDates: List<LocalDate
|
||||
}
|
||||
return trialDate
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a date which is the inbound date plus/minus a given number of business days.
|
||||
* TODO: Make more efficient if necessary
|
||||
*/
|
||||
fun moveBusinessDays(date: LocalDate, direction: DateRollDirection, i: Int): LocalDate {
|
||||
require(i >= 0)
|
||||
if ( i == 0 ) return date
|
||||
var retDate = date
|
||||
var ctr = 0
|
||||
while (ctr < i) {
|
||||
retDate = retDate.plusDays(direction.value)
|
||||
if (isWorkingDay(retDate)) ctr++
|
||||
}
|
||||
return retDate
|
||||
}
|
||||
}
|
||||
|
||||
fun dayCountCalculator(startDate: LocalDate, endDate: LocalDate,
|
||||
dcbYear: DayCountBasisYear,
|
||||
dcbDay: DayCountBasisDay): BigDecimal {
|
||||
dcbDay: DayCountBasisDay): Int {
|
||||
// Right now we are only considering Actual/360 and 30/360 .. We'll do the rest later.
|
||||
// TODO: The rest.
|
||||
return when {
|
||||
dcbDay == DayCountBasisDay.Actual && dcbYear == DayCountBasisYear.Y360 -> BigDecimal((endDate.toEpochDay() - startDate.toEpochDay()))
|
||||
dcbDay == DayCountBasisDay.D30 && dcbYear == DayCountBasisYear.Y360 -> BigDecimal((endDate.year - startDate.year) * 360.0 + (endDate.monthValue - startDate.monthValue) * 30.0 + endDate.dayOfMonth - startDate.dayOfMonth)
|
||||
dcbDay == DayCountBasisDay.DActual && dcbYear == DayCountBasisYear.Y360 -> (endDate.toEpochDay() - startDate.toEpochDay()).toInt()
|
||||
dcbDay == DayCountBasisDay.D30 && dcbYear == DayCountBasisYear.Y360 -> ((endDate.year - startDate.year) * 360.0 + (endDate.monthValue - startDate.monthValue) * 30.0 + endDate.dayOfMonth - startDate.dayOfMonth).toInt()
|
||||
else -> TODO("Can't calculate days using convention $dcbDay / $dcbYear")
|
||||
}
|
||||
}
|
||||
|
@ -159,3 +159,5 @@ fun extractZipFile(zipPath: Path, toPath: Path) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Generic csv printing utility for clases.
|
@ -11,6 +11,8 @@ package core
|
||||
import org.junit.Test
|
||||
import java.time.LocalDate
|
||||
import java.util.*
|
||||
import kotlin.test.assertEquals
|
||||
import kotlin.test.assertFailsWith
|
||||
|
||||
class FinanceTypesTest {
|
||||
|
||||
@ -20,6 +22,19 @@ class FinanceTypesTest {
|
||||
assert("0.01" in x.toString())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `valid tenor tests`() {
|
||||
val exampleTenors = ("ON,1D,2D,3D,4D,5D,6D,7D,1W,2W,3W,1M,3M,6M,1Y,2Y,3Y,5Y,10Y,12Y,20Y").split(",")
|
||||
exampleTenors.all { Tenor(it).name.length > 0 } // Slightly obtuse way of ensuring no exception thrown in construction.
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `invalid tenor tests`() {
|
||||
val exampleTenors = ("W,M,D,Z,2Q,p0,W1").split(",")
|
||||
for (t in exampleTenors) {
|
||||
assertFailsWith<java.lang.IllegalArgumentException> { Tenor(t) }
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `schedule generator 1`() {
|
||||
@ -90,7 +105,46 @@ class FinanceTypesTest {
|
||||
assert(result == LocalDate.of(2016,12,28))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `calendar date advancing`() {
|
||||
val ldn = BusinessCalendar.getInstance("London")
|
||||
val firstDay = LocalDate.of(2015, 12, 20)
|
||||
val expected = mapOf(0 to firstDay,
|
||||
1 to LocalDate.of(2015, 12, 21),
|
||||
2 to LocalDate.of(2015, 12, 22),
|
||||
3 to LocalDate.of(2015, 12, 23),
|
||||
4 to LocalDate.of(2015, 12, 24),
|
||||
5 to LocalDate.of(2015, 12, 29),
|
||||
6 to LocalDate.of(2015, 12, 30),
|
||||
7 to LocalDate.of(2015, 12, 31)
|
||||
)
|
||||
|
||||
for ((inc, exp) in expected) {
|
||||
var result = ldn.moveBusinessDays(firstDay, DateRollDirection.FORWARD, inc)
|
||||
assertEquals(exp, result)
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `calendar date preceeding`() {
|
||||
val ldn = BusinessCalendar.getInstance("London")
|
||||
val firstDay = LocalDate.of(2015, 12, 31)
|
||||
val expected = mapOf(0 to firstDay,
|
||||
1 to LocalDate.of(2015, 12, 30),
|
||||
2 to LocalDate.of(2015, 12, 29),
|
||||
3 to LocalDate.of(2015, 12, 24),
|
||||
4 to LocalDate.of(2015, 12, 23),
|
||||
5 to LocalDate.of(2015, 12, 22),
|
||||
6 to LocalDate.of(2015, 12, 21),
|
||||
7 to LocalDate.of(2015, 12, 18)
|
||||
)
|
||||
|
||||
for ((inc, exp) in expected) {
|
||||
var result = ldn.moveBusinessDays(firstDay, DateRollDirection.BACKWARD, inc)
|
||||
assertEquals(exp, result)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
977
docs/build/html/api/alltypes/index.html
vendored
Normal file
977
docs/build/html/api/alltypes/index.html
vendored
Normal file
@ -0,0 +1,977 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>alltypes - </title>
|
||||
<link rel="stylesheet" href="../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<h3>All Types</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.utilities/-a-n-s-i-progress-renderer/index.html">core.utilities.ANSIProgressRenderer</a></td>
|
||||
<td>
|
||||
<p>Knows how to render a <a href="../core.utilities/-progress-tracker/index.html">ProgressTracker</a> to the terminal using coloured, emoji-fied output. Useful when writing small
|
||||
command line tools, demos, tests etc. Just set the <a href="../core.utilities/-a-n-s-i-progress-renderer/progress-tracker.html">progressTracker</a> field and it will go ahead and start drawing
|
||||
if the terminal supports it. Otherwise it just prints out the name of the step whenever it changes.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node/-abstract-node/index.html">core.node.AbstractNode</a></td>
|
||||
<td>
|
||||
<p>A base node implementation that can be customised either for production (with real implementations that do real
|
||||
I/O), or a mock implementation suitable for unit test environments.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node/-accepts-file-upload/index.html">core.node.AcceptsFileUpload</a></td>
|
||||
<td>
|
||||
<p>A service that implements AcceptsFileUpload can have new binary data provided to it via an HTTP upload.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-accrual-adjustment/index.html">core.AccrualAdjustment</a></td>
|
||||
<td>
|
||||
<p>Simple enum for returning accurals adjusted or unadjusted.
|
||||
We dont actually do anything with this yet though, so its ignored for now.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.messaging/-all-possible-recipients.html">core.messaging.AllPossibleRecipients</a></td>
|
||||
<td>
|
||||
<p>A special base class for the set of all possible recipients, without having to identify who they all are.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-amount/index.html">core.Amount</a></td>
|
||||
<td>
|
||||
<p>Amount represents a positive quantity of currency, measured in pennies, which are the smallest representable units.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node.services/-artemis-messaging-service/index.html">core.node.services.ArtemisMessagingService</a></td>
|
||||
<td>
|
||||
<p>This class implements the <a href="../core.messaging/-messaging-service/index.html">MessagingService</a> API using Apache Artemis, the successor to their ActiveMQ product.
|
||||
Artemis is a message queue broker and here, we embed the entire server inside our own process. Nodes communicate
|
||||
with each other using (by default) an Artemis specific protocol, but it supports other protocols like AQMP/1.0
|
||||
as well.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-attachment/index.html">core.Attachment</a></td>
|
||||
<td>
|
||||
<p>An attachment is a ZIP (or an optionally signed JAR) that contains one or more files. Attachments are meant to
|
||||
contain public static data which can be referenced from transactions and utilised from contracts. Good examples
|
||||
of how attachments are meant to be used include:</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node.servlets/-attachment-download-servlet/index.html">core.node.servlets.AttachmentDownloadServlet</a></td>
|
||||
<td>
|
||||
<p>Allows the node administrator to either download full attachment zips, or individual files within those zips.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node.services/-attachment-storage/index.html">core.node.services.AttachmentStorage</a></td>
|
||||
<td>
|
||||
<p>An attachment store records potentially large binary objects, identified by their hash. Note that attachments are
|
||||
immutable and can never be erased once inserted</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-authenticated-object/index.html">core.AuthenticatedObject</a></td>
|
||||
<td>
|
||||
<p>Wraps an object that was signed by a public key, which may be a well known/recognised institutional key.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.utilities/-brief-log-formatter/index.html">core.utilities.BriefLogFormatter</a></td>
|
||||
<td>
|
||||
<p>A Java logging formatter that writes more compact output than the default.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-business-calendar/index.html">core.BusinessCalendar</a></td>
|
||||
<td>
|
||||
<p>A business calendar performs date calculations that take into account national holidays and weekends. This is a
|
||||
typical feature of financial contracts, in which a business may not want a payment event to fall on a day when
|
||||
no staff are around to handle problems.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.crypto/kotlin.-byte-array/index.html">kotlin.ByteArray</a> (extensions in package core.crypto)</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.serialization/kotlin.-byte-array/index.html">kotlin.ByteArray</a> (extensions in package core.serialization)</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../contracts/-cash/index.html">contracts.Cash</a></td>
|
||||
<td>
|
||||
<p>A cash transaction may split and merge money represented by a set of (issuer, depositRef) pairs, across multiple
|
||||
input and output states. Imagine a Bitcoin transaction but in which all UTXOs had a colour
|
||||
(a blend of issuer+depositRef) and you couldnt merge outputs of two colours together, but you COULD put them in
|
||||
the same transaction.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-command/index.html">core.Command</a></td>
|
||||
<td>
|
||||
<p>Command data/content plus pubkey pair: the signature is stored at the end of the serialized bytes</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-command-data.html">core.CommandData</a></td>
|
||||
<td>
|
||||
<p>Marker interface for classes that represent commands</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../contracts/-commercial-paper/index.html">contracts.CommercialPaper</a></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../api/-config/index.html">api.Config</a></td>
|
||||
<td>
|
||||
<p>Primary purpose is to install Kotlin extensions for Jackson ObjectMapper so data classes work
|
||||
and to organise serializers / deserializers for java.time.* classes as necessary</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node/-configuration-exception/index.html">core.node.ConfigurationException</a></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-contract/index.html">core.Contract</a></td>
|
||||
<td>
|
||||
<p>Implemented by a program that implements business logic on the shared ledger. All participants run this code for
|
||||
every <a href="../core/-ledger-transaction/index.html">LedgerTransaction</a> they see on the network, for every input and output state. All contracts must accept the
|
||||
transaction for it to be accepted: failure of any aborts the entire thing. The time is taken from a trusted
|
||||
timestamp attached to the transaction itself i.e. it is NOT necessarily the current time.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-contract-factory/index.html">core.ContractFactory</a></td>
|
||||
<td>
|
||||
<p>A contract factory knows how to lazily load and instantiate contract objects.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-contract-state/index.html">core.ContractState</a></td>
|
||||
<td>
|
||||
<p>A contract state (or just "state") contains opaque data used by a contract program. It can be thought of as a disk
|
||||
file that the program can use to persist data across transactions. States are immutable: once created they are never
|
||||
updated, instead, any changes must generate a new successor state.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../contracts/-crowd-fund/index.html">contracts.CrowdFund</a></td>
|
||||
<td>
|
||||
<p>This is a basic crowd funding contract. It allows a party to create a funding opportunity, then for others to
|
||||
pledge during the funding period , and then for the party to either accept the funding (if the target has been reached)
|
||||
return the funds to the pledge-makers (if the target has not been reached).</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node.servlets/-data-upload-servlet/index.html">core.node.servlets.DataUploadServlet</a></td>
|
||||
<td>
|
||||
<p>Accepts binary streams, finds the right <a href="../core.node/-accepts-file-upload/index.html">AcceptsFileUpload</a> implementor and hands the stream off to it.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node.services/-data-vending-service/index.html">core.node.services.DataVendingService</a></td>
|
||||
<td>
|
||||
<p>This class sets up network message handlers for requests from peers for data keyed by hash. It is a piece of simple
|
||||
glue that sits between the network layer and the database layer.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-date-offset/index.html">core.DateOffset</a></td>
|
||||
<td>
|
||||
<p>Date offset that the fixing is done prior to the accrual start date.
|
||||
Currently not used in the calculation.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-date-roll-convention/index.html">core.DateRollConvention</a></td>
|
||||
<td>
|
||||
<p>This reflects what happens if a date on which a business event is supposed to happen actually falls upon a non-working day
|
||||
Depending on the accounting requirement, we can move forward until we get to a business day, or backwards
|
||||
There are some additional rules which are explained in the individual cases below</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-date-roll-direction/index.html">core.DateRollDirection</a></td>
|
||||
<td>
|
||||
<p>This is utilised in the <a href="../core/-date-roll-convention/index.html">DateRollConvention</a> class to determine which way we should initially step when
|
||||
finding a business day</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-day-count-basis-day/index.html">core.DayCountBasisDay</a></td>
|
||||
<td>
|
||||
<p>This forms the day part of the "Day Count Basis" used for interest calculation.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-day-count-basis-year/index.html">core.DayCountBasisYear</a></td>
|
||||
<td>
|
||||
<p>This forms the year part of the "Day Count Basis" used for interest calculation.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node/-default-configuration/index.html">core.node.DefaultConfiguration</a></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.crypto/-digital-signature/index.html">core.crypto.DigitalSignature</a></td>
|
||||
<td>
|
||||
<p>A wrapper around a digital signature. The covering field is a generic tag usable by whatever is interpreting the
|
||||
signature. It isnt used currently, but experience from Bitcoin suggests such a feature is useful, especially when
|
||||
building partially signed transactions.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/kotlin.-double/index.html">kotlin.Double</a> (extensions in package core)</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../contracts/-dummy-contract/index.html">contracts.DummyContract</a></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.crypto/-dummy-public-key/index.html">core.crypto.DummyPublicKey</a></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node.services/-dummy-timestamping-authority/index.html">core.node.services.DummyTimestampingAuthority</a></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node.services/-e2-e-test-key-management-service/index.html">core.node.services.E2ETestKeyManagementService</a></td>
|
||||
<td>
|
||||
<p>A simple in-memory KMS that doesnt bother saving keys to disk. A real implementation would:</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.utilities/-emoji/index.html">core.utilities.Emoji</a></td>
|
||||
<td>
|
||||
<p>A simple wrapper class that contains icons and support for printing them only when were connected to a terminal.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../protocols/-fetch-attachments-protocol/index.html">protocols.FetchAttachmentsProtocol</a></td>
|
||||
<td>
|
||||
<p>Given a set of hashes either loads from from local storage or requests them from the other peer. Downloaded
|
||||
attachments are saved to local storage automatically.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../protocols/-fetch-data-protocol/index.html">protocols.FetchDataProtocol</a></td>
|
||||
<td>
|
||||
<p>An abstract protocol for fetching typed data from a remote peer.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../protocols/-fetch-transactions-protocol/index.html">protocols.FetchTransactionsProtocol</a></td>
|
||||
<td>
|
||||
<p>Given a set of tx hashes (IDs), either loads them from local disk or asks the remote peer to provide them.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-fix/index.html">core.Fix</a></td>
|
||||
<td>
|
||||
<p>A <a href="../core/-fix/index.html">Fix</a> represents a named interest rate, on a given day, for a given duration. It can be embedded in a tx.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-fix-of/index.html">core.FixOf</a></td>
|
||||
<td>
|
||||
<p>A <a href="../core/-fix-of/index.html">FixOf</a> identifies the question side of a fix: what day, tenor and type of fix ("LIBOR", "EURIBOR" etc)</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node.services/-fixed-identity-service/index.html">core.node.services.FixedIdentityService</a></td>
|
||||
<td>
|
||||
<p>Scaffolding: a dummy identity service that just expects to have identities loaded off disk or found elsewhere.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-frequency/index.html">core.Frequency</a></td>
|
||||
<td>
|
||||
<p>Frequency at which an event occurs - the enumerator also casts to an integer specifying the number of times per year
|
||||
that would divide into (eg annually = 1, semiannual = 2, monthly = 12 etc).</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node.services/-identity-service/index.html">core.node.services.IdentityService</a></td>
|
||||
<td>
|
||||
<p>An identity service maintains an bidirectional map of <a href="../core/-party/index.html">Party</a>s to their associated public keys and thus supports
|
||||
lookup of a party given its key. This is obviously very incomplete and does not reflect everything a real identity
|
||||
service would provide.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.serialization/-immutable-class-serializer/index.html">core.serialization.ImmutableClassSerializer</a></td>
|
||||
<td>
|
||||
<p>Serializes properties and deserializes by using the constructor. This assumes that all backed properties are
|
||||
set via the constructor and the class is immutable.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../contracts/-insufficient-balance-exception/index.html">contracts.InsufficientBalanceException</a></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/kotlin.-int/index.html">kotlin.Int</a> (extensions in package core)</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/kotlin.collections.-iterable/index.html">kotlin.collections.Iterable</a> (extensions in package core)</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../contracts/kotlin.collections.-iterable/index.html">kotlin.collections.Iterable</a> (extensions in package contracts)</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node.services/-key-management-service/index.html">core.node.services.KeyManagementService</a></td>
|
||||
<td>
|
||||
<p>The KMS is responsible for storing and using private keys to sign things. An implementation of this may, for example,
|
||||
call out to a hardware security module that enforces various auditing and frequency-of-use requirements.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.crypto/java.security.-key-pair/index.html">java.security.KeyPair</a> (extensions in package core.crypto)</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-ledger-transaction/index.html">core.LedgerTransaction</a></td>
|
||||
<td>
|
||||
<p>A LedgerTransaction wraps the data needed to calculate one or more successor states from a set of input states.
|
||||
It is the first step after extraction from a WireTransaction. The signatures at this point have been lined up
|
||||
with the commands from the wire, and verified/looked up.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.messaging/-legally-identifiable-node/index.html">core.messaging.LegallyIdentifiableNode</a></td>
|
||||
<td>
|
||||
<p>Info about a network node that has is operated by some sort of verified identity.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/kotlin.collections.-list/index.html">kotlin.collections.List</a> (extensions in package core)</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/java.time.-local-date/index.html">java.time.LocalDate</a> (extensions in package core)</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/kotlin.-long/index.html">kotlin.Long</a> (extensions in package core)</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.messaging/-message/index.html">core.messaging.Message</a></td>
|
||||
<td>
|
||||
<p>A message is defined, at this level, to be a (topic, timestamp, byte arrays) triple, where the topic is a string in
|
||||
Java-style reverse dns form, with "platform." being a prefix reserved by the platform for its own use. Vendor
|
||||
specific messages can be defined, but use your domain name as the prefix e.g. "uk.co.bigbank.messages.SomeMessage".</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.messaging/-message-handler-registration.html">core.messaging.MessageHandlerRegistration</a></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.messaging/-message-recipient-group.html">core.messaging.MessageRecipientGroup</a></td>
|
||||
<td>
|
||||
<p>A base class for a set of recipients specifically identified by the sender.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.messaging/-message-recipients.html">core.messaging.MessageRecipients</a></td>
|
||||
<td>
|
||||
<p>The interface for a group of message recipients (which may contain only one recipient)</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.messaging/-messaging-service/index.html">core.messaging.MessagingService</a></td>
|
||||
<td>
|
||||
<p>A <a href="../core.messaging/-messaging-service/index.html">MessagingService</a> sits at the boundary between a message routing / networking layer and the core platform code.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.messaging/-messaging-service-builder/index.html">core.messaging.MessagingServiceBuilder</a></td>
|
||||
<td>
|
||||
<p>This class lets you start up a <a href="../core.messaging/-messaging-service/index.html">MessagingService</a>. Its purpose is to stop you from getting access to the methods
|
||||
on the messaging service interface until you have successfully started up the system. One of these objects should
|
||||
be the only way to obtain a reference to a <a href="../core.messaging/-messaging-service/index.html">MessagingService</a>. Startup may be a slow process: some implementations
|
||||
may let you cast the returned future to an object that lets you get status info.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.messaging/-mock-network-map-service/index.html">core.messaging.MockNetworkMapService</a></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node.services/-monitoring-service/index.html">core.node.services.MonitoringService</a></td>
|
||||
<td>
|
||||
<p>Provides access to various metrics and ways to notify monitoring services of things, for sysadmin purposes.
|
||||
This is not an interface because it is too lightweight to bother mocking out.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-named-by-hash/index.html">core.NamedByHash</a></td>
|
||||
<td>
|
||||
<p>Implemented by anything that can be named by a secure hash value (e.g. transactions, attachments).</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.messaging/-network-map-service/index.html">core.messaging.NetworkMapService</a></td>
|
||||
<td>
|
||||
<p>A network map contains lists of nodes on the network along with information about their identity keys, services
|
||||
they provide and host names or IP addresses where they can be connected to. A reasonable architecture for the
|
||||
network map service might be one like the Tor directory authorities, where several nodes linked by RAFT or Paxos
|
||||
elect a leader and that leader distributes signed documents describing the network layout. Those documents can
|
||||
then be cached by every node and thus a network map can be retrieved given only a single successful peer connection.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node/-node/index.html">core.node.Node</a></td>
|
||||
<td>
|
||||
<p>A Node manages a standalone server that takes part in the P2P network. It creates the services found in <a href="#">ServiceHub</a>,
|
||||
loads important data off disk and starts listening for connections.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node.services/-node-attachment-service/index.html">core.node.services.NodeAttachmentService</a></td>
|
||||
<td>
|
||||
<p>Stores attachments in the specified local directory, which must exist. Doesnt allow new attachments to be uploaded.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node/-node-configuration/index.html">core.node.NodeConfiguration</a></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node/-node-configuration-from-properties/index.html">core.node.NodeConfigurationFromProperties</a></td>
|
||||
<td>
|
||||
<p>A simple wrapper around a plain old Java .properties file. The keys have the same name as in the source code.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node.services/-node-interest-rates/index.html">core.node.services.NodeInterestRates</a></td>
|
||||
<td>
|
||||
<p>An interest rates service is an oracle that signs transactions which contain embedded assertions about an interest
|
||||
rate fix (e.g. LIBOR, EURIBOR ...).</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node.services/-node-timestamper-service/index.html">core.node.services.NodeTimestamperService</a></td>
|
||||
<td>
|
||||
<p>This class implements the server side of the timestamping protocol, using the local clock. A future version might
|
||||
add features like checking against other NTP servers to make sure the clock hasnt drifted by too much.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node.services/-node-wallet-service/index.html">core.node.services.NodeWalletService</a></td>
|
||||
<td>
|
||||
<p>This class implements a simple, in memory wallet that tracks states that are owned by us, and also has a convenience
|
||||
method to auto-generate some self-issued cash states that can be used for test trading. A real wallet would persist
|
||||
states relevant to us into a database and once such a wallet is implemented, this scaffolding can be removed.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.crypto/-null-public-key/index.html">core.crypto.NullPublicKey</a></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.serialization/-opaque-bytes/index.html">core.serialization.OpaqueBytes</a></td>
|
||||
<td>
|
||||
<p>A simple class that wraps a byte array and makes the equals/hashCode/toString methods work as you actually expect.
|
||||
In an ideal JVM this would be a value type and be completely overhead free. Project Valhalla is adding such
|
||||
functionality to Java, but it wont arrive for a few years yet</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-ownable-state/index.html">core.OwnableState</a></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-party/index.html">core.Party</a></td>
|
||||
<td>
|
||||
<p>A <a href="../core/-party/index.html">Party</a> is well known (name, pubkey) pair. In a real system this would probably be an X.509 certificate.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-party-reference/index.html">core.PartyReference</a></td>
|
||||
<td>
|
||||
<p>Reference to something being stored or issued by a party e.g. in a vault or (more likely) on their normal
|
||||
ledger. The reference is intended to be encrypted so its meaningless to anyone other than the party.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/java.nio.file.-path/index.html">java.nio.file.Path</a> (extensions in package core)</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-payment-rule/index.html">core.PaymentRule</a></td>
|
||||
<td>
|
||||
<p>Whether the payment should be made before the due date, or after it.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.crypto/java.security.-private-key/index.html">java.security.PrivateKey</a> (extensions in package core.crypto)</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.utilities/-progress-tracker/index.html">core.utilities.ProgressTracker</a></td>
|
||||
<td>
|
||||
<p>A progress tracker helps surface information about the progress of an operation to a user interface or API of some
|
||||
kind. It lets you define a set of <emph>steps</emph> that represent an operation. A step is represented by an object (typically
|
||||
a singleton).</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.protocols/-protocol-logic/index.html">core.protocols.ProtocolLogic</a></td>
|
||||
<td>
|
||||
<p>A sub-class of <a href="../core.protocols/-protocol-logic/index.html">ProtocolLogic</a> implements a protocol flow using direct, straight line blocking code. Thus you
|
||||
can write complex protocol logic in an ordinary fashion, without having to think about callbacks, restarting after
|
||||
a node crash, how many instances of your protocol there are running and so on.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.protocols/-protocol-state-machine/index.html">core.protocols.ProtocolStateMachine</a></td>
|
||||
<td>
|
||||
<p>A ProtocolStateMachine instance is a suspendable fiber that delegates all actual logic to a <a href="../core.protocols/-protocol-logic/index.html">ProtocolLogic</a> instance.
|
||||
For any given flow there is only one PSM, even if that protocol invokes subprotocols.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.crypto/java.security.-public-key/index.html">java.security.PublicKey</a> (extensions in package core.crypto)</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../protocols/-rates-fix-protocol/index.html">protocols.RatesFixProtocol</a></td>
|
||||
<td>
|
||||
<p>This protocol queries the given oracle for an interest rate fix, and if it is within the given tolerance embeds the
|
||||
fix in the transaction and then proceeds to get the oracle to sign it. Although the <a href="../protocols/-rates-fix-protocol/call.html">call</a> method combines the query
|
||||
and signing step, you can run the steps individually by constructing this object and then using the public methods
|
||||
for each step.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.utilities/-recording-map/index.html">core.utilities.RecordingMap</a></td>
|
||||
<td>
|
||||
<p>A RecordingMap wraps a regular Map<K, V> and records the sequence of gets and puts to it. This is useful in
|
||||
white box unit tests to ensure that code is accessing a data store as much as you expect.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-requirements/index.html">core.Requirements</a></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../protocols/-resolve-transactions-protocol/index.html">protocols.ResolveTransactionsProtocol</a></td>
|
||||
<td>
|
||||
<p>This protocol fetches each transaction identified by the given hashes from either disk or network, along with all
|
||||
their dependencies, and verifies them together using a single <a href="../core/-transaction-group/index.html">TransactionGroup</a>. If no exception is thrown, then
|
||||
all the transactions have been successfully verified and inserted into the local database.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.crypto/-secure-hash/index.html">core.crypto.SecureHash</a></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.serialization/-serialized-bytes/index.html">core.serialization.SerializedBytes</a></td>
|
||||
<td>
|
||||
<p>A type safe wrapper around a byte array that contains a serialised object. You can call <a href="../core.serialization/kotlin.-byte-array/deserialize.html">SerializedBytes.deserialize</a>
|
||||
to get the original object back.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node.services/-service-hub/index.html">core.node.services.ServiceHub</a></td>
|
||||
<td>
|
||||
<p>A service hub simply vends references to the other services a node has. Some of those services may be missing or
|
||||
mocked out. This class is useful to pass to chunks of pluggable code that might have need of many different kinds of
|
||||
functionality and you dont want to hard-code which types in the interface.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-signed-transaction/index.html">core.SignedTransaction</a></td>
|
||||
<td>
|
||||
<p>Container for a <a href="../core/-wire-transaction/index.html">WireTransaction</a> and attached signatures.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.messaging/-single-message-recipient.html">core.messaging.SingleMessageRecipient</a></td>
|
||||
<td>
|
||||
<p>A base class for the case of point-to-point messages</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-state-and-ref/index.html">core.StateAndRef</a></td>
|
||||
<td>
|
||||
<p>A StateAndRef is simply a (state, ref) pair. For instance, a wallet (which holds available assets) contains these.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.messaging/-state-machine-manager/index.html">core.messaging.StateMachineManager</a></td>
|
||||
<td>
|
||||
<p>A StateMachineManager is responsible for coordination and persistence of multiple <a href="../core.protocols/-protocol-state-machine/index.html">ProtocolStateMachine</a> objects.
|
||||
Each such object represents an instantiation of a (two-party) protocol that has reached a particular point.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-state-ref/index.html">core.StateRef</a></td>
|
||||
<td>
|
||||
<p>A stateref is a pointer (reference) to a state, this is an equivalent of an "outpoint" in Bitcoin. It records which
|
||||
transaction defined the state and where in that transaction it was.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node.services/-storage-service/index.html">core.node.services.StorageService</a></td>
|
||||
<td>
|
||||
<p>A sketch of an interface to a simple key/value storage system. Intended for persistence of simple blobs like
|
||||
transactions, serialised protocol state machines and so on. Again, this isnt intended to imply lack of SQL or
|
||||
anything like that, this interface is only big enough to support the prototyping work.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node.services/-storage-service-impl/index.html">core.node.services.StorageServiceImpl</a></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/kotlin.-string/index.html">kotlin.String</a> (extensions in package core)</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/java.time.temporal.-temporal/index.html">java.time.temporal.Temporal</a> (extensions in package core)</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-tenor/index.html">core.Tenor</a></td>
|
||||
<td>
|
||||
<p>Placeholder class for the Tenor datatype - which is a standardised duration of time until maturity</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-thread-box/index.html">core.ThreadBox</a></td>
|
||||
<td>
|
||||
<p>A threadbox is a simple utility that makes it harder to forget to take a lock before accessing some shared state.
|
||||
Simply define a private class to hold the data that must be grouped under the same lock, and then pass the only
|
||||
instance to the ThreadBox constructor. You can now use the <a href="../core/-thread-box/locked.html">locked</a> method with a lambda to take the lock in a
|
||||
way that ensures itll be released if theres an exception.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-timestamp-command/index.html">core.TimestampCommand</a></td>
|
||||
<td>
|
||||
<p>If present in a transaction, contains a time that was verified by the timestamping authority/authorities whose
|
||||
public keys are identified in the containing <a href="../core/-command/index.html">Command</a> object. The true time must be between (after, before)</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node.services/-timestamper-service/index.html">core.node.services.TimestamperService</a></td>
|
||||
<td>
|
||||
<p>Simple interface (for testing) to an abstract timestamping service. Note that this is not "timestamping" in the
|
||||
blockchain sense of a total ordering of transactions, but rather, a signature from a well known/trusted timestamping
|
||||
service over a transaction that indicates the timestamp in it is accurate. Such a signature may not always be
|
||||
necessary: if there are multiple parties involved in a transaction then they can cross-check the timestamp
|
||||
themselves.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node.services/-timestamping-error/index.html">core.node.services.TimestampingError</a></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../protocols/-timestamping-protocol/index.html">protocols.TimestampingProtocol</a></td>
|
||||
<td>
|
||||
<p>The TimestampingProtocol class is the client code that talks to a <a href="../core.node.services/-node-timestamper-service/index.html">NodeTimestamperService</a> on some remote node. It is a
|
||||
<a href="../core.protocols/-protocol-logic/index.html">ProtocolLogic</a>, meaning it can either be a sub-protocol of some other protocol, or be driven independently.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.messaging/-topic-string-validator/index.html">core.messaging.TopicStringValidator</a></td>
|
||||
<td>
|
||||
<p>A singleton thats useful for validating topic strings</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../demos/-trader-demo-protocol-buyer/index.html">demos.TraderDemoProtocolBuyer</a></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../demos/-trader-demo-protocol-seller/index.html">demos.TraderDemoProtocolSeller</a></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-transaction-builder/index.html">core.TransactionBuilder</a></td>
|
||||
<td>
|
||||
<p>A mutable transaction thats in the process of being built, before all signatures are present.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-transaction-conflict-exception/index.html">core.TransactionConflictException</a></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-transaction-for-verification/index.html">core.TransactionForVerification</a></td>
|
||||
<td>
|
||||
<p>A transaction in fully resolved and sig-checked form, ready for passing as input to a verification function.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-transaction-graph-search/index.html">core.TransactionGraphSearch</a></td>
|
||||
<td>
|
||||
<p>Given a map of transaction id to <a href="../core/-signed-transaction/index.html">SignedTransaction</a>, performs a breadth first search of the dependency graph from
|
||||
the starting point down in order to find transactions that match the given query criteria.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-transaction-group/index.html">core.TransactionGroup</a></td>
|
||||
<td>
|
||||
<p>A TransactionGroup defines a directed acyclic graph of transactions that can be resolved with each other and then
|
||||
verified. Successful verification does not imply the non-existence of other conflicting transactions: simply that
|
||||
this subgraph does not contain conflicts and is accepted by the involved contracts.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-transaction-resolution-exception/index.html">core.TransactionResolutionException</a></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-transaction-verification-exception/index.html">core.TransactionVerificationException</a></td>
|
||||
<td>
|
||||
<p>Thrown if a verification fails due to a contract rejection.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-transient-property/index.html">core.TransientProperty</a></td>
|
||||
<td>
|
||||
<p>A simple wrapper that enables the use of Kotlins "val x by TransientProperty { ... }" syntax. Such a property
|
||||
will not be serialized to disk, and if its missing (or the first time its accessed), the initializer will be
|
||||
used to set it up. Note that the initializer will be called with the TransientProperty object locked.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../protocols/-two-party-trade-protocol/index.html">protocols.TwoPartyTradeProtocol</a></td>
|
||||
<td>
|
||||
<p>This asset trading protocol implements a "delivery vs payment" type swap. It has two parties (B and S for buyer
|
||||
and seller) and the following steps:</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-type-only-command-data/index.html">core.TypeOnlyCommandData</a></td>
|
||||
<td>
|
||||
<p>Commands that inherit from this are intended to have no data items: its only their presence that matters.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-unknown-contract-exception/index.html">core.UnknownContractException</a></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.utilities/-untrustworthy-data/index.html">core.utilities.UntrustworthyData</a></td>
|
||||
<td>
|
||||
<p>A small utility to approximate taint tracking: if a method gives you back one of these, it means the data came from
|
||||
a remote source that may be incentivised to pass us junk that violates basic assumptions and thus must be checked
|
||||
first. The wrapper helps you to avoid forgetting this vital step. Things you might want to check are:</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node.services/-wallet/index.html">core.node.services.Wallet</a></td>
|
||||
<td>
|
||||
<p>A wallet (name may be temporary) wraps a set of states that are useful for us to keep track of, for instance,
|
||||
because we own them. This class represents an immutable, stable state of a wallet: it is guaranteed not to
|
||||
change out from underneath you, even though the canonical currently-best-known wallet may change as we learn
|
||||
about new transactions from our peers and generate new transactions that consume states ourselves.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core.node.services/-wallet-service/index.html">core.node.services.WalletService</a></td>
|
||||
<td>
|
||||
<p>A <a href="../core.node.services/-wallet-service/index.html">WalletService</a> is responsible for securely and safely persisting the current state of a wallet to storage. The
|
||||
wallet service vends immutable snapshots of the current wallet for working with: if you build a transaction based
|
||||
on a wallet that isnt current, be aware that it may end up being invalid if the states that were used have been
|
||||
consumed by someone else first</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../core/-wire-transaction/index.html">core.WireTransaction</a></td>
|
||||
<td>
|
||||
<p>Transaction ready for serialisation, without any signatures attached.</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</BODY>
|
||||
</HTML>
|
16
docs/build/html/api/api/-config/-init-.html
vendored
Normal file
16
docs/build/html/api/api/-config/-init-.html
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Config.<init> - </title>
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../index.html">api</a> / <a href="index.html">Config</a> / <a href="."><init></a><br/>
|
||||
<br/>
|
||||
<h1><init></h1>
|
||||
<code><span class="identifier">Config</span><span class="symbol">(</span><span class="symbol">)</span></code><br/>
|
||||
<p>Primary purpose is to install Kotlin extensions for Jackson ObjectMapper so data classes work
|
||||
and to organise serializers / deserializers for java.time.* classes as necessary</p>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/api/-config/-local-date-deserializer/deserialize.html
vendored
Normal file
15
docs/build/html/api/api/-config/-local-date-deserializer/deserialize.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Config.LocalDateDeserializer.deserialize - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">api</a> / <a href="../index.html">Config</a> / <a href="index.html">LocalDateDeserializer</a> / <a href=".">deserialize</a><br/>
|
||||
<br/>
|
||||
<h1>deserialize</h1>
|
||||
<a name="api.Config.LocalDateDeserializer$deserialize(, )"></a>
|
||||
<code><span class="keyword">fun </span><span class="identifier">deserialize</span><span class="symbol">(</span><span class="identifier" id="api.Config.LocalDateDeserializer$deserialize(, )/parser">parser</span><span class="symbol">:</span> <span class="identifier"><ERROR CLASS></span><span class="symbol">, </span><span class="identifier" id="api.Config.LocalDateDeserializer$deserialize(, )/context">context</span><span class="symbol">:</span> <span class="identifier"><ERROR CLASS></span><span class="symbol">)</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/time/LocalDate.html"><span class="identifier">LocalDate</span></a></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
25
docs/build/html/api/api/-config/-local-date-deserializer/index.html
vendored
Normal file
25
docs/build/html/api/api/-config/-local-date-deserializer/index.html
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Config.LocalDateDeserializer - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">api</a> / <a href="../index.html">Config</a> / <a href=".">LocalDateDeserializer</a><br/>
|
||||
<br/>
|
||||
<h1>LocalDateDeserializer</h1>
|
||||
<code><span class="keyword">object </span><span class="identifier">LocalDateDeserializer</span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<h3>Functions</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="deserialize.html">deserialize</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">fun </span><span class="identifier">deserialize</span><span class="symbol">(</span><span class="identifier" id="api.Config.LocalDateDeserializer$deserialize(, )/parser">parser</span><span class="symbol">:</span> <span class="identifier"><ERROR CLASS></span><span class="symbol">, </span><span class="identifier" id="api.Config.LocalDateDeserializer$deserialize(, )/context">context</span><span class="symbol">:</span> <span class="identifier"><ERROR CLASS></span><span class="symbol">)</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/time/LocalDate.html"><span class="identifier">LocalDate</span></a></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</BODY>
|
||||
</HTML>
|
25
docs/build/html/api/api/-config/-to-string-serializer/index.html
vendored
Normal file
25
docs/build/html/api/api/-config/-to-string-serializer/index.html
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Config.ToStringSerializer - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">api</a> / <a href="../index.html">Config</a> / <a href=".">ToStringSerializer</a><br/>
|
||||
<br/>
|
||||
<h1>ToStringSerializer</h1>
|
||||
<code><span class="keyword">object </span><span class="identifier">ToStringSerializer</span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<h3>Functions</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="serialize.html">serialize</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">fun </span><span class="identifier">serialize</span><span class="symbol">(</span><span class="identifier" id="api.Config.ToStringSerializer$serialize(kotlin.Any, , )/obj">obj</span><span class="symbol">:</span> <span class="identifier">Any</span><span class="symbol">, </span><span class="identifier" id="api.Config.ToStringSerializer$serialize(kotlin.Any, , )/generator">generator</span><span class="symbol">:</span> <span class="identifier"><ERROR CLASS></span><span class="symbol">, </span><span class="identifier" id="api.Config.ToStringSerializer$serialize(kotlin.Any, , )/provider">provider</span><span class="symbol">:</span> <span class="identifier"><ERROR CLASS></span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/api/-config/-to-string-serializer/serialize.html
vendored
Normal file
15
docs/build/html/api/api/-config/-to-string-serializer/serialize.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Config.ToStringSerializer.serialize - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">api</a> / <a href="../index.html">Config</a> / <a href="index.html">ToStringSerializer</a> / <a href=".">serialize</a><br/>
|
||||
<br/>
|
||||
<h1>serialize</h1>
|
||||
<a name="api.Config.ToStringSerializer$serialize(kotlin.Any, , )"></a>
|
||||
<code><span class="keyword">fun </span><span class="identifier">serialize</span><span class="symbol">(</span><span class="identifier" id="api.Config.ToStringSerializer$serialize(kotlin.Any, , )/obj">obj</span><span class="symbol">:</span> <span class="identifier">Any</span><span class="symbol">, </span><span class="identifier" id="api.Config.ToStringSerializer$serialize(kotlin.Any, , )/generator">generator</span><span class="symbol">:</span> <span class="identifier"><ERROR CLASS></span><span class="symbol">, </span><span class="identifier" id="api.Config.ToStringSerializer$serialize(kotlin.Any, , )/provider">provider</span><span class="symbol">:</span> <span class="identifier"><ERROR CLASS></span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/api/-config/default-object-mapper.html
vendored
Normal file
15
docs/build/html/api/api/-config/default-object-mapper.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Config.defaultObjectMapper - </title>
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../index.html">api</a> / <a href="index.html">Config</a> / <a href=".">defaultObjectMapper</a><br/>
|
||||
<br/>
|
||||
<h1>defaultObjectMapper</h1>
|
||||
<a name="api.Config$defaultObjectMapper"></a>
|
||||
<code><span class="keyword">val </span><span class="identifier">defaultObjectMapper</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/api/-config/get-context.html
vendored
Normal file
15
docs/build/html/api/api/-config/get-context.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Config.getContext - </title>
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../index.html">api</a> / <a href="index.html">Config</a> / <a href=".">getContext</a><br/>
|
||||
<br/>
|
||||
<h1>getContext</h1>
|
||||
<a name="api.Config$getContext(java.lang.Class((kotlin.Any)))"></a>
|
||||
<code><span class="keyword">fun </span><span class="identifier">getContext</span><span class="symbol">(</span><span class="identifier" id="api.Config$getContext(java.lang.Class((kotlin.Any)))/type">type</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol"><</span><span class="identifier">*</span><span class="symbol">></span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
68
docs/build/html/api/api/-config/index.html
vendored
Normal file
68
docs/build/html/api/api/-config/index.html
vendored
Normal file
@ -0,0 +1,68 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Config - </title>
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../index.html">api</a> / <a href=".">Config</a><br/>
|
||||
<br/>
|
||||
<h1>Config</h1>
|
||||
<code><span class="keyword">class </span><span class="identifier">Config</span></code><br/>
|
||||
<p>Primary purpose is to install Kotlin extensions for Jackson ObjectMapper so data classes work
|
||||
and to organise serializers / deserializers for java.time.* classes as necessary</p>
|
||||
<br/>
|
||||
<br/>
|
||||
<h3>Types</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-local-date-deserializer/index.html">LocalDateDeserializer</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">object </span><span class="identifier">LocalDateDeserializer</span></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-to-string-serializer/index.html">ToStringSerializer</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">object </span><span class="identifier">ToStringSerializer</span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Constructors</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-init-.html"><init></a></td>
|
||||
<td>
|
||||
<code><span class="identifier">Config</span><span class="symbol">(</span><span class="symbol">)</span></code><p>Primary purpose is to install Kotlin extensions for Jackson ObjectMapper so data classes work
|
||||
and to organise serializers / deserializers for java.time.* classes as necessary</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Properties</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="default-object-mapper.html">defaultObjectMapper</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">val </span><span class="identifier">defaultObjectMapper</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Functions</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="get-context.html">getContext</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">fun </span><span class="identifier">getContext</span><span class="symbol">(</span><span class="identifier" id="api.Config$getContext(java.lang.Class((kotlin.Any)))/type">type</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol"><</span><span class="identifier">*</span><span class="symbol">></span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</BODY>
|
||||
</HTML>
|
24
docs/build/html/api/api/index.html
vendored
Normal file
24
docs/build/html/api/api/index.html
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>api - </title>
|
||||
<link rel="stylesheet" href="../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href=".">api</a><br/>
|
||||
<br/>
|
||||
<h2>Package api</h2>
|
||||
<h3>Types</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-config/index.html">Config</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">class </span><span class="identifier">Config</span></code><p>Primary purpose is to install Kotlin extensions for Jackson ObjectMapper so data classes work
|
||||
and to organise serializers / deserializers for java.time.* classes as necessary</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/contracts/-c-a-s-h_-p-r-o-g-r-a-m_-i-d.html
vendored
Normal file
15
docs/build/html/api/contracts/-c-a-s-h_-p-r-o-g-r-a-m_-i-d.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CASH_PROGRAM_ID - </title>
|
||||
<link rel="stylesheet" href="../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="index.html">contracts</a> / <a href=".">CASH_PROGRAM_ID</a><br/>
|
||||
<br/>
|
||||
<h1>CASH_PROGRAM_ID</h1>
|
||||
<a name="contracts$CASH_PROGRAM_ID"></a>
|
||||
<code><span class="keyword">val </span><span class="identifier">CASH_PROGRAM_ID</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
34
docs/build/html/api/contracts/-c-p_-p-r-o-g-r-a-m_-i-d.html
vendored
Normal file
34
docs/build/html/api/contracts/-c-p_-p-r-o-g-r-a-m_-i-d.html
vendored
Normal file
@ -0,0 +1,34 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CP_PROGRAM_ID - </title>
|
||||
<link rel="stylesheet" href="../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="index.html">contracts</a> / <a href=".">CP_PROGRAM_ID</a><br/>
|
||||
<br/>
|
||||
<h1>CP_PROGRAM_ID</h1>
|
||||
<a name="contracts$CP_PROGRAM_ID"></a>
|
||||
<code><span class="keyword">val </span><span class="identifier">CP_PROGRAM_ID</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code><br/>
|
||||
<p>This is an ultra-trivial implementation of commercial paper, which is essentially a simpler version of a corporate
|
||||
bond. It can be seen as a company-specific currency. A company issues CP with a particular face value, say $100,
|
||||
but sells it for less, say $90. The paper can be redeemed for cash at a given date in the future. Thus this example
|
||||
would have a 10% interest rate with a single repayment. Commercial paper is often rolled over (the maturity date
|
||||
is adjusted as if the paper was redeemed and immediately repurchased, but without having to front the cash).</p>
|
||||
<p>This contract is not intended to realistically model CP. It is here only to act as a next step up above cash in
|
||||
the prototyping phase. It is thus very incomplete.</p>
|
||||
<p>Open issues:</p>
|
||||
<ul><li><p>In this model, you cannot merge or split CP. Can you do this normally? We could model CP as a specialised form
|
||||
of cash, or reuse some of the cash code? Waiting on response from Ayoub and Rajar about whether CP can always
|
||||
be split/merged or only in secondary markets. Even if current systems cant do this, would it be a desirable
|
||||
feature to have anyway?</p>
|
||||
</li><li><p>The funding steps of CP is totally ignored in this model.</p>
|
||||
</li><li><p>No attention is paid to the existing roles of custodians, funding banks, etc.</p>
|
||||
</li><li><p>There are regional variations on the CP concept, for instance, American CP requires a special "CUSIP number"
|
||||
which may need to be tracked. That, in turn, requires validation logic (there is a bean validator that knows how
|
||||
to do this in the Apache BVal project).</p>
|
||||
</li></ul><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/contracts/-c-r-o-w-d-f-u-n-d_-p-r-o-g-r-a-m_-i-d.html
vendored
Normal file
15
docs/build/html/api/contracts/-c-r-o-w-d-f-u-n-d_-p-r-o-g-r-a-m_-i-d.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CROWDFUND_PROGRAM_ID - </title>
|
||||
<link rel="stylesheet" href="../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="index.html">contracts</a> / <a href=".">CROWDFUND_PROGRAM_ID</a><br/>
|
||||
<br/>
|
||||
<h1>CROWDFUND_PROGRAM_ID</h1>
|
||||
<a name="contracts$CROWDFUND_PROGRAM_ID"></a>
|
||||
<code><span class="keyword">val </span><span class="identifier">CROWDFUND_PROGRAM_ID</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
16
docs/build/html/api/contracts/-cash/-commands/-exit/-init-.html
vendored
Normal file
16
docs/build/html/api/contracts/-cash/-commands/-exit/-init-.html
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Cash.Commands.Exit.<init> - </title>
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../../index.html">contracts</a> / <a href="../../index.html">Cash</a> / <a href="../index.html">Commands</a> / <a href="index.html">Exit</a> / <a href="."><init></a><br/>
|
||||
<br/>
|
||||
<h1><init></h1>
|
||||
<code><span class="identifier">Exit</span><span class="symbol">(</span><span class="identifier" id="contracts.Cash.Commands.Exit$<init>(core.Amount)/amount">amount</span><span class="symbol">:</span> <a href="../../../../core/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">)</span></code><br/>
|
||||
<p>A command stating that money has been withdrawn from the shared ledger and is now accounted for
|
||||
in some other way.</p>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/contracts/-cash/-commands/-exit/amount.html
vendored
Normal file
15
docs/build/html/api/contracts/-cash/-commands/-exit/amount.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Cash.Commands.Exit.amount - </title>
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../../index.html">contracts</a> / <a href="../../index.html">Cash</a> / <a href="../index.html">Commands</a> / <a href="index.html">Exit</a> / <a href=".">amount</a><br/>
|
||||
<br/>
|
||||
<h1>amount</h1>
|
||||
<a name="contracts.Cash.Commands.Exit$amount"></a>
|
||||
<code><span class="keyword">val </span><span class="identifier">amount</span><span class="symbol">: </span><a href="../../../../core/-amount/index.html"><span class="identifier">Amount</span></a></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
40
docs/build/html/api/contracts/-cash/-commands/-exit/index.html
vendored
Normal file
40
docs/build/html/api/contracts/-cash/-commands/-exit/index.html
vendored
Normal file
@ -0,0 +1,40 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Cash.Commands.Exit - </title>
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../../index.html">contracts</a> / <a href="../../index.html">Cash</a> / <a href="../index.html">Commands</a> / <a href=".">Exit</a><br/>
|
||||
<br/>
|
||||
<h1>Exit</h1>
|
||||
<code><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">Exit</span> <span class="symbol">:</span> <a href="../index.html"><span class="identifier">Commands</span></a></code><br/>
|
||||
<p>A command stating that money has been withdrawn from the shared ledger and is now accounted for
|
||||
in some other way.</p>
|
||||
<br/>
|
||||
<br/>
|
||||
<h3>Constructors</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-init-.html"><init></a></td>
|
||||
<td>
|
||||
<code><span class="identifier">Exit</span><span class="symbol">(</span><span class="identifier" id="contracts.Cash.Commands.Exit$<init>(core.Amount)/amount">amount</span><span class="symbol">:</span> <a href="../../../../core/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">)</span></code><p>A command stating that money has been withdrawn from the shared ledger and is now accounted for
|
||||
in some other way.</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Properties</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="amount.html">amount</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">val </span><span class="identifier">amount</span><span class="symbol">: </span><a href="../../../../core/-amount/index.html"><span class="identifier">Amount</span></a></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</BODY>
|
||||
</HTML>
|
16
docs/build/html/api/contracts/-cash/-commands/-issue/-init-.html
vendored
Normal file
16
docs/build/html/api/contracts/-cash/-commands/-issue/-init-.html
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Cash.Commands.Issue.<init> - </title>
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../../index.html">contracts</a> / <a href="../../index.html">Cash</a> / <a href="../index.html">Commands</a> / <a href="index.html">Issue</a> / <a href="."><init></a><br/>
|
||||
<br/>
|
||||
<h1><init></h1>
|
||||
<code><span class="identifier">Issue</span><span class="symbol">(</span><span class="identifier" id="contracts.Cash.Commands.Issue$<init>(kotlin.Long)/nonce">nonce</span><span class="symbol">:</span> <span class="identifier">Long</span> <span class="symbol">=</span> SecureRandom.getInstanceStrong().nextLong()<span class="symbol">)</span></code><br/>
|
||||
<p>Allows new cash states to be issued into existence: the nonce ("number used once") ensures the transaction
|
||||
has a unique ID even when there are no inputs.</p>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
40
docs/build/html/api/contracts/-cash/-commands/-issue/index.html
vendored
Normal file
40
docs/build/html/api/contracts/-cash/-commands/-issue/index.html
vendored
Normal file
@ -0,0 +1,40 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Cash.Commands.Issue - </title>
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../../index.html">contracts</a> / <a href="../../index.html">Cash</a> / <a href="../index.html">Commands</a> / <a href=".">Issue</a><br/>
|
||||
<br/>
|
||||
<h1>Issue</h1>
|
||||
<code><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">Issue</span> <span class="symbol">:</span> <a href="../index.html"><span class="identifier">Commands</span></a></code><br/>
|
||||
<p>Allows new cash states to be issued into existence: the nonce ("number used once") ensures the transaction
|
||||
has a unique ID even when there are no inputs.</p>
|
||||
<br/>
|
||||
<br/>
|
||||
<h3>Constructors</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-init-.html"><init></a></td>
|
||||
<td>
|
||||
<code><span class="identifier">Issue</span><span class="symbol">(</span><span class="identifier" id="contracts.Cash.Commands.Issue$<init>(kotlin.Long)/nonce">nonce</span><span class="symbol">:</span> <span class="identifier">Long</span> <span class="symbol">=</span> SecureRandom.getInstanceStrong().nextLong()<span class="symbol">)</span></code><p>Allows new cash states to be issued into existence: the nonce ("number used once") ensures the transaction
|
||||
has a unique ID even when there are no inputs.</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Properties</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="nonce.html">nonce</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">val </span><span class="identifier">nonce</span><span class="symbol">: </span><span class="identifier">Long</span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/contracts/-cash/-commands/-issue/nonce.html
vendored
Normal file
15
docs/build/html/api/contracts/-cash/-commands/-issue/nonce.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Cash.Commands.Issue.nonce - </title>
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../../index.html">contracts</a> / <a href="../../index.html">Cash</a> / <a href="../index.html">Commands</a> / <a href="index.html">Issue</a> / <a href=".">nonce</a><br/>
|
||||
<br/>
|
||||
<h1>nonce</h1>
|
||||
<a name="contracts.Cash.Commands.Issue$nonce"></a>
|
||||
<code><span class="keyword">val </span><span class="identifier">nonce</span><span class="symbol">: </span><span class="identifier">Long</span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
14
docs/build/html/api/contracts/-cash/-commands/-move/-init-.html
vendored
Normal file
14
docs/build/html/api/contracts/-cash/-commands/-move/-init-.html
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Cash.Commands.Move.<init> - </title>
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../../index.html">contracts</a> / <a href="../../index.html">Cash</a> / <a href="../index.html">Commands</a> / <a href="index.html">Move</a> / <a href="."><init></a><br/>
|
||||
<br/>
|
||||
<h1><init></h1>
|
||||
<code><span class="identifier">Move</span><span class="symbol">(</span><span class="symbol">)</span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
42
docs/build/html/api/contracts/-cash/-commands/-move/index.html
vendored
Normal file
42
docs/build/html/api/contracts/-cash/-commands/-move/index.html
vendored
Normal file
@ -0,0 +1,42 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Cash.Commands.Move - </title>
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../../index.html">contracts</a> / <a href="../../index.html">Cash</a> / <a href="../index.html">Commands</a> / <a href=".">Move</a><br/>
|
||||
<br/>
|
||||
<h1>Move</h1>
|
||||
<code><span class="keyword">class </span><span class="identifier">Move</span> <span class="symbol">:</span> <a href="../../../../core/-type-only-command-data/index.html"><span class="identifier">TypeOnlyCommandData</span></a><span class="symbol">, </span><a href="../index.html"><span class="identifier">Commands</span></a></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<h3>Constructors</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-init-.html"><init></a></td>
|
||||
<td>
|
||||
<code><span class="identifier">Move</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Inherited Functions</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../../../../core/-type-only-command-data/equals.html">equals</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">equals</span><span class="symbol">(</span><span class="identifier" id="core.TypeOnlyCommandData$equals(kotlin.Any)/other">other</span><span class="symbol">:</span> <span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Boolean</span></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../../../../core/-type-only-command-data/hash-code.html">hashCode</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">hashCode</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</BODY>
|
||||
</HTML>
|
68
docs/build/html/api/contracts/-cash/-commands/index.html
vendored
Normal file
68
docs/build/html/api/contracts/-cash/-commands/index.html
vendored
Normal file
@ -0,0 +1,68 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Cash.Commands - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">Cash</a> / <a href=".">Commands</a><br/>
|
||||
<br/>
|
||||
<h1>Commands</h1>
|
||||
<code><span class="keyword">interface </span><span class="identifier">Commands</span> <span class="symbol">:</span> <a href="../../../core/-command-data.html"><span class="identifier">CommandData</span></a></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<h3>Types</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-exit/index.html">Exit</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">Exit</span> <span class="symbol">:</span> <span class="identifier">Commands</span></code><p>A command stating that money has been withdrawn from the shared ledger and is now accounted for
|
||||
in some other way.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-issue/index.html">Issue</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">Issue</span> <span class="symbol">:</span> <span class="identifier">Commands</span></code><p>Allows new cash states to be issued into existence: the nonce ("number used once") ensures the transaction
|
||||
has a unique ID even when there are no inputs.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-move/index.html">Move</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">class </span><span class="identifier">Move</span> <span class="symbol">:</span> <a href="../../../core/-type-only-command-data/index.html"><span class="identifier">TypeOnlyCommandData</span></a><span class="symbol">, </span><span class="identifier">Commands</span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Inheritors</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-exit/index.html">Exit</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">Exit</span> <span class="symbol">:</span> <span class="identifier">Commands</span></code><p>A command stating that money has been withdrawn from the shared ledger and is now accounted for
|
||||
in some other way.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-issue/index.html">Issue</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">Issue</span> <span class="symbol">:</span> <span class="identifier">Commands</span></code><p>Allows new cash states to be issued into existence: the nonce ("number used once") ensures the transaction
|
||||
has a unique ID even when there are no inputs.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-move/index.html">Move</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">class </span><span class="identifier">Move</span> <span class="symbol">:</span> <a href="../../../core/-type-only-command-data/index.html"><span class="identifier">TypeOnlyCommandData</span></a><span class="symbol">, </span><span class="identifier">Commands</span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</BODY>
|
||||
</HTML>
|
25
docs/build/html/api/contracts/-cash/-init-.html
vendored
Normal file
25
docs/build/html/api/contracts/-cash/-init-.html
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Cash.<init> - </title>
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../index.html">contracts</a> / <a href="index.html">Cash</a> / <a href="."><init></a><br/>
|
||||
<br/>
|
||||
<h1><init></h1>
|
||||
<code><span class="identifier">Cash</span><span class="symbol">(</span><span class="symbol">)</span></code><br/>
|
||||
<p>A cash transaction may split and merge money represented by a set of (issuer, depositRef) pairs, across multiple
|
||||
input and output states. Imagine a Bitcoin transaction but in which all UTXOs had a colour
|
||||
(a blend of issuer+depositRef) and you couldnt merge outputs of two colours together, but you COULD put them in
|
||||
the same transaction.</p>
|
||||
<p>The goal of this design is to ensure that money can be withdrawn from the ledger easily: if you receive some money
|
||||
via this contract, you always know where to go in order to extract it from the R3 ledger, no matter how many hands
|
||||
it has passed through in the intervening time.</p>
|
||||
<p>At the same time, other contracts that just want money and dont care much who is currently holding it in their
|
||||
vaults can ignore the issuer/depositRefs and just examine the amount fields.</p>
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/contracts/-cash/-state/-init-.html
vendored
Normal file
15
docs/build/html/api/contracts/-cash/-state/-init-.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Cash.State.<init> - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">Cash</a> / <a href="index.html">State</a> / <a href="."><init></a><br/>
|
||||
<br/>
|
||||
<h1><init></h1>
|
||||
<code><span class="identifier">State</span><span class="symbol">(</span><span class="identifier" id="contracts.Cash.State$<init>(core.PartyReference, core.Amount, java.security.PublicKey)/deposit">deposit</span><span class="symbol">:</span> <a href="../../../core/-party-reference/index.html"><span class="identifier">PartyReference</span></a><span class="symbol">, </span><span class="identifier" id="contracts.Cash.State$<init>(core.PartyReference, core.Amount, java.security.PublicKey)/amount">amount</span><span class="symbol">:</span> <a href="../../../core/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">, </span><span class="identifier" id="contracts.Cash.State$<init>(core.PartyReference, core.Amount, java.security.PublicKey)/owner">owner</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a><span class="symbol">)</span></code><br/>
|
||||
<p>A state representing a cash claim against some party</p>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/contracts/-cash/-state/amount.html
vendored
Normal file
15
docs/build/html/api/contracts/-cash/-state/amount.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Cash.State.amount - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">Cash</a> / <a href="index.html">State</a> / <a href=".">amount</a><br/>
|
||||
<br/>
|
||||
<h1>amount</h1>
|
||||
<a name="contracts.Cash.State$amount"></a>
|
||||
<code><span class="keyword">val </span><span class="identifier">amount</span><span class="symbol">: </span><a href="../../../core/-amount/index.html"><span class="identifier">Amount</span></a></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
16
docs/build/html/api/contracts/-cash/-state/deposit.html
vendored
Normal file
16
docs/build/html/api/contracts/-cash/-state/deposit.html
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Cash.State.deposit - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">Cash</a> / <a href="index.html">State</a> / <a href=".">deposit</a><br/>
|
||||
<br/>
|
||||
<h1>deposit</h1>
|
||||
<a name="contracts.Cash.State$deposit"></a>
|
||||
<code><span class="keyword">val </span><span class="identifier">deposit</span><span class="symbol">: </span><a href="../../../core/-party-reference/index.html"><span class="identifier">PartyReference</span></a></code><br/>
|
||||
<p>Where the underlying currency backing this ledger entry can be found (propagated)</p>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
79
docs/build/html/api/contracts/-cash/-state/index.html
vendored
Normal file
79
docs/build/html/api/contracts/-cash/-state/index.html
vendored
Normal file
@ -0,0 +1,79 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Cash.State - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">Cash</a> / <a href=".">State</a><br/>
|
||||
<br/>
|
||||
<h1>State</h1>
|
||||
<code><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">State</span> <span class="symbol">:</span> <a href="../../../core/-ownable-state/index.html"><span class="identifier">OwnableState</span></a></code><br/>
|
||||
<p>A state representing a cash claim against some party</p>
|
||||
<br/>
|
||||
<br/>
|
||||
<h3>Constructors</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-init-.html"><init></a></td>
|
||||
<td>
|
||||
<code><span class="identifier">State</span><span class="symbol">(</span><span class="identifier" id="contracts.Cash.State$<init>(core.PartyReference, core.Amount, java.security.PublicKey)/deposit">deposit</span><span class="symbol">:</span> <a href="../../../core/-party-reference/index.html"><span class="identifier">PartyReference</span></a><span class="symbol">, </span><span class="identifier" id="contracts.Cash.State$<init>(core.PartyReference, core.Amount, java.security.PublicKey)/amount">amount</span><span class="symbol">:</span> <a href="../../../core/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">, </span><span class="identifier" id="contracts.Cash.State$<init>(core.PartyReference, core.Amount, java.security.PublicKey)/owner">owner</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a><span class="symbol">)</span></code><p>A state representing a cash claim against some party</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Properties</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="amount.html">amount</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">val </span><span class="identifier">amount</span><span class="symbol">: </span><a href="../../../core/-amount/index.html"><span class="identifier">Amount</span></a></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="deposit.html">deposit</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">val </span><span class="identifier">deposit</span><span class="symbol">: </span><a href="../../../core/-party-reference/index.html"><span class="identifier">PartyReference</span></a></code><p>Where the underlying currency backing this ledger entry can be found (propagated)</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="owner.html">owner</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">val </span><span class="identifier">owner</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a></code><p>There must be a MoveCommand signed by this key to claim the amount</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="program-ref.html">programRef</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">val </span><span class="identifier">programRef</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code><p>Refers to a bytecode program that has previously been published to the network. This contract program
|
||||
will be executed any time this state is used in an input. It must accept in order for the
|
||||
transaction to proceed.</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Functions</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="to-string.html">toString</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">fun </span><span class="identifier">toString</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">String</span></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="with-new-owner.html">withNewOwner</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">fun </span><span class="identifier">withNewOwner</span><span class="symbol">(</span><span class="identifier" id="contracts.Cash.State$withNewOwner(java.security.PublicKey)/newOwner">newOwner</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code><p>Copies the underlying data structure, replacing the owner field with this new value and leaving the rest alone</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</BODY>
|
||||
</HTML>
|
17
docs/build/html/api/contracts/-cash/-state/owner.html
vendored
Normal file
17
docs/build/html/api/contracts/-cash/-state/owner.html
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Cash.State.owner - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">Cash</a> / <a href="index.html">State</a> / <a href=".">owner</a><br/>
|
||||
<br/>
|
||||
<h1>owner</h1>
|
||||
<a name="contracts.Cash.State$owner"></a>
|
||||
<code><span class="keyword">val </span><span class="identifier">owner</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a></code><br/>
|
||||
Overrides <a href="../../../core/-ownable-state/owner.html">OwnableState.owner</a><br/>
|
||||
<p>There must be a MoveCommand signed by this key to claim the amount</p>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
19
docs/build/html/api/contracts/-cash/-state/program-ref.html
vendored
Normal file
19
docs/build/html/api/contracts/-cash/-state/program-ref.html
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Cash.State.programRef - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">Cash</a> / <a href="index.html">State</a> / <a href=".">programRef</a><br/>
|
||||
<br/>
|
||||
<h1>programRef</h1>
|
||||
<a name="contracts.Cash.State$programRef"></a>
|
||||
<code><span class="keyword">val </span><span class="identifier">programRef</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code><br/>
|
||||
Overrides <a href="../../../core/-contract-state/program-ref.html">ContractState.programRef</a><br/>
|
||||
<p>Refers to a bytecode program that has previously been published to the network. This contract program
|
||||
will be executed any time this state is used in an input. It must accept in order for the
|
||||
transaction to proceed.</p>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/contracts/-cash/-state/to-string.html
vendored
Normal file
15
docs/build/html/api/contracts/-cash/-state/to-string.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Cash.State.toString - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">Cash</a> / <a href="index.html">State</a> / <a href=".">toString</a><br/>
|
||||
<br/>
|
||||
<h1>toString</h1>
|
||||
<a name="contracts.Cash.State$toString()"></a>
|
||||
<code><span class="keyword">fun </span><span class="identifier">toString</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">String</span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
17
docs/build/html/api/contracts/-cash/-state/with-new-owner.html
vendored
Normal file
17
docs/build/html/api/contracts/-cash/-state/with-new-owner.html
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Cash.State.withNewOwner - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">Cash</a> / <a href="index.html">State</a> / <a href=".">withNewOwner</a><br/>
|
||||
<br/>
|
||||
<h1>withNewOwner</h1>
|
||||
<a name="contracts.Cash.State$withNewOwner(java.security.PublicKey)"></a>
|
||||
<code><span class="keyword">fun </span><span class="identifier">withNewOwner</span><span class="symbol">(</span><span class="identifier" id="contracts.Cash.State$withNewOwner(java.security.PublicKey)/newOwner">newOwner</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code><br/>
|
||||
Overrides <a href="../../../core/-ownable-state/with-new-owner.html">OwnableState.withNewOwner</a><br/>
|
||||
<p>Copies the underlying data structure, replacing the owner field with this new value and leaving the rest alone</p>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
16
docs/build/html/api/contracts/-cash/generate-issue.html
vendored
Normal file
16
docs/build/html/api/contracts/-cash/generate-issue.html
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Cash.generateIssue - </title>
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../index.html">contracts</a> / <a href="index.html">Cash</a> / <a href=".">generateIssue</a><br/>
|
||||
<br/>
|
||||
<h1>generateIssue</h1>
|
||||
<a name="contracts.Cash$generateIssue(core.TransactionBuilder, core.Amount, core.PartyReference, java.security.PublicKey)"></a>
|
||||
<code><span class="keyword">fun </span><span class="identifier">generateIssue</span><span class="symbol">(</span><span class="identifier" id="contracts.Cash$generateIssue(core.TransactionBuilder, core.Amount, core.PartyReference, java.security.PublicKey)/tx">tx</span><span class="symbol">:</span> <a href="../../core/-transaction-builder/index.html"><span class="identifier">TransactionBuilder</span></a><span class="symbol">, </span><span class="identifier" id="contracts.Cash$generateIssue(core.TransactionBuilder, core.Amount, core.PartyReference, java.security.PublicKey)/amount">amount</span><span class="symbol">:</span> <a href="../../core/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">, </span><span class="identifier" id="contracts.Cash$generateIssue(core.TransactionBuilder, core.Amount, core.PartyReference, java.security.PublicKey)/at">at</span><span class="symbol">:</span> <a href="../../core/-party-reference/index.html"><span class="identifier">PartyReference</span></a><span class="symbol">, </span><span class="identifier" id="contracts.Cash$generateIssue(core.TransactionBuilder, core.Amount, core.PartyReference, java.security.PublicKey)/owner">owner</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
|
||||
<p>Puts together an issuance transaction for the specified amount that starts out being owned by the given pubkey.</p>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
22
docs/build/html/api/contracts/-cash/generate-spend.html
vendored
Normal file
22
docs/build/html/api/contracts/-cash/generate-spend.html
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Cash.generateSpend - </title>
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../index.html">contracts</a> / <a href="index.html">Cash</a> / <a href=".">generateSpend</a><br/>
|
||||
<br/>
|
||||
<h1>generateSpend</h1>
|
||||
<a name="contracts.Cash$generateSpend(core.TransactionBuilder, core.Amount, java.security.PublicKey, kotlin.collections.List((core.StateAndRef((contracts.Cash.State)))), kotlin.collections.Set((core.Party)))"></a>
|
||||
<code><span class="keyword">fun </span><span class="identifier">generateSpend</span><span class="symbol">(</span><span class="identifier" id="contracts.Cash$generateSpend(core.TransactionBuilder, core.Amount, java.security.PublicKey, kotlin.collections.List((core.StateAndRef((contracts.Cash.State)))), kotlin.collections.Set((core.Party)))/tx">tx</span><span class="symbol">:</span> <a href="../../core/-transaction-builder/index.html"><span class="identifier">TransactionBuilder</span></a><span class="symbol">, </span><span class="identifier" id="contracts.Cash$generateSpend(core.TransactionBuilder, core.Amount, java.security.PublicKey, kotlin.collections.List((core.StateAndRef((contracts.Cash.State)))), kotlin.collections.Set((core.Party)))/amount">amount</span><span class="symbol">:</span> <a href="../../core/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">, </span><span class="identifier" id="contracts.Cash$generateSpend(core.TransactionBuilder, core.Amount, java.security.PublicKey, kotlin.collections.List((core.StateAndRef((contracts.Cash.State)))), kotlin.collections.Set((core.Party)))/to">to</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a><span class="symbol">, </span><span class="identifier" id="contracts.Cash$generateSpend(core.TransactionBuilder, core.Amount, java.security.PublicKey, kotlin.collections.List((core.StateAndRef((contracts.Cash.State)))), kotlin.collections.Set((core.Party)))/cashStates">cashStates</span><span class="symbol">:</span> <span class="identifier">List</span><span class="symbol"><</span><a href="../../core/-state-and-ref/index.html"><span class="identifier">StateAndRef</span></a><span class="symbol"><</span><a href="-state/index.html"><span class="identifier">State</span></a><span class="symbol">></span><span class="symbol">></span><span class="symbol">, </span><span class="identifier" id="contracts.Cash$generateSpend(core.TransactionBuilder, core.Amount, java.security.PublicKey, kotlin.collections.List((core.StateAndRef((contracts.Cash.State)))), kotlin.collections.Set((core.Party)))/onlyFromParties">onlyFromParties</span><span class="symbol">:</span> <span class="identifier">Set</span><span class="symbol"><</span><a href="../../core/-party/index.html"><span class="identifier">Party</span></a><span class="symbol">></span><span class="symbol">?</span> <span class="symbol">=</span> null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol"><</span><a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a><span class="symbol">></span></code><br/>
|
||||
<p>Generate a transaction that consumes one or more of the given input states to move money to the given pubkey.
|
||||
Note that the wallet list is not updated: its up to you to do that.</p>
|
||||
<h3>Parameters</h3>
|
||||
<a name="onlyFromParties"></a>
|
||||
<code>onlyFromParties</code> - if non-null, the wallet will be filtered to only include cash states issued by the set
|
||||
of given parties. This can be useful if the party youre trying to pay has expectations
|
||||
about which type of cash claims they are willing to accept.<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
97
docs/build/html/api/contracts/-cash/index.html
vendored
Normal file
97
docs/build/html/api/contracts/-cash/index.html
vendored
Normal file
@ -0,0 +1,97 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Cash - </title>
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../index.html">contracts</a> / <a href=".">Cash</a><br/>
|
||||
<br/>
|
||||
<h1>Cash</h1>
|
||||
<code><span class="keyword">class </span><span class="identifier">Cash</span> <span class="symbol">:</span> <a href="../../core/-contract/index.html"><span class="identifier">Contract</span></a></code><br/>
|
||||
<p>A cash transaction may split and merge money represented by a set of (issuer, depositRef) pairs, across multiple
|
||||
input and output states. Imagine a Bitcoin transaction but in which all UTXOs had a colour
|
||||
(a blend of issuer+depositRef) and you couldnt merge outputs of two colours together, but you COULD put them in
|
||||
the same transaction.</p>
|
||||
<p>The goal of this design is to ensure that money can be withdrawn from the ledger easily: if you receive some money
|
||||
via this contract, you always know where to go in order to extract it from the R3 ledger, no matter how many hands
|
||||
it has passed through in the intervening time.</p>
|
||||
<p>At the same time, other contracts that just want money and dont care much who is currently holding it in their
|
||||
vaults can ignore the issuer/depositRefs and just examine the amount fields.</p>
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<h3>Types</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-commands/index.html">Commands</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">interface </span><span class="identifier">Commands</span> <span class="symbol">:</span> <a href="../../core/-command-data.html"><span class="identifier">CommandData</span></a></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-state/index.html">State</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">State</span> <span class="symbol">:</span> <a href="../../core/-ownable-state/index.html"><span class="identifier">OwnableState</span></a></code><p>A state representing a cash claim against some party</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Constructors</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-init-.html"><init></a></td>
|
||||
<td>
|
||||
<code><span class="identifier">Cash</span><span class="symbol">(</span><span class="symbol">)</span></code><p>A cash transaction may split and merge money represented by a set of (issuer, depositRef) pairs, across multiple
|
||||
input and output states. Imagine a Bitcoin transaction but in which all UTXOs had a colour
|
||||
(a blend of issuer+depositRef) and you couldnt merge outputs of two colours together, but you COULD put them in
|
||||
the same transaction.</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Properties</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="legal-contract-reference.html">legalContractReference</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">val </span><span class="identifier">legalContractReference</span><span class="symbol">: </span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a></code><p>TODO:</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Functions</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="generate-issue.html">generateIssue</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">fun </span><span class="identifier">generateIssue</span><span class="symbol">(</span><span class="identifier" id="contracts.Cash$generateIssue(core.TransactionBuilder, core.Amount, core.PartyReference, java.security.PublicKey)/tx">tx</span><span class="symbol">:</span> <a href="../../core/-transaction-builder/index.html"><span class="identifier">TransactionBuilder</span></a><span class="symbol">, </span><span class="identifier" id="contracts.Cash$generateIssue(core.TransactionBuilder, core.Amount, core.PartyReference, java.security.PublicKey)/amount">amount</span><span class="symbol">:</span> <a href="../../core/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">, </span><span class="identifier" id="contracts.Cash$generateIssue(core.TransactionBuilder, core.Amount, core.PartyReference, java.security.PublicKey)/at">at</span><span class="symbol">:</span> <a href="../../core/-party-reference/index.html"><span class="identifier">PartyReference</span></a><span class="symbol">, </span><span class="identifier" id="contracts.Cash$generateIssue(core.TransactionBuilder, core.Amount, core.PartyReference, java.security.PublicKey)/owner">owner</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><p>Puts together an issuance transaction for the specified amount that starts out being owned by the given pubkey.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="generate-spend.html">generateSpend</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">fun </span><span class="identifier">generateSpend</span><span class="symbol">(</span><span class="identifier" id="contracts.Cash$generateSpend(core.TransactionBuilder, core.Amount, java.security.PublicKey, kotlin.collections.List((core.StateAndRef((contracts.Cash.State)))), kotlin.collections.Set((core.Party)))/tx">tx</span><span class="symbol">:</span> <a href="../../core/-transaction-builder/index.html"><span class="identifier">TransactionBuilder</span></a><span class="symbol">, </span><span class="identifier" id="contracts.Cash$generateSpend(core.TransactionBuilder, core.Amount, java.security.PublicKey, kotlin.collections.List((core.StateAndRef((contracts.Cash.State)))), kotlin.collections.Set((core.Party)))/amount">amount</span><span class="symbol">:</span> <a href="../../core/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">, </span><span class="identifier" id="contracts.Cash$generateSpend(core.TransactionBuilder, core.Amount, java.security.PublicKey, kotlin.collections.List((core.StateAndRef((contracts.Cash.State)))), kotlin.collections.Set((core.Party)))/to">to</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a><span class="symbol">, </span><span class="identifier" id="contracts.Cash$generateSpend(core.TransactionBuilder, core.Amount, java.security.PublicKey, kotlin.collections.List((core.StateAndRef((contracts.Cash.State)))), kotlin.collections.Set((core.Party)))/cashStates">cashStates</span><span class="symbol">:</span> <span class="identifier">List</span><span class="symbol"><</span><a href="../../core/-state-and-ref/index.html"><span class="identifier">StateAndRef</span></a><span class="symbol"><</span><a href="-state/index.html"><span class="identifier">State</span></a><span class="symbol">></span><span class="symbol">></span><span class="symbol">, </span><span class="identifier" id="contracts.Cash$generateSpend(core.TransactionBuilder, core.Amount, java.security.PublicKey, kotlin.collections.List((core.StateAndRef((contracts.Cash.State)))), kotlin.collections.Set((core.Party)))/onlyFromParties">onlyFromParties</span><span class="symbol">:</span> <span class="identifier">Set</span><span class="symbol"><</span><a href="../../core/-party/index.html"><span class="identifier">Party</span></a><span class="symbol">></span><span class="symbol">?</span> <span class="symbol">=</span> null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol"><</span><a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a><span class="symbol">></span></code><p>Generate a transaction that consumes one or more of the given input states to move money to the given pubkey.
|
||||
Note that the wallet list is not updated: its up to you to do that.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="verify.html">verify</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">fun </span><span class="identifier">verify</span><span class="symbol">(</span><span class="identifier" id="contracts.Cash$verify(core.TransactionForVerification)/tx">tx</span><span class="symbol">:</span> <a href="../../core/-transaction-for-verification/index.html"><span class="identifier">TransactionForVerification</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><p>This is the function EVERYONE runs</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</BODY>
|
||||
</HTML>
|
25
docs/build/html/api/contracts/-cash/legal-contract-reference.html
vendored
Normal file
25
docs/build/html/api/contracts/-cash/legal-contract-reference.html
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Cash.legalContractReference - </title>
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../index.html">contracts</a> / <a href="index.html">Cash</a> / <a href=".">legalContractReference</a><br/>
|
||||
<br/>
|
||||
<h1>legalContractReference</h1>
|
||||
<a name="contracts.Cash$legalContractReference"></a>
|
||||
<code><span class="keyword">val </span><span class="identifier">legalContractReference</span><span class="symbol">: </span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a></code><br/>
|
||||
Overrides <a href="../../core/-contract/legal-contract-reference.html">Contract.legalContractReference</a><br/>
|
||||
<p>TODO:</p>
|
||||
<ol><li><p>hash should be of the contents, not the URI</p>
|
||||
</li><li><p>allow the content to be specified at time of instance creation?</p>
|
||||
</li></ol><p>Motivation: its the difference between a state object referencing a programRef, which references a
|
||||
legalContractReference and a state object which directly references both. The latter allows the legal wording
|
||||
to evolve without requiring code changes. But creates a risk that users create objects governed by a program
|
||||
that is inconsistent with the legal contract</p>
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
17
docs/build/html/api/contracts/-cash/verify.html
vendored
Normal file
17
docs/build/html/api/contracts/-cash/verify.html
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>Cash.verify - </title>
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../index.html">contracts</a> / <a href="index.html">Cash</a> / <a href=".">verify</a><br/>
|
||||
<br/>
|
||||
<h1>verify</h1>
|
||||
<a name="contracts.Cash$verify(core.TransactionForVerification)"></a>
|
||||
<code><span class="keyword">fun </span><span class="identifier">verify</span><span class="symbol">(</span><span class="identifier" id="contracts.Cash$verify(core.TransactionForVerification)/tx">tx</span><span class="symbol">:</span> <a href="../../core/-transaction-for-verification/index.html"><span class="identifier">TransactionForVerification</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
|
||||
Overrides <a href="../../core/-contract/verify.html">Contract.verify</a><br/>
|
||||
<p>This is the function EVERYONE runs</p>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
14
docs/build/html/api/contracts/-commercial-paper/-commands/-issue/-init-.html
vendored
Normal file
14
docs/build/html/api/contracts/-commercial-paper/-commands/-issue/-init-.html
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CommercialPaper.Commands.Issue.<init> - </title>
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../../index.html">contracts</a> / <a href="../../index.html">CommercialPaper</a> / <a href="../index.html">Commands</a> / <a href="index.html">Issue</a> / <a href="."><init></a><br/>
|
||||
<br/>
|
||||
<h1><init></h1>
|
||||
<code><span class="identifier">Issue</span><span class="symbol">(</span><span class="symbol">)</span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
42
docs/build/html/api/contracts/-commercial-paper/-commands/-issue/index.html
vendored
Normal file
42
docs/build/html/api/contracts/-commercial-paper/-commands/-issue/index.html
vendored
Normal file
@ -0,0 +1,42 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CommercialPaper.Commands.Issue - </title>
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../../index.html">contracts</a> / <a href="../../index.html">CommercialPaper</a> / <a href="../index.html">Commands</a> / <a href=".">Issue</a><br/>
|
||||
<br/>
|
||||
<h1>Issue</h1>
|
||||
<code><span class="keyword">class </span><span class="identifier">Issue</span> <span class="symbol">:</span> <a href="../../../../core/-type-only-command-data/index.html"><span class="identifier">TypeOnlyCommandData</span></a><span class="symbol">, </span><a href="../index.html"><span class="identifier">Commands</span></a></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<h3>Constructors</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-init-.html"><init></a></td>
|
||||
<td>
|
||||
<code><span class="identifier">Issue</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Inherited Functions</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../../../../core/-type-only-command-data/equals.html">equals</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">equals</span><span class="symbol">(</span><span class="identifier" id="core.TypeOnlyCommandData$equals(kotlin.Any)/other">other</span><span class="symbol">:</span> <span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Boolean</span></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../../../../core/-type-only-command-data/hash-code.html">hashCode</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">hashCode</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</BODY>
|
||||
</HTML>
|
14
docs/build/html/api/contracts/-commercial-paper/-commands/-move/-init-.html
vendored
Normal file
14
docs/build/html/api/contracts/-commercial-paper/-commands/-move/-init-.html
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CommercialPaper.Commands.Move.<init> - </title>
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../../index.html">contracts</a> / <a href="../../index.html">CommercialPaper</a> / <a href="../index.html">Commands</a> / <a href="index.html">Move</a> / <a href="."><init></a><br/>
|
||||
<br/>
|
||||
<h1><init></h1>
|
||||
<code><span class="identifier">Move</span><span class="symbol">(</span><span class="symbol">)</span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
42
docs/build/html/api/contracts/-commercial-paper/-commands/-move/index.html
vendored
Normal file
42
docs/build/html/api/contracts/-commercial-paper/-commands/-move/index.html
vendored
Normal file
@ -0,0 +1,42 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CommercialPaper.Commands.Move - </title>
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../../index.html">contracts</a> / <a href="../../index.html">CommercialPaper</a> / <a href="../index.html">Commands</a> / <a href=".">Move</a><br/>
|
||||
<br/>
|
||||
<h1>Move</h1>
|
||||
<code><span class="keyword">class </span><span class="identifier">Move</span> <span class="symbol">:</span> <a href="../../../../core/-type-only-command-data/index.html"><span class="identifier">TypeOnlyCommandData</span></a><span class="symbol">, </span><a href="../index.html"><span class="identifier">Commands</span></a></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<h3>Constructors</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-init-.html"><init></a></td>
|
||||
<td>
|
||||
<code><span class="identifier">Move</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Inherited Functions</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../../../../core/-type-only-command-data/equals.html">equals</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">equals</span><span class="symbol">(</span><span class="identifier" id="core.TypeOnlyCommandData$equals(kotlin.Any)/other">other</span><span class="symbol">:</span> <span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Boolean</span></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../../../../core/-type-only-command-data/hash-code.html">hashCode</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">hashCode</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</BODY>
|
||||
</HTML>
|
14
docs/build/html/api/contracts/-commercial-paper/-commands/-redeem/-init-.html
vendored
Normal file
14
docs/build/html/api/contracts/-commercial-paper/-commands/-redeem/-init-.html
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CommercialPaper.Commands.Redeem.<init> - </title>
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../../index.html">contracts</a> / <a href="../../index.html">CommercialPaper</a> / <a href="../index.html">Commands</a> / <a href="index.html">Redeem</a> / <a href="."><init></a><br/>
|
||||
<br/>
|
||||
<h1><init></h1>
|
||||
<code><span class="identifier">Redeem</span><span class="symbol">(</span><span class="symbol">)</span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
42
docs/build/html/api/contracts/-commercial-paper/-commands/-redeem/index.html
vendored
Normal file
42
docs/build/html/api/contracts/-commercial-paper/-commands/-redeem/index.html
vendored
Normal file
@ -0,0 +1,42 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CommercialPaper.Commands.Redeem - </title>
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../../index.html">contracts</a> / <a href="../../index.html">CommercialPaper</a> / <a href="../index.html">Commands</a> / <a href=".">Redeem</a><br/>
|
||||
<br/>
|
||||
<h1>Redeem</h1>
|
||||
<code><span class="keyword">class </span><span class="identifier">Redeem</span> <span class="symbol">:</span> <a href="../../../../core/-type-only-command-data/index.html"><span class="identifier">TypeOnlyCommandData</span></a><span class="symbol">, </span><a href="../index.html"><span class="identifier">Commands</span></a></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<h3>Constructors</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-init-.html"><init></a></td>
|
||||
<td>
|
||||
<code><span class="identifier">Redeem</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Inherited Functions</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../../../../core/-type-only-command-data/equals.html">equals</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">equals</span><span class="symbol">(</span><span class="identifier" id="core.TypeOnlyCommandData$equals(kotlin.Any)/other">other</span><span class="symbol">:</span> <span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Boolean</span></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../../../../core/-type-only-command-data/hash-code.html">hashCode</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">hashCode</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</BODY>
|
||||
</HTML>
|
60
docs/build/html/api/contracts/-commercial-paper/-commands/index.html
vendored
Normal file
60
docs/build/html/api/contracts/-commercial-paper/-commands/index.html
vendored
Normal file
@ -0,0 +1,60 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CommercialPaper.Commands - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CommercialPaper</a> / <a href=".">Commands</a><br/>
|
||||
<br/>
|
||||
<h1>Commands</h1>
|
||||
<code><span class="keyword">interface </span><span class="identifier">Commands</span> <span class="symbol">:</span> <a href="../../../core/-command-data.html"><span class="identifier">CommandData</span></a></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<h3>Types</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-issue/index.html">Issue</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">class </span><span class="identifier">Issue</span> <span class="symbol">:</span> <a href="../../../core/-type-only-command-data/index.html"><span class="identifier">TypeOnlyCommandData</span></a><span class="symbol">, </span><span class="identifier">Commands</span></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-move/index.html">Move</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">class </span><span class="identifier">Move</span> <span class="symbol">:</span> <a href="../../../core/-type-only-command-data/index.html"><span class="identifier">TypeOnlyCommandData</span></a><span class="symbol">, </span><span class="identifier">Commands</span></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-redeem/index.html">Redeem</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">class </span><span class="identifier">Redeem</span> <span class="symbol">:</span> <a href="../../../core/-type-only-command-data/index.html"><span class="identifier">TypeOnlyCommandData</span></a><span class="symbol">, </span><span class="identifier">Commands</span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Inheritors</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-issue/index.html">Issue</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">class </span><span class="identifier">Issue</span> <span class="symbol">:</span> <a href="../../../core/-type-only-command-data/index.html"><span class="identifier">TypeOnlyCommandData</span></a><span class="symbol">, </span><span class="identifier">Commands</span></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-move/index.html">Move</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">class </span><span class="identifier">Move</span> <span class="symbol">:</span> <a href="../../../core/-type-only-command-data/index.html"><span class="identifier">TypeOnlyCommandData</span></a><span class="symbol">, </span><span class="identifier">Commands</span></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-redeem/index.html">Redeem</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">class </span><span class="identifier">Redeem</span> <span class="symbol">:</span> <a href="../../../core/-type-only-command-data/index.html"><span class="identifier">TypeOnlyCommandData</span></a><span class="symbol">, </span><span class="identifier">Commands</span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</BODY>
|
||||
</HTML>
|
14
docs/build/html/api/contracts/-commercial-paper/-init-.html
vendored
Normal file
14
docs/build/html/api/contracts/-commercial-paper/-init-.html
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CommercialPaper.<init> - </title>
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../index.html">contracts</a> / <a href="index.html">CommercialPaper</a> / <a href="."><init></a><br/>
|
||||
<br/>
|
||||
<h1><init></h1>
|
||||
<code><span class="identifier">CommercialPaper</span><span class="symbol">(</span><span class="symbol">)</span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
14
docs/build/html/api/contracts/-commercial-paper/-state/-init-.html
vendored
Normal file
14
docs/build/html/api/contracts/-commercial-paper/-state/-init-.html
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CommercialPaper.State.<init> - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CommercialPaper</a> / <a href="index.html">State</a> / <a href="."><init></a><br/>
|
||||
<br/>
|
||||
<h1><init></h1>
|
||||
<code><span class="identifier">State</span><span class="symbol">(</span><span class="identifier" id="contracts.CommercialPaper.State$<init>(core.PartyReference, java.security.PublicKey, core.Amount, java.time.Instant)/issuance">issuance</span><span class="symbol">:</span> <a href="../../../core/-party-reference/index.html"><span class="identifier">PartyReference</span></a><span class="symbol">, </span><span class="identifier" id="contracts.CommercialPaper.State$<init>(core.PartyReference, java.security.PublicKey, core.Amount, java.time.Instant)/owner">owner</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a><span class="symbol">, </span><span class="identifier" id="contracts.CommercialPaper.State$<init>(core.PartyReference, java.security.PublicKey, core.Amount, java.time.Instant)/faceValue">faceValue</span><span class="symbol">:</span> <a href="../../../core/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">, </span><span class="identifier" id="contracts.CommercialPaper.State$<init>(core.PartyReference, java.security.PublicKey, core.Amount, java.time.Instant)/maturityDate">maturityDate</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/time/Instant.html"><span class="identifier">Instant</span></a><span class="symbol">)</span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/contracts/-commercial-paper/-state/face-value.html
vendored
Normal file
15
docs/build/html/api/contracts/-commercial-paper/-state/face-value.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CommercialPaper.State.faceValue - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CommercialPaper</a> / <a href="index.html">State</a> / <a href=".">faceValue</a><br/>
|
||||
<br/>
|
||||
<h1>faceValue</h1>
|
||||
<a name="contracts.CommercialPaper.State$faceValue"></a>
|
||||
<code><span class="keyword">val </span><span class="identifier">faceValue</span><span class="symbol">: </span><a href="../../../core/-amount/index.html"><span class="identifier">Amount</span></a></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
112
docs/build/html/api/contracts/-commercial-paper/-state/index.html
vendored
Normal file
112
docs/build/html/api/contracts/-commercial-paper/-state/index.html
vendored
Normal file
@ -0,0 +1,112 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CommercialPaper.State - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CommercialPaper</a> / <a href=".">State</a><br/>
|
||||
<br/>
|
||||
<h1>State</h1>
|
||||
<code><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">State</span> <span class="symbol">:</span> <a href="../../../core/-ownable-state/index.html"><span class="identifier">OwnableState</span></a></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<h3>Constructors</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-init-.html"><init></a></td>
|
||||
<td>
|
||||
<code><span class="identifier">State</span><span class="symbol">(</span><span class="identifier" id="contracts.CommercialPaper.State$<init>(core.PartyReference, java.security.PublicKey, core.Amount, java.time.Instant)/issuance">issuance</span><span class="symbol">:</span> <a href="../../../core/-party-reference/index.html"><span class="identifier">PartyReference</span></a><span class="symbol">, </span><span class="identifier" id="contracts.CommercialPaper.State$<init>(core.PartyReference, java.security.PublicKey, core.Amount, java.time.Instant)/owner">owner</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a><span class="symbol">, </span><span class="identifier" id="contracts.CommercialPaper.State$<init>(core.PartyReference, java.security.PublicKey, core.Amount, java.time.Instant)/faceValue">faceValue</span><span class="symbol">:</span> <a href="../../../core/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">, </span><span class="identifier" id="contracts.CommercialPaper.State$<init>(core.PartyReference, java.security.PublicKey, core.Amount, java.time.Instant)/maturityDate">maturityDate</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/time/Instant.html"><span class="identifier">Instant</span></a><span class="symbol">)</span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Properties</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="face-value.html">faceValue</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">val </span><span class="identifier">faceValue</span><span class="symbol">: </span><a href="../../../core/-amount/index.html"><span class="identifier">Amount</span></a></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="issuance.html">issuance</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">val </span><span class="identifier">issuance</span><span class="symbol">: </span><a href="../../../core/-party-reference/index.html"><span class="identifier">PartyReference</span></a></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="maturity-date.html">maturityDate</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">val </span><span class="identifier">maturityDate</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/time/Instant.html"><span class="identifier">Instant</span></a></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="owner.html">owner</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">val </span><span class="identifier">owner</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a></code><p>There must be a MoveCommand signed by this key to claim the amount</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="program-ref.html">programRef</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">val </span><span class="identifier">programRef</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code><p>Refers to a bytecode program that has previously been published to the network. This contract program
|
||||
will be executed any time this state is used in an input. It must accept in order for the
|
||||
transaction to proceed.</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Functions</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="to-string.html">toString</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">fun </span><span class="identifier">toString</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">String</span></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="with-face-value.html">withFaceValue</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">fun </span><span class="identifier">withFaceValue</span><span class="symbol">(</span><span class="identifier" id="contracts.CommercialPaper.State$withFaceValue(core.Amount)/newFaceValue">newFaceValue</span><span class="symbol">:</span> <a href="../../../core/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="with-issuance.html">withIssuance</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">fun </span><span class="identifier">withIssuance</span><span class="symbol">(</span><span class="identifier" id="contracts.CommercialPaper.State$withIssuance(core.PartyReference)/newIssuance">newIssuance</span><span class="symbol">:</span> <a href="../../../core/-party-reference/index.html"><span class="identifier">PartyReference</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="with-maturity-date.html">withMaturityDate</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">fun </span><span class="identifier">withMaturityDate</span><span class="symbol">(</span><span class="identifier" id="contracts.CommercialPaper.State$withMaturityDate(java.time.Instant)/newMaturityDate">newMaturityDate</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/time/Instant.html"><span class="identifier">Instant</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="with-new-owner.html">withNewOwner</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">fun </span><span class="identifier">withNewOwner</span><span class="symbol">(</span><span class="identifier" id="contracts.CommercialPaper.State$withNewOwner(java.security.PublicKey)/newOwner">newOwner</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code><p>Copies the underlying data structure, replacing the owner field with this new value and leaving the rest alone</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="with-owner.html">withOwner</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">fun </span><span class="identifier">withOwner</span><span class="symbol">(</span><span class="identifier" id="contracts.CommercialPaper.State$withOwner(java.security.PublicKey)/newOwner">newOwner</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="without-owner.html">withoutOwner</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">fun </span><span class="identifier">withoutOwner</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">State</span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/contracts/-commercial-paper/-state/issuance.html
vendored
Normal file
15
docs/build/html/api/contracts/-commercial-paper/-state/issuance.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CommercialPaper.State.issuance - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CommercialPaper</a> / <a href="index.html">State</a> / <a href=".">issuance</a><br/>
|
||||
<br/>
|
||||
<h1>issuance</h1>
|
||||
<a name="contracts.CommercialPaper.State$issuance"></a>
|
||||
<code><span class="keyword">val </span><span class="identifier">issuance</span><span class="symbol">: </span><a href="../../../core/-party-reference/index.html"><span class="identifier">PartyReference</span></a></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/contracts/-commercial-paper/-state/maturity-date.html
vendored
Normal file
15
docs/build/html/api/contracts/-commercial-paper/-state/maturity-date.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CommercialPaper.State.maturityDate - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CommercialPaper</a> / <a href="index.html">State</a> / <a href=".">maturityDate</a><br/>
|
||||
<br/>
|
||||
<h1>maturityDate</h1>
|
||||
<a name="contracts.CommercialPaper.State$maturityDate"></a>
|
||||
<code><span class="keyword">val </span><span class="identifier">maturityDate</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/time/Instant.html"><span class="identifier">Instant</span></a></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
17
docs/build/html/api/contracts/-commercial-paper/-state/owner.html
vendored
Normal file
17
docs/build/html/api/contracts/-commercial-paper/-state/owner.html
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CommercialPaper.State.owner - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CommercialPaper</a> / <a href="index.html">State</a> / <a href=".">owner</a><br/>
|
||||
<br/>
|
||||
<h1>owner</h1>
|
||||
<a name="contracts.CommercialPaper.State$owner"></a>
|
||||
<code><span class="keyword">val </span><span class="identifier">owner</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a></code><br/>
|
||||
Overrides <a href="../../../core/-ownable-state/owner.html">OwnableState.owner</a><br/>
|
||||
<p>There must be a MoveCommand signed by this key to claim the amount</p>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
19
docs/build/html/api/contracts/-commercial-paper/-state/program-ref.html
vendored
Normal file
19
docs/build/html/api/contracts/-commercial-paper/-state/program-ref.html
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CommercialPaper.State.programRef - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CommercialPaper</a> / <a href="index.html">State</a> / <a href=".">programRef</a><br/>
|
||||
<br/>
|
||||
<h1>programRef</h1>
|
||||
<a name="contracts.CommercialPaper.State$programRef"></a>
|
||||
<code><span class="keyword">val </span><span class="identifier">programRef</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code><br/>
|
||||
Overrides <a href="../../../core/-contract-state/program-ref.html">ContractState.programRef</a><br/>
|
||||
<p>Refers to a bytecode program that has previously been published to the network. This contract program
|
||||
will be executed any time this state is used in an input. It must accept in order for the
|
||||
transaction to proceed.</p>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/contracts/-commercial-paper/-state/to-string.html
vendored
Normal file
15
docs/build/html/api/contracts/-commercial-paper/-state/to-string.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CommercialPaper.State.toString - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CommercialPaper</a> / <a href="index.html">State</a> / <a href=".">toString</a><br/>
|
||||
<br/>
|
||||
<h1>toString</h1>
|
||||
<a name="contracts.CommercialPaper.State$toString()"></a>
|
||||
<code><span class="keyword">fun </span><span class="identifier">toString</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">String</span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/contracts/-commercial-paper/-state/with-face-value.html
vendored
Normal file
15
docs/build/html/api/contracts/-commercial-paper/-state/with-face-value.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CommercialPaper.State.withFaceValue - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CommercialPaper</a> / <a href="index.html">State</a> / <a href=".">withFaceValue</a><br/>
|
||||
<br/>
|
||||
<h1>withFaceValue</h1>
|
||||
<a name="contracts.CommercialPaper.State$withFaceValue(core.Amount)"></a>
|
||||
<code><span class="keyword">fun </span><span class="identifier">withFaceValue</span><span class="symbol">(</span><span class="identifier" id="contracts.CommercialPaper.State$withFaceValue(core.Amount)/newFaceValue">newFaceValue</span><span class="symbol">:</span> <a href="../../../core/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/contracts/-commercial-paper/-state/with-issuance.html
vendored
Normal file
15
docs/build/html/api/contracts/-commercial-paper/-state/with-issuance.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CommercialPaper.State.withIssuance - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CommercialPaper</a> / <a href="index.html">State</a> / <a href=".">withIssuance</a><br/>
|
||||
<br/>
|
||||
<h1>withIssuance</h1>
|
||||
<a name="contracts.CommercialPaper.State$withIssuance(core.PartyReference)"></a>
|
||||
<code><span class="keyword">fun </span><span class="identifier">withIssuance</span><span class="symbol">(</span><span class="identifier" id="contracts.CommercialPaper.State$withIssuance(core.PartyReference)/newIssuance">newIssuance</span><span class="symbol">:</span> <a href="../../../core/-party-reference/index.html"><span class="identifier">PartyReference</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/contracts/-commercial-paper/-state/with-maturity-date.html
vendored
Normal file
15
docs/build/html/api/contracts/-commercial-paper/-state/with-maturity-date.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CommercialPaper.State.withMaturityDate - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CommercialPaper</a> / <a href="index.html">State</a> / <a href=".">withMaturityDate</a><br/>
|
||||
<br/>
|
||||
<h1>withMaturityDate</h1>
|
||||
<a name="contracts.CommercialPaper.State$withMaturityDate(java.time.Instant)"></a>
|
||||
<code><span class="keyword">fun </span><span class="identifier">withMaturityDate</span><span class="symbol">(</span><span class="identifier" id="contracts.CommercialPaper.State$withMaturityDate(java.time.Instant)/newMaturityDate">newMaturityDate</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/time/Instant.html"><span class="identifier">Instant</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
17
docs/build/html/api/contracts/-commercial-paper/-state/with-new-owner.html
vendored
Normal file
17
docs/build/html/api/contracts/-commercial-paper/-state/with-new-owner.html
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CommercialPaper.State.withNewOwner - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CommercialPaper</a> / <a href="index.html">State</a> / <a href=".">withNewOwner</a><br/>
|
||||
<br/>
|
||||
<h1>withNewOwner</h1>
|
||||
<a name="contracts.CommercialPaper.State$withNewOwner(java.security.PublicKey)"></a>
|
||||
<code><span class="keyword">fun </span><span class="identifier">withNewOwner</span><span class="symbol">(</span><span class="identifier" id="contracts.CommercialPaper.State$withNewOwner(java.security.PublicKey)/newOwner">newOwner</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code><br/>
|
||||
Overrides <a href="../../../core/-ownable-state/with-new-owner.html">OwnableState.withNewOwner</a><br/>
|
||||
<p>Copies the underlying data structure, replacing the owner field with this new value and leaving the rest alone</p>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/contracts/-commercial-paper/-state/with-owner.html
vendored
Normal file
15
docs/build/html/api/contracts/-commercial-paper/-state/with-owner.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CommercialPaper.State.withOwner - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CommercialPaper</a> / <a href="index.html">State</a> / <a href=".">withOwner</a><br/>
|
||||
<br/>
|
||||
<h1>withOwner</h1>
|
||||
<a name="contracts.CommercialPaper.State$withOwner(java.security.PublicKey)"></a>
|
||||
<code><span class="keyword">fun </span><span class="identifier">withOwner</span><span class="symbol">(</span><span class="identifier" id="contracts.CommercialPaper.State$withOwner(java.security.PublicKey)/newOwner">newOwner</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/contracts/-commercial-paper/-state/without-owner.html
vendored
Normal file
15
docs/build/html/api/contracts/-commercial-paper/-state/without-owner.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CommercialPaper.State.withoutOwner - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CommercialPaper</a> / <a href="index.html">State</a> / <a href=".">withoutOwner</a><br/>
|
||||
<br/>
|
||||
<h1>withoutOwner</h1>
|
||||
<a name="contracts.CommercialPaper.State$withoutOwner()"></a>
|
||||
<code><span class="keyword">fun </span><span class="identifier">withoutOwner</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">State</span></a></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
18
docs/build/html/api/contracts/-commercial-paper/generate-issue.html
vendored
Normal file
18
docs/build/html/api/contracts/-commercial-paper/generate-issue.html
vendored
Normal file
@ -0,0 +1,18 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CommercialPaper.generateIssue - </title>
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../index.html">contracts</a> / <a href="index.html">CommercialPaper</a> / <a href=".">generateIssue</a><br/>
|
||||
<br/>
|
||||
<h1>generateIssue</h1>
|
||||
<a name="contracts.CommercialPaper$generateIssue(core.PartyReference, core.Amount, java.time.Instant)"></a>
|
||||
<code><span class="keyword">fun </span><span class="identifier">generateIssue</span><span class="symbol">(</span><span class="identifier" id="contracts.CommercialPaper$generateIssue(core.PartyReference, core.Amount, java.time.Instant)/issuance">issuance</span><span class="symbol">:</span> <a href="../../core/-party-reference/index.html"><span class="identifier">PartyReference</span></a><span class="symbol">, </span><span class="identifier" id="contracts.CommercialPaper$generateIssue(core.PartyReference, core.Amount, java.time.Instant)/faceValue">faceValue</span><span class="symbol">:</span> <a href="../../core/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">, </span><span class="identifier" id="contracts.CommercialPaper$generateIssue(core.PartyReference, core.Amount, java.time.Instant)/maturityDate">maturityDate</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/time/Instant.html"><span class="identifier">Instant</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../core/-transaction-builder/index.html"><span class="identifier">TransactionBuilder</span></a></code><br/>
|
||||
<p>Returns a transaction that issues commercial paper, owned by the issuing parties key. Does not update
|
||||
an existing transaction because you arent able to issue multiple pieces of CP in a single transaction
|
||||
at the moment: this restriction is not fundamental and may be lifted later.</p>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
16
docs/build/html/api/contracts/-commercial-paper/generate-move.html
vendored
Normal file
16
docs/build/html/api/contracts/-commercial-paper/generate-move.html
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CommercialPaper.generateMove - </title>
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../index.html">contracts</a> / <a href="index.html">CommercialPaper</a> / <a href=".">generateMove</a><br/>
|
||||
<br/>
|
||||
<h1>generateMove</h1>
|
||||
<a name="contracts.CommercialPaper$generateMove(core.TransactionBuilder, core.StateAndRef((contracts.CommercialPaper.State)), java.security.PublicKey)"></a>
|
||||
<code><span class="keyword">fun </span><span class="identifier">generateMove</span><span class="symbol">(</span><span class="identifier" id="contracts.CommercialPaper$generateMove(core.TransactionBuilder, core.StateAndRef((contracts.CommercialPaper.State)), java.security.PublicKey)/tx">tx</span><span class="symbol">:</span> <a href="../../core/-transaction-builder/index.html"><span class="identifier">TransactionBuilder</span></a><span class="symbol">, </span><span class="identifier" id="contracts.CommercialPaper$generateMove(core.TransactionBuilder, core.StateAndRef((contracts.CommercialPaper.State)), java.security.PublicKey)/paper">paper</span><span class="symbol">:</span> <a href="../../core/-state-and-ref/index.html"><span class="identifier">StateAndRef</span></a><span class="symbol"><</span><a href="-state/index.html"><span class="identifier">State</span></a><span class="symbol">></span><span class="symbol">, </span><span class="identifier" id="contracts.CommercialPaper$generateMove(core.TransactionBuilder, core.StateAndRef((contracts.CommercialPaper.State)), java.security.PublicKey)/newOwner">newOwner</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
|
||||
<p>Updates the given partial transaction with an input/output/command to reassign ownership of the paper.</p>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
21
docs/build/html/api/contracts/-commercial-paper/generate-redeem.html
vendored
Normal file
21
docs/build/html/api/contracts/-commercial-paper/generate-redeem.html
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CommercialPaper.generateRedeem - </title>
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../index.html">contracts</a> / <a href="index.html">CommercialPaper</a> / <a href=".">generateRedeem</a><br/>
|
||||
<br/>
|
||||
<h1>generateRedeem</h1>
|
||||
<a name="contracts.CommercialPaper$generateRedeem(core.TransactionBuilder, core.StateAndRef((contracts.CommercialPaper.State)), kotlin.collections.List((core.StateAndRef((contracts.Cash.State)))))"></a>
|
||||
<code><span class="keyword">fun </span><span class="identifier">generateRedeem</span><span class="symbol">(</span><span class="identifier" id="contracts.CommercialPaper$generateRedeem(core.TransactionBuilder, core.StateAndRef((contracts.CommercialPaper.State)), kotlin.collections.List((core.StateAndRef((contracts.Cash.State)))))/tx">tx</span><span class="symbol">:</span> <a href="../../core/-transaction-builder/index.html"><span class="identifier">TransactionBuilder</span></a><span class="symbol">, </span><span class="identifier" id="contracts.CommercialPaper$generateRedeem(core.TransactionBuilder, core.StateAndRef((contracts.CommercialPaper.State)), kotlin.collections.List((core.StateAndRef((contracts.Cash.State)))))/paper">paper</span><span class="symbol">:</span> <a href="../../core/-state-and-ref/index.html"><span class="identifier">StateAndRef</span></a><span class="symbol"><</span><a href="-state/index.html"><span class="identifier">State</span></a><span class="symbol">></span><span class="symbol">, </span><span class="identifier" id="contracts.CommercialPaper$generateRedeem(core.TransactionBuilder, core.StateAndRef((contracts.CommercialPaper.State)), kotlin.collections.List((core.StateAndRef((contracts.Cash.State)))))/wallet">wallet</span><span class="symbol">:</span> <span class="identifier">List</span><span class="symbol"><</span><a href="../../core/-state-and-ref/index.html"><span class="identifier">StateAndRef</span></a><span class="symbol"><</span><a href="../-cash/-state/index.html"><span class="identifier">State</span></a><span class="symbol">></span><span class="symbol">></span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
|
||||
<p>Intended to be called by the issuer of some commercial paper, when an owner has notified us that they wish
|
||||
to redeem the paper. We must therefore send enough money to the key that owns the paper to satisfy the face
|
||||
value, and then ensure the paper is removed from the ledger.</p>
|
||||
<h3>Exceptions</h3>
|
||||
<a name="InsufficientBalanceException"></a>
|
||||
<code>InsufficientBalanceException</code> - if the wallet doesnt contain enough money to pay the redeemer<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
95
docs/build/html/api/contracts/-commercial-paper/index.html
vendored
Normal file
95
docs/build/html/api/contracts/-commercial-paper/index.html
vendored
Normal file
@ -0,0 +1,95 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CommercialPaper - </title>
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../index.html">contracts</a> / <a href=".">CommercialPaper</a><br/>
|
||||
<br/>
|
||||
<h1>CommercialPaper</h1>
|
||||
<code><span class="keyword">class </span><span class="identifier">CommercialPaper</span> <span class="symbol">:</span> <a href="../../core/-contract/index.html"><span class="identifier">Contract</span></a></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<h3>Types</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-commands/index.html">Commands</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">interface </span><span class="identifier">Commands</span> <span class="symbol">:</span> <a href="../../core/-command-data.html"><span class="identifier">CommandData</span></a></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-state/index.html">State</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">State</span> <span class="symbol">:</span> <a href="../../core/-ownable-state/index.html"><span class="identifier">OwnableState</span></a></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Constructors</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-init-.html"><init></a></td>
|
||||
<td>
|
||||
<code><span class="identifier">CommercialPaper</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Properties</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="legal-contract-reference.html">legalContractReference</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">val </span><span class="identifier">legalContractReference</span><span class="symbol">: </span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a></code><p>Unparsed reference to the natural language contract that this code is supposed to express (usually a hash of
|
||||
the contracts contents).</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Functions</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="generate-issue.html">generateIssue</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">fun </span><span class="identifier">generateIssue</span><span class="symbol">(</span><span class="identifier" id="contracts.CommercialPaper$generateIssue(core.PartyReference, core.Amount, java.time.Instant)/issuance">issuance</span><span class="symbol">:</span> <a href="../../core/-party-reference/index.html"><span class="identifier">PartyReference</span></a><span class="symbol">, </span><span class="identifier" id="contracts.CommercialPaper$generateIssue(core.PartyReference, core.Amount, java.time.Instant)/faceValue">faceValue</span><span class="symbol">:</span> <a href="../../core/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">, </span><span class="identifier" id="contracts.CommercialPaper$generateIssue(core.PartyReference, core.Amount, java.time.Instant)/maturityDate">maturityDate</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/time/Instant.html"><span class="identifier">Instant</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../core/-transaction-builder/index.html"><span class="identifier">TransactionBuilder</span></a></code><p>Returns a transaction that issues commercial paper, owned by the issuing parties key. Does not update
|
||||
an existing transaction because you arent able to issue multiple pieces of CP in a single transaction
|
||||
at the moment: this restriction is not fundamental and may be lifted later.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="generate-move.html">generateMove</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">fun </span><span class="identifier">generateMove</span><span class="symbol">(</span><span class="identifier" id="contracts.CommercialPaper$generateMove(core.TransactionBuilder, core.StateAndRef((contracts.CommercialPaper.State)), java.security.PublicKey)/tx">tx</span><span class="symbol">:</span> <a href="../../core/-transaction-builder/index.html"><span class="identifier">TransactionBuilder</span></a><span class="symbol">, </span><span class="identifier" id="contracts.CommercialPaper$generateMove(core.TransactionBuilder, core.StateAndRef((contracts.CommercialPaper.State)), java.security.PublicKey)/paper">paper</span><span class="symbol">:</span> <a href="../../core/-state-and-ref/index.html"><span class="identifier">StateAndRef</span></a><span class="symbol"><</span><a href="-state/index.html"><span class="identifier">State</span></a><span class="symbol">></span><span class="symbol">, </span><span class="identifier" id="contracts.CommercialPaper$generateMove(core.TransactionBuilder, core.StateAndRef((contracts.CommercialPaper.State)), java.security.PublicKey)/newOwner">newOwner</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><p>Updates the given partial transaction with an input/output/command to reassign ownership of the paper.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="generate-redeem.html">generateRedeem</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">fun </span><span class="identifier">generateRedeem</span><span class="symbol">(</span><span class="identifier" id="contracts.CommercialPaper$generateRedeem(core.TransactionBuilder, core.StateAndRef((contracts.CommercialPaper.State)), kotlin.collections.List((core.StateAndRef((contracts.Cash.State)))))/tx">tx</span><span class="symbol">:</span> <a href="../../core/-transaction-builder/index.html"><span class="identifier">TransactionBuilder</span></a><span class="symbol">, </span><span class="identifier" id="contracts.CommercialPaper$generateRedeem(core.TransactionBuilder, core.StateAndRef((contracts.CommercialPaper.State)), kotlin.collections.List((core.StateAndRef((contracts.Cash.State)))))/paper">paper</span><span class="symbol">:</span> <a href="../../core/-state-and-ref/index.html"><span class="identifier">StateAndRef</span></a><span class="symbol"><</span><a href="-state/index.html"><span class="identifier">State</span></a><span class="symbol">></span><span class="symbol">, </span><span class="identifier" id="contracts.CommercialPaper$generateRedeem(core.TransactionBuilder, core.StateAndRef((contracts.CommercialPaper.State)), kotlin.collections.List((core.StateAndRef((contracts.Cash.State)))))/wallet">wallet</span><span class="symbol">:</span> <span class="identifier">List</span><span class="symbol"><</span><a href="../../core/-state-and-ref/index.html"><span class="identifier">StateAndRef</span></a><span class="symbol"><</span><a href="../-cash/-state/index.html"><span class="identifier">State</span></a><span class="symbol">></span><span class="symbol">></span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><p>Intended to be called by the issuer of some commercial paper, when an owner has notified us that they wish
|
||||
to redeem the paper. We must therefore send enough money to the key that owns the paper to satisfy the face
|
||||
value, and then ensure the paper is removed from the ledger.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="verify.html">verify</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">fun </span><span class="identifier">verify</span><span class="symbol">(</span><span class="identifier" id="contracts.CommercialPaper$verify(core.TransactionForVerification)/tx">tx</span><span class="symbol">:</span> <a href="../../core/-transaction-for-verification/index.html"><span class="identifier">TransactionForVerification</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><p>Takes an object that represents a state transition, and ensures the inputs/outputs/commands make sense.
|
||||
Must throw an exception if theres a problem that should prevent state transition. Takes a single object
|
||||
rather than an argument so that additional data can be added without breaking binary compatibility with
|
||||
existing contract code.</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</BODY>
|
||||
</HTML>
|
18
docs/build/html/api/contracts/-commercial-paper/legal-contract-reference.html
vendored
Normal file
18
docs/build/html/api/contracts/-commercial-paper/legal-contract-reference.html
vendored
Normal file
@ -0,0 +1,18 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CommercialPaper.legalContractReference - </title>
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../index.html">contracts</a> / <a href="index.html">CommercialPaper</a> / <a href=".">legalContractReference</a><br/>
|
||||
<br/>
|
||||
<h1>legalContractReference</h1>
|
||||
<a name="contracts.CommercialPaper$legalContractReference"></a>
|
||||
<code><span class="keyword">val </span><span class="identifier">legalContractReference</span><span class="symbol">: </span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a></code><br/>
|
||||
Overrides <a href="../../core/-contract/legal-contract-reference.html">Contract.legalContractReference</a><br/>
|
||||
<p>Unparsed reference to the natural language contract that this code is supposed to express (usually a hash of
|
||||
the contracts contents).</p>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
20
docs/build/html/api/contracts/-commercial-paper/verify.html
vendored
Normal file
20
docs/build/html/api/contracts/-commercial-paper/verify.html
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CommercialPaper.verify - </title>
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../index.html">contracts</a> / <a href="index.html">CommercialPaper</a> / <a href=".">verify</a><br/>
|
||||
<br/>
|
||||
<h1>verify</h1>
|
||||
<a name="contracts.CommercialPaper$verify(core.TransactionForVerification)"></a>
|
||||
<code><span class="keyword">fun </span><span class="identifier">verify</span><span class="symbol">(</span><span class="identifier" id="contracts.CommercialPaper$verify(core.TransactionForVerification)/tx">tx</span><span class="symbol">:</span> <a href="../../core/-transaction-for-verification/index.html"><span class="identifier">TransactionForVerification</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
|
||||
Overrides <a href="../../core/-contract/verify.html">Contract.verify</a><br/>
|
||||
<p>Takes an object that represents a state transition, and ensures the inputs/outputs/commands make sense.
|
||||
Must throw an exception if theres a problem that should prevent state transition. Takes a single object
|
||||
rather than an argument so that additional data can be added without breaking binary compatibility with
|
||||
existing contract code.</p>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
14
docs/build/html/api/contracts/-crowd-fund/-campaign/-init-.html
vendored
Normal file
14
docs/build/html/api/contracts/-crowd-fund/-campaign/-init-.html
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CrowdFund.Campaign.<init> - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CrowdFund</a> / <a href="index.html">Campaign</a> / <a href="."><init></a><br/>
|
||||
<br/>
|
||||
<h1><init></h1>
|
||||
<code><span class="identifier">Campaign</span><span class="symbol">(</span><span class="identifier" id="contracts.CrowdFund.Campaign$<init>(java.security.PublicKey, kotlin.String, core.Amount, java.time.Instant)/owner">owner</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a><span class="symbol">, </span><span class="identifier" id="contracts.CrowdFund.Campaign$<init>(java.security.PublicKey, kotlin.String, core.Amount, java.time.Instant)/name">name</span><span class="symbol">:</span> <span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="contracts.CrowdFund.Campaign$<init>(java.security.PublicKey, kotlin.String, core.Amount, java.time.Instant)/target">target</span><span class="symbol">:</span> <a href="../../../core/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">, </span><span class="identifier" id="contracts.CrowdFund.Campaign$<init>(java.security.PublicKey, kotlin.String, core.Amount, java.time.Instant)/closingTime">closingTime</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/time/Instant.html"><span class="identifier">Instant</span></a><span class="symbol">)</span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/contracts/-crowd-fund/-campaign/closing-time.html
vendored
Normal file
15
docs/build/html/api/contracts/-crowd-fund/-campaign/closing-time.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CrowdFund.Campaign.closingTime - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CrowdFund</a> / <a href="index.html">Campaign</a> / <a href=".">closingTime</a><br/>
|
||||
<br/>
|
||||
<h1>closingTime</h1>
|
||||
<a name="contracts.CrowdFund.Campaign$closingTime"></a>
|
||||
<code><span class="keyword">val </span><span class="identifier">closingTime</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/time/Instant.html"><span class="identifier">Instant</span></a></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
65
docs/build/html/api/contracts/-crowd-fund/-campaign/index.html
vendored
Normal file
65
docs/build/html/api/contracts/-crowd-fund/-campaign/index.html
vendored
Normal file
@ -0,0 +1,65 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CrowdFund.Campaign - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CrowdFund</a> / <a href=".">Campaign</a><br/>
|
||||
<br/>
|
||||
<h1>Campaign</h1>
|
||||
<code><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">Campaign</span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<h3>Constructors</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-init-.html"><init></a></td>
|
||||
<td>
|
||||
<code><span class="identifier">Campaign</span><span class="symbol">(</span><span class="identifier" id="contracts.CrowdFund.Campaign$<init>(java.security.PublicKey, kotlin.String, core.Amount, java.time.Instant)/owner">owner</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a><span class="symbol">, </span><span class="identifier" id="contracts.CrowdFund.Campaign$<init>(java.security.PublicKey, kotlin.String, core.Amount, java.time.Instant)/name">name</span><span class="symbol">:</span> <span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="contracts.CrowdFund.Campaign$<init>(java.security.PublicKey, kotlin.String, core.Amount, java.time.Instant)/target">target</span><span class="symbol">:</span> <a href="../../../core/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">, </span><span class="identifier" id="contracts.CrowdFund.Campaign$<init>(java.security.PublicKey, kotlin.String, core.Amount, java.time.Instant)/closingTime">closingTime</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/time/Instant.html"><span class="identifier">Instant</span></a><span class="symbol">)</span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Properties</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="closing-time.html">closingTime</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">val </span><span class="identifier">closingTime</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/time/Instant.html"><span class="identifier">Instant</span></a></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="name.html">name</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">val </span><span class="identifier">name</span><span class="symbol">: </span><span class="identifier">String</span></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="owner.html">owner</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">val </span><span class="identifier">owner</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="target.html">target</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">val </span><span class="identifier">target</span><span class="symbol">: </span><a href="../../../core/-amount/index.html"><span class="identifier">Amount</span></a></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Functions</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="to-string.html">toString</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">fun </span><span class="identifier">toString</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">String</span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/contracts/-crowd-fund/-campaign/name.html
vendored
Normal file
15
docs/build/html/api/contracts/-crowd-fund/-campaign/name.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CrowdFund.Campaign.name - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CrowdFund</a> / <a href="index.html">Campaign</a> / <a href=".">name</a><br/>
|
||||
<br/>
|
||||
<h1>name</h1>
|
||||
<a name="contracts.CrowdFund.Campaign$name"></a>
|
||||
<code><span class="keyword">val </span><span class="identifier">name</span><span class="symbol">: </span><span class="identifier">String</span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/contracts/-crowd-fund/-campaign/owner.html
vendored
Normal file
15
docs/build/html/api/contracts/-crowd-fund/-campaign/owner.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CrowdFund.Campaign.owner - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CrowdFund</a> / <a href="index.html">Campaign</a> / <a href=".">owner</a><br/>
|
||||
<br/>
|
||||
<h1>owner</h1>
|
||||
<a name="contracts.CrowdFund.Campaign$owner"></a>
|
||||
<code><span class="keyword">val </span><span class="identifier">owner</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/contracts/-crowd-fund/-campaign/target.html
vendored
Normal file
15
docs/build/html/api/contracts/-crowd-fund/-campaign/target.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CrowdFund.Campaign.target - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CrowdFund</a> / <a href="index.html">Campaign</a> / <a href=".">target</a><br/>
|
||||
<br/>
|
||||
<h1>target</h1>
|
||||
<a name="contracts.CrowdFund.Campaign$target"></a>
|
||||
<code><span class="keyword">val </span><span class="identifier">target</span><span class="symbol">: </span><a href="../../../core/-amount/index.html"><span class="identifier">Amount</span></a></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/contracts/-crowd-fund/-campaign/to-string.html
vendored
Normal file
15
docs/build/html/api/contracts/-crowd-fund/-campaign/to-string.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CrowdFund.Campaign.toString - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CrowdFund</a> / <a href="index.html">Campaign</a> / <a href=".">toString</a><br/>
|
||||
<br/>
|
||||
<h1>toString</h1>
|
||||
<a name="contracts.CrowdFund.Campaign$toString()"></a>
|
||||
<code><span class="keyword">fun </span><span class="identifier">toString</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">String</span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
14
docs/build/html/api/contracts/-crowd-fund/-commands/-close/-init-.html
vendored
Normal file
14
docs/build/html/api/contracts/-crowd-fund/-commands/-close/-init-.html
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CrowdFund.Commands.Close.<init> - </title>
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../../index.html">contracts</a> / <a href="../../index.html">CrowdFund</a> / <a href="../index.html">Commands</a> / <a href="index.html">Close</a> / <a href="."><init></a><br/>
|
||||
<br/>
|
||||
<h1><init></h1>
|
||||
<code><span class="identifier">Close</span><span class="symbol">(</span><span class="symbol">)</span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
42
docs/build/html/api/contracts/-crowd-fund/-commands/-close/index.html
vendored
Normal file
42
docs/build/html/api/contracts/-crowd-fund/-commands/-close/index.html
vendored
Normal file
@ -0,0 +1,42 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CrowdFund.Commands.Close - </title>
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../../index.html">contracts</a> / <a href="../../index.html">CrowdFund</a> / <a href="../index.html">Commands</a> / <a href=".">Close</a><br/>
|
||||
<br/>
|
||||
<h1>Close</h1>
|
||||
<code><span class="keyword">class </span><span class="identifier">Close</span> <span class="symbol">:</span> <a href="../../../../core/-type-only-command-data/index.html"><span class="identifier">TypeOnlyCommandData</span></a><span class="symbol">, </span><a href="../index.html"><span class="identifier">Commands</span></a></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<h3>Constructors</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-init-.html"><init></a></td>
|
||||
<td>
|
||||
<code><span class="identifier">Close</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Inherited Functions</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../../../../core/-type-only-command-data/equals.html">equals</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">equals</span><span class="symbol">(</span><span class="identifier" id="core.TypeOnlyCommandData$equals(kotlin.Any)/other">other</span><span class="symbol">:</span> <span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Boolean</span></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../../../../core/-type-only-command-data/hash-code.html">hashCode</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">hashCode</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</BODY>
|
||||
</HTML>
|
14
docs/build/html/api/contracts/-crowd-fund/-commands/-pledge/-init-.html
vendored
Normal file
14
docs/build/html/api/contracts/-crowd-fund/-commands/-pledge/-init-.html
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CrowdFund.Commands.Pledge.<init> - </title>
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../../index.html">contracts</a> / <a href="../../index.html">CrowdFund</a> / <a href="../index.html">Commands</a> / <a href="index.html">Pledge</a> / <a href="."><init></a><br/>
|
||||
<br/>
|
||||
<h1><init></h1>
|
||||
<code><span class="identifier">Pledge</span><span class="symbol">(</span><span class="symbol">)</span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
42
docs/build/html/api/contracts/-crowd-fund/-commands/-pledge/index.html
vendored
Normal file
42
docs/build/html/api/contracts/-crowd-fund/-commands/-pledge/index.html
vendored
Normal file
@ -0,0 +1,42 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CrowdFund.Commands.Pledge - </title>
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../../index.html">contracts</a> / <a href="../../index.html">CrowdFund</a> / <a href="../index.html">Commands</a> / <a href=".">Pledge</a><br/>
|
||||
<br/>
|
||||
<h1>Pledge</h1>
|
||||
<code><span class="keyword">class </span><span class="identifier">Pledge</span> <span class="symbol">:</span> <a href="../../../../core/-type-only-command-data/index.html"><span class="identifier">TypeOnlyCommandData</span></a><span class="symbol">, </span><a href="../index.html"><span class="identifier">Commands</span></a></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<h3>Constructors</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-init-.html"><init></a></td>
|
||||
<td>
|
||||
<code><span class="identifier">Pledge</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Inherited Functions</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../../../../core/-type-only-command-data/equals.html">equals</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">equals</span><span class="symbol">(</span><span class="identifier" id="core.TypeOnlyCommandData$equals(kotlin.Any)/other">other</span><span class="symbol">:</span> <span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Boolean</span></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../../../../core/-type-only-command-data/hash-code.html">hashCode</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">hashCode</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</BODY>
|
||||
</HTML>
|
14
docs/build/html/api/contracts/-crowd-fund/-commands/-register/-init-.html
vendored
Normal file
14
docs/build/html/api/contracts/-crowd-fund/-commands/-register/-init-.html
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CrowdFund.Commands.Register.<init> - </title>
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../../index.html">contracts</a> / <a href="../../index.html">CrowdFund</a> / <a href="../index.html">Commands</a> / <a href="index.html">Register</a> / <a href="."><init></a><br/>
|
||||
<br/>
|
||||
<h1><init></h1>
|
||||
<code><span class="identifier">Register</span><span class="symbol">(</span><span class="symbol">)</span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
42
docs/build/html/api/contracts/-crowd-fund/-commands/-register/index.html
vendored
Normal file
42
docs/build/html/api/contracts/-crowd-fund/-commands/-register/index.html
vendored
Normal file
@ -0,0 +1,42 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CrowdFund.Commands.Register - </title>
|
||||
<link rel="stylesheet" href="../../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../../index.html">contracts</a> / <a href="../../index.html">CrowdFund</a> / <a href="../index.html">Commands</a> / <a href=".">Register</a><br/>
|
||||
<br/>
|
||||
<h1>Register</h1>
|
||||
<code><span class="keyword">class </span><span class="identifier">Register</span> <span class="symbol">:</span> <a href="../../../../core/-type-only-command-data/index.html"><span class="identifier">TypeOnlyCommandData</span></a><span class="symbol">, </span><a href="../index.html"><span class="identifier">Commands</span></a></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<h3>Constructors</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-init-.html"><init></a></td>
|
||||
<td>
|
||||
<code><span class="identifier">Register</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Inherited Functions</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../../../../core/-type-only-command-data/equals.html">equals</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">equals</span><span class="symbol">(</span><span class="identifier" id="core.TypeOnlyCommandData$equals(kotlin.Any)/other">other</span><span class="symbol">:</span> <span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Boolean</span></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../../../../core/-type-only-command-data/hash-code.html">hashCode</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">hashCode</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</BODY>
|
||||
</HTML>
|
60
docs/build/html/api/contracts/-crowd-fund/-commands/index.html
vendored
Normal file
60
docs/build/html/api/contracts/-crowd-fund/-commands/index.html
vendored
Normal file
@ -0,0 +1,60 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CrowdFund.Commands - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CrowdFund</a> / <a href=".">Commands</a><br/>
|
||||
<br/>
|
||||
<h1>Commands</h1>
|
||||
<code><span class="keyword">interface </span><span class="identifier">Commands</span> <span class="symbol">:</span> <a href="../../../core/-command-data.html"><span class="identifier">CommandData</span></a></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<h3>Types</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-close/index.html">Close</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">class </span><span class="identifier">Close</span> <span class="symbol">:</span> <a href="../../../core/-type-only-command-data/index.html"><span class="identifier">TypeOnlyCommandData</span></a><span class="symbol">, </span><span class="identifier">Commands</span></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-pledge/index.html">Pledge</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">class </span><span class="identifier">Pledge</span> <span class="symbol">:</span> <a href="../../../core/-type-only-command-data/index.html"><span class="identifier">TypeOnlyCommandData</span></a><span class="symbol">, </span><span class="identifier">Commands</span></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-register/index.html">Register</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">class </span><span class="identifier">Register</span> <span class="symbol">:</span> <a href="../../../core/-type-only-command-data/index.html"><span class="identifier">TypeOnlyCommandData</span></a><span class="symbol">, </span><span class="identifier">Commands</span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Inheritors</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-close/index.html">Close</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">class </span><span class="identifier">Close</span> <span class="symbol">:</span> <a href="../../../core/-type-only-command-data/index.html"><span class="identifier">TypeOnlyCommandData</span></a><span class="symbol">, </span><span class="identifier">Commands</span></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-pledge/index.html">Pledge</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">class </span><span class="identifier">Pledge</span> <span class="symbol">:</span> <a href="../../../core/-type-only-command-data/index.html"><span class="identifier">TypeOnlyCommandData</span></a><span class="symbol">, </span><span class="identifier">Commands</span></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-register/index.html">Register</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">class </span><span class="identifier">Register</span> <span class="symbol">:</span> <a href="../../../core/-type-only-command-data/index.html"><span class="identifier">TypeOnlyCommandData</span></a><span class="symbol">, </span><span class="identifier">Commands</span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</BODY>
|
||||
</HTML>
|
32
docs/build/html/api/contracts/-crowd-fund/-init-.html
vendored
Normal file
32
docs/build/html/api/contracts/-crowd-fund/-init-.html
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CrowdFund.<init> - </title>
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../index.html">contracts</a> / <a href="index.html">CrowdFund</a> / <a href="."><init></a><br/>
|
||||
<br/>
|
||||
<h1><init></h1>
|
||||
<code><span class="identifier">CrowdFund</span><span class="symbol">(</span><span class="symbol">)</span></code><br/>
|
||||
<p>This is a basic crowd funding contract. It allows a party to create a funding opportunity, then for others to
|
||||
pledge during the funding period , and then for the party to either accept the funding (if the target has been reached)
|
||||
return the funds to the pledge-makers (if the target has not been reached).</p>
|
||||
Discussion<p>This method of modelling a crowdfund is similar to how itd be done in Ethereum. The state is essentially a database
|
||||
in which transactions evolve it over time. The state transition model we are using here though means its possible
|
||||
to do it in a different approach, with some additional (not yet implemented) extensions to the model. In the UTXO
|
||||
model you can do something more like the Lighthouse application (https://www.vinumeris.com/lighthouse) in which
|
||||
the campaign data and peoples pledges are transmitted out of band, with a pledge being a partially signed
|
||||
transaction which is valid only when merged with other transactions. The pledges can then be combined by the project
|
||||
owner at the point at which sufficient amounts of money have been gathered, and this creates a valid transaction
|
||||
that claims the money.</p>
|
||||
<p>TODO: Prototype this second variant of crowdfunding once the core model has been sufficiently extended.
|
||||
TODO: Experiment with the use of the javax.validation API to simplify the validation logic by annotating state members.</p>
|
||||
<p>See JIRA bug PD-21 for further discussion and followup.</p>
|
||||
<br/>
|
||||
<br/>
|
||||
<strong>Author</strong><br/>
|
||||
James Carlyle<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
14
docs/build/html/api/contracts/-crowd-fund/-pledge/-init-.html
vendored
Normal file
14
docs/build/html/api/contracts/-crowd-fund/-pledge/-init-.html
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CrowdFund.Pledge.<init> - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CrowdFund</a> / <a href="index.html">Pledge</a> / <a href="."><init></a><br/>
|
||||
<br/>
|
||||
<h1><init></h1>
|
||||
<code><span class="identifier">Pledge</span><span class="symbol">(</span><span class="identifier" id="contracts.CrowdFund.Pledge$<init>(java.security.PublicKey, core.Amount)/owner">owner</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a><span class="symbol">, </span><span class="identifier" id="contracts.CrowdFund.Pledge$<init>(java.security.PublicKey, core.Amount)/amount">amount</span><span class="symbol">:</span> <a href="../../../core/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">)</span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/contracts/-crowd-fund/-pledge/amount.html
vendored
Normal file
15
docs/build/html/api/contracts/-crowd-fund/-pledge/amount.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CrowdFund.Pledge.amount - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CrowdFund</a> / <a href="index.html">Pledge</a> / <a href=".">amount</a><br/>
|
||||
<br/>
|
||||
<h1>amount</h1>
|
||||
<a name="contracts.CrowdFund.Pledge$amount"></a>
|
||||
<code><span class="keyword">val </span><span class="identifier">amount</span><span class="symbol">: </span><a href="../../../core/-amount/index.html"><span class="identifier">Amount</span></a></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
42
docs/build/html/api/contracts/-crowd-fund/-pledge/index.html
vendored
Normal file
42
docs/build/html/api/contracts/-crowd-fund/-pledge/index.html
vendored
Normal file
@ -0,0 +1,42 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CrowdFund.Pledge - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CrowdFund</a> / <a href=".">Pledge</a><br/>
|
||||
<br/>
|
||||
<h1>Pledge</h1>
|
||||
<code><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">Pledge</span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<h3>Constructors</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-init-.html"><init></a></td>
|
||||
<td>
|
||||
<code><span class="identifier">Pledge</span><span class="symbol">(</span><span class="identifier" id="contracts.CrowdFund.Pledge$<init>(java.security.PublicKey, core.Amount)/owner">owner</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a><span class="symbol">, </span><span class="identifier" id="contracts.CrowdFund.Pledge$<init>(java.security.PublicKey, core.Amount)/amount">amount</span><span class="symbol">:</span> <a href="../../../core/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">)</span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Properties</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="amount.html">amount</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">val </span><span class="identifier">amount</span><span class="symbol">: </span><a href="../../../core/-amount/index.html"><span class="identifier">Amount</span></a></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="owner.html">owner</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">val </span><span class="identifier">owner</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/contracts/-crowd-fund/-pledge/owner.html
vendored
Normal file
15
docs/build/html/api/contracts/-crowd-fund/-pledge/owner.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CrowdFund.Pledge.owner - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CrowdFund</a> / <a href="index.html">Pledge</a> / <a href=".">owner</a><br/>
|
||||
<br/>
|
||||
<h1>owner</h1>
|
||||
<a name="contracts.CrowdFund.Pledge$owner"></a>
|
||||
<code><span class="keyword">val </span><span class="identifier">owner</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/security/PublicKey.html"><span class="identifier">PublicKey</span></a></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
14
docs/build/html/api/contracts/-crowd-fund/-state/-init-.html
vendored
Normal file
14
docs/build/html/api/contracts/-crowd-fund/-state/-init-.html
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CrowdFund.State.<init> - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CrowdFund</a> / <a href="index.html">State</a> / <a href="."><init></a><br/>
|
||||
<br/>
|
||||
<h1><init></h1>
|
||||
<code><span class="identifier">State</span><span class="symbol">(</span><span class="identifier" id="contracts.CrowdFund.State$<init>(contracts.CrowdFund.Campaign, kotlin.Boolean, kotlin.collections.List((contracts.CrowdFund.Pledge)))/campaign">campaign</span><span class="symbol">:</span> <a href="../-campaign/index.html"><span class="identifier">Campaign</span></a><span class="symbol">, </span><span class="identifier" id="contracts.CrowdFund.State$<init>(contracts.CrowdFund.Campaign, kotlin.Boolean, kotlin.collections.List((contracts.CrowdFund.Pledge)))/closed">closed</span><span class="symbol">:</span> <span class="identifier">Boolean</span> <span class="symbol">=</span> false<span class="symbol">, </span><span class="identifier" id="contracts.CrowdFund.State$<init>(contracts.CrowdFund.Campaign, kotlin.Boolean, kotlin.collections.List((contracts.CrowdFund.Pledge)))/pledges">pledges</span><span class="symbol">:</span> <span class="identifier">List</span><span class="symbol"><</span><a href="../-pledge/index.html"><span class="identifier">Pledge</span></a><span class="symbol">></span> <span class="symbol">=</span> ArrayList()<span class="symbol">)</span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/contracts/-crowd-fund/-state/campaign.html
vendored
Normal file
15
docs/build/html/api/contracts/-crowd-fund/-state/campaign.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CrowdFund.State.campaign - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CrowdFund</a> / <a href="index.html">State</a> / <a href=".">campaign</a><br/>
|
||||
<br/>
|
||||
<h1>campaign</h1>
|
||||
<a name="contracts.CrowdFund.State$campaign"></a>
|
||||
<code><span class="keyword">val </span><span class="identifier">campaign</span><span class="symbol">: </span><a href="../-campaign/index.html"><span class="identifier">Campaign</span></a></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/contracts/-crowd-fund/-state/closed.html
vendored
Normal file
15
docs/build/html/api/contracts/-crowd-fund/-state/closed.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CrowdFund.State.closed - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CrowdFund</a> / <a href="index.html">State</a> / <a href=".">closed</a><br/>
|
||||
<br/>
|
||||
<h1>closed</h1>
|
||||
<a name="contracts.CrowdFund.State$closed"></a>
|
||||
<code><span class="keyword">val </span><span class="identifier">closed</span><span class="symbol">: </span><span class="identifier">Boolean</span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
63
docs/build/html/api/contracts/-crowd-fund/-state/index.html
vendored
Normal file
63
docs/build/html/api/contracts/-crowd-fund/-state/index.html
vendored
Normal file
@ -0,0 +1,63 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CrowdFund.State - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CrowdFund</a> / <a href=".">State</a><br/>
|
||||
<br/>
|
||||
<h1>State</h1>
|
||||
<code><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">State</span> <span class="symbol">:</span> <a href="../../../core/-contract-state/index.html"><span class="identifier">ContractState</span></a></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<h3>Constructors</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="-init-.html"><init></a></td>
|
||||
<td>
|
||||
<code><span class="identifier">State</span><span class="symbol">(</span><span class="identifier" id="contracts.CrowdFund.State$<init>(contracts.CrowdFund.Campaign, kotlin.Boolean, kotlin.collections.List((contracts.CrowdFund.Pledge)))/campaign">campaign</span><span class="symbol">:</span> <a href="../-campaign/index.html"><span class="identifier">Campaign</span></a><span class="symbol">, </span><span class="identifier" id="contracts.CrowdFund.State$<init>(contracts.CrowdFund.Campaign, kotlin.Boolean, kotlin.collections.List((contracts.CrowdFund.Pledge)))/closed">closed</span><span class="symbol">:</span> <span class="identifier">Boolean</span> <span class="symbol">=</span> false<span class="symbol">, </span><span class="identifier" id="contracts.CrowdFund.State$<init>(contracts.CrowdFund.Campaign, kotlin.Boolean, kotlin.collections.List((contracts.CrowdFund.Pledge)))/pledges">pledges</span><span class="symbol">:</span> <span class="identifier">List</span><span class="symbol"><</span><a href="../-pledge/index.html"><span class="identifier">Pledge</span></a><span class="symbol">></span> <span class="symbol">=</span> ArrayList()<span class="symbol">)</span></code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Properties</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="campaign.html">campaign</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">val </span><span class="identifier">campaign</span><span class="symbol">: </span><a href="../-campaign/index.html"><span class="identifier">Campaign</span></a></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="closed.html">closed</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">val </span><span class="identifier">closed</span><span class="symbol">: </span><span class="identifier">Boolean</span></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="pledged-amount.html">pledgedAmount</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">val </span><span class="identifier">pledgedAmount</span><span class="symbol">: </span><a href="../../../core/-amount/index.html"><span class="identifier">Amount</span></a></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="pledges.html">pledges</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">val </span><span class="identifier">pledges</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol"><</span><a href="../-pledge/index.html"><span class="identifier">Pledge</span></a><span class="symbol">></span></code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="program-ref.html">programRef</a></td>
|
||||
<td>
|
||||
<code><span class="keyword">val </span><span class="identifier">programRef</span><span class="symbol">: </span><span class="identifier"><ERROR CLASS></span></code><p>Refers to a bytecode program that has previously been published to the network. This contract program
|
||||
will be executed any time this state is used in an input. It must accept in order for the
|
||||
transaction to proceed.</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/contracts/-crowd-fund/-state/pledged-amount.html
vendored
Normal file
15
docs/build/html/api/contracts/-crowd-fund/-state/pledged-amount.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CrowdFund.State.pledgedAmount - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CrowdFund</a> / <a href="index.html">State</a> / <a href=".">pledgedAmount</a><br/>
|
||||
<br/>
|
||||
<h1>pledgedAmount</h1>
|
||||
<a name="contracts.CrowdFund.State$pledgedAmount"></a>
|
||||
<code><span class="keyword">val </span><span class="identifier">pledgedAmount</span><span class="symbol">: </span><a href="../../../core/-amount/index.html"><span class="identifier">Amount</span></a></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
15
docs/build/html/api/contracts/-crowd-fund/-state/pledges.html
vendored
Normal file
15
docs/build/html/api/contracts/-crowd-fund/-state/pledges.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<title>CrowdFund.State.pledges - </title>
|
||||
<link rel="stylesheet" href="../../../style.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<a href="../../index.html">contracts</a> / <a href="../index.html">CrowdFund</a> / <a href="index.html">State</a> / <a href=".">pledges</a><br/>
|
||||
<br/>
|
||||
<h1>pledges</h1>
|
||||
<a name="contracts.CrowdFund.State$pledges"></a>
|
||||
<code><span class="keyword">val </span><span class="identifier">pledges</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol"><</span><a href="../-pledge/index.html"><span class="identifier">Pledge</span></a><span class="symbol">></span></code><br/>
|
||||
<br/>
|
||||
<br/>
|
||||
</BODY>
|
||||
</HTML>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user