Merged in mnesbit-cor-174-refactor-namespaces (pull request #108)

Further refactoring of namespaces and tidy up of unit test locations
This commit is contained in:
Matthew Nesbit 2016-05-20 18:15:18 +01:00
commit 4eb4233584
684 changed files with 2136 additions and 1853 deletions

View File

@ -78,4 +78,6 @@ repositories {
dependencies { dependencies {
compile project(':core') compile project(':core')
testCompile 'junit:junit:4.12'
} }

View File

@ -88,7 +88,7 @@ public class JavaCommercialPaper implements Contract {
@Override @Override
public Contract getContract() { public Contract getContract() {
return JCP_PROGRAM_ID; return JCP_PROGRAM_ID;
//return SecureHash.Companion.sha256("java commercial paper (this should be a bytecode hash)"); //return SecureHash.sha256("java commercial paper (this should be a bytecode hash)");
} }
@Override @Override

View File

@ -0,0 +1,53 @@
package contracts.testing
import contracts.*
import core.contracts.Amount
import core.contracts.Contract
import core.crypto.NullPublicKey
import core.crypto.Party
import core.testing.DUMMY_NOTARY
import core.testing.MINI_CORP
import java.security.PublicKey
import java.util.*
// In a real system this would be a persistent map of hash to bytecode and we'd instantiate the object as needed inside
// a sandbox. For unit tests we just have a hard-coded list.
val TEST_PROGRAM_MAP: Map<Contract, Class<out Contract>> = mapOf(
CASH_PROGRAM_ID to Cash::class.java,
CP_PROGRAM_ID to CommercialPaper::class.java,
JavaCommercialPaper.JCP_PROGRAM_ID to JavaCommercialPaper::class.java,
CROWDFUND_PROGRAM_ID to CrowdFund::class.java,
DUMMY_PROGRAM_ID to DummyContract::class.java,
IRS_PROGRAM_ID to InterestRateSwap::class.java
)
fun generateState(notary: Party = DUMMY_NOTARY) = DummyContract.State(Random().nextInt(), notary)
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Defines a simple DSL for building pseudo-transactions (not the same as the wire protocol) for testing purposes.
//
// Define a transaction like this:
//
// transaction {
// input { someExpression }
// output { someExpression }
// arg { someExpression }
//
// tweak {
// ... same thing but works with a copy of the parent, can add inputs/outputs/args just within this scope.
// }
//
// contract.accepts() -> should pass
// contract `fails requirement` "some substring of the error message"
// }
//
// TODO: Make it impossible to forget to test either a failure or an accept for each transaction{} block
infix fun Cash.State.`owned by`(owner: PublicKey) = copy(owner = owner)
infix fun Cash.State.`issued by`(party: Party) = copy(deposit = deposit.copy(party = party))
infix fun CommercialPaper.State.`owned by`(owner: PublicKey) = this.copy(owner = owner)
infix fun ICommercialPaperState.`owned by`(new_owner: PublicKey) = this.withOwner(new_owner)
// Allows you to write 100.DOLLARS.CASH
val Amount.CASH: Cash.State get() = Cash.State(MINI_CORP.ref(1, 2, 3), this, NullPublicKey, DUMMY_NOTARY)

View File

@ -1,7 +1,6 @@
package protocols package protocols
import co.paralleluniverse.fibers.Suspendable import co.paralleluniverse.fibers.Suspendable
import com.google.common.util.concurrent.ListenableFuture
import contracts.Cash import contracts.Cash
import contracts.sumCashBy import contracts.sumCashBy
import core.contracts.* import core.contracts.*
@ -9,7 +8,6 @@ import core.crypto.DigitalSignature
import core.crypto.Party import core.crypto.Party
import core.crypto.signWithECDSA import core.crypto.signWithECDSA
import core.messaging.SingleMessageRecipient import core.messaging.SingleMessageRecipient
import core.messaging.StateMachineManager
import core.node.NodeInfo import core.node.NodeInfo
import core.protocols.ProtocolLogic import core.protocols.ProtocolLogic
import core.random63BitValue import core.random63BitValue
@ -46,20 +44,6 @@ import java.security.SignatureException
object TwoPartyTradeProtocol { object TwoPartyTradeProtocol {
val TRADE_TOPIC = "platform.trade" val TRADE_TOPIC = "platform.trade"
fun runSeller(smm: StateMachineManager, notary: NodeInfo,
otherSide: SingleMessageRecipient, assetToSell: StateAndRef<OwnableState>, price: Amount,
myKeyPair: KeyPair, buyerSessionID: Long): ListenableFuture<SignedTransaction> {
val seller = Seller(otherSide, notary, assetToSell, price, myKeyPair, buyerSessionID)
return smm.add("${TRADE_TOPIC}.seller", seller)
}
fun runBuyer(smm: StateMachineManager, notaryNode: NodeInfo,
otherSide: SingleMessageRecipient, acceptablePrice: Amount, typeToBuy: Class<out OwnableState>,
sessionID: Long): ListenableFuture<SignedTransaction> {
val buyer = Buyer(otherSide, notaryNode.identity, acceptablePrice, typeToBuy, sessionID)
return smm.add("$TRADE_TOPIC.buyer", buyer)
}
class UnacceptablePriceException(val givenPrice: Amount) : Exception() class UnacceptablePriceException(val givenPrice: Amount) : Exception()
class AssetMismatchException(val expectedTypeName: String, val typeName: String) : Exception() { class AssetMismatchException(val expectedTypeName: String, val typeName: String) : Exception() {
override fun toString() = "The submitted asset didn't match the expected type: $expectedTypeName vs $typeName" override fun toString() = "The submitted asset didn't match the expected type: $expectedTypeName vs $typeName"

View File

@ -1,12 +1,13 @@
import contracts.Cash import contracts.Cash
import contracts.DummyContract import contracts.DummyContract
import contracts.InsufficientBalanceException import contracts.InsufficientBalanceException
import core.* import contracts.testing.`issued by`
import contracts.testing.`owned by`
import core.contracts.* import core.contracts.*
import core.crypto.Party import core.crypto.Party
import core.crypto.SecureHash import core.crypto.SecureHash
import core.serialization.OpaqueBytes import core.serialization.OpaqueBytes
import core.testutils.* import core.testing.*
import org.junit.Test import org.junit.Test
import java.security.PublicKey import java.security.PublicKey
import java.util.* import java.util.*

View File

@ -1,9 +1,13 @@
package contracts package contracts
import core.* import contracts.testing.CASH
import contracts.testing.`owned by`
import core.contracts.* import core.contracts.*
import core.crypto.SecureHash import core.crypto.SecureHash
import core.testutils.* import core.days
import core.node.services.testing.MockStorageService
import core.seconds
import core.testing.*
import org.junit.Test import org.junit.Test
import org.junit.runner.RunWith import org.junit.runner.RunWith
import org.junit.runners.Parameterized import org.junit.runners.Parameterized
@ -149,7 +153,7 @@ class CommercialPaperTestsGeneric {
signWith(DUMMY_NOTARY_KEY) signWith(DUMMY_NOTARY_KEY)
} }
val stx = ptx.toSignedTransaction() val stx = ptx.toSignedTransaction()
stx.verifyToLedgerTransaction(MockIdentityService, attachments) stx.verifyToLedgerTransaction(MOCK_IDENTITY_SERVICE, attachments)
} }
val (alicesWalletTX, alicesWallet) = cashOutputsToWallet( val (alicesWalletTX, alicesWallet) = cashOutputsToWallet(
@ -166,7 +170,7 @@ class CommercialPaperTestsGeneric {
ptx.signWith(MINI_CORP_KEY) ptx.signWith(MINI_CORP_KEY)
ptx.signWith(ALICE_KEY) ptx.signWith(ALICE_KEY)
ptx.signWith(DUMMY_NOTARY_KEY) ptx.signWith(DUMMY_NOTARY_KEY)
ptx.toSignedTransaction().verifyToLedgerTransaction(MockIdentityService, attachments) ptx.toSignedTransaction().verifyToLedgerTransaction(MOCK_IDENTITY_SERVICE, attachments)
} }
// Won't be validated. // Won't be validated.
@ -182,7 +186,7 @@ class CommercialPaperTestsGeneric {
ptx.signWith(ALICE_KEY) ptx.signWith(ALICE_KEY)
ptx.signWith(MINI_CORP_KEY) ptx.signWith(MINI_CORP_KEY)
ptx.signWith(DUMMY_NOTARY_KEY) ptx.signWith(DUMMY_NOTARY_KEY)
return ptx.toSignedTransaction().verifyToLedgerTransaction(MockIdentityService, attachments) return ptx.toSignedTransaction().verifyToLedgerTransaction(MOCK_IDENTITY_SERVICE, attachments)
} }
val tooEarlyRedemption = makeRedeemTX(TEST_TX_TIME + 10.days) val tooEarlyRedemption = makeRedeemTX(TEST_TX_TIME + 10.days)

View File

@ -1,9 +1,13 @@
package contracts package contracts
import core.* import contracts.testing.CASH
import contracts.testing.`owned by`
import core.contracts.* import core.contracts.*
import core.crypto.SecureHash import core.crypto.SecureHash
import core.testutils.* import core.days
import core.node.services.testing.MockStorageService
import core.seconds
import core.testing.*
import org.junit.Test import org.junit.Test
import java.time.Instant import java.time.Instant
import java.util.* import java.util.*
@ -109,7 +113,7 @@ class CrowdFundTests {
signWith(MINI_CORP_KEY) signWith(MINI_CORP_KEY)
signWith(DUMMY_NOTARY_KEY) signWith(DUMMY_NOTARY_KEY)
} }
ptx.toSignedTransaction().verifyToLedgerTransaction(MockIdentityService, attachments) ptx.toSignedTransaction().verifyToLedgerTransaction(MOCK_IDENTITY_SERVICE, attachments)
} }
// let's give Alice some funds that she can invest // let's give Alice some funds that she can invest
@ -128,7 +132,7 @@ class CrowdFundTests {
ptx.signWith(ALICE_KEY) ptx.signWith(ALICE_KEY)
ptx.signWith(DUMMY_NOTARY_KEY) ptx.signWith(DUMMY_NOTARY_KEY)
// this verify passes - the transaction contains an output cash, necessary to verify the fund command // this verify passes - the transaction contains an output cash, necessary to verify the fund command
ptx.toSignedTransaction().verifyToLedgerTransaction(MockIdentityService, attachments) ptx.toSignedTransaction().verifyToLedgerTransaction(MOCK_IDENTITY_SERVICE, attachments)
} }
// Won't be validated. // Won't be validated.
@ -143,7 +147,7 @@ class CrowdFundTests {
CrowdFund().generateClose(ptx, pledgeTX.outRef(0), miniCorpWallet) CrowdFund().generateClose(ptx, pledgeTX.outRef(0), miniCorpWallet)
ptx.signWith(MINI_CORP_KEY) ptx.signWith(MINI_CORP_KEY)
ptx.signWith(DUMMY_NOTARY_KEY) ptx.signWith(DUMMY_NOTARY_KEY)
return ptx.toSignedTransaction().verifyToLedgerTransaction(MockIdentityService, attachments) return ptx.toSignedTransaction().verifyToLedgerTransaction(MOCK_IDENTITY_SERVICE, attachments)
} }
val tooEarlyClose = makeFundedTX(TEST_TX_TIME + 6.days) val tooEarlyClose = makeFundedTX(TEST_TX_TIME + 6.days)

View File

@ -1,8 +1,9 @@
package contracts package contracts
import core.*
import core.contracts.* import core.contracts.*
import core.testutils.* import core.node.services.testing.MockStorageService
import core.seconds
import core.testing.*
import org.junit.Test import org.junit.Test
import java.math.BigDecimal import java.math.BigDecimal
import java.time.LocalDate import java.time.LocalDate
@ -236,7 +237,7 @@ class IRSTests {
signWith(MINI_CORP_KEY) signWith(MINI_CORP_KEY)
signWith(DUMMY_NOTARY_KEY) signWith(DUMMY_NOTARY_KEY)
} }
gtx.toSignedTransaction().verifyToLedgerTransaction(MockIdentityService, attachments) gtx.toSignedTransaction().verifyToLedgerTransaction(MOCK_IDENTITY_SERVICE, attachments)
} }
return genTX return genTX
} }
@ -320,7 +321,7 @@ class IRSTests {
signWith(MINI_CORP_KEY) signWith(MINI_CORP_KEY)
signWith(DUMMY_NOTARY_KEY) signWith(DUMMY_NOTARY_KEY)
} }
tx.toSignedTransaction().verifyToLedgerTransaction(MockIdentityService, attachments) tx.toSignedTransaction().verifyToLedgerTransaction(MOCK_IDENTITY_SERVICE, attachments)
} }
currentIRS = previousTXN.outputs.filterIsInstance<InterestRateSwap.State>().single() currentIRS = previousTXN.outputs.filterIsInstance<InterestRateSwap.State>().single()
println(currentIRS.prettyPrint()) println(currentIRS.prettyPrint())

View File

@ -21,8 +21,15 @@ repositories {
} }
} }
//noinspection GroovyAssignabilityCheck
configurations {
quasar
}
dependencies { dependencies {
testCompile 'junit:junit:4.12' testCompile 'junit:junit:4.12'
testCompile 'org.assertj:assertj-core:3.4.1'
testCompile "commons-fileupload:commons-fileupload:1.3.1"
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
@ -56,4 +63,40 @@ dependencies {
// For JSON // For JSON
compile "com.fasterxml.jackson.core:jackson-databind:2.5.5" compile "com.fasterxml.jackson.core:jackson-databind:2.5.5"
// Quasar: for the bytecode rewriting for state machines.
quasar "co.paralleluniverse:quasar-core:${quasar_version}:jdk8@jar"
} }
tasks.withType(Test) {
jvmArgs "-javaagent:${configurations.quasar.singleFile}"
jvmArgs "-Dco.paralleluniverse.fibers.verifyInstrumentation"
}
tasks.withType(JavaExec) {
jvmArgs "-javaagent:${configurations.quasar.singleFile}"
jvmArgs "-Dco.paralleluniverse.fibers.verifyInstrumentation"
}
// These lines tell gradle to run the Quasar suspendables scanner to look for unannotated super methods
// that have @Suspendable sub implementations. These tend to cause NPEs and are not caught by the verifier
// NOTE: need to make sure the output isn't on the classpath or every other run it generates empty results, so
// we explicitly delete to avoid that happening. We also need to turn off what seems to be a spurious warning in the IDE
//
// TODO: Make this task incremental, as it can be quite slow.
//noinspection GroovyAssignabilityCheck
task quasarScan(dependsOn: ['classes']) << {
ant.taskdef(name:'scanSuspendables', classname:'co.paralleluniverse.fibers.instrument.SuspendablesScanner',
classpath: "${sourceSets.main.output.classesDir}:${sourceSets.main.output.resourcesDir}:${configurations.runtime.asPath}")
delete "$sourceSets.main.output.resourcesDir/META-INF/suspendables", "$sourceSets.main.output.resourcesDir/META-INF/suspendable-supers"
ant.scanSuspendables(
auto:false,
suspendablesFile: "$sourceSets.main.output.resourcesDir/META-INF/suspendables",
supersFile: "$sourceSets.main.output.resourcesDir/META-INF/suspendable-supers") {
fileset(dir: sourceSets.main.output.classesDir)
}
}
jar.dependsOn quasarScan

View File

@ -3,8 +3,7 @@ package core.node
import core.contracts.* import core.contracts.*
import core.crypto.SecureHash import core.crypto.SecureHash
import core.messaging.MessagingService import core.messaging.MessagingService
import core.node.services.IdentityService import core.node.services.*
import core.node.subsystems.*
import core.utilities.RecordingMap import core.utilities.RecordingMap
import java.time.Clock import java.time.Clock
@ -24,7 +23,6 @@ interface ServiceHub {
val storageService: StorageService val storageService: StorageService
val networkService: MessagingService val networkService: MessagingService
val networkMapCache: NetworkMapCache val networkMapCache: NetworkMapCache
val monitoringService: MonitoringService
val clock: Clock val clock: Clock
/** /**

View File

@ -1,19 +1,13 @@
package core.node.subsystems package core.node.services
import com.google.common.util.concurrent.ListenableFuture import com.google.common.util.concurrent.ListenableFuture
import core.contracts.Contract import core.contracts.Contract
import core.crypto.Party import core.crypto.Party
import core.crypto.SecureHash
import core.messaging.MessagingService import core.messaging.MessagingService
import core.node.NodeInfo import core.node.NodeInfo
import core.node.services.* import core.node.services.ServiceType
import core.serialization.deserialize
import core.serialization.serialize
import org.slf4j.LoggerFactory import org.slf4j.LoggerFactory
import java.security.PublicKey import java.security.PublicKey
import java.security.SignatureException
import java.util.*
import javax.annotation.concurrent.ThreadSafe
/** /**
* A network map contains lists of nodes on the network along with information about their identity keys, services * A network map contains lists of nodes on the network along with information about their identity keys, services

View File

@ -1,12 +1,9 @@
package core.node.subsystems package core.node.services
import com.codahale.metrics.MetricRegistry
import core.*
import core.contracts.* import core.contracts.*
import core.crypto.Party import core.crypto.Party
import core.crypto.SecureHash import core.crypto.SecureHash
import core.node.services.AttachmentStorage import core.node.services.AttachmentStorage
import core.node.storage.CheckpointStorage
import java.security.KeyPair import java.security.KeyPair
import java.security.PrivateKey import java.security.PrivateKey
import java.security.PublicKey import java.security.PublicKey
@ -128,8 +125,6 @@ interface StorageService {
*/ */
val validatedTransactions: MutableMap<SecureHash, SignedTransaction> val validatedTransactions: MutableMap<SecureHash, SignedTransaction>
val checkpointStorage: CheckpointStorage
/** Provides access to storage of arbitrary JAR files (which may contain only data, no code). */ /** Provides access to storage of arbitrary JAR files (which may contain only data, no code). */
val attachments: AttachmentStorage val attachments: AttachmentStorage
@ -141,9 +136,4 @@ interface StorageService {
val myLegalIdentityKey: KeyPair val myLegalIdentityKey: KeyPair
} }
/**
* 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.
*/
class MonitoringService(val metrics: MetricRegistry)

View File

@ -0,0 +1,113 @@
package core.node.services.testing
import core.contracts.Attachment
import core.contracts.SignedTransaction
import core.crypto.Party
import core.crypto.SecureHash
import core.crypto.generateKeyPair
import core.crypto.sha256
import core.node.services.AttachmentStorage
import core.node.services.IdentityService
import core.node.services.KeyManagementService
import core.node.services.StorageService
import core.utilities.RecordingMap
import org.slf4j.LoggerFactory
import java.io.ByteArrayInputStream
import java.io.ByteArrayOutputStream
import java.io.File
import java.io.InputStream
import java.security.KeyPair
import java.security.PrivateKey
import java.security.PublicKey
import java.util.*
import java.util.jar.JarInputStream
import javax.annotation.concurrent.ThreadSafe
@ThreadSafe
class MockIdentityService(val identities: List<Party>) : IdentityService {
private val keyToParties: Map<PublicKey, Party>
get() = synchronized(identities) { identities.associateBy { it.owningKey } }
private val nameToParties: Map<String, Party>
get() = synchronized(identities) { identities.associateBy { it.name } }
override fun registerIdentity(party: Party) { throw UnsupportedOperationException() }
override fun partyFromKey(key: PublicKey): Party? = keyToParties[key]
override fun partyFromName(name: String): Party? = nameToParties[name]
}
class MockKeyManagementService(vararg initialKeys: KeyPair) : KeyManagementService {
override val keys: MutableMap<PublicKey, PrivateKey>
init {
keys = initialKeys.map { it.public to it.private }.toMap(HashMap())
}
val nextKeys = LinkedList<KeyPair>()
override fun freshKey(): KeyPair {
val k = nextKeys.poll() ?: generateKeyPair()
keys[k.public] = k.private
return k
}
}
class MockAttachmentStorage : AttachmentStorage {
val files = HashMap<SecureHash, ByteArray>()
override fun openAttachment(id: SecureHash): Attachment? {
val f = files[id] ?: return null
return object : Attachment {
override fun open(): InputStream = ByteArrayInputStream(f)
override val id: SecureHash = id
}
}
override fun importAttachment(jar: InputStream): SecureHash {
// JIS makes read()/readBytes() return bytes of the current file, but we want to hash the entire container here.
require(jar !is JarInputStream)
val bytes = run {
val s = ByteArrayOutputStream()
jar.copyTo(s)
s.close()
s.toByteArray()
}
val sha256 = bytes.sha256()
if (files.containsKey(sha256))
throw FileAlreadyExistsException(File("!! MOCK FILE NAME"))
files[sha256] = bytes
return sha256
}
}
@ThreadSafe
class MockStorageService(override val attachments: AttachmentStorage = MockAttachmentStorage(),
override val myLegalIdentityKey: KeyPair = generateKeyPair(),
override val myLegalIdentity: Party = Party("Unit test party", myLegalIdentityKey.public),
// This parameter is for unit tests that want to observe operation details.
val recordingAs: (String) -> String = { tableName -> "" })
: StorageService {
protected val tables = HashMap<String, MutableMap<*, *>>()
private fun <K, V> getMapOriginal(tableName: String): MutableMap<K, V> {
synchronized(tables) {
@Suppress("UNCHECKED_CAST")
return tables.getOrPut(tableName) {
recorderWrap(Collections.synchronizedMap(HashMap<K, V>()), tableName)
} as MutableMap<K, V>
}
}
private fun <K, V> recorderWrap(map: MutableMap<K, V>, tableName: String): MutableMap<K, V> {
if (recordingAs(tableName) != "")
return RecordingMap(map, LoggerFactory.getLogger("recordingmap.${recordingAs(tableName)}"))
else
return map
}
override val validatedTransactions: MutableMap<SecureHash, SignedTransaction>
get() = getMapOriginal("validated-transactions")
}

View File

@ -8,7 +8,6 @@ import com.esotericsoftware.kryo.Serializer
import com.esotericsoftware.kryo.io.Input import com.esotericsoftware.kryo.io.Input
import com.esotericsoftware.kryo.io.Output import com.esotericsoftware.kryo.io.Output
import com.esotericsoftware.kryo.serializers.JavaSerializer import com.esotericsoftware.kryo.serializers.JavaSerializer
import core.*
import core.contracts.* import core.contracts.*
import core.crypto.SecureHash import core.crypto.SecureHash
import core.crypto.generateKeyPair import core.crypto.generateKeyPair

View File

@ -1,17 +1,15 @@
@file:Suppress("UNUSED_PARAMETER", "UNCHECKED_CAST") @file:Suppress("UNUSED_PARAMETER", "UNCHECKED_CAST")
package core.testutils package core.testing
import com.google.common.base.Throwables import com.google.common.base.Throwables
import com.google.common.net.HostAndPort import com.google.common.net.HostAndPort
import contracts.*
import core.* import core.*
import core.contracts.* import core.contracts.*
import core.crypto.* import core.crypto.*
import core.node.AbstractNode
import core.serialization.serialize import core.serialization.serialize
import core.testing.MockIdentityService import core.node.services.testing.MockIdentityService
import core.visualiser.GraphVisualiser import core.node.services.testing.MockStorageService
import java.net.ServerSocket import java.net.ServerSocket
import java.security.KeyPair import java.security.KeyPair
import java.security.PublicKey import java.security.PublicKey
@ -73,31 +71,10 @@ val DUMMY_NOTARY = Party("Notary Service", DUMMY_NOTARY_KEY.public)
val ALL_TEST_KEYS = listOf(MEGA_CORP_KEY, MINI_CORP_KEY, ALICE_KEY, BOB_KEY, DUMMY_NOTARY_KEY) val ALL_TEST_KEYS = listOf(MEGA_CORP_KEY, MINI_CORP_KEY, ALICE_KEY, BOB_KEY, DUMMY_NOTARY_KEY)
val MockIdentityService = MockIdentityService(listOf(MEGA_CORP, MINI_CORP, DUMMY_NOTARY)) val MOCK_IDENTITY_SERVICE = MockIdentityService(listOf(MEGA_CORP, MINI_CORP, DUMMY_NOTARY))
// In a real system this would be a persistent map of hash to bytecode and we'd instantiate the object as needed inside
// a sandbox. For unit tests we just have a hard-coded list.
val TEST_PROGRAM_MAP: Map<Contract, Class<out Contract>> = mapOf(
CASH_PROGRAM_ID to Cash::class.java,
CP_PROGRAM_ID to CommercialPaper::class.java,
JavaCommercialPaper.JCP_PROGRAM_ID to JavaCommercialPaper::class.java,
CROWDFUND_PROGRAM_ID to CrowdFund::class.java,
DUMMY_PROGRAM_ID to DummyContract::class.java,
IRS_PROGRAM_ID to InterestRateSwap::class.java
)
fun generateState(notary: Party = DUMMY_NOTARY) = DummyContract.State(Random().nextInt(), notary)
fun generateStateRef() = StateRef(SecureHash.randomSHA256(), 0) fun generateStateRef() = StateRef(SecureHash.randomSHA256(), 0)
fun issueState(node: AbstractNode, notary: Party = DUMMY_NOTARY): StateRef {
val tx = DummyContract().generateInitial(node.info.identity.ref(0), Random().nextInt(), DUMMY_NOTARY)
tx.signWith(node.storage.myLegalIdentityKey)
tx.signWith(DUMMY_NOTARY_KEY)
val stx = tx.toSignedTransaction()
node.services.recordTransactions(listOf(stx))
return StateRef(stx.id, 0)
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// //
// Defines a simple DSL for building pseudo-transactions (not the same as the wire protocol) for testing purposes. // Defines a simple DSL for building pseudo-transactions (not the same as the wire protocol) for testing purposes.
@ -119,14 +96,6 @@ fun issueState(node: AbstractNode, notary: Party = DUMMY_NOTARY): StateRef {
// //
// TODO: Make it impossible to forget to test either a failure or an accept for each transaction{} block // TODO: Make it impossible to forget to test either a failure or an accept for each transaction{} block
infix fun Cash.State.`owned by`(owner: PublicKey) = copy(owner = owner)
infix fun Cash.State.`issued by`(party: Party) = copy(deposit = deposit.copy(party = party))
infix fun CommercialPaper.State.`owned by`(owner: PublicKey) = this.copy(owner = owner)
infix fun ICommercialPaperState.`owned by`(new_owner: PublicKey) = this.withOwner(new_owner)
// Allows you to write 100.DOLLARS.CASH
val Amount.CASH: Cash.State get() = Cash.State(MINI_CORP.ref(1, 2, 3), this, NullPublicKey, DUMMY_NOTARY)
class LabeledOutput(val label: String?, val state: ContractState) { class LabeledOutput(val label: String?, val state: ContractState) {
override fun toString() = state.toString() + (if (label != null) " ($label)" else "") override fun toString() = state.toString() + (if (label != null) " ($label)" else "")
override fun equals(other: Any?) = other is LabeledOutput && state.equals(other.state) override fun equals(other: Any?) = other is LabeledOutput && state.equals(other.state)
@ -143,7 +112,7 @@ abstract class AbstractTransactionForTest {
open fun output(label: String? = null, s: () -> ContractState) = LabeledOutput(label, s()).apply { outStates.add(this) } open fun output(label: String? = null, s: () -> ContractState) = LabeledOutput(label, s()).apply { outStates.add(this) }
protected fun commandsToAuthenticatedObjects(): List<AuthenticatedObject<CommandData>> { protected fun commandsToAuthenticatedObjects(): List<AuthenticatedObject<CommandData>> {
return commands.map { AuthenticatedObject(it.signers, it.signers.mapNotNull { MockIdentityService.partyFromKey(it) }, it.value) } return commands.map { AuthenticatedObject(it.signers, it.signers.mapNotNull { MOCK_IDENTITY_SERVICE.partyFromKey(it) }, it.value) }
} }
fun attachment(attachmentID: SecureHash) { fun attachment(attachmentID: SecureHash) {
@ -177,7 +146,7 @@ open class TransactionForTest : AbstractTransactionForTest() {
protected fun runCommandsAndVerify(time: Instant) { protected fun runCommandsAndVerify(time: Instant) {
val cmds = commandsToAuthenticatedObjects() val cmds = commandsToAuthenticatedObjects()
val tx = TransactionForVerification(inStates, outStates.map { it.state }, emptyList(), cmds, SecureHash.randomSHA256()) val tx = TransactionForVerification(inStates, outStates.map { it.state }, emptyList(), cmds, SecureHash.Companion.randomSHA256())
tx.verify() tx.verify()
} }
@ -334,8 +303,8 @@ class TransactionGroupDSL<T : ContractState>(private val stateType: Class<T>) {
} }
fun toTransactionGroup() = TransactionGroup( fun toTransactionGroup() = TransactionGroup(
txns.map { it.toLedgerTransaction(MockIdentityService, MockStorageService().attachments) }.toSet(), txns.map { it.toLedgerTransaction(MOCK_IDENTITY_SERVICE, MockStorageService().attachments) }.toSet(),
rootTxns.map { it.toLedgerTransaction(MockIdentityService, MockStorageService().attachments) }.toSet() rootTxns.map { it.toLedgerTransaction(MOCK_IDENTITY_SERVICE, MockStorageService().attachments) }.toSet()
) )
class Failed(val index: Int, cause: Throwable) : Exception("Transaction $index didn't verify", cause) class Failed(val index: Int, cause: Throwable) : Exception("Transaction $index didn't verify", cause)
@ -361,11 +330,6 @@ class TransactionGroupDSL<T : ContractState>(private val stateType: Class<T>) {
return e return e
} }
fun visualise() {
@Suppress("CAST_NEVER_SUCCEEDS")
GraphVisualiser(this as TransactionGroupDSL<ContractState>).display()
}
fun signAll(txnsToSign: List<WireTransaction> = txns, vararg extraKeys: KeyPair): List<SignedTransaction> { fun signAll(txnsToSign: List<WireTransaction> = txns, vararg extraKeys: KeyPair): List<SignedTransaction> {
return txnsToSign.map { wtx -> return txnsToSign.map { wtx ->
val allPubKeys = wtx.commands.flatMap { it.signers }.toMutableSet() val allPubKeys = wtx.commands.flatMap { it.signers }.toMutableSet()

View File

@ -1,15 +1,43 @@
package core package core.contracts
import contracts.Cash import core.crypto.Party
import core.contracts.* import core.crypto.SecureHash
import core.testutils.* import core.node.services.testing.MockStorageService
import core.testing.*
import org.junit.Test import org.junit.Test
import java.security.PublicKey
import java.security.SecureRandom
import kotlin.test.assertEquals import kotlin.test.assertEquals
import kotlin.test.assertFailsWith import kotlin.test.assertFailsWith
import kotlin.test.assertNotEquals import kotlin.test.assertNotEquals
val TEST_PROGRAM_ID = TransactionGroupTests.TestCash()
class TransactionGroupTests { class TransactionGroupTests {
val A_THOUSAND_POUNDS = Cash.State(MINI_CORP.ref(1, 2, 3), 1000.POUNDS, MINI_CORP_PUBKEY, DUMMY_NOTARY) val A_THOUSAND_POUNDS = TestCash.State(MINI_CORP.ref(1, 2, 3), 1000.POUNDS, MINI_CORP_PUBKEY, DUMMY_NOTARY)
class TestCash : Contract {
override val legalContractReference = SecureHash.sha256("TestCash")
override fun verify(tx: TransactionForVerification) {
}
data class State(
val deposit: PartyAndReference,
val amount: Amount,
override val owner: PublicKey,
override val notary: Party) : OwnableState {
override val contract: Contract = TEST_PROGRAM_ID
override fun withNewOwner(newOwner: PublicKey) = Pair(Commands.Move(), copy(owner = newOwner))
}
interface Commands : CommandData {
class Move() : TypeOnlyCommandData(), Commands
data class Issue(val nonce: Long = SecureRandom.getInstanceStrong().nextLong()) : Commands
data class Exit(val amount: Amount) : Commands
}
}
infix fun TestCash.State.`owned by`(owner: PublicKey) = copy(owner = owner)
@Test @Test
fun success() { fun success() {
@ -21,13 +49,13 @@ class TransactionGroupTests {
transaction { transaction {
input("£1000") input("£1000")
output("alice's £1000") { A_THOUSAND_POUNDS `owned by` ALICE_PUBKEY } output("alice's £1000") { A_THOUSAND_POUNDS `owned by` ALICE_PUBKEY }
arg(MINI_CORP_PUBKEY) { Cash.Commands.Move() } arg(MINI_CORP_PUBKEY) { TestCash.Commands.Move() }
} }
transaction { transaction {
input("alice's £1000") input("alice's £1000")
arg(ALICE_PUBKEY) { Cash.Commands.Move() } arg(ALICE_PUBKEY) { TestCash.Commands.Move() }
arg(MINI_CORP_PUBKEY) { Cash.Commands.Exit(1000.POUNDS) } arg(MINI_CORP_PUBKEY) { TestCash.Commands.Exit(1000.POUNDS) }
} }
verify() verify()
@ -39,7 +67,7 @@ class TransactionGroupTests {
transactionGroup { transactionGroup {
val t = transaction { val t = transaction {
output("cash") { A_THOUSAND_POUNDS } output("cash") { A_THOUSAND_POUNDS }
arg(MINI_CORP_PUBKEY) { Cash.Commands.Issue() } arg(MINI_CORP_PUBKEY) { TestCash.Commands.Issue() }
} }
val conflict1 = transaction { val conflict1 = transaction {
@ -47,7 +75,7 @@ class TransactionGroupTests {
val HALF = A_THOUSAND_POUNDS.copy(amount = 500.POUNDS) `owned by` BOB_PUBKEY val HALF = A_THOUSAND_POUNDS.copy(amount = 500.POUNDS) `owned by` BOB_PUBKEY
output { HALF } output { HALF }
output { HALF } output { HALF }
arg(MINI_CORP_PUBKEY) { Cash.Commands.Move() } arg(MINI_CORP_PUBKEY) { TestCash.Commands.Move() }
} }
verify() verify()
@ -58,7 +86,7 @@ class TransactionGroupTests {
val HALF = A_THOUSAND_POUNDS.copy(amount = 500.POUNDS) `owned by` ALICE_PUBKEY val HALF = A_THOUSAND_POUNDS.copy(amount = 500.POUNDS) `owned by` ALICE_PUBKEY
output { HALF } output { HALF }
output { HALF } output { HALF }
arg(MINI_CORP_PUBKEY) { Cash.Commands.Move() } arg(MINI_CORP_PUBKEY) { TestCash.Commands.Move() }
} }
assertNotEquals(conflict1, conflict2) assertNotEquals(conflict1, conflict2)
@ -77,7 +105,7 @@ class TransactionGroupTests {
val tg = transactionGroup { val tg = transactionGroup {
transaction { transaction {
output("cash") { A_THOUSAND_POUNDS } output("cash") { A_THOUSAND_POUNDS }
arg(MINI_CORP_PUBKEY) { Cash.Commands.Issue() } arg(MINI_CORP_PUBKEY) { TestCash.Commands.Issue() }
} }
transaction { transaction {
@ -92,7 +120,7 @@ class TransactionGroupTests {
tg.txns += TransactionBuilder().apply { tg.txns += TransactionBuilder().apply {
addInputState(input) addInputState(input)
addOutputState(A_THOUSAND_POUNDS) addOutputState(A_THOUSAND_POUNDS)
addCommand(Cash.Commands.Move(), BOB_PUBKEY) addCommand(TestCash.Commands.Move(), BOB_PUBKEY)
}.toWireTransaction() }.toWireTransaction()
val e = assertFailsWith(TransactionResolutionException::class) { val e = assertFailsWith(TransactionResolutionException::class) {
@ -113,7 +141,7 @@ class TransactionGroupTests {
input("£1000") input("£1000")
input("£1000") input("£1000")
output { A_THOUSAND_POUNDS.copy(amount = A_THOUSAND_POUNDS.amount * 2) } output { A_THOUSAND_POUNDS.copy(amount = A_THOUSAND_POUNDS.amount * 2) }
arg(MINI_CORP_PUBKEY) { Cash.Commands.Move() } arg(MINI_CORP_PUBKEY) { TestCash.Commands.Move() }
} }
assertFailsWith(TransactionConflictException::class) { assertFailsWith(TransactionConflictException::class) {
@ -127,25 +155,25 @@ class TransactionGroupTests {
val signedTxns: List<SignedTransaction> = transactionGroup { val signedTxns: List<SignedTransaction> = transactionGroup {
transaction { transaction {
output("£1000") { A_THOUSAND_POUNDS } output("£1000") { A_THOUSAND_POUNDS }
arg(MINI_CORP_PUBKEY) { Cash.Commands.Issue() } arg(MINI_CORP_PUBKEY) { TestCash.Commands.Issue() }
} }
transaction { transaction {
input("£1000") input("£1000")
output("alice's £1000") { A_THOUSAND_POUNDS `owned by` ALICE_PUBKEY } output("alice's £1000") { A_THOUSAND_POUNDS `owned by` ALICE_PUBKEY }
arg(MINI_CORP_PUBKEY) { Cash.Commands.Move() } arg(MINI_CORP_PUBKEY) { TestCash.Commands.Move() }
} }
transaction { transaction {
input("alice's £1000") input("alice's £1000")
arg(ALICE_PUBKEY) { Cash.Commands.Move() } arg(ALICE_PUBKEY) { TestCash.Commands.Move() }
arg(MINI_CORP_PUBKEY) { Cash.Commands.Exit(1000.POUNDS) } arg(MINI_CORP_PUBKEY) { TestCash.Commands.Exit(1000.POUNDS) }
} }
}.signAll() }.signAll()
// Now go through the conversion -> verification path with them. // Now go through the conversion -> verification path with them.
val ltxns = signedTxns.map { val ltxns = signedTxns.map {
it.verifyToLedgerTransaction(MockIdentityService, MockStorageService().attachments) it.verifyToLedgerTransaction(MOCK_IDENTITY_SERVICE, MockStorageService().attachments)
}.toSet() }.toSet()
TransactionGroup(ltxns, emptySet()).verify() TransactionGroup(ltxns, emptySet()).verify()
} }

View File

@ -1,15 +1,13 @@
package core.node package core.node
import contracts.DUMMY_PROGRAM_ID
import contracts.DummyContract
import core.*
import core.contracts.* import core.contracts.*
import core.crypto.Party import core.crypto.Party
import core.crypto.SecureHash import core.crypto.SecureHash
import core.node.services.AttachmentStorage import core.node.services.AttachmentStorage
import core.node.services.testing.MockAttachmentStorage
import core.serialization.* import core.serialization.*
import core.testutils.DUMMY_NOTARY import core.testing.DUMMY_NOTARY
import core.testutils.MEGA_CORP import core.testing.MEGA_CORP
import org.apache.commons.io.IOUtils import org.apache.commons.io.IOUtils
import org.junit.Test import org.junit.Test
import java.io.ByteArrayInputStream import java.io.ByteArrayInputStream
@ -26,11 +24,36 @@ interface DummyContractBackdoor {
fun inspectState(state: ContractState): Int fun inspectState(state: ContractState): Int
} }
val ATTACHMENT_TEST_PROGRAM_ID = AttachmentClassLoaderTests.AttachmentDummyContract()
class AttachmentClassLoaderTests { class AttachmentClassLoaderTests {
companion object { companion object {
val ISOLATED_CONTRACTS_JAR_PATH = AttachmentClassLoaderTests::class.java.getResource("isolated.jar") val ISOLATED_CONTRACTS_JAR_PATH = AttachmentClassLoaderTests::class.java.getResource("isolated.jar")
} }
class AttachmentDummyContract : Contract {
class State(val magicNumber: Int = 0,
override val notary: Party) : ContractState {
override val contract = ATTACHMENT_TEST_PROGRAM_ID
}
interface Commands : CommandData {
class Create : TypeOnlyCommandData(), Commands
}
override fun verify(tx: TransactionForVerification) {
// Always accepts.
}
// The "empty contract"
override val legalContractReference: SecureHash = SecureHash.sha256("")
fun generateInitial(owner: PartyAndReference, magicNumber: Int, notary: Party): TransactionBuilder {
val state = State(magicNumber, notary)
return TransactionBuilder().withItems(state, Command(Commands.Create(), owner.party.owningKey))
}
}
fun importJar(storage: AttachmentStorage) = ISOLATED_CONTRACTS_JAR_PATH.openStream().use { storage.importAttachment(it) } fun importJar(storage: AttachmentStorage) = ISOLATED_CONTRACTS_JAR_PATH.openStream().use { storage.importAttachment(it) }
// These ClassLoaders work together to load 'AnotherDummyContract' in a disposable way, such that even though // These ClassLoaders work together to load 'AnotherDummyContract' in a disposable way, such that even though
@ -123,7 +146,7 @@ class AttachmentClassLoaderTests {
@Test @Test
fun `verify that contract DummyContract is in classPath`() { fun `verify that contract DummyContract is in classPath`() {
val contractClass = Class.forName("contracts.DummyContract") val contractClass = Class.forName("core.node.AttachmentClassLoaderTests\$AttachmentDummyContract")
val contract = contractClass.newInstance() as Contract val contract = contractClass.newInstance() as Contract
assertNotNull(contract) assertNotNull(contract)
@ -186,13 +209,13 @@ class AttachmentClassLoaderTests {
@Test @Test
fun `test serialization of WireTransaction with statically loaded contract`() { fun `test serialization of WireTransaction with statically loaded contract`() {
val tx = DUMMY_PROGRAM_ID.generateInitial(MEGA_CORP.ref(0), 42, DUMMY_NOTARY) val tx = ATTACHMENT_TEST_PROGRAM_ID.generateInitial(MEGA_CORP.ref(0), 42, DUMMY_NOTARY)
val wireTransaction = tx.toWireTransaction() val wireTransaction = tx.toWireTransaction()
val bytes = wireTransaction.serialize() val bytes = wireTransaction.serialize()
val copiedWireTransaction = bytes.deserialize() val copiedWireTransaction = bytes.deserialize()
assertEquals(1, copiedWireTransaction.outputs.size) assertEquals(1, copiedWireTransaction.outputs.size)
assertEquals(42, (copiedWireTransaction.outputs[0] as DummyContract.State).magicNumber) assertEquals(42, (copiedWireTransaction.outputs[0] as AttachmentDummyContract.State).magicNumber)
} }
@Test @Test

View File

@ -74,6 +74,7 @@ class SerializationTokenTest {
@Test(expected = IllegalStateException::class) @Test(expected = IllegalStateException::class)
fun `unannotated throws`() { fun `unannotated throws`() {
@Suppress("UNUSED_VARIABLE")
val tokenizableBefore = UnannotatedSerializeAsSingletonToken() val tokenizableBefore = UnannotatedSerializeAsSingletonToken()
} }
} }

View File

@ -1,21 +1,48 @@
package core.serialization package core.serialization
import contracts.Cash
import core.*
import core.contracts.* import core.contracts.*
import core.testutils.* import core.crypto.Party
import core.crypto.SecureHash
import core.node.services.testing.MockStorageService
import core.seconds
import core.testing.*
import org.junit.Before import org.junit.Before
import org.junit.Test import org.junit.Test
import java.security.PublicKey
import java.security.SecureRandom
import java.security.SignatureException import java.security.SignatureException
import kotlin.test.assertEquals import kotlin.test.assertEquals
import kotlin.test.assertFailsWith import kotlin.test.assertFailsWith
val TEST_PROGRAM_ID = TransactionSerializationTests.TestCash()
class TransactionSerializationTests { class TransactionSerializationTests {
// Simple TX that takes 1000 pounds from me and sends 600 to someone else (with 400 change). class TestCash : Contract {
override val legalContractReference = SecureHash.sha256("TestCash")
override fun verify(tx: TransactionForVerification) {
}
data class State(
val deposit: PartyAndReference,
val amount: Amount,
override val owner: PublicKey,
override val notary: Party) : OwnableState {
override val contract: Contract = TEST_PROGRAM_ID
override fun withNewOwner(newOwner: PublicKey) = Pair(Commands.Move(), copy(owner = newOwner))
}
interface Commands : CommandData {
class Move() : TypeOnlyCommandData(), Commands
data class Issue(val nonce: Long = SecureRandom.getInstanceStrong().nextLong()) : Commands
data class Exit(val amount: Amount) : Commands
}
}
// Simple TX that takes 1000 pounds from me and sends 600 to someone else (with 400 change).
// It refers to a fake TX/state that we don't bother creating here. // It refers to a fake TX/state that we don't bother creating here.
val depositRef = MINI_CORP.ref(1) val depositRef = MINI_CORP.ref(1)
val outputState = Cash.State(depositRef, 600.POUNDS, DUMMY_PUBKEY_1, DUMMY_NOTARY) val outputState = TestCash.State(depositRef, 600.POUNDS, DUMMY_PUBKEY_1, DUMMY_NOTARY)
val changeState = Cash.State(depositRef, 400.POUNDS, TestUtils.keypair.public, DUMMY_NOTARY) val changeState = TestCash.State(depositRef, 400.POUNDS, TestUtils.keypair.public, DUMMY_NOTARY)
val fakeStateRef = generateStateRef() val fakeStateRef = generateStateRef()
lateinit var tx: TransactionBuilder lateinit var tx: TransactionBuilder
@ -23,7 +50,7 @@ class TransactionSerializationTests {
@Before @Before
fun setup() { fun setup() {
tx = TransactionBuilder().withItems( tx = TransactionBuilder().withItems(
fakeStateRef, outputState, changeState, Command(Cash.Commands.Move(), arrayListOf(TestUtils.keypair.public)) fakeStateRef, outputState, changeState, Command(TestCash.Commands.Move(), arrayListOf(TestUtils.keypair.public))
) )
} }
@ -60,7 +87,7 @@ class TransactionSerializationTests {
// If the signature was replaced in transit, we don't like it. // If the signature was replaced in transit, we don't like it.
assertFailsWith(SignatureException::class) { assertFailsWith(SignatureException::class) {
val tx2 = TransactionBuilder().withItems(fakeStateRef, outputState, changeState, val tx2 = TransactionBuilder().withItems(fakeStateRef, outputState, changeState,
Command(Cash.Commands.Move(), TestUtils.keypair2.public)) Command(TestCash.Commands.Move(), TestUtils.keypair2.public))
tx2.signWith(TestUtils.keypair2) tx2.signWith(TestUtils.keypair2)
signedTX.copy(sigs = tx2.toSignedTransaction().sigs).verify() signedTX.copy(sigs = tx2.toSignedTransaction().sigs).verify()
@ -73,7 +100,7 @@ class TransactionSerializationTests {
tx.signWith(TestUtils.keypair) tx.signWith(TestUtils.keypair)
tx.signWith(DUMMY_NOTARY_KEY) tx.signWith(DUMMY_NOTARY_KEY)
val stx = tx.toSignedTransaction() val stx = tx.toSignedTransaction()
val ltx = stx.verifyToLedgerTransaction(MockIdentityService, MockStorageService().attachments) val ltx = stx.verifyToLedgerTransaction(MOCK_IDENTITY_SERVICE, MockStorageService().attachments)
assertEquals(tx.commands().map { it.value }, ltx.commands.map { it.value }) assertEquals(tx.commands().map { it.value }, ltx.commands.map { it.value })
assertEquals(tx.inputStates(), ltx.inputs) assertEquals(tx.inputStates(), ltx.inputs)
assertEquals(tx.outputStates(), ltx.outputs) assertEquals(tx.outputStates(), ltx.outputs)

View File

@ -9,7 +9,7 @@
<tbody> <tbody>
<tr> <tr>
<td> <td>
<a href="../core.utilities/-a-n-s-i-progress-renderer/index.html">core.utilities.ANSIProgressRenderer</a></td> <a href="../core.utilities/-a-n-s-i-progress-renderer/index.html">node.utilities.ANSIProgressRenderer</a></td>
<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 <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 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
@ -18,20 +18,20 @@ if the terminal supports it. Otherwise it just prints out the name of the step w
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../api/-a-p-i-server/index.html">api.APIServer</a></td> <a href="../api/-a-p-i-server/index.html">node.api.APIServer</a></td>
<td> <td>
<p>Top level interface to external interaction with the distributed ledger.</p> <p>Top level interface to external interaction with the distributed ledger.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../api/-a-p-i-server-impl/index.html">api.APIServerImpl</a></td> <a href="../api/-a-p-i-server-impl/index.html">node.internal.APIServerImpl</a></td>
<td> <td>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node/-abstract-node/index.html">core.node.AbstractNode</a></td> <a href="../core.node/-abstract-node/index.html">node.internal.AbstractNode</a></td>
<td> <td>
<p>A base node implementation that can be customised either for production (with real implementations that do real <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> I/O), or a mock implementation suitable for unit test environments.</p>
@ -39,7 +39,7 @@ I/O), or a mock implementation suitable for unit test environments.</p>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node.services/-abstract-node-service/index.html">core.node.services.AbstractNodeService</a></td> <a href="../core.node.services/-abstract-node-service/index.html">node.services.api.AbstractNodeService</a></td>
<td> <td>
<p>Abstract superclass for services that a node can host, which provides helper functions.</p> <p>Abstract superclass for services that a node can host, which provides helper functions.</p>
</td> </td>
@ -54,7 +54,7 @@ fields such as replyTo and replyToTopic.</p>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node/-accepts-file-upload/index.html">core.node.AcceptsFileUpload</a></td> <a href="../core.node/-accepts-file-upload/index.html">node.services.api.AcceptsFileUpload</a></td>
<td> <td>
<p>A service that implements AcceptsFileUpload can have new binary data provided to it via an HTTP upload.</p> <p>A service that implements AcceptsFileUpload can have new binary data provided to it via an HTTP upload.</p>
</td> </td>
@ -69,14 +69,14 @@ We dont actually do anything with this yet though, so its ignored for now.</p>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.utilities/-add-or-remove/index.html">core.utilities.AddOrRemove</a></td> <a href="../core.utilities/-add-or-remove/index.html">node.utilities.AddOrRemove</a></td>
<td> <td>
<p>Enum for when adding/removing something, for example adding or removing an entry in a directory.</p> <p>Enum for when adding/removing something, for example adding or removing an entry in a directory.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.utilities/-affinity-executor/index.html">core.utilities.AffinityExecutor</a></td> <a href="../core.utilities/-affinity-executor/index.html">node.utilities.AffinityExecutor</a></td>
<td> <td>
<p>An extended executor interface that supports thread affinity assertions and short circuiting. This can be useful <p>An extended executor interface that supports thread affinity assertions and short circuiting. This can be useful
for ensuring code runs on the right thread, and also for unit testing.</p> for ensuring code runs on the right thread, and also for unit testing.</p>
@ -98,7 +98,7 @@ for ensuring code runs on the right thread, and also for unit testing.</p>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node.subsystems/-artemis-messaging-service/index.html">core.node.subsystems.ArtemisMessagingService</a></td> <a href="../core.node.subsystems/-artemis-messaging-service/index.html">node.services.messaging.ArtemisMessagingService</a></td>
<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. <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 Artemis is a message queue broker and here, we embed the entire server inside our own process. Nodes communicate
@ -117,7 +117,7 @@ of how attachments are meant to be used include:</p>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node.servlets/-attachment-download-servlet/index.html">core.node.servlets.AttachmentDownloadServlet</a></td> <a href="../core.node.servlets/-attachment-download-servlet/index.html">node.servlets.AttachmentDownloadServlet</a></td>
<td> <td>
<p>Allows the node administrator to either download full attachment zips, or individual files within those zips.</p> <p>Allows the node administrator to either download full attachment zips, or individual files within those zips.</p>
</td> </td>
@ -195,13 +195,13 @@ the same transaction.</p>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node.storage/-checkpoint/index.html">core.node.storage.Checkpoint</a></td> <a href="../core.node.storage/-checkpoint/index.html">node.services.api.Checkpoint</a></td>
<td> <td>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node.storage/-checkpoint-storage/index.html">core.node.storage.CheckpointStorage</a></td> <a href="../core.node.storage/-checkpoint-storage/index.html">node.services.api.CheckpointStorage</a></td>
<td> <td>
<p>Thread-safe storage of fiber checkpoints.</p> <p>Thread-safe storage of fiber checkpoints.</p>
</td> </td>
@ -235,7 +235,7 @@ the same transaction.</p>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../api/-config/index.html">api.Config</a></td> <a href="../api/-config/index.html">node.servlets.Config</a></td>
<td> <td>
<p>Primary purpose is to install Kotlin extensions for Jackson ObjectMapper so data classes work <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> and to organise serializers / deserializers for java.time.* classes as necessary</p>
@ -243,7 +243,7 @@ and to organise serializers / deserializers for java.time.* classes as necessary
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node/-configuration-exception/index.html">core.node.ConfigurationException</a></td> <a href="../core.node/-configuration-exception/index.html">node.internal.ConfigurationException</a></td>
<td> <td>
</td> </td>
</tr> </tr>
@ -259,20 +259,20 @@ timestamp attached to the transaction itself i.e. it is NOT necessarily the curr
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../api/-contract-class-ref/index.html">api.ContractClassRef</a></td> <a href="../api/-contract-class-ref/index.html">node.api.ContractClassRef</a></td>
<td> <td>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../api/-contract-def-ref.html">api.ContractDefRef</a></td> <a href="../api/-contract-def-ref.html">node.api.ContractDefRef</a></td>
<td> <td>
<p>Encapsulates the contract type. e.g. Cash or CommercialPaper etc.</p> <p>Encapsulates the contract type. e.g. Cash or CommercialPaper etc.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../api/-contract-ledger-ref/index.html">api.ContractLedgerRef</a></td> <a href="../api/-contract-ledger-ref/index.html">node.api.ContractLedgerRef</a></td>
<td> <td>
</td> </td>
</tr> </tr>
@ -303,14 +303,14 @@ return the funds to the pledge-makers (if the target has not been reached).</p>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node.servlets/-data-upload-servlet/index.html">core.node.servlets.DataUploadServlet</a></td> <a href="../core.node.servlets/-data-upload-servlet/index.html">node.servlets.DataUploadServlet</a></td>
<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> <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> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node.subsystems/-data-vending-service/index.html">core.node.subsystems.DataVendingService</a></td> <a href="../core.node.subsystems/-data-vending-service/index.html">node.services.persistence.DataVendingService</a></td>
<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 <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> glue that sits between the network layer and the database layer.</p>
@ -407,7 +407,7 @@ building partially signed transactions.</p>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node.subsystems/-e2-e-test-key-management-service/index.html">core.node.subsystems.E2ETestKeyManagementService</a></td> <a href="../core.node.subsystems/-e2-e-test-key-management-service/index.html">node.services.keys.E2ETestKeyManagementService</a></td>
<td> <td>
<p>A simple in-memory KMS that doesnt bother saving keys to disk. A real implementation would:</p> <p>A simple in-memory KMS that doesnt bother saving keys to disk. A real implementation would:</p>
</td> </td>
@ -534,7 +534,7 @@ that would divide into (eg annually = 1, semiannual = 2, monthly = 12 etc).</p>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.testing/-i-r-s-simulation/index.html">core.testing.IRSSimulation</a></td> <a href="../core.testing/-i-r-s-simulation/index.html">node.internal.testing.IRSSimulation</a></td>
<td> <td>
<p>A simulation in which banks execute interest rate swaps with each other, including the fixing events.</p> <p>A simulation in which banks execute interest rate swaps with each other, including the fixing events.</p>
</td> </td>
@ -558,14 +558,14 @@ set via the constructor and the class is immutable.</p>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node.subsystems/-in-memory-identity-service/index.html">core.node.subsystems.InMemoryIdentityService</a></td> <a href="../core.node.subsystems/-in-memory-identity-service/index.html">node.services.identity.InMemoryIdentityService</a></td>
<td> <td>
<p>Simple identity service which caches parties and provides functionality for efficient lookup.</p> <p>Simple identity service which caches parties and provides functionality for efficient lookup.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.testing/-in-memory-messaging-network/index.html">core.testing.InMemoryMessagingNetwork</a></td> <a href="../core.testing/-in-memory-messaging-network/index.html">node.services.network.InMemoryMessagingNetwork</a></td>
<td> <td>
<p>An in-memory network allows you to manufacture <a href="../core.testing/-in-memory-messaging-network/-in-memory-messaging/index.html">InMemoryMessaging</a>s for a set of participants. Each <p>An in-memory network allows you to manufacture <a href="../core.testing/-in-memory-messaging-network/-in-memory-messaging/index.html">InMemoryMessaging</a>s for a set of participants. Each
<a href="../core.testing/-in-memory-messaging-network/-in-memory-messaging/index.html">InMemoryMessaging</a> maintains a queue of messages it has received, and a background thread that dispatches <a href="../core.testing/-in-memory-messaging-network/-in-memory-messaging/index.html">InMemoryMessaging</a> maintains a queue of messages it has received, and a background thread that dispatches
@ -576,14 +576,14 @@ testing).</p>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node.subsystems/-in-memory-network-map-cache/index.html">core.node.subsystems.InMemoryNetworkMapCache</a></td> <a href="../core.node.subsystems/-in-memory-network-map-cache/index.html">node.services.network.InMemoryNetworkMapCache</a></td>
<td> <td>
<p>Extremely simple in-memory cache of the network map.</p> <p>Extremely simple in-memory cache of the network map.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node.services/-in-memory-network-map-service/index.html">core.node.services.InMemoryNetworkMapService</a></td> <a href="../core.node.services/-in-memory-network-map-service/index.html">node.services.network.InMemoryNetworkMapService</a></td>
<td> <td>
</td> </td>
</tr> </tr>
@ -649,7 +649,7 @@ This is just a representation of a vanilla Fixed vs Floating (same currency) IRS
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.utilities/-json-support/index.html">core.utilities.JsonSupport</a></td> <a href="../core.utilities/-json-support/index.html">node.utilities.JsonSupport</a></td>
<td> <td>
<p>Utilities and serialisers for working with JSON representations of basic types. This adds Jackson support for <p>Utilities and serialisers for working with JSON representations of basic types. This adds Jackson support for
the java.time API, some core types, and Kotlin data classes.</p> the java.time API, some core types, and Kotlin data classes.</p>
@ -657,7 +657,7 @@ the java.time API, some core types, and Kotlin data classes.</p>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node.subsystems/-key-management-service/index.html">core.node.subsystems.KeyManagementService</a></td> <a href="../core.node.subsystems/-key-management-service/index.html">core.node.services.KeyManagementService</a></td>
<td> <td>
<p>The KMS is responsible for storing and using private keys to sign things. An implementation of this may, for example, <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> call out to a hardware security module that enforces various auditing and frequency-of-use requirements.</p>
@ -765,7 +765,7 @@ may let you cast the returned future to an object that lets you get status info.
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.testing/-mock-identity-service/index.html">core.testing.MockIdentityService</a></td> <a href="../core.testing/-mock-identity-service/index.html">core.testservices.MockIdentityService</a></td>
<td> <td>
<p>Scaffolding: a dummy identity service that just expects to have identities loaded off disk or found elsewhere. <p>Scaffolding: a dummy identity service that just expects to have identities loaded off disk or found elsewhere.
This class allows the provided list of identities to be mutated after construction, so it takes the list lock This class allows the provided list of identities to be mutated after construction, so it takes the list lock
@ -775,7 +775,7 @@ MockNetwork code.</p>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.testing/-mock-network/index.html">core.testing.MockNetwork</a></td> <a href="../core.testing/-mock-network/index.html">node.internal.testing.MockNetwork</a></td>
<td> <td>
<p>A mock node brings up a suite of in-memory services in a fast manner suitable for unit testing. <p>A mock node brings up a suite of in-memory services in a fast manner suitable for unit testing.
Components that do IO are either swapped out for mocks, or pointed to a <a href="#">Jimfs</a> in memory filesystem.</p> Components that do IO are either swapped out for mocks, or pointed to a <a href="#">Jimfs</a> in memory filesystem.</p>
@ -783,7 +783,7 @@ Components that do IO are either swapped out for mocks, or pointed to a <a href=
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.testing/-mock-network-map-cache/index.html">core.testing.MockNetworkMapCache</a></td> <a href="../core.testing/-mock-network-map-cache/index.html">node.services.network.MockNetworkMapCache</a></td>
<td> <td>
<p>Network map cache with no backing map service.</p> <p>Network map cache with no backing map service.</p>
</td> </td>
@ -805,13 +805,13 @@ This is not an interface because it is too lightweight to bother mocking out.</p
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node.subsystems/-network-cache-error/index.html">core.node.subsystems.NetworkCacheError</a></td> <a href="../core.node.subsystems/-network-cache-error/index.html">core.node.services.NetworkCacheError</a></td>
<td> <td>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node.subsystems/-network-map-cache/index.html">core.node.subsystems.NetworkMapCache</a></td> <a href="../core.node.subsystems/-network-map-cache/index.html">core.node.services.NetworkMapCache</a></td>
<td> <td>
<p>A network map contains lists of nodes on the network along with information about their identity keys, services <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. The cache wraps around a map fetched they provide and host names or IP addresses where they can be connected to. The cache wraps around a map fetched
@ -821,7 +821,7 @@ with a specified network map service, which it fetches data from and then subscr
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node.services/-network-map-service/index.html">core.node.services.NetworkMapService</a></td> <a href="../core.node.services/-network-map-service/index.html">node.services.network.NetworkMapService</a></td>
<td> <td>
<p>A network map contains lists of nodes on the network along with information about their identity keys, services <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. This information is cached locally within they provide and host names or IP addresses where they can be connected to. This information is cached locally within
@ -831,7 +831,7 @@ replace each other based on a serial number present in the change.</p>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node/-node/index.html">core.node.Node</a></td> <a href="../core.node/-node/index.html">node.internal.Node</a></td>
<td> <td>
<p>A Node manages a standalone server that takes part in the P2P network. It creates the services found in <a href="../core.node/-service-hub/index.html">ServiceHub</a>, <p>A Node manages a standalone server that takes part in the P2P network. It creates the services found in <a href="../core.node/-service-hub/index.html">ServiceHub</a>,
loads important data off disk and starts listening for connections.</p> loads important data off disk and starts listening for connections.</p>
@ -839,20 +839,20 @@ loads important data off disk and starts listening for connections.</p>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node.services/-node-attachment-service/index.html">core.node.services.NodeAttachmentService</a></td> <a href="../core.node.services/-node-attachment-service/index.html">node.services.persistence.NodeAttachmentService</a></td>
<td> <td>
<p>Stores attachments in the specified local directory, which must exist. Doesnt allow new attachments to be uploaded.</p> <p>Stores attachments in the specified local directory, which must exist. Doesnt allow new attachments to be uploaded.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node/-node-configuration/index.html">core.node.NodeConfiguration</a></td> <a href="../core.node/-node-configuration/index.html">node.services.config.NodeConfiguration</a></td>
<td> <td>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node/-node-configuration-from-config/index.html">core.node.NodeConfigurationFromConfig</a></td> <a href="../core.node/-node-configuration-from-config/index.html">node.services.config.NodeConfigurationFromConfig</a></td>
<td> <td>
</td> </td>
</tr> </tr>
@ -865,7 +865,7 @@ loads important data off disk and starts listening for connections.</p>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node.services/-node-interest-rates/index.html">core.node.services.NodeInterestRates</a></td> <a href="../core.node.services/-node-interest-rates/index.html">node.services.clientapi.NodeInterestRates</a></td>
<td> <td>
<p>An interest rates service is an oracle that signs transactions which contain embedded assertions about an interest <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> rate fix (e.g. LIBOR, EURIBOR ...).</p>
@ -873,13 +873,13 @@ rate fix (e.g. LIBOR, EURIBOR ...).</p>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node.services/-node-map-error/index.html">core.node.services.NodeMapError</a></td> <a href="../core.node.services/-node-map-error/index.html">node.services.network.NodeMapError</a></td>
<td> <td>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node.services/-node-registration/index.html">core.node.services.NodeRegistration</a></td> <a href="../core.node.services/-node-registration/index.html">node.services.network.NodeRegistration</a></td>
<td> <td>
<p>A node registration state in the network map.</p> <p>A node registration state in the network map.</p>
</td> </td>
@ -894,7 +894,7 @@ add features like checking against other NTP servers to make sure the clock hasn
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node.subsystems/-node-wallet-service/index.html">core.node.subsystems.NodeWalletService</a></td> <a href="../core.node.subsystems/-node-wallet-service/index.html">node.services.wallet.NodeWalletService</a></td>
<td> <td>
<p>This class implements a simple, in memory wallet that tracks states that are owned by us, and also has a convenience <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 method to auto-generate some self-issued cash states that can be used for test trading. A real wallet would persist
@ -959,7 +959,7 @@ ledger. The reference is intended to be encrypted so its meaningless to anyone o
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node.storage/-per-file-checkpoint-storage/index.html">core.node.storage.PerFileCheckpointStorage</a></td> <a href="../core.node.storage/-per-file-checkpoint-storage/index.html">node.services.persistence.PerFileCheckpointStorage</a></td>
<td> <td>
<p>File-based checkpoint storage, storing checkpoints per file.</p> <p>File-based checkpoint storage, storing checkpoints per file.</p>
</td> </td>
@ -1003,13 +1003,13 @@ a singleton).</p>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../api/-protocol-class-ref/index.html">api.ProtocolClassRef</a></td> <a href="../api/-protocol-class-ref/index.html">node.api.ProtocolClassRef</a></td>
<td> <td>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../api/-protocol-instance-ref/index.html">api.ProtocolInstanceRef</a></td> <a href="../api/-protocol-instance-ref/index.html">node.api.ProtocolInstanceRef</a></td>
<td> <td>
</td> </td>
</tr> </tr>
@ -1024,14 +1024,14 @@ a node crash, how many instances of your protocol there are running and so on.</
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../api/-protocol-ref.html">api.ProtocolRef</a></td> <a href="../api/-protocol-ref.html">node.api.ProtocolRef</a></td>
<td> <td>
<p>Encapsulates the protocol to be instantiated. e.g. TwoPartyTradeProtocol.Buyer.</p> <p>Encapsulates the protocol to be instantiated. e.g. TwoPartyTradeProtocol.Buyer.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../api/-protocol-requiring-attention/index.html">api.ProtocolRequiringAttention</a></td> <a href="../api/-protocol-requiring-attention/index.html">node.api.ProtocolRequiringAttention</a></td>
<td> <td>
<p>Thinking that Instant is OK for short lived protocol deadlines.</p> <p>Thinking that Instant is OK for short lived protocol deadlines.</p>
</td> </td>
@ -1103,7 +1103,7 @@ e.g. LIBOR 6M as of 17 March 2016. Hence it requires a source (name) and a value
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node.services/-regulator-service/index.html">core.node.services.RegulatorService</a></td> <a href="../core.node.services/-regulator-service/index.html">node.services.api.RegulatorService</a></td>
<td> <td>
<p>Placeholder interface for regulator services.</p> <p>Placeholder interface for regulator services.</p>
</td> </td>
@ -1125,7 +1125,7 @@ all the transactions have been successfully verified and inserted into the local
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../api/-response-filter/index.html">api.ResponseFilter</a></td> <a href="../api/-response-filter/index.html">node.servlets.ResponseFilter</a></td>
<td> <td>
<p>This adds headers needed for cross site scripting on API clients</p> <p>This adds headers needed for cross site scripting on API clients</p>
</td> </td>
@ -1187,7 +1187,7 @@ contained within.</p>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.testing/-simulation/index.html">core.testing.Simulation</a></td> <a href="../core.testing/-simulation/index.html">node.internal.testing.Simulation</a></td>
<td> <td>
<p>Base class for network simulations that are based on the unit test / mock environment.</p> <p>Base class for network simulations that are based on the unit test / mock environment.</p>
</td> </td>
@ -1209,7 +1209,7 @@ Points at which polynomial pieces connect are known as <emph>knots</emph>.</p>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.messaging/-stack-snapshot/index.html">core.messaging.StackSnapshot</a></td> <a href="../core.messaging/-stack-snapshot/index.html">node.services.statemachine.StackSnapshot</a></td>
<td> <td>
</td> </td>
</tr> </tr>
@ -1222,7 +1222,7 @@ Points at which polynomial pieces connect are known as <emph>knots</emph>.</p>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.messaging/-state-machine-manager/index.html">core.messaging.StateMachineManager</a></td> <a href="../core.messaging/-state-machine-manager/index.html">node.services.statemachine.StateMachineManager</a></td>
<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. <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> Each such object represents an instantiation of a (two-party) protocol that has reached a particular point.</p>
@ -1238,14 +1238,14 @@ transaction defined the state and where in that transaction it was.</p>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../api/-states-query/index.html">api.StatesQuery</a></td> <a href="../api/-states-query/index.html">node.api.StatesQuery</a></td>
<td> <td>
<p>Extremely rudimentary query language which should most likely be replaced with a product</p> <p>Extremely rudimentary query language which should most likely be replaced with a product</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node.subsystems/-storage-service/index.html">core.node.subsystems.StorageService</a></td> <a href="../core.node.subsystems/-storage-service/index.html">core.node.services.StorageService</a></td>
<td> <td>
<p>A sketch of an interface to a simple key/value storage system. Intended for persistence of simple blobs like <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 transactions, serialised protocol state machines and so on. Again, this isnt intended to imply lack of SQL or
@ -1254,7 +1254,7 @@ anything like that, this interface is only big enough to support the prototyping
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node.subsystems/-storage-service-impl/index.html">core.node.subsystems.StorageServiceImpl</a></td> <a href="../core.node.subsystems/-storage-service-impl/index.html">node.services.persistence.StorageServiceImpl</a></td>
<td> <td>
</td> </td>
</tr> </tr>
@ -1335,7 +1335,7 @@ themselves.</p>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.testing/-trade-simulation/index.html">core.testing.TradeSimulation</a></td> <a href="../core.testing/-trade-simulation/index.html">node.internal.testing.TradeSimulation</a></td>
<td> <td>
<p>Simulates a never ending series of trades that go pair-wise through the banks (e.g. A and B trade with each other, <p>Simulates a never ending series of trades that go pair-wise through the banks (e.g. A and B trade with each other,
then B and C trade with each other, then C and A etc).</p> then B and C trade with each other, then C and A etc).</p>
@ -1355,7 +1355,7 @@ then B and C trade with each other, then C and A etc).</p>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../api/-transaction-build-step/index.html">api.TransactionBuildStep</a></td> <a href="../api/-transaction-build-step/index.html">node.api.TransactionBuildStep</a></td>
<td> <td>
<p>Encapsulate a generateXXX method call on a contract.</p> <p>Encapsulate a generateXXX method call on a contract.</p>
</td> </td>
@ -1469,7 +1469,7 @@ intended as the way things will necessarily be done longer term</p>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node.subsystems/-wallet/index.html">core.node.subsystems.Wallet</a></td> <a href="../core.node.subsystems/-wallet/index.html">core.node.services.Wallet</a></td>
<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, <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 because we own them. This class represents an immutable, stable state of a wallet: it is guaranteed not to
@ -1479,7 +1479,7 @@ about new transactions from our peers and generate new transactions that consume
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node.subsystems/-wallet-impl/index.html">core.node.subsystems.WalletImpl</a></td> <a href="../core.node.subsystems/-wallet-impl/index.html">node.services.wallet.WalletImpl</a></td>
<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, <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 because we own them. This class represents an immutable, stable state of a wallet: it is guaranteed not to
@ -1489,7 +1489,7 @@ about new transactions from our peers and generate new transactions that consume
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node.subsystems/-wallet-service/index.html">core.node.subsystems.WalletService</a></td> <a href="../core.node.subsystems/-wallet-service/index.html">core.node.services.WalletService</a></td>
<td> <td>
<p>A <a href="../core.node.subsystems/-wallet-service/index.html">WalletService</a> is responsible for securely and safely persisting the current state of a wallet to storage. The <p>A <a href="../core.node.subsystems/-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 wallet service vends immutable snapshots of the current wallet for working with: if you build a transaction based
@ -1499,7 +1499,7 @@ consumed by someone else first</p>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="../core.node.services/-wire-node-registration/index.html">core.node.services.WireNodeRegistration</a></td> <a href="../core.node.services/-wire-node-registration/index.html">node.services.network.WireNodeRegistration</a></td>
<td> <td>
<p>A node registration and its signature as a pair.</p> <p>A node registration and its signature as a pair.</p>
</td> </td>

View File

@ -7,7 +7,7 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServerImpl</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServerImpl</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/>
<br/> <br/>
<h1>&lt;init&gt;</h1> <h1>&lt;init&gt;</h1>
<code><span class="identifier">APIServerImpl</span><span class="symbol">(</span><span class="identifier" id="api.APIServerImpl$<init>(core.node.AbstractNode)/node">node</span><span class="symbol">:</span>&nbsp;<a href="../../core.node/-abstract-node/index.html"><span class="identifier">AbstractNode</span></a><span class="symbol">)</span></code><br/> <code><span class="identifier">APIServerImpl</span><span class="symbol">(</span><span class="identifier" id="node.internal.APIServerImpl$<init>(node.internal.AbstractNode)/node">node</span><span class="symbol">:</span>&nbsp;<a href="../../core.node/-abstract-node/index.html"><span class="identifier">AbstractNode</span></a><span class="symbol">)</span></code><br/>
<br/> <br/>
<br/> <br/>
</BODY> </BODY>

View File

@ -7,8 +7,8 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServerImpl</a>&nbsp;/&nbsp;<a href=".">buildTransaction</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServerImpl</a>&nbsp;/&nbsp;<a href=".">buildTransaction</a><br/>
<br/> <br/>
<h1>buildTransaction</h1> <h1>buildTransaction</h1>
<a name="api.APIServerImpl$buildTransaction(api.ContractDefRef, kotlin.collections.List((api.TransactionBuildStep)))"></a> <a name="node.internal.APIServerImpl$buildTransaction(node.api.ContractDefRef, kotlin.collections.List((node.api.TransactionBuildStep)))"></a>
<code><span class="keyword">fun </span><span class="identifier">buildTransaction</span><span class="symbol">(</span><span class="identifier" id="api.APIServerImpl$buildTransaction(api.ContractDefRef, kotlin.collections.List((api.TransactionBuildStep)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="../-contract-def-ref.html"><span class="identifier">ContractDefRef</span></a><span class="symbol">, </span><span class="identifier" id="api.APIServerImpl$buildTransaction(api.ContractDefRef, kotlin.collections.List((api.TransactionBuildStep)))/steps">steps</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../-transaction-build-step/index.html"><span class="identifier">TransactionBuildStep</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../core.serialization/-serialized-bytes/index.html"><span class="identifier">SerializedBytes</span></a><span class="symbol">&lt;</span><a href="../../core/-wire-transaction/index.html"><span class="identifier">WireTransaction</span></a><span class="symbol">&gt;</span></code><br/> <code><span class="keyword">fun </span><span class="identifier">buildTransaction</span><span class="symbol">(</span><span class="identifier" id="node.internal.APIServerImpl$buildTransaction(node.api.ContractDefRef, kotlin.collections.List((node.api.TransactionBuildStep)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="../-contract-def-ref.html"><span class="identifier">ContractDefRef</span></a><span class="symbol">, </span><span class="identifier" id="node.internal.APIServerImpl$buildTransaction(node.api.ContractDefRef, kotlin.collections.List((node.api.TransactionBuildStep)))/steps">steps</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../-transaction-build-step/index.html"><span class="identifier">TransactionBuildStep</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../core.serialization/-serialized-bytes/index.html"><span class="identifier">SerializedBytes</span></a><span class="symbol">&lt;</span><a href="../../core/-wire-transaction/index.html"><span class="identifier">WireTransaction</span></a><span class="symbol">&gt;</span></code><br/>
Overrides <a href="../-a-p-i-server/build-transaction.html">APIServer.buildTransaction</a><br/> Overrides <a href="../-a-p-i-server/build-transaction.html">APIServer.buildTransaction</a><br/>
<p>TransactionBuildSteps would be invocations of contract.generateXXX() methods that all share a common TransactionBuilder <p>TransactionBuildSteps would be invocations of contract.generateXXX() methods that all share a common TransactionBuilder
and a common contract type (e.g. Cash or CommercialPaper) and a common contract type (e.g. Cash or CommercialPaper)

View File

@ -7,8 +7,8 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServerImpl</a>&nbsp;/&nbsp;<a href=".">commitTransaction</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServerImpl</a>&nbsp;/&nbsp;<a href=".">commitTransaction</a><br/>
<br/> <br/>
<h1>commitTransaction</h1> <h1>commitTransaction</h1>
<a name="api.APIServerImpl$commitTransaction(core.serialization.SerializedBytes((core.contracts.WireTransaction)), kotlin.collections.List((core.crypto.DigitalSignature.WithKey)))"></a> <a name="node.internal.APIServerImpl$commitTransaction(core.serialization.SerializedBytes((core.contracts.WireTransaction)), kotlin.collections.List((core.crypto.DigitalSignature.WithKey)))"></a>
<code><span class="keyword">fun </span><span class="identifier">commitTransaction</span><span class="symbol">(</span><span class="identifier" id="api.APIServerImpl$commitTransaction(core.serialization.SerializedBytes((core.contracts.WireTransaction)), kotlin.collections.List((core.crypto.DigitalSignature.WithKey)))/tx">tx</span><span class="symbol">:</span>&nbsp;<a href="../../core.serialization/-serialized-bytes/index.html"><span class="identifier">SerializedBytes</span></a><span class="symbol">&lt;</span><a href="../../core/-wire-transaction/index.html"><span class="identifier">WireTransaction</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="api.APIServerImpl$commitTransaction(core.serialization.SerializedBytes((core.contracts.WireTransaction)), kotlin.collections.List((core.crypto.DigitalSignature.WithKey)))/signatures">signatures</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core.crypto/-digital-signature/-with-key/index.html"><span class="identifier">WithKey</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a></code><br/> <code><span class="keyword">fun </span><span class="identifier">commitTransaction</span><span class="symbol">(</span><span class="identifier" id="node.internal.APIServerImpl$commitTransaction(core.serialization.SerializedBytes((core.contracts.WireTransaction)), kotlin.collections.List((core.crypto.DigitalSignature.WithKey)))/tx">tx</span><span class="symbol">:</span>&nbsp;<a href="../../core.serialization/-serialized-bytes/index.html"><span class="identifier">SerializedBytes</span></a><span class="symbol">&lt;</span><a href="../../core/-wire-transaction/index.html"><span class="identifier">WireTransaction</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="node.internal.APIServerImpl$commitTransaction(core.serialization.SerializedBytes((core.contracts.WireTransaction)), kotlin.collections.List((core.crypto.DigitalSignature.WithKey)))/signatures">signatures</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core.crypto/-digital-signature/-with-key/index.html"><span class="identifier">WithKey</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a></code><br/>
Overrides <a href="../-a-p-i-server/commit-transaction.html">APIServer.commitTransaction</a><br/> Overrides <a href="../-a-p-i-server/commit-transaction.html">APIServer.commitTransaction</a><br/>
<p>Attempt to commit transaction (returned from build transaction) with the necessary signatures for that to be <p>Attempt to commit transaction (returned from build transaction) with the necessary signatures for that to be
successful, otherwise exception is thrown.</p> successful, otherwise exception is thrown.</p>

View File

@ -7,8 +7,8 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServerImpl</a>&nbsp;/&nbsp;<a href=".">fetchProtocolsRequiringAttention</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServerImpl</a>&nbsp;/&nbsp;<a href=".">fetchProtocolsRequiringAttention</a><br/>
<br/> <br/>
<h1>fetchProtocolsRequiringAttention</h1> <h1>fetchProtocolsRequiringAttention</h1>
<a name="api.APIServerImpl$fetchProtocolsRequiringAttention(api.StatesQuery)"></a> <a name="node.internal.APIServerImpl$fetchProtocolsRequiringAttention(node.api.StatesQuery)"></a>
<code><span class="keyword">fun </span><span class="identifier">fetchProtocolsRequiringAttention</span><span class="symbol">(</span><span class="identifier" id="api.APIServerImpl$fetchProtocolsRequiringAttention(api.StatesQuery)/query">query</span><span class="symbol">:</span>&nbsp;<a href="../-states-query/index.html"><span class="identifier">StatesQuery</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">,</span>&nbsp;<a href="../-protocol-requiring-attention/index.html"><span class="identifier">ProtocolRequiringAttention</span></a><span class="symbol">&gt;</span></code><br/> <code><span class="keyword">fun </span><span class="identifier">fetchProtocolsRequiringAttention</span><span class="symbol">(</span><span class="identifier" id="node.internal.APIServerImpl$fetchProtocolsRequiringAttention(node.api.StatesQuery)/query">query</span><span class="symbol">:</span>&nbsp;<a href="../-states-query/index.html"><span class="identifier">StatesQuery</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">,</span>&nbsp;<a href="../-protocol-requiring-attention/index.html"><span class="identifier">ProtocolRequiringAttention</span></a><span class="symbol">&gt;</span></code><br/>
Overrides <a href="../-a-p-i-server/fetch-protocols-requiring-attention.html">APIServer.fetchProtocolsRequiringAttention</a><br/> Overrides <a href="../-a-p-i-server/fetch-protocols-requiring-attention.html">APIServer.fetchProtocolsRequiringAttention</a><br/>
<p>Fetch protocols that require a response to some prompt/question by a human (on the "bank" side).</p> <p>Fetch protocols that require a response to some prompt/question by a human (on the "bank" side).</p>
<br/> <br/>

View File

@ -7,8 +7,8 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServerImpl</a>&nbsp;/&nbsp;<a href=".">fetchStates</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServerImpl</a>&nbsp;/&nbsp;<a href=".">fetchStates</a><br/>
<br/> <br/>
<h1>fetchStates</h1> <h1>fetchStates</h1>
<a name="api.APIServerImpl$fetchStates(kotlin.collections.List((core.contracts.StateRef)))"></a> <a name="node.internal.APIServerImpl$fetchStates(kotlin.collections.List((core.contracts.StateRef)))"></a>
<code><span class="keyword">fun </span><span class="identifier">fetchStates</span><span class="symbol">(</span><span class="identifier" id="api.APIServerImpl$fetchStates(kotlin.collections.List((core.contracts.StateRef)))/states">states</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">,</span>&nbsp;<a href="../../core/-contract-state/index.html"><span class="identifier">ContractState</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code><br/> <code><span class="keyword">fun </span><span class="identifier">fetchStates</span><span class="symbol">(</span><span class="identifier" id="node.internal.APIServerImpl$fetchStates(kotlin.collections.List((core.contracts.StateRef)))/states">states</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">,</span>&nbsp;<a href="../../core/-contract-state/index.html"><span class="identifier">ContractState</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code><br/>
Overrides <a href="../-a-p-i-server/fetch-states.html">APIServer.fetchStates</a><br/> Overrides <a href="../-a-p-i-server/fetch-states.html">APIServer.fetchStates</a><br/>
<br/> <br/>
<br/> <br/>

View File

@ -7,8 +7,8 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServerImpl</a>&nbsp;/&nbsp;<a href=".">fetchTransactions</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServerImpl</a>&nbsp;/&nbsp;<a href=".">fetchTransactions</a><br/>
<br/> <br/>
<h1>fetchTransactions</h1> <h1>fetchTransactions</h1>
<a name="api.APIServerImpl$fetchTransactions(kotlin.collections.List((core.crypto.SecureHash)))"></a> <a name="node.internal.APIServerImpl$fetchTransactions(kotlin.collections.List((core.crypto.SecureHash)))"></a>
<code><span class="keyword">fun </span><span class="identifier">fetchTransactions</span><span class="symbol">(</span><span class="identifier" id="api.APIServerImpl$fetchTransactions(kotlin.collections.List((core.crypto.SecureHash)))/txs">txs</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">,</span>&nbsp;<a href="../../core/-signed-transaction/index.html"><span class="identifier">SignedTransaction</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code><br/> <code><span class="keyword">fun </span><span class="identifier">fetchTransactions</span><span class="symbol">(</span><span class="identifier" id="node.internal.APIServerImpl$fetchTransactions(kotlin.collections.List((core.crypto.SecureHash)))/txs">txs</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">,</span>&nbsp;<a href="../../core/-signed-transaction/index.html"><span class="identifier">SignedTransaction</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code><br/>
Overrides <a href="../-a-p-i-server/fetch-transactions.html">APIServer.fetchTransactions</a><br/> Overrides <a href="../-a-p-i-server/fetch-transactions.html">APIServer.fetchTransactions</a><br/>
<p>Query for immutable transactions (results can be cached indefinitely by their id/hash).</p> <p>Query for immutable transactions (results can be cached indefinitely by their id/hash).</p>
<h3>Parameters</h3> <h3>Parameters</h3>

View File

@ -7,8 +7,8 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServerImpl</a>&nbsp;/&nbsp;<a href=".">generateTransactionSignature</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServerImpl</a>&nbsp;/&nbsp;<a href=".">generateTransactionSignature</a><br/>
<br/> <br/>
<h1>generateTransactionSignature</h1> <h1>generateTransactionSignature</h1>
<a name="api.APIServerImpl$generateTransactionSignature(core.serialization.SerializedBytes((core.contracts.WireTransaction)))"></a> <a name="node.internal.APIServerImpl$generateTransactionSignature(core.serialization.SerializedBytes((core.contracts.WireTransaction)))"></a>
<code><span class="keyword">fun </span><span class="identifier">generateTransactionSignature</span><span class="symbol">(</span><span class="identifier" id="api.APIServerImpl$generateTransactionSignature(core.serialization.SerializedBytes((core.contracts.WireTransaction)))/tx">tx</span><span class="symbol">:</span>&nbsp;<a href="../../core.serialization/-serialized-bytes/index.html"><span class="identifier">SerializedBytes</span></a><span class="symbol">&lt;</span><a href="../../core/-wire-transaction/index.html"><span class="identifier">WireTransaction</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../core.crypto/-digital-signature/-with-key/index.html"><span class="identifier">WithKey</span></a></code><br/> <code><span class="keyword">fun </span><span class="identifier">generateTransactionSignature</span><span class="symbol">(</span><span class="identifier" id="node.internal.APIServerImpl$generateTransactionSignature(core.serialization.SerializedBytes((core.contracts.WireTransaction)))/tx">tx</span><span class="symbol">:</span>&nbsp;<a href="../../core.serialization/-serialized-bytes/index.html"><span class="identifier">SerializedBytes</span></a><span class="symbol">&lt;</span><a href="../../core/-wire-transaction/index.html"><span class="identifier">WireTransaction</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../core.crypto/-digital-signature/-with-key/index.html"><span class="identifier">WithKey</span></a></code><br/>
Overrides <a href="../-a-p-i-server/generate-transaction-signature.html">APIServer.generateTransactionSignature</a><br/> Overrides <a href="../-a-p-i-server/generate-transaction-signature.html">APIServer.generateTransactionSignature</a><br/>
<p>Generate a signature for this transaction signed by us.</p> <p>Generate a signature for this transaction signed by us.</p>
<br/> <br/>

View File

@ -17,7 +17,7 @@
<td> <td>
<a href="-init-.html">&lt;init&gt;</a></td> <a href="-init-.html">&lt;init&gt;</a></td>
<td> <td>
<code><span class="identifier">APIServerImpl</span><span class="symbol">(</span><span class="identifier" id="api.APIServerImpl$<init>(core.node.AbstractNode)/node">node</span><span class="symbol">:</span>&nbsp;<a href="../../core.node/-abstract-node/index.html"><span class="identifier">AbstractNode</span></a><span class="symbol">)</span></code></td> <code><span class="identifier">APIServerImpl</span><span class="symbol">(</span><span class="identifier" id="node.internal.APIServerImpl$<init>(node.internal.AbstractNode)/node">node</span><span class="symbol">:</span>&nbsp;<a href="../../core.node/-abstract-node/index.html"><span class="identifier">AbstractNode</span></a><span class="symbol">)</span></code></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -39,7 +39,7 @@
<td> <td>
<a href="build-transaction.html">buildTransaction</a></td> <a href="build-transaction.html">buildTransaction</a></td>
<td> <td>
<code><span class="keyword">fun </span><span class="identifier">buildTransaction</span><span class="symbol">(</span><span class="identifier" id="api.APIServerImpl$buildTransaction(api.ContractDefRef, kotlin.collections.List((api.TransactionBuildStep)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="../-contract-def-ref.html"><span class="identifier">ContractDefRef</span></a><span class="symbol">, </span><span class="identifier" id="api.APIServerImpl$buildTransaction(api.ContractDefRef, kotlin.collections.List((api.TransactionBuildStep)))/steps">steps</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../-transaction-build-step/index.html"><span class="identifier">TransactionBuildStep</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../core.serialization/-serialized-bytes/index.html"><span class="identifier">SerializedBytes</span></a><span class="symbol">&lt;</span><a href="../../core/-wire-transaction/index.html"><span class="identifier">WireTransaction</span></a><span class="symbol">&gt;</span></code><p>TransactionBuildSteps would be invocations of contract.generateXXX() methods that all share a common TransactionBuilder <code><span class="keyword">fun </span><span class="identifier">buildTransaction</span><span class="symbol">(</span><span class="identifier" id="node.internal.APIServerImpl$buildTransaction(node.api.ContractDefRef, kotlin.collections.List((node.api.TransactionBuildStep)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="../-contract-def-ref.html"><span class="identifier">ContractDefRef</span></a><span class="symbol">, </span><span class="identifier" id="node.internal.APIServerImpl$buildTransaction(node.api.ContractDefRef, kotlin.collections.List((node.api.TransactionBuildStep)))/steps">steps</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../-transaction-build-step/index.html"><span class="identifier">TransactionBuildStep</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../core.serialization/-serialized-bytes/index.html"><span class="identifier">SerializedBytes</span></a><span class="symbol">&lt;</span><a href="../../core/-wire-transaction/index.html"><span class="identifier">WireTransaction</span></a><span class="symbol">&gt;</span></code><p>TransactionBuildSteps would be invocations of contract.generateXXX() methods that all share a common TransactionBuilder
and a common contract type (e.g. Cash or CommercialPaper) and a common contract type (e.g. Cash or CommercialPaper)
which would automatically be passed as the first argument (wed need that to be a criteria/pattern of the generateXXX methods).</p> which would automatically be passed as the first argument (wed need that to be a criteria/pattern of the generateXXX methods).</p>
</td> </td>
@ -48,7 +48,7 @@ which would automatically be passed as the first argument (wed need that to be a
<td> <td>
<a href="commit-transaction.html">commitTransaction</a></td> <a href="commit-transaction.html">commitTransaction</a></td>
<td> <td>
<code><span class="keyword">fun </span><span class="identifier">commitTransaction</span><span class="symbol">(</span><span class="identifier" id="api.APIServerImpl$commitTransaction(core.serialization.SerializedBytes((core.contracts.WireTransaction)), kotlin.collections.List((core.crypto.DigitalSignature.WithKey)))/tx">tx</span><span class="symbol">:</span>&nbsp;<a href="../../core.serialization/-serialized-bytes/index.html"><span class="identifier">SerializedBytes</span></a><span class="symbol">&lt;</span><a href="../../core/-wire-transaction/index.html"><span class="identifier">WireTransaction</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="api.APIServerImpl$commitTransaction(core.serialization.SerializedBytes((core.contracts.WireTransaction)), kotlin.collections.List((core.crypto.DigitalSignature.WithKey)))/signatures">signatures</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core.crypto/-digital-signature/-with-key/index.html"><span class="identifier">WithKey</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a></code><p>Attempt to commit transaction (returned from build transaction) with the necessary signatures for that to be <code><span class="keyword">fun </span><span class="identifier">commitTransaction</span><span class="symbol">(</span><span class="identifier" id="node.internal.APIServerImpl$commitTransaction(core.serialization.SerializedBytes((core.contracts.WireTransaction)), kotlin.collections.List((core.crypto.DigitalSignature.WithKey)))/tx">tx</span><span class="symbol">:</span>&nbsp;<a href="../../core.serialization/-serialized-bytes/index.html"><span class="identifier">SerializedBytes</span></a><span class="symbol">&lt;</span><a href="../../core/-wire-transaction/index.html"><span class="identifier">WireTransaction</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="node.internal.APIServerImpl$commitTransaction(core.serialization.SerializedBytes((core.contracts.WireTransaction)), kotlin.collections.List((core.crypto.DigitalSignature.WithKey)))/signatures">signatures</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core.crypto/-digital-signature/-with-key/index.html"><span class="identifier">WithKey</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a></code><p>Attempt to commit transaction (returned from build transaction) with the necessary signatures for that to be
successful, otherwise exception is thrown.</p> successful, otherwise exception is thrown.</p>
</td> </td>
</tr> </tr>
@ -56,48 +56,48 @@ successful, otherwise exception is thrown.</p>
<td> <td>
<a href="fetch-protocols-requiring-attention.html">fetchProtocolsRequiringAttention</a></td> <a href="fetch-protocols-requiring-attention.html">fetchProtocolsRequiringAttention</a></td>
<td> <td>
<code><span class="keyword">fun </span><span class="identifier">fetchProtocolsRequiringAttention</span><span class="symbol">(</span><span class="identifier" id="api.APIServerImpl$fetchProtocolsRequiringAttention(api.StatesQuery)/query">query</span><span class="symbol">:</span>&nbsp;<a href="../-states-query/index.html"><span class="identifier">StatesQuery</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">,</span>&nbsp;<a href="../-protocol-requiring-attention/index.html"><span class="identifier">ProtocolRequiringAttention</span></a><span class="symbol">&gt;</span></code><p>Fetch protocols that require a response to some prompt/question by a human (on the "bank" side).</p> <code><span class="keyword">fun </span><span class="identifier">fetchProtocolsRequiringAttention</span><span class="symbol">(</span><span class="identifier" id="node.internal.APIServerImpl$fetchProtocolsRequiringAttention(node.api.StatesQuery)/query">query</span><span class="symbol">:</span>&nbsp;<a href="../-states-query/index.html"><span class="identifier">StatesQuery</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">,</span>&nbsp;<a href="../-protocol-requiring-attention/index.html"><span class="identifier">ProtocolRequiringAttention</span></a><span class="symbol">&gt;</span></code><p>Fetch protocols that require a response to some prompt/question by a human (on the "bank" side).</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="fetch-states.html">fetchStates</a></td> <a href="fetch-states.html">fetchStates</a></td>
<td> <td>
<code><span class="keyword">fun </span><span class="identifier">fetchStates</span><span class="symbol">(</span><span class="identifier" id="api.APIServerImpl$fetchStates(kotlin.collections.List((core.contracts.StateRef)))/states">states</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">,</span>&nbsp;<a href="../../core/-contract-state/index.html"><span class="identifier">ContractState</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code></td> <code><span class="keyword">fun </span><span class="identifier">fetchStates</span><span class="symbol">(</span><span class="identifier" id="node.internal.APIServerImpl$fetchStates(kotlin.collections.List((core.contracts.StateRef)))/states">states</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">,</span>&nbsp;<a href="../../core/-contract-state/index.html"><span class="identifier">ContractState</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code></td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="fetch-transactions.html">fetchTransactions</a></td> <a href="fetch-transactions.html">fetchTransactions</a></td>
<td> <td>
<code><span class="keyword">fun </span><span class="identifier">fetchTransactions</span><span class="symbol">(</span><span class="identifier" id="api.APIServerImpl$fetchTransactions(kotlin.collections.List((core.crypto.SecureHash)))/txs">txs</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">,</span>&nbsp;<a href="../../core/-signed-transaction/index.html"><span class="identifier">SignedTransaction</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code><p>Query for immutable transactions (results can be cached indefinitely by their id/hash).</p> <code><span class="keyword">fun </span><span class="identifier">fetchTransactions</span><span class="symbol">(</span><span class="identifier" id="node.internal.APIServerImpl$fetchTransactions(kotlin.collections.List((core.crypto.SecureHash)))/txs">txs</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">,</span>&nbsp;<a href="../../core/-signed-transaction/index.html"><span class="identifier">SignedTransaction</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code><p>Query for immutable transactions (results can be cached indefinitely by their id/hash).</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="generate-transaction-signature.html">generateTransactionSignature</a></td> <a href="generate-transaction-signature.html">generateTransactionSignature</a></td>
<td> <td>
<code><span class="keyword">fun </span><span class="identifier">generateTransactionSignature</span><span class="symbol">(</span><span class="identifier" id="api.APIServerImpl$generateTransactionSignature(core.serialization.SerializedBytes((core.contracts.WireTransaction)))/tx">tx</span><span class="symbol">:</span>&nbsp;<a href="../../core.serialization/-serialized-bytes/index.html"><span class="identifier">SerializedBytes</span></a><span class="symbol">&lt;</span><a href="../../core/-wire-transaction/index.html"><span class="identifier">WireTransaction</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../core.crypto/-digital-signature/-with-key/index.html"><span class="identifier">WithKey</span></a></code><p>Generate a signature for this transaction signed by us.</p> <code><span class="keyword">fun </span><span class="identifier">generateTransactionSignature</span><span class="symbol">(</span><span class="identifier" id="node.internal.APIServerImpl$generateTransactionSignature(core.serialization.SerializedBytes((core.contracts.WireTransaction)))/tx">tx</span><span class="symbol">:</span>&nbsp;<a href="../../core.serialization/-serialized-bytes/index.html"><span class="identifier">SerializedBytes</span></a><span class="symbol">&lt;</span><a href="../../core/-wire-transaction/index.html"><span class="identifier">WireTransaction</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../core.crypto/-digital-signature/-with-key/index.html"><span class="identifier">WithKey</span></a></code><p>Generate a signature for this transaction signed by us.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="invoke-protocol-sync.html">invokeProtocolSync</a></td> <a href="invoke-protocol-sync.html">invokeProtocolSync</a></td>
<td> <td>
<code><span class="keyword">fun </span><span class="identifier">invokeProtocolSync</span><span class="symbol">(</span><span class="identifier" id="api.APIServerImpl$invokeProtocolSync(api.ProtocolRef, kotlin.collections.Map((kotlin.String, kotlin.Any)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="../-protocol-ref.html"><span class="identifier">ProtocolRef</span></a><span class="symbol">, </span><span class="identifier" id="api.APIServerImpl$invokeProtocolSync(api.ProtocolRef, kotlin.collections.Map((kotlin.String, kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Any</span><span class="symbol">?</span></code><p>This method would not return until the protocol is finished (hence the "Sync").</p> <code><span class="keyword">fun </span><span class="identifier">invokeProtocolSync</span><span class="symbol">(</span><span class="identifier" id="node.internal.APIServerImpl$invokeProtocolSync(node.api.ProtocolRef, kotlin.collections.Map((kotlin.String, kotlin.Any)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="../-protocol-ref.html"><span class="identifier">ProtocolRef</span></a><span class="symbol">, </span><span class="identifier" id="node.internal.APIServerImpl$invokeProtocolSync(node.api.ProtocolRef, kotlin.collections.Map((kotlin.String, kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Any</span><span class="symbol">?</span></code><p>This method would not return until the protocol is finished (hence the "Sync").</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="provide-protocol-response.html">provideProtocolResponse</a></td> <a href="provide-protocol-response.html">provideProtocolResponse</a></td>
<td> <td>
<code><span class="keyword">fun </span><span class="identifier">provideProtocolResponse</span><span class="symbol">(</span><span class="identifier" id="api.APIServerImpl$provideProtocolResponse(api.ProtocolInstanceRef, core.crypto.SecureHash, kotlin.collections.Map((kotlin.String, kotlin.Any)))/protocol">protocol</span><span class="symbol">:</span>&nbsp;<a href="../-protocol-instance-ref/index.html"><span class="identifier">ProtocolInstanceRef</span></a><span class="symbol">, </span><span class="identifier" id="api.APIServerImpl$provideProtocolResponse(api.ProtocolInstanceRef, core.crypto.SecureHash, kotlin.collections.Map((kotlin.String, kotlin.Any)))/choice">choice</span><span class="symbol">:</span>&nbsp;<a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">, </span><span class="identifier" id="api.APIServerImpl$provideProtocolResponse(api.ProtocolInstanceRef, core.crypto.SecureHash, kotlin.collections.Map((kotlin.String, kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><p>Provide the response that a protocol is waiting for.</p> <code><span class="keyword">fun </span><span class="identifier">provideProtocolResponse</span><span class="symbol">(</span><span class="identifier" id="node.internal.APIServerImpl$provideProtocolResponse(node.api.ProtocolInstanceRef, core.crypto.SecureHash, kotlin.collections.Map((kotlin.String, kotlin.Any)))/protocol">protocol</span><span class="symbol">:</span>&nbsp;<a href="../-protocol-instance-ref/index.html"><span class="identifier">ProtocolInstanceRef</span></a><span class="symbol">, </span><span class="identifier" id="node.internal.APIServerImpl$provideProtocolResponse(node.api.ProtocolInstanceRef, core.crypto.SecureHash, kotlin.collections.Map((kotlin.String, kotlin.Any)))/choice">choice</span><span class="symbol">:</span>&nbsp;<a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">, </span><span class="identifier" id="node.internal.APIServerImpl$provideProtocolResponse(node.api.ProtocolInstanceRef, core.crypto.SecureHash, kotlin.collections.Map((kotlin.String, kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><p>Provide the response that a protocol is waiting for.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="query-states.html">queryStates</a></td> <a href="query-states.html">queryStates</a></td>
<td> <td>
<code><span class="keyword">fun </span><span class="identifier">queryStates</span><span class="symbol">(</span><span class="identifier" id="api.APIServerImpl$queryStates(api.StatesQuery)/query">query</span><span class="symbol">:</span>&nbsp;<a href="../-states-query/index.html"><span class="identifier">StatesQuery</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">&gt;</span></code><p>Query your "local" states (containing only outputs involving you) and return the hashes &amp; indexes associated with them <code><span class="keyword">fun </span><span class="identifier">queryStates</span><span class="symbol">(</span><span class="identifier" id="node.internal.APIServerImpl$queryStates(node.api.StatesQuery)/query">query</span><span class="symbol">:</span>&nbsp;<a href="../-states-query/index.html"><span class="identifier">StatesQuery</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">&gt;</span></code><p>Query your "local" states (containing only outputs involving you) and return the hashes &amp; indexes associated with them
to probably be later inflated by fetchLedgerTransactions() or fetchStates() although because immutable you can cache them to probably be later inflated by fetchLedgerTransactions() or fetchStates() although because immutable you can cache them
to avoid calling fetchLedgerTransactions() many times.</p> to avoid calling fetchLedgerTransactions() many times.</p>
</td> </td>

View File

@ -7,8 +7,8 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServerImpl</a>&nbsp;/&nbsp;<a href=".">invokeProtocolSync</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServerImpl</a>&nbsp;/&nbsp;<a href=".">invokeProtocolSync</a><br/>
<br/> <br/>
<h1>invokeProtocolSync</h1> <h1>invokeProtocolSync</h1>
<a name="api.APIServerImpl$invokeProtocolSync(api.ProtocolRef, kotlin.collections.Map((kotlin.String, kotlin.Any)))"></a> <a name="node.internal.APIServerImpl$invokeProtocolSync(node.api.ProtocolRef, kotlin.collections.Map((kotlin.String, kotlin.Any)))"></a>
<code><span class="keyword">fun </span><span class="identifier">invokeProtocolSync</span><span class="symbol">(</span><span class="identifier" id="api.APIServerImpl$invokeProtocolSync(api.ProtocolRef, kotlin.collections.Map((kotlin.String, kotlin.Any)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="../-protocol-ref.html"><span class="identifier">ProtocolRef</span></a><span class="symbol">, </span><span class="identifier" id="api.APIServerImpl$invokeProtocolSync(api.ProtocolRef, kotlin.collections.Map((kotlin.String, kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Any</span><span class="symbol">?</span></code><br/> <code><span class="keyword">fun </span><span class="identifier">invokeProtocolSync</span><span class="symbol">(</span><span class="identifier" id="node.internal.APIServerImpl$invokeProtocolSync(node.api.ProtocolRef, kotlin.collections.Map((kotlin.String, kotlin.Any)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="../-protocol-ref.html"><span class="identifier">ProtocolRef</span></a><span class="symbol">, </span><span class="identifier" id="node.internal.APIServerImpl$invokeProtocolSync(node.api.ProtocolRef, kotlin.collections.Map((kotlin.String, kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Any</span><span class="symbol">?</span></code><br/>
Overrides <a href="../-a-p-i-server/invoke-protocol-sync.html">APIServer.invokeProtocolSync</a><br/> Overrides <a href="../-a-p-i-server/invoke-protocol-sync.html">APIServer.invokeProtocolSync</a><br/>
<p>This method would not return until the protocol is finished (hence the "Sync").</p> <p>This method would not return until the protocol is finished (hence the "Sync").</p>
<p>Longer term wed add an Async version that returns some kind of ProtocolInvocationRef that could be queried and <p>Longer term wed add an Async version that returns some kind of ProtocolInvocationRef that could be queried and

View File

@ -7,7 +7,7 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServerImpl</a>&nbsp;/&nbsp;<a href=".">node</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServerImpl</a>&nbsp;/&nbsp;<a href=".">node</a><br/>
<br/> <br/>
<h1>node</h1> <h1>node</h1>
<a name="api.APIServerImpl$node"></a> <a name="node.internal.APIServerImpl$node"></a>
<code><span class="keyword">val </span><span class="identifier">node</span><span class="symbol">: </span><a href="../../core.node/-abstract-node/index.html"><span class="identifier">AbstractNode</span></a></code><br/> <code><span class="keyword">val </span><span class="identifier">node</span><span class="symbol">: </span><a href="../../core.node/-abstract-node/index.html"><span class="identifier">AbstractNode</span></a></code><br/>
<br/> <br/>
<br/> <br/>

View File

@ -7,8 +7,8 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServerImpl</a>&nbsp;/&nbsp;<a href=".">provideProtocolResponse</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServerImpl</a>&nbsp;/&nbsp;<a href=".">provideProtocolResponse</a><br/>
<br/> <br/>
<h1>provideProtocolResponse</h1> <h1>provideProtocolResponse</h1>
<a name="api.APIServerImpl$provideProtocolResponse(api.ProtocolInstanceRef, core.crypto.SecureHash, kotlin.collections.Map((kotlin.String, kotlin.Any)))"></a> <a name="node.internal.APIServerImpl$provideProtocolResponse(node.api.ProtocolInstanceRef, core.crypto.SecureHash, kotlin.collections.Map((kotlin.String, kotlin.Any)))"></a>
<code><span class="keyword">fun </span><span class="identifier">provideProtocolResponse</span><span class="symbol">(</span><span class="identifier" id="api.APIServerImpl$provideProtocolResponse(api.ProtocolInstanceRef, core.crypto.SecureHash, kotlin.collections.Map((kotlin.String, kotlin.Any)))/protocol">protocol</span><span class="symbol">:</span>&nbsp;<a href="../-protocol-instance-ref/index.html"><span class="identifier">ProtocolInstanceRef</span></a><span class="symbol">, </span><span class="identifier" id="api.APIServerImpl$provideProtocolResponse(api.ProtocolInstanceRef, core.crypto.SecureHash, kotlin.collections.Map((kotlin.String, kotlin.Any)))/choice">choice</span><span class="symbol">:</span>&nbsp;<a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">, </span><span class="identifier" id="api.APIServerImpl$provideProtocolResponse(api.ProtocolInstanceRef, core.crypto.SecureHash, kotlin.collections.Map((kotlin.String, kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/> <code><span class="keyword">fun </span><span class="identifier">provideProtocolResponse</span><span class="symbol">(</span><span class="identifier" id="node.internal.APIServerImpl$provideProtocolResponse(node.api.ProtocolInstanceRef, core.crypto.SecureHash, kotlin.collections.Map((kotlin.String, kotlin.Any)))/protocol">protocol</span><span class="symbol">:</span>&nbsp;<a href="../-protocol-instance-ref/index.html"><span class="identifier">ProtocolInstanceRef</span></a><span class="symbol">, </span><span class="identifier" id="node.internal.APIServerImpl$provideProtocolResponse(node.api.ProtocolInstanceRef, core.crypto.SecureHash, kotlin.collections.Map((kotlin.String, kotlin.Any)))/choice">choice</span><span class="symbol">:</span>&nbsp;<a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">, </span><span class="identifier" id="node.internal.APIServerImpl$provideProtocolResponse(node.api.ProtocolInstanceRef, core.crypto.SecureHash, kotlin.collections.Map((kotlin.String, kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
Overrides <a href="../-a-p-i-server/provide-protocol-response.html">APIServer.provideProtocolResponse</a><br/> Overrides <a href="../-a-p-i-server/provide-protocol-response.html">APIServer.provideProtocolResponse</a><br/>
<p>Provide the response that a protocol is waiting for.</p> <p>Provide the response that a protocol is waiting for.</p>
<h3>Parameters</h3> <h3>Parameters</h3>

View File

@ -7,8 +7,8 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServerImpl</a>&nbsp;/&nbsp;<a href=".">queryStates</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServerImpl</a>&nbsp;/&nbsp;<a href=".">queryStates</a><br/>
<br/> <br/>
<h1>queryStates</h1> <h1>queryStates</h1>
<a name="api.APIServerImpl$queryStates(api.StatesQuery)"></a> <a name="node.internal.APIServerImpl$queryStates(node.api.StatesQuery)"></a>
<code><span class="keyword">fun </span><span class="identifier">queryStates</span><span class="symbol">(</span><span class="identifier" id="api.APIServerImpl$queryStates(api.StatesQuery)/query">query</span><span class="symbol">:</span>&nbsp;<a href="../-states-query/index.html"><span class="identifier">StatesQuery</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">&gt;</span></code><br/> <code><span class="keyword">fun </span><span class="identifier">queryStates</span><span class="symbol">(</span><span class="identifier" id="node.internal.APIServerImpl$queryStates(node.api.StatesQuery)/query">query</span><span class="symbol">:</span>&nbsp;<a href="../-states-query/index.html"><span class="identifier">StatesQuery</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">&gt;</span></code><br/>
Overrides <a href="../-a-p-i-server/query-states.html">APIServer.queryStates</a><br/> Overrides <a href="../-a-p-i-server/query-states.html">APIServer.queryStates</a><br/>
<p>Query your "local" states (containing only outputs involving you) and return the hashes &amp; indexes associated with them <p>Query your "local" states (containing only outputs involving you) and return the hashes &amp; indexes associated with them
to probably be later inflated by fetchLedgerTransactions() or fetchStates() although because immutable you can cache them to probably be later inflated by fetchLedgerTransactions() or fetchStates() although because immutable you can cache them

View File

@ -7,7 +7,7 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServerImpl</a>&nbsp;/&nbsp;<a href=".">serverTime</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServerImpl</a>&nbsp;/&nbsp;<a href=".">serverTime</a><br/>
<br/> <br/>
<h1>serverTime</h1> <h1>serverTime</h1>
<a name="api.APIServerImpl$serverTime()"></a> <a name="node.internal.APIServerImpl$serverTime()"></a>
<code><span class="keyword">fun </span><span class="identifier">serverTime</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/time/LocalDateTime.html"><span class="identifier">LocalDateTime</span></a></code><br/> <code><span class="keyword">fun </span><span class="identifier">serverTime</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/time/LocalDateTime.html"><span class="identifier">LocalDateTime</span></a></code><br/>
Overrides <a href="../-a-p-i-server/server-time.html">APIServer.serverTime</a><br/> Overrides <a href="../-a-p-i-server/server-time.html">APIServer.serverTime</a><br/>
<p>Report current UTC time as understood by the platform.</p> <p>Report current UTC time as understood by the platform.</p>

View File

@ -7,8 +7,8 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServer</a>&nbsp;/&nbsp;<a href=".">buildTransaction</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServer</a>&nbsp;/&nbsp;<a href=".">buildTransaction</a><br/>
<br/> <br/>
<h1>buildTransaction</h1> <h1>buildTransaction</h1>
<a name="api.APIServer$buildTransaction(api.ContractDefRef, kotlin.collections.List((api.TransactionBuildStep)))"></a> <a name="node.api.APIServer$buildTransaction(node.api.ContractDefRef, kotlin.collections.List((node.api.TransactionBuildStep)))"></a>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">buildTransaction</span><span class="symbol">(</span><span class="identifier" id="api.APIServer$buildTransaction(api.ContractDefRef, kotlin.collections.List((api.TransactionBuildStep)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="../-contract-def-ref.html"><span class="identifier">ContractDefRef</span></a><span class="symbol">, </span><span class="identifier" id="api.APIServer$buildTransaction(api.ContractDefRef, kotlin.collections.List((api.TransactionBuildStep)))/steps">steps</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../-transaction-build-step/index.html"><span class="identifier">TransactionBuildStep</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../core.serialization/-serialized-bytes/index.html"><span class="identifier">SerializedBytes</span></a><span class="symbol">&lt;</span><a href="../../core/-wire-transaction/index.html"><span class="identifier">WireTransaction</span></a><span class="symbol">&gt;</span></code><br/> <code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">buildTransaction</span><span class="symbol">(</span><span class="identifier" id="node.api.APIServer$buildTransaction(node.api.ContractDefRef, kotlin.collections.List((node.api.TransactionBuildStep)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="../-contract-def-ref.html"><span class="identifier">ContractDefRef</span></a><span class="symbol">, </span><span class="identifier" id="node.api.APIServer$buildTransaction(node.api.ContractDefRef, kotlin.collections.List((node.api.TransactionBuildStep)))/steps">steps</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../-transaction-build-step/index.html"><span class="identifier">TransactionBuildStep</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../core.serialization/-serialized-bytes/index.html"><span class="identifier">SerializedBytes</span></a><span class="symbol">&lt;</span><a href="../../core/-wire-transaction/index.html"><span class="identifier">WireTransaction</span></a><span class="symbol">&gt;</span></code><br/>
<p>TransactionBuildSteps would be invocations of contract.generateXXX() methods that all share a common TransactionBuilder <p>TransactionBuildSteps would be invocations of contract.generateXXX() methods that all share a common TransactionBuilder
and a common contract type (e.g. Cash or CommercialPaper) and a common contract type (e.g. Cash or CommercialPaper)
which would automatically be passed as the first argument (wed need that to be a criteria/pattern of the generateXXX methods).</p> which would automatically be passed as the first argument (wed need that to be a criteria/pattern of the generateXXX methods).</p>

View File

@ -7,8 +7,8 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServer</a>&nbsp;/&nbsp;<a href=".">commitTransaction</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServer</a>&nbsp;/&nbsp;<a href=".">commitTransaction</a><br/>
<br/> <br/>
<h1>commitTransaction</h1> <h1>commitTransaction</h1>
<a name="api.APIServer$commitTransaction(core.serialization.SerializedBytes((core.contracts.WireTransaction)), kotlin.collections.List((core.crypto.DigitalSignature.WithKey)))"></a> <a name="node.api.APIServer$commitTransaction(core.serialization.SerializedBytes((core.contracts.WireTransaction)), kotlin.collections.List((core.crypto.DigitalSignature.WithKey)))"></a>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">commitTransaction</span><span class="symbol">(</span><span class="identifier" id="api.APIServer$commitTransaction(core.serialization.SerializedBytes((core.contracts.WireTransaction)), kotlin.collections.List((core.crypto.DigitalSignature.WithKey)))/tx">tx</span><span class="symbol">:</span>&nbsp;<a href="../../core.serialization/-serialized-bytes/index.html"><span class="identifier">SerializedBytes</span></a><span class="symbol">&lt;</span><a href="../../core/-wire-transaction/index.html"><span class="identifier">WireTransaction</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="api.APIServer$commitTransaction(core.serialization.SerializedBytes((core.contracts.WireTransaction)), kotlin.collections.List((core.crypto.DigitalSignature.WithKey)))/signatures">signatures</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core.crypto/-digital-signature/-with-key/index.html"><span class="identifier">WithKey</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a></code><br/> <code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">commitTransaction</span><span class="symbol">(</span><span class="identifier" id="node.api.APIServer$commitTransaction(core.serialization.SerializedBytes((core.contracts.WireTransaction)), kotlin.collections.List((core.crypto.DigitalSignature.WithKey)))/tx">tx</span><span class="symbol">:</span>&nbsp;<a href="../../core.serialization/-serialized-bytes/index.html"><span class="identifier">SerializedBytes</span></a><span class="symbol">&lt;</span><a href="../../core/-wire-transaction/index.html"><span class="identifier">WireTransaction</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="node.api.APIServer$commitTransaction(core.serialization.SerializedBytes((core.contracts.WireTransaction)), kotlin.collections.List((core.crypto.DigitalSignature.WithKey)))/signatures">signatures</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core.crypto/-digital-signature/-with-key/index.html"><span class="identifier">WithKey</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a></code><br/>
<p>Attempt to commit transaction (returned from build transaction) with the necessary signatures for that to be <p>Attempt to commit transaction (returned from build transaction) with the necessary signatures for that to be
successful, otherwise exception is thrown.</p> successful, otherwise exception is thrown.</p>
<br/> <br/>

View File

@ -7,8 +7,8 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServer</a>&nbsp;/&nbsp;<a href=".">fetchProtocolsRequiringAttention</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServer</a>&nbsp;/&nbsp;<a href=".">fetchProtocolsRequiringAttention</a><br/>
<br/> <br/>
<h1>fetchProtocolsRequiringAttention</h1> <h1>fetchProtocolsRequiringAttention</h1>
<a name="api.APIServer$fetchProtocolsRequiringAttention(api.StatesQuery)"></a> <a name="node.api.APIServer$fetchProtocolsRequiringAttention(node.api.StatesQuery)"></a>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">fetchProtocolsRequiringAttention</span><span class="symbol">(</span><span class="identifier" id="api.APIServer$fetchProtocolsRequiringAttention(api.StatesQuery)/query">query</span><span class="symbol">:</span>&nbsp;<a href="../-states-query/index.html"><span class="identifier">StatesQuery</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">,</span>&nbsp;<a href="../-protocol-requiring-attention/index.html"><span class="identifier">ProtocolRequiringAttention</span></a><span class="symbol">&gt;</span></code><br/> <code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">fetchProtocolsRequiringAttention</span><span class="symbol">(</span><span class="identifier" id="node.api.APIServer$fetchProtocolsRequiringAttention(node.api.StatesQuery)/query">query</span><span class="symbol">:</span>&nbsp;<a href="../-states-query/index.html"><span class="identifier">StatesQuery</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">,</span>&nbsp;<a href="../-protocol-requiring-attention/index.html"><span class="identifier">ProtocolRequiringAttention</span></a><span class="symbol">&gt;</span></code><br/>
<p>Fetch protocols that require a response to some prompt/question by a human (on the "bank" side).</p> <p>Fetch protocols that require a response to some prompt/question by a human (on the "bank" side).</p>
<br/> <br/>
<br/> <br/>

View File

@ -7,8 +7,8 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServer</a>&nbsp;/&nbsp;<a href=".">fetchStates</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServer</a>&nbsp;/&nbsp;<a href=".">fetchStates</a><br/>
<br/> <br/>
<h1>fetchStates</h1> <h1>fetchStates</h1>
<a name="api.APIServer$fetchStates(kotlin.collections.List((core.contracts.StateRef)))"></a> <a name="node.api.APIServer$fetchStates(kotlin.collections.List((core.contracts.StateRef)))"></a>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">fetchStates</span><span class="symbol">(</span><span class="identifier" id="api.APIServer$fetchStates(kotlin.collections.List((core.contracts.StateRef)))/states">states</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">,</span>&nbsp;<a href="../../core/-contract-state/index.html"><span class="identifier">ContractState</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code><br/> <code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">fetchStates</span><span class="symbol">(</span><span class="identifier" id="node.api.APIServer$fetchStates(kotlin.collections.List((core.contracts.StateRef)))/states">states</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">,</span>&nbsp;<a href="../../core/-contract-state/index.html"><span class="identifier">ContractState</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code><br/>
<br/> <br/>
<br/> <br/>
</BODY> </BODY>

View File

@ -7,8 +7,8 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServer</a>&nbsp;/&nbsp;<a href=".">fetchTransactions</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServer</a>&nbsp;/&nbsp;<a href=".">fetchTransactions</a><br/>
<br/> <br/>
<h1>fetchTransactions</h1> <h1>fetchTransactions</h1>
<a name="api.APIServer$fetchTransactions(kotlin.collections.List((core.crypto.SecureHash)))"></a> <a name="node.api.APIServer$fetchTransactions(kotlin.collections.List((core.crypto.SecureHash)))"></a>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">fetchTransactions</span><span class="symbol">(</span><span class="identifier" id="api.APIServer$fetchTransactions(kotlin.collections.List((core.crypto.SecureHash)))/txs">txs</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">,</span>&nbsp;<a href="../../core/-signed-transaction/index.html"><span class="identifier">SignedTransaction</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code><br/> <code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">fetchTransactions</span><span class="symbol">(</span><span class="identifier" id="node.api.APIServer$fetchTransactions(kotlin.collections.List((core.crypto.SecureHash)))/txs">txs</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">,</span>&nbsp;<a href="../../core/-signed-transaction/index.html"><span class="identifier">SignedTransaction</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code><br/>
<p>Query for immutable transactions (results can be cached indefinitely by their id/hash).</p> <p>Query for immutable transactions (results can be cached indefinitely by their id/hash).</p>
<h3>Parameters</h3> <h3>Parameters</h3>
<a name="txs"></a> <a name="txs"></a>

View File

@ -7,8 +7,8 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServer</a>&nbsp;/&nbsp;<a href=".">generateTransactionSignature</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServer</a>&nbsp;/&nbsp;<a href=".">generateTransactionSignature</a><br/>
<br/> <br/>
<h1>generateTransactionSignature</h1> <h1>generateTransactionSignature</h1>
<a name="api.APIServer$generateTransactionSignature(core.serialization.SerializedBytes((core.contracts.WireTransaction)))"></a> <a name="node.api.APIServer$generateTransactionSignature(core.serialization.SerializedBytes((core.contracts.WireTransaction)))"></a>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">generateTransactionSignature</span><span class="symbol">(</span><span class="identifier" id="api.APIServer$generateTransactionSignature(core.serialization.SerializedBytes((core.contracts.WireTransaction)))/tx">tx</span><span class="symbol">:</span>&nbsp;<a href="../../core.serialization/-serialized-bytes/index.html"><span class="identifier">SerializedBytes</span></a><span class="symbol">&lt;</span><a href="../../core/-wire-transaction/index.html"><span class="identifier">WireTransaction</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../core.crypto/-digital-signature/-with-key/index.html"><span class="identifier">WithKey</span></a></code><br/> <code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">generateTransactionSignature</span><span class="symbol">(</span><span class="identifier" id="node.api.APIServer$generateTransactionSignature(core.serialization.SerializedBytes((core.contracts.WireTransaction)))/tx">tx</span><span class="symbol">:</span>&nbsp;<a href="../../core.serialization/-serialized-bytes/index.html"><span class="identifier">SerializedBytes</span></a><span class="symbol">&lt;</span><a href="../../core/-wire-transaction/index.html"><span class="identifier">WireTransaction</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../core.crypto/-digital-signature/-with-key/index.html"><span class="identifier">WithKey</span></a></code><br/>
<p>Generate a signature for this transaction signed by us.</p> <p>Generate a signature for this transaction signed by us.</p>
<br/> <br/>
<br/> <br/>

View File

@ -22,7 +22,7 @@ where a null indicates "missing" and the elements returned will be in the order
<td> <td>
<a href="build-transaction.html">buildTransaction</a></td> <a href="build-transaction.html">buildTransaction</a></td>
<td> <td>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">buildTransaction</span><span class="symbol">(</span><span class="identifier" id="api.APIServer$buildTransaction(api.ContractDefRef, kotlin.collections.List((api.TransactionBuildStep)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="../-contract-def-ref.html"><span class="identifier">ContractDefRef</span></a><span class="symbol">, </span><span class="identifier" id="api.APIServer$buildTransaction(api.ContractDefRef, kotlin.collections.List((api.TransactionBuildStep)))/steps">steps</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../-transaction-build-step/index.html"><span class="identifier">TransactionBuildStep</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../core.serialization/-serialized-bytes/index.html"><span class="identifier">SerializedBytes</span></a><span class="symbol">&lt;</span><a href="../../core/-wire-transaction/index.html"><span class="identifier">WireTransaction</span></a><span class="symbol">&gt;</span></code><p>TransactionBuildSteps would be invocations of contract.generateXXX() methods that all share a common TransactionBuilder <code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">buildTransaction</span><span class="symbol">(</span><span class="identifier" id="node.api.APIServer$buildTransaction(node.api.ContractDefRef, kotlin.collections.List((node.api.TransactionBuildStep)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="../-contract-def-ref.html"><span class="identifier">ContractDefRef</span></a><span class="symbol">, </span><span class="identifier" id="node.api.APIServer$buildTransaction(node.api.ContractDefRef, kotlin.collections.List((node.api.TransactionBuildStep)))/steps">steps</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../-transaction-build-step/index.html"><span class="identifier">TransactionBuildStep</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../core.serialization/-serialized-bytes/index.html"><span class="identifier">SerializedBytes</span></a><span class="symbol">&lt;</span><a href="../../core/-wire-transaction/index.html"><span class="identifier">WireTransaction</span></a><span class="symbol">&gt;</span></code><p>TransactionBuildSteps would be invocations of contract.generateXXX() methods that all share a common TransactionBuilder
and a common contract type (e.g. Cash or CommercialPaper) and a common contract type (e.g. Cash or CommercialPaper)
which would automatically be passed as the first argument (wed need that to be a criteria/pattern of the generateXXX methods).</p> which would automatically be passed as the first argument (wed need that to be a criteria/pattern of the generateXXX methods).</p>
</td> </td>
@ -31,7 +31,7 @@ which would automatically be passed as the first argument (wed need that to be a
<td> <td>
<a href="commit-transaction.html">commitTransaction</a></td> <a href="commit-transaction.html">commitTransaction</a></td>
<td> <td>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">commitTransaction</span><span class="symbol">(</span><span class="identifier" id="api.APIServer$commitTransaction(core.serialization.SerializedBytes((core.contracts.WireTransaction)), kotlin.collections.List((core.crypto.DigitalSignature.WithKey)))/tx">tx</span><span class="symbol">:</span>&nbsp;<a href="../../core.serialization/-serialized-bytes/index.html"><span class="identifier">SerializedBytes</span></a><span class="symbol">&lt;</span><a href="../../core/-wire-transaction/index.html"><span class="identifier">WireTransaction</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="api.APIServer$commitTransaction(core.serialization.SerializedBytes((core.contracts.WireTransaction)), kotlin.collections.List((core.crypto.DigitalSignature.WithKey)))/signatures">signatures</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core.crypto/-digital-signature/-with-key/index.html"><span class="identifier">WithKey</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a></code><p>Attempt to commit transaction (returned from build transaction) with the necessary signatures for that to be <code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">commitTransaction</span><span class="symbol">(</span><span class="identifier" id="node.api.APIServer$commitTransaction(core.serialization.SerializedBytes((core.contracts.WireTransaction)), kotlin.collections.List((core.crypto.DigitalSignature.WithKey)))/tx">tx</span><span class="symbol">:</span>&nbsp;<a href="../../core.serialization/-serialized-bytes/index.html"><span class="identifier">SerializedBytes</span></a><span class="symbol">&lt;</span><a href="../../core/-wire-transaction/index.html"><span class="identifier">WireTransaction</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="node.api.APIServer$commitTransaction(core.serialization.SerializedBytes((core.contracts.WireTransaction)), kotlin.collections.List((core.crypto.DigitalSignature.WithKey)))/signatures">signatures</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core.crypto/-digital-signature/-with-key/index.html"><span class="identifier">WithKey</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a></code><p>Attempt to commit transaction (returned from build transaction) with the necessary signatures for that to be
successful, otherwise exception is thrown.</p> successful, otherwise exception is thrown.</p>
</td> </td>
</tr> </tr>
@ -39,48 +39,48 @@ successful, otherwise exception is thrown.</p>
<td> <td>
<a href="fetch-protocols-requiring-attention.html">fetchProtocolsRequiringAttention</a></td> <a href="fetch-protocols-requiring-attention.html">fetchProtocolsRequiringAttention</a></td>
<td> <td>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">fetchProtocolsRequiringAttention</span><span class="symbol">(</span><span class="identifier" id="api.APIServer$fetchProtocolsRequiringAttention(api.StatesQuery)/query">query</span><span class="symbol">:</span>&nbsp;<a href="../-states-query/index.html"><span class="identifier">StatesQuery</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">,</span>&nbsp;<a href="../-protocol-requiring-attention/index.html"><span class="identifier">ProtocolRequiringAttention</span></a><span class="symbol">&gt;</span></code><p>Fetch protocols that require a response to some prompt/question by a human (on the "bank" side).</p> <code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">fetchProtocolsRequiringAttention</span><span class="symbol">(</span><span class="identifier" id="node.api.APIServer$fetchProtocolsRequiringAttention(node.api.StatesQuery)/query">query</span><span class="symbol">:</span>&nbsp;<a href="../-states-query/index.html"><span class="identifier">StatesQuery</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">,</span>&nbsp;<a href="../-protocol-requiring-attention/index.html"><span class="identifier">ProtocolRequiringAttention</span></a><span class="symbol">&gt;</span></code><p>Fetch protocols that require a response to some prompt/question by a human (on the "bank" side).</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="fetch-states.html">fetchStates</a></td> <a href="fetch-states.html">fetchStates</a></td>
<td> <td>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">fetchStates</span><span class="symbol">(</span><span class="identifier" id="api.APIServer$fetchStates(kotlin.collections.List((core.contracts.StateRef)))/states">states</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">,</span>&nbsp;<a href="../../core/-contract-state/index.html"><span class="identifier">ContractState</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code></td> <code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">fetchStates</span><span class="symbol">(</span><span class="identifier" id="node.api.APIServer$fetchStates(kotlin.collections.List((core.contracts.StateRef)))/states">states</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">,</span>&nbsp;<a href="../../core/-contract-state/index.html"><span class="identifier">ContractState</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code></td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="fetch-transactions.html">fetchTransactions</a></td> <a href="fetch-transactions.html">fetchTransactions</a></td>
<td> <td>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">fetchTransactions</span><span class="symbol">(</span><span class="identifier" id="api.APIServer$fetchTransactions(kotlin.collections.List((core.crypto.SecureHash)))/txs">txs</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">,</span>&nbsp;<a href="../../core/-signed-transaction/index.html"><span class="identifier">SignedTransaction</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code><p>Query for immutable transactions (results can be cached indefinitely by their id/hash).</p> <code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">fetchTransactions</span><span class="symbol">(</span><span class="identifier" id="node.api.APIServer$fetchTransactions(kotlin.collections.List((core.crypto.SecureHash)))/txs">txs</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">,</span>&nbsp;<a href="../../core/-signed-transaction/index.html"><span class="identifier">SignedTransaction</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code><p>Query for immutable transactions (results can be cached indefinitely by their id/hash).</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="generate-transaction-signature.html">generateTransactionSignature</a></td> <a href="generate-transaction-signature.html">generateTransactionSignature</a></td>
<td> <td>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">generateTransactionSignature</span><span class="symbol">(</span><span class="identifier" id="api.APIServer$generateTransactionSignature(core.serialization.SerializedBytes((core.contracts.WireTransaction)))/tx">tx</span><span class="symbol">:</span>&nbsp;<a href="../../core.serialization/-serialized-bytes/index.html"><span class="identifier">SerializedBytes</span></a><span class="symbol">&lt;</span><a href="../../core/-wire-transaction/index.html"><span class="identifier">WireTransaction</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../core.crypto/-digital-signature/-with-key/index.html"><span class="identifier">WithKey</span></a></code><p>Generate a signature for this transaction signed by us.</p> <code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">generateTransactionSignature</span><span class="symbol">(</span><span class="identifier" id="node.api.APIServer$generateTransactionSignature(core.serialization.SerializedBytes((core.contracts.WireTransaction)))/tx">tx</span><span class="symbol">:</span>&nbsp;<a href="../../core.serialization/-serialized-bytes/index.html"><span class="identifier">SerializedBytes</span></a><span class="symbol">&lt;</span><a href="../../core/-wire-transaction/index.html"><span class="identifier">WireTransaction</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../core.crypto/-digital-signature/-with-key/index.html"><span class="identifier">WithKey</span></a></code><p>Generate a signature for this transaction signed by us.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="invoke-protocol-sync.html">invokeProtocolSync</a></td> <a href="invoke-protocol-sync.html">invokeProtocolSync</a></td>
<td> <td>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">invokeProtocolSync</span><span class="symbol">(</span><span class="identifier" id="api.APIServer$invokeProtocolSync(api.ProtocolRef, kotlin.collections.Map((kotlin.String, kotlin.Any)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="../-protocol-ref.html"><span class="identifier">ProtocolRef</span></a><span class="symbol">, </span><span class="identifier" id="api.APIServer$invokeProtocolSync(api.ProtocolRef, kotlin.collections.Map((kotlin.String, kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Any</span><span class="symbol">?</span></code><p>This method would not return until the protocol is finished (hence the "Sync").</p> <code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">invokeProtocolSync</span><span class="symbol">(</span><span class="identifier" id="node.api.APIServer$invokeProtocolSync(node.api.ProtocolRef, kotlin.collections.Map((kotlin.String, kotlin.Any)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="../-protocol-ref.html"><span class="identifier">ProtocolRef</span></a><span class="symbol">, </span><span class="identifier" id="node.api.APIServer$invokeProtocolSync(node.api.ProtocolRef, kotlin.collections.Map((kotlin.String, kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Any</span><span class="symbol">?</span></code><p>This method would not return until the protocol is finished (hence the "Sync").</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="provide-protocol-response.html">provideProtocolResponse</a></td> <a href="provide-protocol-response.html">provideProtocolResponse</a></td>
<td> <td>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">provideProtocolResponse</span><span class="symbol">(</span><span class="identifier" id="api.APIServer$provideProtocolResponse(api.ProtocolInstanceRef, core.crypto.SecureHash, kotlin.collections.Map((kotlin.String, kotlin.Any)))/protocol">protocol</span><span class="symbol">:</span>&nbsp;<a href="../-protocol-instance-ref/index.html"><span class="identifier">ProtocolInstanceRef</span></a><span class="symbol">, </span><span class="identifier" id="api.APIServer$provideProtocolResponse(api.ProtocolInstanceRef, core.crypto.SecureHash, kotlin.collections.Map((kotlin.String, kotlin.Any)))/choice">choice</span><span class="symbol">:</span>&nbsp;<a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">, </span><span class="identifier" id="api.APIServer$provideProtocolResponse(api.ProtocolInstanceRef, core.crypto.SecureHash, kotlin.collections.Map((kotlin.String, kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><p>Provide the response that a protocol is waiting for.</p> <code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">provideProtocolResponse</span><span class="symbol">(</span><span class="identifier" id="node.api.APIServer$provideProtocolResponse(node.api.ProtocolInstanceRef, core.crypto.SecureHash, kotlin.collections.Map((kotlin.String, kotlin.Any)))/protocol">protocol</span><span class="symbol">:</span>&nbsp;<a href="../-protocol-instance-ref/index.html"><span class="identifier">ProtocolInstanceRef</span></a><span class="symbol">, </span><span class="identifier" id="node.api.APIServer$provideProtocolResponse(node.api.ProtocolInstanceRef, core.crypto.SecureHash, kotlin.collections.Map((kotlin.String, kotlin.Any)))/choice">choice</span><span class="symbol">:</span>&nbsp;<a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">, </span><span class="identifier" id="node.api.APIServer$provideProtocolResponse(node.api.ProtocolInstanceRef, core.crypto.SecureHash, kotlin.collections.Map((kotlin.String, kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><p>Provide the response that a protocol is waiting for.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a href="query-states.html">queryStates</a></td> <a href="query-states.html">queryStates</a></td>
<td> <td>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">queryStates</span><span class="symbol">(</span><span class="identifier" id="api.APIServer$queryStates(api.StatesQuery)/query">query</span><span class="symbol">:</span>&nbsp;<a href="../-states-query/index.html"><span class="identifier">StatesQuery</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">&gt;</span></code><p>Query your "local" states (containing only outputs involving you) and return the hashes &amp; indexes associated with them <code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">queryStates</span><span class="symbol">(</span><span class="identifier" id="node.api.APIServer$queryStates(node.api.StatesQuery)/query">query</span><span class="symbol">:</span>&nbsp;<a href="../-states-query/index.html"><span class="identifier">StatesQuery</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">&gt;</span></code><p>Query your "local" states (containing only outputs involving you) and return the hashes &amp; indexes associated with them
to probably be later inflated by fetchLedgerTransactions() or fetchStates() although because immutable you can cache them to probably be later inflated by fetchLedgerTransactions() or fetchStates() although because immutable you can cache them
to avoid calling fetchLedgerTransactions() many times.</p> to avoid calling fetchLedgerTransactions() many times.</p>
</td> </td>

View File

@ -7,8 +7,8 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServer</a>&nbsp;/&nbsp;<a href=".">invokeProtocolSync</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServer</a>&nbsp;/&nbsp;<a href=".">invokeProtocolSync</a><br/>
<br/> <br/>
<h1>invokeProtocolSync</h1> <h1>invokeProtocolSync</h1>
<a name="api.APIServer$invokeProtocolSync(api.ProtocolRef, kotlin.collections.Map((kotlin.String, kotlin.Any)))"></a> <a name="node.api.APIServer$invokeProtocolSync(node.api.ProtocolRef, kotlin.collections.Map((kotlin.String, kotlin.Any)))"></a>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">invokeProtocolSync</span><span class="symbol">(</span><span class="identifier" id="api.APIServer$invokeProtocolSync(api.ProtocolRef, kotlin.collections.Map((kotlin.String, kotlin.Any)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="../-protocol-ref.html"><span class="identifier">ProtocolRef</span></a><span class="symbol">, </span><span class="identifier" id="api.APIServer$invokeProtocolSync(api.ProtocolRef, kotlin.collections.Map((kotlin.String, kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Any</span><span class="symbol">?</span></code><br/> <code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">invokeProtocolSync</span><span class="symbol">(</span><span class="identifier" id="node.api.APIServer$invokeProtocolSync(node.api.ProtocolRef, kotlin.collections.Map((kotlin.String, kotlin.Any)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="../-protocol-ref.html"><span class="identifier">ProtocolRef</span></a><span class="symbol">, </span><span class="identifier" id="node.api.APIServer$invokeProtocolSync(node.api.ProtocolRef, kotlin.collections.Map((kotlin.String, kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Any</span><span class="symbol">?</span></code><br/>
<p>This method would not return until the protocol is finished (hence the "Sync").</p> <p>This method would not return until the protocol is finished (hence the "Sync").</p>
<p>Longer term wed add an Async version that returns some kind of ProtocolInvocationRef that could be queried and <p>Longer term wed add an Async version that returns some kind of ProtocolInvocationRef that could be queried and
would appear on some kind of event message that is broadcast informing of progress.</p> would appear on some kind of event message that is broadcast informing of progress.</p>

View File

@ -7,8 +7,8 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServer</a>&nbsp;/&nbsp;<a href=".">provideProtocolResponse</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServer</a>&nbsp;/&nbsp;<a href=".">provideProtocolResponse</a><br/>
<br/> <br/>
<h1>provideProtocolResponse</h1> <h1>provideProtocolResponse</h1>
<a name="api.APIServer$provideProtocolResponse(api.ProtocolInstanceRef, core.crypto.SecureHash, kotlin.collections.Map((kotlin.String, kotlin.Any)))"></a> <a name="node.api.APIServer$provideProtocolResponse(node.api.ProtocolInstanceRef, core.crypto.SecureHash, kotlin.collections.Map((kotlin.String, kotlin.Any)))"></a>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">provideProtocolResponse</span><span class="symbol">(</span><span class="identifier" id="api.APIServer$provideProtocolResponse(api.ProtocolInstanceRef, core.crypto.SecureHash, kotlin.collections.Map((kotlin.String, kotlin.Any)))/protocol">protocol</span><span class="symbol">:</span>&nbsp;<a href="../-protocol-instance-ref/index.html"><span class="identifier">ProtocolInstanceRef</span></a><span class="symbol">, </span><span class="identifier" id="api.APIServer$provideProtocolResponse(api.ProtocolInstanceRef, core.crypto.SecureHash, kotlin.collections.Map((kotlin.String, kotlin.Any)))/choice">choice</span><span class="symbol">:</span>&nbsp;<a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">, </span><span class="identifier" id="api.APIServer$provideProtocolResponse(api.ProtocolInstanceRef, core.crypto.SecureHash, kotlin.collections.Map((kotlin.String, kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/> <code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">provideProtocolResponse</span><span class="symbol">(</span><span class="identifier" id="node.api.APIServer$provideProtocolResponse(node.api.ProtocolInstanceRef, core.crypto.SecureHash, kotlin.collections.Map((kotlin.String, kotlin.Any)))/protocol">protocol</span><span class="symbol">:</span>&nbsp;<a href="../-protocol-instance-ref/index.html"><span class="identifier">ProtocolInstanceRef</span></a><span class="symbol">, </span><span class="identifier" id="node.api.APIServer$provideProtocolResponse(node.api.ProtocolInstanceRef, core.crypto.SecureHash, kotlin.collections.Map((kotlin.String, kotlin.Any)))/choice">choice</span><span class="symbol">:</span>&nbsp;<a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">, </span><span class="identifier" id="node.api.APIServer$provideProtocolResponse(node.api.ProtocolInstanceRef, core.crypto.SecureHash, kotlin.collections.Map((kotlin.String, kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
<p>Provide the response that a protocol is waiting for.</p> <p>Provide the response that a protocol is waiting for.</p>
<h3>Parameters</h3> <h3>Parameters</h3>
<a name="protocol"></a> <a name="protocol"></a>

View File

@ -7,8 +7,8 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServer</a>&nbsp;/&nbsp;<a href=".">queryStates</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServer</a>&nbsp;/&nbsp;<a href=".">queryStates</a><br/>
<br/> <br/>
<h1>queryStates</h1> <h1>queryStates</h1>
<a name="api.APIServer$queryStates(api.StatesQuery)"></a> <a name="node.api.APIServer$queryStates(node.api.StatesQuery)"></a>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">queryStates</span><span class="symbol">(</span><span class="identifier" id="api.APIServer$queryStates(api.StatesQuery)/query">query</span><span class="symbol">:</span>&nbsp;<a href="../-states-query/index.html"><span class="identifier">StatesQuery</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">&gt;</span></code><br/> <code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">queryStates</span><span class="symbol">(</span><span class="identifier" id="node.api.APIServer$queryStates(node.api.StatesQuery)/query">query</span><span class="symbol">:</span>&nbsp;<a href="../-states-query/index.html"><span class="identifier">StatesQuery</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../core/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">&gt;</span></code><br/>
<p>Query your "local" states (containing only outputs involving you) and return the hashes &amp; indexes associated with them <p>Query your "local" states (containing only outputs involving you) and return the hashes &amp; indexes associated with them
to probably be later inflated by fetchLedgerTransactions() or fetchStates() although because immutable you can cache them to probably be later inflated by fetchLedgerTransactions() or fetchStates() although because immutable you can cache them
to avoid calling fetchLedgerTransactions() many times.</p> to avoid calling fetchLedgerTransactions() many times.</p>

View File

@ -7,7 +7,7 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServer</a>&nbsp;/&nbsp;<a href=".">serverTime</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">APIServer</a>&nbsp;/&nbsp;<a href=".">serverTime</a><br/>
<br/> <br/>
<h1>serverTime</h1> <h1>serverTime</h1>
<a name="api.APIServer$serverTime()"></a> <a name="node.api.APIServer$serverTime()"></a>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">serverTime</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/time/LocalDateTime.html"><span class="identifier">LocalDateTime</span></a></code><br/> <code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">serverTime</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/time/LocalDateTime.html"><span class="identifier">LocalDateTime</span></a></code><br/>
<p>Report current UTC time as understood by the platform.</p> <p>Report current UTC time as understood by the platform.</p>
<br/> <br/>

View File

@ -7,7 +7,7 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">Config</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">Config</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/>
<br/> <br/>
<h1>&lt;init&gt;</h1> <h1>&lt;init&gt;</h1>
<code><span class="identifier">Config</span><span class="symbol">(</span><span class="identifier" id="api.Config$<init>(core.node.ServiceHub)/services">services</span><span class="symbol">:</span>&nbsp;<a href="../../core.node/-service-hub/index.html"><span class="identifier">ServiceHub</span></a><span class="symbol">)</span></code><br/> <code><span class="identifier">Config</span><span class="symbol">(</span><span class="identifier" id="node.servlets.Config$<init>(core.node.ServiceHub)/services">services</span><span class="symbol">:</span>&nbsp;<a href="../../core.node/-service-hub/index.html"><span class="identifier">ServiceHub</span></a><span class="symbol">)</span></code><br/>
<p>Primary purpose is to install Kotlin extensions for Jackson ObjectMapper so data classes work <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> and to organise serializers / deserializers for java.time.* classes as necessary</p>
<br/> <br/>

View File

@ -7,7 +7,7 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">Config</a>&nbsp;/&nbsp;<a href=".">defaultObjectMapper</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">Config</a>&nbsp;/&nbsp;<a href=".">defaultObjectMapper</a><br/>
<br/> <br/>
<h1>defaultObjectMapper</h1> <h1>defaultObjectMapper</h1>
<a name="api.Config$defaultObjectMapper"></a> <a name="node.servlets.Config$defaultObjectMapper"></a>
<code><span class="keyword">val </span><span class="identifier">defaultObjectMapper</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code><br/> <code><span class="keyword">val </span><span class="identifier">defaultObjectMapper</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code><br/>
<br/> <br/>
<br/> <br/>

View File

@ -7,8 +7,8 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">Config</a>&nbsp;/&nbsp;<a href=".">getContext</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">Config</a>&nbsp;/&nbsp;<a href=".">getContext</a><br/>
<br/> <br/>
<h1>getContext</h1> <h1>getContext</h1>
<a name="api.Config$getContext(java.lang.Class((kotlin.Any)))"></a> <a name="node.servlets.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>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code><br/> <code><span class="keyword">fun </span><span class="identifier">getContext</span><span class="symbol">(</span><span class="identifier" id="node.servlets.Config$getContext(java.lang.Class((kotlin.Any)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code><br/>
<br/> <br/>
<br/> <br/>
</BODY> </BODY>

View File

@ -19,7 +19,7 @@ and to organise serializers / deserializers for java.time.* classes as necessary
<td> <td>
<a href="-init-.html">&lt;init&gt;</a></td> <a href="-init-.html">&lt;init&gt;</a></td>
<td> <td>
<code><span class="identifier">Config</span><span class="symbol">(</span><span class="identifier" id="api.Config$<init>(core.node.ServiceHub)/services">services</span><span class="symbol">:</span>&nbsp;<a href="../../core.node/-service-hub/index.html"><span class="identifier">ServiceHub</span></a><span class="symbol">)</span></code><p>Primary purpose is to install Kotlin extensions for Jackson ObjectMapper so data classes work <code><span class="identifier">Config</span><span class="symbol">(</span><span class="identifier" id="node.servlets.Config$<init>(core.node.ServiceHub)/services">services</span><span class="symbol">:</span>&nbsp;<a href="../../core.node/-service-hub/index.html"><span class="identifier">ServiceHub</span></a><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> and to organise serializers / deserializers for java.time.* classes as necessary</p>
</td> </td>
</tr> </tr>
@ -49,7 +49,7 @@ and to organise serializers / deserializers for java.time.* classes as necessary
<td> <td>
<a href="get-context.html">getContext</a></td> <a href="get-context.html">getContext</a></td>
<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>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code></td> <code><span class="keyword">fun </span><span class="identifier">getContext</span><span class="symbol">(</span><span class="identifier" id="node.servlets.Config$getContext(java.lang.Class((kotlin.Any)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@ -7,7 +7,7 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">Config</a>&nbsp;/&nbsp;<a href=".">services</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">Config</a>&nbsp;/&nbsp;<a href=".">services</a><br/>
<br/> <br/>
<h1>services</h1> <h1>services</h1>
<a name="api.Config$services"></a> <a name="node.servlets.Config$services"></a>
<code><span class="keyword">val </span><span class="identifier">services</span><span class="symbol">: </span><a href="../../core.node/-service-hub/index.html"><span class="identifier">ServiceHub</span></a></code><br/> <code><span class="keyword">val </span><span class="identifier">services</span><span class="symbol">: </span><a href="../../core.node/-service-hub/index.html"><span class="identifier">ServiceHub</span></a></code><br/>
<br/> <br/>
<br/> <br/>

View File

@ -7,7 +7,7 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ContractClassRef</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ContractClassRef</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/>
<br/> <br/>
<h1>&lt;init&gt;</h1> <h1>&lt;init&gt;</h1>
<code><span class="identifier">ContractClassRef</span><span class="symbol">(</span><span class="identifier" id="api.ContractClassRef$<init>(kotlin.String)/className">className</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span></code><br/> <code><span class="identifier">ContractClassRef</span><span class="symbol">(</span><span class="identifier" id="node.api.ContractClassRef$<init>(kotlin.String)/className">className</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span></code><br/>
<br/> <br/>
<br/> <br/>
</BODY> </BODY>

View File

@ -7,7 +7,7 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ContractClassRef</a>&nbsp;/&nbsp;<a href=".">className</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ContractClassRef</a>&nbsp;/&nbsp;<a href=".">className</a><br/>
<br/> <br/>
<h1>className</h1> <h1>className</h1>
<a name="api.ContractClassRef$className"></a> <a name="node.api.ContractClassRef$className"></a>
<code><span class="keyword">val </span><span class="identifier">className</span><span class="symbol">: </span><span class="identifier">String</span></code><br/> <code><span class="keyword">val </span><span class="identifier">className</span><span class="symbol">: </span><span class="identifier">String</span></code><br/>
<br/> <br/>
<br/> <br/>

View File

@ -17,7 +17,7 @@
<td> <td>
<a href="-init-.html">&lt;init&gt;</a></td> <a href="-init-.html">&lt;init&gt;</a></td>
<td> <td>
<code><span class="identifier">ContractClassRef</span><span class="symbol">(</span><span class="identifier" id="api.ContractClassRef$<init>(kotlin.String)/className">className</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span></code></td> <code><span class="identifier">ContractClassRef</span><span class="symbol">(</span><span class="identifier" id="node.api.ContractClassRef$<init>(kotlin.String)/className">className</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span></code></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@ -7,7 +7,7 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ContractLedgerRef</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ContractLedgerRef</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/>
<br/> <br/>
<h1>&lt;init&gt;</h1> <h1>&lt;init&gt;</h1>
<code><span class="identifier">ContractLedgerRef</span><span class="symbol">(</span><span class="identifier" id="api.ContractLedgerRef$<init>(core.crypto.SecureHash)/hash">hash</span><span class="symbol">:</span>&nbsp;<a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">)</span></code><br/> <code><span class="identifier">ContractLedgerRef</span><span class="symbol">(</span><span class="identifier" id="node.api.ContractLedgerRef$<init>(core.crypto.SecureHash)/hash">hash</span><span class="symbol">:</span>&nbsp;<a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">)</span></code><br/>
<br/> <br/>
<br/> <br/>
</BODY> </BODY>

View File

@ -7,7 +7,7 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ContractLedgerRef</a>&nbsp;/&nbsp;<a href=".">hash</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ContractLedgerRef</a>&nbsp;/&nbsp;<a href=".">hash</a><br/>
<br/> <br/>
<h1>hash</h1> <h1>hash</h1>
<a name="api.ContractLedgerRef$hash"></a> <a name="node.api.ContractLedgerRef$hash"></a>
<code><span class="keyword">val </span><span class="identifier">hash</span><span class="symbol">: </span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a></code><br/> <code><span class="keyword">val </span><span class="identifier">hash</span><span class="symbol">: </span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a></code><br/>
<br/> <br/>
<br/> <br/>

View File

@ -17,7 +17,7 @@
<td> <td>
<a href="-init-.html">&lt;init&gt;</a></td> <a href="-init-.html">&lt;init&gt;</a></td>
<td> <td>
<code><span class="identifier">ContractLedgerRef</span><span class="symbol">(</span><span class="identifier" id="api.ContractLedgerRef$<init>(core.crypto.SecureHash)/hash">hash</span><span class="symbol">:</span>&nbsp;<a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">)</span></code></td> <code><span class="identifier">ContractLedgerRef</span><span class="symbol">(</span><span class="identifier" id="node.api.ContractLedgerRef$<init>(core.crypto.SecureHash)/hash">hash</span><span class="symbol">:</span>&nbsp;<a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">)</span></code></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@ -7,7 +7,7 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">InterestRateSwapAPI</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">InterestRateSwapAPI</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/>
<br/> <br/>
<h1>&lt;init&gt;</h1> <h1>&lt;init&gt;</h1>
<code><span class="identifier">InterestRateSwapAPI</span><span class="symbol">(</span><span class="identifier" id="api.InterestRateSwapAPI$<init>(api.APIServer)/api">api</span><span class="symbol">:</span>&nbsp;<a href="../-a-p-i-server/index.html"><span class="identifier">APIServer</span></a><span class="symbol">)</span></code><br/> <code><span class="identifier">InterestRateSwapAPI</span><span class="symbol">(</span><span class="identifier" id="api.InterestRateSwapAPI$<init>(node.api.APIServer)/api">api</span><span class="symbol">:</span>&nbsp;<a href="../-a-p-i-server/index.html"><span class="identifier">APIServer</span></a><span class="symbol">)</span></code><br/>
<p>This provides a simplified API, currently for demonstration use only.</p> <p>This provides a simplified API, currently for demonstration use only.</p>
<p>It provides several JSON REST calls as follows:</p> <p>It provides several JSON REST calls as follows:</p>
<p>GET /api/irs/deals - returns an array of all deals tracked by the wallet of this node. <p>GET /api/irs/deals - returns an array of all deals tracked by the wallet of this node.

View File

@ -31,7 +31,7 @@ or if the demodate or population of deals should be reset (will only work while
<td> <td>
<a href="-init-.html">&lt;init&gt;</a></td> <a href="-init-.html">&lt;init&gt;</a></td>
<td> <td>
<code><span class="identifier">InterestRateSwapAPI</span><span class="symbol">(</span><span class="identifier" id="api.InterestRateSwapAPI$<init>(api.APIServer)/api">api</span><span class="symbol">:</span>&nbsp;<a href="../-a-p-i-server/index.html"><span class="identifier">APIServer</span></a><span class="symbol">)</span></code><p>This provides a simplified API, currently for demonstration use only.</p> <code><span class="identifier">InterestRateSwapAPI</span><span class="symbol">(</span><span class="identifier" id="api.InterestRateSwapAPI$<init>(node.api.APIServer)/api">api</span><span class="symbol">:</span>&nbsp;<a href="../-a-p-i-server/index.html"><span class="identifier">APIServer</span></a><span class="symbol">)</span></code><p>This provides a simplified API, currently for demonstration use only.</p>
</td> </td>
</tr> </tr>
</tbody> </tbody>

View File

@ -7,7 +7,7 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ProtocolClassRef</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ProtocolClassRef</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/>
<br/> <br/>
<h1>&lt;init&gt;</h1> <h1>&lt;init&gt;</h1>
<code><span class="identifier">ProtocolClassRef</span><span class="symbol">(</span><span class="identifier" id="api.ProtocolClassRef$<init>(kotlin.String)/className">className</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span></code><br/> <code><span class="identifier">ProtocolClassRef</span><span class="symbol">(</span><span class="identifier" id="node.api.ProtocolClassRef$<init>(kotlin.String)/className">className</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span></code><br/>
<br/> <br/>
<br/> <br/>
</BODY> </BODY>

View File

@ -7,7 +7,7 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ProtocolClassRef</a>&nbsp;/&nbsp;<a href=".">className</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ProtocolClassRef</a>&nbsp;/&nbsp;<a href=".">className</a><br/>
<br/> <br/>
<h1>className</h1> <h1>className</h1>
<a name="api.ProtocolClassRef$className"></a> <a name="node.api.ProtocolClassRef$className"></a>
<code><span class="keyword">val </span><span class="identifier">className</span><span class="symbol">: </span><span class="identifier">String</span></code><br/> <code><span class="keyword">val </span><span class="identifier">className</span><span class="symbol">: </span><span class="identifier">String</span></code><br/>
<br/> <br/>
<br/> <br/>

View File

@ -17,7 +17,7 @@
<td> <td>
<a href="-init-.html">&lt;init&gt;</a></td> <a href="-init-.html">&lt;init&gt;</a></td>
<td> <td>
<code><span class="identifier">ProtocolClassRef</span><span class="symbol">(</span><span class="identifier" id="api.ProtocolClassRef$<init>(kotlin.String)/className">className</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span></code></td> <code><span class="identifier">ProtocolClassRef</span><span class="symbol">(</span><span class="identifier" id="node.api.ProtocolClassRef$<init>(kotlin.String)/className">className</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span></code></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@ -7,7 +7,7 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ProtocolInstanceRef</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ProtocolInstanceRef</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/>
<br/> <br/>
<h1>&lt;init&gt;</h1> <h1>&lt;init&gt;</h1>
<code><span class="identifier">ProtocolInstanceRef</span><span class="symbol">(</span><span class="identifier" id="api.ProtocolInstanceRef$<init>(core.crypto.SecureHash, api.ProtocolClassRef, kotlin.String)/protocolInstance">protocolInstance</span><span class="symbol">:</span>&nbsp;<a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">, </span><span class="identifier" id="api.ProtocolInstanceRef$<init>(core.crypto.SecureHash, api.ProtocolClassRef, kotlin.String)/protocolClass">protocolClass</span><span class="symbol">:</span>&nbsp;<a href="../-protocol-class-ref/index.html"><span class="identifier">ProtocolClassRef</span></a><span class="symbol">, </span><span class="identifier" id="api.ProtocolInstanceRef$<init>(core.crypto.SecureHash, api.ProtocolClassRef, kotlin.String)/protocolStepId">protocolStepId</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span></code><br/> <code><span class="identifier">ProtocolInstanceRef</span><span class="symbol">(</span><span class="identifier" id="node.api.ProtocolInstanceRef$<init>(core.crypto.SecureHash, node.api.ProtocolClassRef, kotlin.String)/protocolInstance">protocolInstance</span><span class="symbol">:</span>&nbsp;<a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">, </span><span class="identifier" id="node.api.ProtocolInstanceRef$<init>(core.crypto.SecureHash, node.api.ProtocolClassRef, kotlin.String)/protocolClass">protocolClass</span><span class="symbol">:</span>&nbsp;<a href="../-protocol-class-ref/index.html"><span class="identifier">ProtocolClassRef</span></a><span class="symbol">, </span><span class="identifier" id="node.api.ProtocolInstanceRef$<init>(core.crypto.SecureHash, node.api.ProtocolClassRef, kotlin.String)/protocolStepId">protocolStepId</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span></code><br/>
<br/> <br/>
<br/> <br/>
</BODY> </BODY>

View File

@ -17,7 +17,7 @@
<td> <td>
<a href="-init-.html">&lt;init&gt;</a></td> <a href="-init-.html">&lt;init&gt;</a></td>
<td> <td>
<code><span class="identifier">ProtocolInstanceRef</span><span class="symbol">(</span><span class="identifier" id="api.ProtocolInstanceRef$<init>(core.crypto.SecureHash, api.ProtocolClassRef, kotlin.String)/protocolInstance">protocolInstance</span><span class="symbol">:</span>&nbsp;<a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">, </span><span class="identifier" id="api.ProtocolInstanceRef$<init>(core.crypto.SecureHash, api.ProtocolClassRef, kotlin.String)/protocolClass">protocolClass</span><span class="symbol">:</span>&nbsp;<a href="../-protocol-class-ref/index.html"><span class="identifier">ProtocolClassRef</span></a><span class="symbol">, </span><span class="identifier" id="api.ProtocolInstanceRef$<init>(core.crypto.SecureHash, api.ProtocolClassRef, kotlin.String)/protocolStepId">protocolStepId</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span></code></td> <code><span class="identifier">ProtocolInstanceRef</span><span class="symbol">(</span><span class="identifier" id="node.api.ProtocolInstanceRef$<init>(core.crypto.SecureHash, node.api.ProtocolClassRef, kotlin.String)/protocolInstance">protocolInstance</span><span class="symbol">:</span>&nbsp;<a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">, </span><span class="identifier" id="node.api.ProtocolInstanceRef$<init>(core.crypto.SecureHash, node.api.ProtocolClassRef, kotlin.String)/protocolClass">protocolClass</span><span class="symbol">:</span>&nbsp;<a href="../-protocol-class-ref/index.html"><span class="identifier">ProtocolClassRef</span></a><span class="symbol">, </span><span class="identifier" id="node.api.ProtocolInstanceRef$<init>(core.crypto.SecureHash, node.api.ProtocolClassRef, kotlin.String)/protocolStepId">protocolStepId</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span></code></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@ -7,7 +7,7 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ProtocolInstanceRef</a>&nbsp;/&nbsp;<a href=".">protocolClass</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ProtocolInstanceRef</a>&nbsp;/&nbsp;<a href=".">protocolClass</a><br/>
<br/> <br/>
<h1>protocolClass</h1> <h1>protocolClass</h1>
<a name="api.ProtocolInstanceRef$protocolClass"></a> <a name="node.api.ProtocolInstanceRef$protocolClass"></a>
<code><span class="keyword">val </span><span class="identifier">protocolClass</span><span class="symbol">: </span><a href="../-protocol-class-ref/index.html"><span class="identifier">ProtocolClassRef</span></a></code><br/> <code><span class="keyword">val </span><span class="identifier">protocolClass</span><span class="symbol">: </span><a href="../-protocol-class-ref/index.html"><span class="identifier">ProtocolClassRef</span></a></code><br/>
<br/> <br/>
<br/> <br/>

View File

@ -7,7 +7,7 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ProtocolInstanceRef</a>&nbsp;/&nbsp;<a href=".">protocolInstance</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ProtocolInstanceRef</a>&nbsp;/&nbsp;<a href=".">protocolInstance</a><br/>
<br/> <br/>
<h1>protocolInstance</h1> <h1>protocolInstance</h1>
<a name="api.ProtocolInstanceRef$protocolInstance"></a> <a name="node.api.ProtocolInstanceRef$protocolInstance"></a>
<code><span class="keyword">val </span><span class="identifier">protocolInstance</span><span class="symbol">: </span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a></code><br/> <code><span class="keyword">val </span><span class="identifier">protocolInstance</span><span class="symbol">: </span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a></code><br/>
<br/> <br/>
<br/> <br/>

View File

@ -7,7 +7,7 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ProtocolInstanceRef</a>&nbsp;/&nbsp;<a href=".">protocolStepId</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ProtocolInstanceRef</a>&nbsp;/&nbsp;<a href=".">protocolStepId</a><br/>
<br/> <br/>
<h1>protocolStepId</h1> <h1>protocolStepId</h1>
<a name="api.ProtocolInstanceRef$protocolStepId"></a> <a name="node.api.ProtocolInstanceRef$protocolStepId"></a>
<code><span class="keyword">val </span><span class="identifier">protocolStepId</span><span class="symbol">: </span><span class="identifier">String</span></code><br/> <code><span class="keyword">val </span><span class="identifier">protocolStepId</span><span class="symbol">: </span><span class="identifier">String</span></code><br/>
<br/> <br/>
<br/> <br/>

View File

@ -7,7 +7,7 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ProtocolRequiringAttention</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ProtocolRequiringAttention</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/>
<br/> <br/>
<h1>&lt;init&gt;</h1> <h1>&lt;init&gt;</h1>
<code><span class="identifier">ProtocolRequiringAttention</span><span class="symbol">(</span><span class="identifier" id="api.ProtocolRequiringAttention$<init>(api.ProtocolInstanceRef, kotlin.String, kotlin.collections.Map((core.crypto.SecureHash, kotlin.String)), java.time.Instant)/ref">ref</span><span class="symbol">:</span>&nbsp;<a href="../-protocol-instance-ref/index.html"><span class="identifier">ProtocolInstanceRef</span></a><span class="symbol">, </span><span class="identifier" id="api.ProtocolRequiringAttention$<init>(api.ProtocolInstanceRef, kotlin.String, kotlin.collections.Map((core.crypto.SecureHash, kotlin.String)), java.time.Instant)/prompt">prompt</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="api.ProtocolRequiringAttention$<init>(api.ProtocolInstanceRef, kotlin.String, kotlin.collections.Map((core.crypto.SecureHash, kotlin.String)), java.time.Instant)/choiceIdsToMessages">choiceIdsToMessages</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">String</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="api.ProtocolRequiringAttention$<init>(api.ProtocolInstanceRef, kotlin.String, kotlin.collections.Map((core.crypto.SecureHash, kotlin.String)), java.time.Instant)/dueBy">dueBy</span><span class="symbol">:</span>&nbsp;<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/> <code><span class="identifier">ProtocolRequiringAttention</span><span class="symbol">(</span><span class="identifier" id="node.api.ProtocolRequiringAttention$<init>(node.api.ProtocolInstanceRef, kotlin.String, kotlin.collections.Map((core.crypto.SecureHash, kotlin.String)), java.time.Instant)/ref">ref</span><span class="symbol">:</span>&nbsp;<a href="../-protocol-instance-ref/index.html"><span class="identifier">ProtocolInstanceRef</span></a><span class="symbol">, </span><span class="identifier" id="node.api.ProtocolRequiringAttention$<init>(node.api.ProtocolInstanceRef, kotlin.String, kotlin.collections.Map((core.crypto.SecureHash, kotlin.String)), java.time.Instant)/prompt">prompt</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="node.api.ProtocolRequiringAttention$<init>(node.api.ProtocolInstanceRef, kotlin.String, kotlin.collections.Map((core.crypto.SecureHash, kotlin.String)), java.time.Instant)/choiceIdsToMessages">choiceIdsToMessages</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">String</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="node.api.ProtocolRequiringAttention$<init>(node.api.ProtocolInstanceRef, kotlin.String, kotlin.collections.Map((core.crypto.SecureHash, kotlin.String)), java.time.Instant)/dueBy">dueBy</span><span class="symbol">:</span>&nbsp;<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/>
<p>Thinking that Instant is OK for short lived protocol deadlines.</p> <p>Thinking that Instant is OK for short lived protocol deadlines.</p>
<br/> <br/>
<br/> <br/>

View File

@ -7,7 +7,7 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ProtocolRequiringAttention</a>&nbsp;/&nbsp;<a href=".">choiceIdsToMessages</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ProtocolRequiringAttention</a>&nbsp;/&nbsp;<a href=".">choiceIdsToMessages</a><br/>
<br/> <br/>
<h1>choiceIdsToMessages</h1> <h1>choiceIdsToMessages</h1>
<a name="api.ProtocolRequiringAttention$choiceIdsToMessages"></a> <a name="node.api.ProtocolRequiringAttention$choiceIdsToMessages"></a>
<code><span class="keyword">val </span><span class="identifier">choiceIdsToMessages</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">String</span><span class="symbol">&gt;</span></code><br/> <code><span class="keyword">val </span><span class="identifier">choiceIdsToMessages</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">String</span><span class="symbol">&gt;</span></code><br/>
<br/> <br/>
<br/> <br/>

View File

@ -7,7 +7,7 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ProtocolRequiringAttention</a>&nbsp;/&nbsp;<a href=".">dueBy</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ProtocolRequiringAttention</a>&nbsp;/&nbsp;<a href=".">dueBy</a><br/>
<br/> <br/>
<h1>dueBy</h1> <h1>dueBy</h1>
<a name="api.ProtocolRequiringAttention$dueBy"></a> <a name="node.api.ProtocolRequiringAttention$dueBy"></a>
<code><span class="keyword">val </span><span class="identifier">dueBy</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/> <code><span class="keyword">val </span><span class="identifier">dueBy</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/>
<br/> <br/>

View File

@ -18,7 +18,7 @@
<td> <td>
<a href="-init-.html">&lt;init&gt;</a></td> <a href="-init-.html">&lt;init&gt;</a></td>
<td> <td>
<code><span class="identifier">ProtocolRequiringAttention</span><span class="symbol">(</span><span class="identifier" id="api.ProtocolRequiringAttention$<init>(api.ProtocolInstanceRef, kotlin.String, kotlin.collections.Map((core.crypto.SecureHash, kotlin.String)), java.time.Instant)/ref">ref</span><span class="symbol">:</span>&nbsp;<a href="../-protocol-instance-ref/index.html"><span class="identifier">ProtocolInstanceRef</span></a><span class="symbol">, </span><span class="identifier" id="api.ProtocolRequiringAttention$<init>(api.ProtocolInstanceRef, kotlin.String, kotlin.collections.Map((core.crypto.SecureHash, kotlin.String)), java.time.Instant)/prompt">prompt</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="api.ProtocolRequiringAttention$<init>(api.ProtocolInstanceRef, kotlin.String, kotlin.collections.Map((core.crypto.SecureHash, kotlin.String)), java.time.Instant)/choiceIdsToMessages">choiceIdsToMessages</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">String</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="api.ProtocolRequiringAttention$<init>(api.ProtocolInstanceRef, kotlin.String, kotlin.collections.Map((core.crypto.SecureHash, kotlin.String)), java.time.Instant)/dueBy">dueBy</span><span class="symbol">:</span>&nbsp;<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><p>Thinking that Instant is OK for short lived protocol deadlines.</p> <code><span class="identifier">ProtocolRequiringAttention</span><span class="symbol">(</span><span class="identifier" id="node.api.ProtocolRequiringAttention$<init>(node.api.ProtocolInstanceRef, kotlin.String, kotlin.collections.Map((core.crypto.SecureHash, kotlin.String)), java.time.Instant)/ref">ref</span><span class="symbol">:</span>&nbsp;<a href="../-protocol-instance-ref/index.html"><span class="identifier">ProtocolInstanceRef</span></a><span class="symbol">, </span><span class="identifier" id="node.api.ProtocolRequiringAttention$<init>(node.api.ProtocolInstanceRef, kotlin.String, kotlin.collections.Map((core.crypto.SecureHash, kotlin.String)), java.time.Instant)/prompt">prompt</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="node.api.ProtocolRequiringAttention$<init>(node.api.ProtocolInstanceRef, kotlin.String, kotlin.collections.Map((core.crypto.SecureHash, kotlin.String)), java.time.Instant)/choiceIdsToMessages">choiceIdsToMessages</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><a href="../../core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">String</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="node.api.ProtocolRequiringAttention$<init>(node.api.ProtocolInstanceRef, kotlin.String, kotlin.collections.Map((core.crypto.SecureHash, kotlin.String)), java.time.Instant)/dueBy">dueBy</span><span class="symbol">:</span>&nbsp;<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><p>Thinking that Instant is OK for short lived protocol deadlines.</p>
</td> </td>
</tr> </tr>
</tbody> </tbody>

View File

@ -7,7 +7,7 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ProtocolRequiringAttention</a>&nbsp;/&nbsp;<a href=".">prompt</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ProtocolRequiringAttention</a>&nbsp;/&nbsp;<a href=".">prompt</a><br/>
<br/> <br/>
<h1>prompt</h1> <h1>prompt</h1>
<a name="api.ProtocolRequiringAttention$prompt"></a> <a name="node.api.ProtocolRequiringAttention$prompt"></a>
<code><span class="keyword">val </span><span class="identifier">prompt</span><span class="symbol">: </span><span class="identifier">String</span></code><br/> <code><span class="keyword">val </span><span class="identifier">prompt</span><span class="symbol">: </span><span class="identifier">String</span></code><br/>
<br/> <br/>
<br/> <br/>

View File

@ -7,7 +7,7 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ProtocolRequiringAttention</a>&nbsp;/&nbsp;<a href=".">ref</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ProtocolRequiringAttention</a>&nbsp;/&nbsp;<a href=".">ref</a><br/>
<br/> <br/>
<h1>ref</h1> <h1>ref</h1>
<a name="api.ProtocolRequiringAttention$ref"></a> <a name="node.api.ProtocolRequiringAttention$ref"></a>
<code><span class="keyword">val </span><span class="identifier">ref</span><span class="symbol">: </span><a href="../-protocol-instance-ref/index.html"><span class="identifier">ProtocolInstanceRef</span></a></code><br/> <code><span class="keyword">val </span><span class="identifier">ref</span><span class="symbol">: </span><a href="../-protocol-instance-ref/index.html"><span class="identifier">ProtocolInstanceRef</span></a></code><br/>
<br/> <br/>
<br/> <br/>

View File

@ -7,8 +7,8 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ResponseFilter</a>&nbsp;/&nbsp;<a href=".">filter</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">ResponseFilter</a>&nbsp;/&nbsp;<a href=".">filter</a><br/>
<br/> <br/>
<h1>filter</h1> <h1>filter</h1>
<a name="api.ResponseFilter$filter(, )"></a> <a name="node.servlets.ResponseFilter$filter(, )"></a>
<code><span class="keyword">fun </span><span class="identifier">filter</span><span class="symbol">(</span><span class="identifier" id="api.ResponseFilter$filter(, )/requestContext">requestContext</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">, </span><span class="identifier" id="api.ResponseFilter$filter(, )/responseContext">responseContext</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/> <code><span class="keyword">fun </span><span class="identifier">filter</span><span class="symbol">(</span><span class="identifier" id="node.servlets.ResponseFilter$filter(, )/requestContext">requestContext</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">, </span><span class="identifier" id="node.servlets.ResponseFilter$filter(, )/responseContext">responseContext</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/>
<br/> <br/>
<br/> <br/>
</BODY> </BODY>

View File

@ -30,7 +30,7 @@
<td> <td>
<a href="filter.html">filter</a></td> <a href="filter.html">filter</a></td>
<td> <td>
<code><span class="keyword">fun </span><span class="identifier">filter</span><span class="symbol">(</span><span class="identifier" id="api.ResponseFilter$filter(, )/requestContext">requestContext</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">, </span><span class="identifier" id="api.ResponseFilter$filter(, )/responseContext">responseContext</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td> <code><span class="keyword">fun </span><span class="identifier">filter</span><span class="symbol">(</span><span class="identifier" id="node.servlets.ResponseFilter$filter(, )/requestContext">requestContext</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">, </span><span class="identifier" id="node.servlets.ResponseFilter$filter(, )/responseContext">responseContext</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@ -7,7 +7,7 @@
<a href="../../../index.html">api</a>&nbsp;/&nbsp;<a href="../../index.html">StatesQuery</a>&nbsp;/&nbsp;<a href="../index.html">Criteria</a>&nbsp;/&nbsp;<a href="index.html">Deal</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/> <a href="../../../index.html">api</a>&nbsp;/&nbsp;<a href="../../index.html">StatesQuery</a>&nbsp;/&nbsp;<a href="../index.html">Criteria</a>&nbsp;/&nbsp;<a href="index.html">Deal</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/>
<br/> <br/>
<h1>&lt;init&gt;</h1> <h1>&lt;init&gt;</h1>
<code><span class="identifier">Deal</span><span class="symbol">(</span><span class="identifier" id="api.StatesQuery.Criteria.Deal$<init>(kotlin.String)/ref">ref</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span></code><br/> <code><span class="identifier">Deal</span><span class="symbol">(</span><span class="identifier" id="node.api.StatesQuery.Criteria.Deal$<init>(kotlin.String)/ref">ref</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span></code><br/>
<br/> <br/>
<br/> <br/>
</BODY> </BODY>

View File

@ -17,7 +17,7 @@
<td> <td>
<a href="-init-.html">&lt;init&gt;</a></td> <a href="-init-.html">&lt;init&gt;</a></td>
<td> <td>
<code><span class="identifier">Deal</span><span class="symbol">(</span><span class="identifier" id="api.StatesQuery.Criteria.Deal$<init>(kotlin.String)/ref">ref</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span></code></td> <code><span class="identifier">Deal</span><span class="symbol">(</span><span class="identifier" id="node.api.StatesQuery.Criteria.Deal$<init>(kotlin.String)/ref">ref</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span></code></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@ -7,7 +7,7 @@
<a href="../../../index.html">api</a>&nbsp;/&nbsp;<a href="../../index.html">StatesQuery</a>&nbsp;/&nbsp;<a href="../index.html">Criteria</a>&nbsp;/&nbsp;<a href="index.html">Deal</a>&nbsp;/&nbsp;<a href=".">ref</a><br/> <a href="../../../index.html">api</a>&nbsp;/&nbsp;<a href="../../index.html">StatesQuery</a>&nbsp;/&nbsp;<a href="../index.html">Criteria</a>&nbsp;/&nbsp;<a href="index.html">Deal</a>&nbsp;/&nbsp;<a href=".">ref</a><br/>
<br/> <br/>
<h1>ref</h1> <h1>ref</h1>
<a name="api.StatesQuery.Criteria.Deal$ref"></a> <a name="node.api.StatesQuery.Criteria.Deal$ref"></a>
<code><span class="keyword">val </span><span class="identifier">ref</span><span class="symbol">: </span><span class="identifier">String</span></code><br/> <code><span class="keyword">val </span><span class="identifier">ref</span><span class="symbol">: </span><span class="identifier">String</span></code><br/>
<br/> <br/>
<br/> <br/>

View File

@ -7,7 +7,7 @@
<a href="../../index.html">api</a>&nbsp;/&nbsp;<a href="../index.html">StatesQuery</a>&nbsp;/&nbsp;<a href="index.html">Selection</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/> <a href="../../index.html">api</a>&nbsp;/&nbsp;<a href="../index.html">StatesQuery</a>&nbsp;/&nbsp;<a href="index.html">Selection</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/>
<br/> <br/>
<h1>&lt;init&gt;</h1> <h1>&lt;init&gt;</h1>
<code><span class="identifier">Selection</span><span class="symbol">(</span><span class="identifier" id="api.StatesQuery.Selection$<init>(api.StatesQuery.Criteria)/criteria">criteria</span><span class="symbol">:</span>&nbsp;<a href="../-criteria/index.html"><span class="identifier">Criteria</span></a><span class="symbol">)</span></code><br/> <code><span class="identifier">Selection</span><span class="symbol">(</span><span class="identifier" id="node.api.StatesQuery.Selection$<init>(node.api.StatesQuery.Criteria)/criteria">criteria</span><span class="symbol">:</span>&nbsp;<a href="../-criteria/index.html"><span class="identifier">Criteria</span></a><span class="symbol">)</span></code><br/>
<br/> <br/>
<br/> <br/>
</BODY> </BODY>

View File

@ -7,7 +7,7 @@
<a href="../../index.html">api</a>&nbsp;/&nbsp;<a href="../index.html">StatesQuery</a>&nbsp;/&nbsp;<a href="index.html">Selection</a>&nbsp;/&nbsp;<a href=".">criteria</a><br/> <a href="../../index.html">api</a>&nbsp;/&nbsp;<a href="../index.html">StatesQuery</a>&nbsp;/&nbsp;<a href="index.html">Selection</a>&nbsp;/&nbsp;<a href=".">criteria</a><br/>
<br/> <br/>
<h1>criteria</h1> <h1>criteria</h1>
<a name="api.StatesQuery.Selection$criteria"></a> <a name="node.api.StatesQuery.Selection$criteria"></a>
<code><span class="keyword">val </span><span class="identifier">criteria</span><span class="symbol">: </span><a href="../-criteria/index.html"><span class="identifier">Criteria</span></a></code><br/> <code><span class="keyword">val </span><span class="identifier">criteria</span><span class="symbol">: </span><a href="../-criteria/index.html"><span class="identifier">Criteria</span></a></code><br/>
<br/> <br/>
<br/> <br/>

View File

@ -17,7 +17,7 @@
<td> <td>
<a href="-init-.html">&lt;init&gt;</a></td> <a href="-init-.html">&lt;init&gt;</a></td>
<td> <td>
<code><span class="identifier">Selection</span><span class="symbol">(</span><span class="identifier" id="api.StatesQuery.Selection$<init>(api.StatesQuery.Criteria)/criteria">criteria</span><span class="symbol">:</span>&nbsp;<a href="../-criteria/index.html"><span class="identifier">Criteria</span></a><span class="symbol">)</span></code></td> <code><span class="identifier">Selection</span><span class="symbol">(</span><span class="identifier" id="node.api.StatesQuery.Selection$<init>(node.api.StatesQuery.Criteria)/criteria">criteria</span><span class="symbol">:</span>&nbsp;<a href="../-criteria/index.html"><span class="identifier">Criteria</span></a><span class="symbol">)</span></code></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@ -35,7 +35,7 @@
<td> <td>
<a href="select.html">select</a></td> <a href="select.html">select</a></td>
<td> <td>
<code><span class="keyword">fun </span><span class="identifier">select</span><span class="symbol">(</span><span class="identifier" id="api.StatesQuery.Companion$select(api.StatesQuery.Criteria)/criteria">criteria</span><span class="symbol">:</span>&nbsp;<a href="-criteria/index.html"><span class="identifier">Criteria</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="-selection/index.html"><span class="identifier">Selection</span></a></code></td> <code><span class="keyword">fun </span><span class="identifier">select</span><span class="symbol">(</span><span class="identifier" id="node.api.StatesQuery.Companion$select(node.api.StatesQuery.Criteria)/criteria">criteria</span><span class="symbol">:</span>&nbsp;<a href="-criteria/index.html"><span class="identifier">Criteria</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="-selection/index.html"><span class="identifier">Selection</span></a></code></td>
</tr> </tr>
<tr> <tr>
<td> <td>
@ -47,7 +47,7 @@
<td> <td>
<a href="select-deal.html">selectDeal</a></td> <a href="select-deal.html">selectDeal</a></td>
<td> <td>
<code><span class="keyword">fun </span><span class="identifier">selectDeal</span><span class="symbol">(</span><span class="identifier" id="api.StatesQuery.Companion$selectDeal(kotlin.String)/ref">ref</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span><span class="symbol">: </span><a href="-selection/index.html"><span class="identifier">Selection</span></a></code></td> <code><span class="keyword">fun </span><span class="identifier">selectDeal</span><span class="symbol">(</span><span class="identifier" id="node.api.StatesQuery.Companion$selectDeal(kotlin.String)/ref">ref</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span><span class="symbol">: </span><a href="-selection/index.html"><span class="identifier">Selection</span></a></code></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@ -7,7 +7,7 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">StatesQuery</a>&nbsp;/&nbsp;<a href=".">selectAllDeals</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">StatesQuery</a>&nbsp;/&nbsp;<a href=".">selectAllDeals</a><br/>
<br/> <br/>
<h1>selectAllDeals</h1> <h1>selectAllDeals</h1>
<a name="api.StatesQuery.Companion$selectAllDeals()"></a> <a name="node.api.StatesQuery.Companion$selectAllDeals()"></a>
<code><span class="keyword">fun </span><span class="identifier">selectAllDeals</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="-selection/index.html"><span class="identifier">Selection</span></a></code><br/> <code><span class="keyword">fun </span><span class="identifier">selectAllDeals</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="-selection/index.html"><span class="identifier">Selection</span></a></code><br/>
<br/> <br/>
<br/> <br/>

View File

@ -7,8 +7,8 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">StatesQuery</a>&nbsp;/&nbsp;<a href=".">selectDeal</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">StatesQuery</a>&nbsp;/&nbsp;<a href=".">selectDeal</a><br/>
<br/> <br/>
<h1>selectDeal</h1> <h1>selectDeal</h1>
<a name="api.StatesQuery.Companion$selectDeal(kotlin.String)"></a> <a name="node.api.StatesQuery.Companion$selectDeal(kotlin.String)"></a>
<code><span class="keyword">fun </span><span class="identifier">selectDeal</span><span class="symbol">(</span><span class="identifier" id="api.StatesQuery.Companion$selectDeal(kotlin.String)/ref">ref</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span><span class="symbol">: </span><a href="-selection/index.html"><span class="identifier">Selection</span></a></code><br/> <code><span class="keyword">fun </span><span class="identifier">selectDeal</span><span class="symbol">(</span><span class="identifier" id="node.api.StatesQuery.Companion$selectDeal(kotlin.String)/ref">ref</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span><span class="symbol">: </span><a href="-selection/index.html"><span class="identifier">Selection</span></a></code><br/>
<br/> <br/>
<br/> <br/>
</BODY> </BODY>

View File

@ -7,8 +7,8 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">StatesQuery</a>&nbsp;/&nbsp;<a href=".">select</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">StatesQuery</a>&nbsp;/&nbsp;<a href=".">select</a><br/>
<br/> <br/>
<h1>select</h1> <h1>select</h1>
<a name="api.StatesQuery.Companion$select(api.StatesQuery.Criteria)"></a> <a name="node.api.StatesQuery.Companion$select(node.api.StatesQuery.Criteria)"></a>
<code><span class="keyword">fun </span><span class="identifier">select</span><span class="symbol">(</span><span class="identifier" id="api.StatesQuery.Companion$select(api.StatesQuery.Criteria)/criteria">criteria</span><span class="symbol">:</span>&nbsp;<a href="-criteria/index.html"><span class="identifier">Criteria</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="-selection/index.html"><span class="identifier">Selection</span></a></code><br/> <code><span class="keyword">fun </span><span class="identifier">select</span><span class="symbol">(</span><span class="identifier" id="node.api.StatesQuery.Companion$select(node.api.StatesQuery.Criteria)/criteria">criteria</span><span class="symbol">:</span>&nbsp;<a href="-criteria/index.html"><span class="identifier">Criteria</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="-selection/index.html"><span class="identifier">Selection</span></a></code><br/>
<br/> <br/>
<br/> <br/>
</BODY> </BODY>

View File

@ -7,7 +7,7 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">TransactionBuildStep</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">TransactionBuildStep</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/>
<br/> <br/>
<h1>&lt;init&gt;</h1> <h1>&lt;init&gt;</h1>
<code><span class="identifier">TransactionBuildStep</span><span class="symbol">(</span><span class="identifier" id="api.TransactionBuildStep$<init>(kotlin.String, kotlin.collections.Map((kotlin.String, kotlin.Any)))/generateMethodName">generateMethodName</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="api.TransactionBuildStep$<init>(kotlin.String, kotlin.collections.Map((kotlin.String, kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">)</span></code><br/> <code><span class="identifier">TransactionBuildStep</span><span class="symbol">(</span><span class="identifier" id="node.api.TransactionBuildStep$<init>(kotlin.String, kotlin.collections.Map((kotlin.String, kotlin.Any)))/generateMethodName">generateMethodName</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="node.api.TransactionBuildStep$<init>(kotlin.String, kotlin.collections.Map((kotlin.String, kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">)</span></code><br/>
<p>Encapsulate a generateXXX method call on a contract.</p> <p>Encapsulate a generateXXX method call on a contract.</p>
<br/> <br/>
<br/> <br/>

View File

@ -7,7 +7,7 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">TransactionBuildStep</a>&nbsp;/&nbsp;<a href=".">args</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">TransactionBuildStep</a>&nbsp;/&nbsp;<a href=".">args</a><br/>
<br/> <br/>
<h1>args</h1> <h1>args</h1>
<a name="api.TransactionBuildStep$args"></a> <a name="node.api.TransactionBuildStep$args"></a>
<code><span class="keyword">val </span><span class="identifier">args</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">&gt;</span></code><br/> <code><span class="keyword">val </span><span class="identifier">args</span><span class="symbol">: </span><span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">&gt;</span></code><br/>
<br/> <br/>
<br/> <br/>

View File

@ -7,7 +7,7 @@
<a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">TransactionBuildStep</a>&nbsp;/&nbsp;<a href=".">generateMethodName</a><br/> <a href="../index.html">api</a>&nbsp;/&nbsp;<a href="index.html">TransactionBuildStep</a>&nbsp;/&nbsp;<a href=".">generateMethodName</a><br/>
<br/> <br/>
<h1>generateMethodName</h1> <h1>generateMethodName</h1>
<a name="api.TransactionBuildStep$generateMethodName"></a> <a name="node.api.TransactionBuildStep$generateMethodName"></a>
<code><span class="keyword">val </span><span class="identifier">generateMethodName</span><span class="symbol">: </span><span class="identifier">String</span></code><br/> <code><span class="keyword">val </span><span class="identifier">generateMethodName</span><span class="symbol">: </span><span class="identifier">String</span></code><br/>
<br/> <br/>
<br/> <br/>

View File

@ -18,7 +18,7 @@
<td> <td>
<a href="-init-.html">&lt;init&gt;</a></td> <a href="-init-.html">&lt;init&gt;</a></td>
<td> <td>
<code><span class="identifier">TransactionBuildStep</span><span class="symbol">(</span><span class="identifier" id="api.TransactionBuildStep$<init>(kotlin.String, kotlin.collections.Map((kotlin.String, kotlin.Any)))/generateMethodName">generateMethodName</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="api.TransactionBuildStep$<init>(kotlin.String, kotlin.collections.Map((kotlin.String, kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">)</span></code><p>Encapsulate a generateXXX method call on a contract.</p> <code><span class="identifier">TransactionBuildStep</span><span class="symbol">(</span><span class="identifier" id="node.api.TransactionBuildStep$<init>(kotlin.String, kotlin.collections.Map((kotlin.String, kotlin.Any)))/generateMethodName">generateMethodName</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="node.api.TransactionBuildStep$<init>(kotlin.String, kotlin.collections.Map((kotlin.String, kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">)</span></code><p>Encapsulate a generateXXX method call on a contract.</p>
</td> </td>
</tr> </tr>
</tbody> </tbody>

View File

@ -7,7 +7,7 @@
<a href="../../../index.html">core.messaging</a>&nbsp;/&nbsp;<a href="../../index.html">StateMachineManager</a>&nbsp;/&nbsp;<a href="../index.html">FiberRequest</a>&nbsp;/&nbsp;<a href="index.html">ExpectingResponse</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/> <a href="../../../index.html">core.messaging</a>&nbsp;/&nbsp;<a href="../../index.html">StateMachineManager</a>&nbsp;/&nbsp;<a href="../index.html">FiberRequest</a>&nbsp;/&nbsp;<a href="index.html">ExpectingResponse</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/>
<br/> <br/>
<h1>&lt;init&gt;</h1> <h1>&lt;init&gt;</h1>
<code><span class="identifier">ExpectingResponse</span><span class="symbol">(</span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest.ExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any, java.lang.Class((core.messaging.StateMachineManager.FiberRequest.ExpectingResponse.R)))/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest.ExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any, java.lang.Class((core.messaging.StateMachineManager.FiberRequest.ExpectingResponse.R)))/destination">destination</span><span class="symbol">:</span>&nbsp;<a href="../../../-message-recipients.html"><span class="identifier">MessageRecipients</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest.ExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any, java.lang.Class((core.messaging.StateMachineManager.FiberRequest.ExpectingResponse.R)))/sessionIDForSend">sessionIDForSend</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest.ExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any, java.lang.Class((core.messaging.StateMachineManager.FiberRequest.ExpectingResponse.R)))/sessionIDForReceive">sessionIDForReceive</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest.ExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any, java.lang.Class((core.messaging.StateMachineManager.FiberRequest.ExpectingResponse.R)))/obj">obj</span><span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest.ExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any, java.lang.Class((core.messaging.StateMachineManager.FiberRequest.ExpectingResponse.R)))/responseType">responseType</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">R</span><span class="symbol">&gt;</span><span class="symbol">)</span></code><br/> <code><span class="identifier">ExpectingResponse</span><span class="symbol">(</span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest.ExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any, java.lang.Class((node.services.statemachine.StateMachineManager.FiberRequest.ExpectingResponse.R)))/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest.ExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any, java.lang.Class((node.services.statemachine.StateMachineManager.FiberRequest.ExpectingResponse.R)))/destination">destination</span><span class="symbol">:</span>&nbsp;<a href="../../../-message-recipients.html"><span class="identifier">MessageRecipients</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest.ExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any, java.lang.Class((node.services.statemachine.StateMachineManager.FiberRequest.ExpectingResponse.R)))/sessionIDForSend">sessionIDForSend</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest.ExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any, java.lang.Class((node.services.statemachine.StateMachineManager.FiberRequest.ExpectingResponse.R)))/sessionIDForReceive">sessionIDForReceive</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest.ExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any, java.lang.Class((node.services.statemachine.StateMachineManager.FiberRequest.ExpectingResponse.R)))/obj">obj</span><span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest.ExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any, java.lang.Class((node.services.statemachine.StateMachineManager.FiberRequest.ExpectingResponse.R)))/responseType">responseType</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">R</span><span class="symbol">&gt;</span><span class="symbol">)</span></code><br/>
<br/> <br/>
<br/> <br/>
</BODY> </BODY>

View File

@ -17,7 +17,7 @@
<td> <td>
<a href="-init-.html">&lt;init&gt;</a></td> <a href="-init-.html">&lt;init&gt;</a></td>
<td> <td>
<code><span class="identifier">ExpectingResponse</span><span class="symbol">(</span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest.ExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any, java.lang.Class((core.messaging.StateMachineManager.FiberRequest.ExpectingResponse.R)))/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest.ExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any, java.lang.Class((core.messaging.StateMachineManager.FiberRequest.ExpectingResponse.R)))/destination">destination</span><span class="symbol">:</span>&nbsp;<a href="../../../-message-recipients.html"><span class="identifier">MessageRecipients</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest.ExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any, java.lang.Class((core.messaging.StateMachineManager.FiberRequest.ExpectingResponse.R)))/sessionIDForSend">sessionIDForSend</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest.ExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any, java.lang.Class((core.messaging.StateMachineManager.FiberRequest.ExpectingResponse.R)))/sessionIDForReceive">sessionIDForReceive</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest.ExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any, java.lang.Class((core.messaging.StateMachineManager.FiberRequest.ExpectingResponse.R)))/obj">obj</span><span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest.ExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any, java.lang.Class((core.messaging.StateMachineManager.FiberRequest.ExpectingResponse.R)))/responseType">responseType</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">R</span><span class="symbol">&gt;</span><span class="symbol">)</span></code></td> <code><span class="identifier">ExpectingResponse</span><span class="symbol">(</span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest.ExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any, java.lang.Class((node.services.statemachine.StateMachineManager.FiberRequest.ExpectingResponse.R)))/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest.ExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any, java.lang.Class((node.services.statemachine.StateMachineManager.FiberRequest.ExpectingResponse.R)))/destination">destination</span><span class="symbol">:</span>&nbsp;<a href="../../../-message-recipients.html"><span class="identifier">MessageRecipients</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest.ExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any, java.lang.Class((node.services.statemachine.StateMachineManager.FiberRequest.ExpectingResponse.R)))/sessionIDForSend">sessionIDForSend</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest.ExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any, java.lang.Class((node.services.statemachine.StateMachineManager.FiberRequest.ExpectingResponse.R)))/sessionIDForReceive">sessionIDForReceive</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest.ExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any, java.lang.Class((node.services.statemachine.StateMachineManager.FiberRequest.ExpectingResponse.R)))/obj">obj</span><span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest.ExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any, java.lang.Class((node.services.statemachine.StateMachineManager.FiberRequest.ExpectingResponse.R)))/responseType">responseType</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="identifier">R</span><span class="symbol">&gt;</span><span class="symbol">)</span></code></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@ -7,7 +7,7 @@
<a href="../../../index.html">core.messaging</a>&nbsp;/&nbsp;<a href="../../index.html">StateMachineManager</a>&nbsp;/&nbsp;<a href="../index.html">FiberRequest</a>&nbsp;/&nbsp;<a href="index.html">ExpectingResponse</a>&nbsp;/&nbsp;<a href=".">responseType</a><br/> <a href="../../../index.html">core.messaging</a>&nbsp;/&nbsp;<a href="../../index.html">StateMachineManager</a>&nbsp;/&nbsp;<a href="../index.html">FiberRequest</a>&nbsp;/&nbsp;<a href="index.html">ExpectingResponse</a>&nbsp;/&nbsp;<a href=".">responseType</a><br/>
<br/> <br/>
<h1>responseType</h1> <h1>responseType</h1>
<a name="core.messaging.StateMachineManager.FiberRequest.ExpectingResponse$responseType"></a> <a name="node.services.statemachine.StateMachineManager.FiberRequest.ExpectingResponse$responseType"></a>
<code><span class="keyword">val </span><span class="identifier">responseType</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">&lt;</span><span class="identifier">R</span><span class="symbol">&gt;</span></code><br/> <code><span class="keyword">val </span><span class="identifier">responseType</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">&lt;</span><span class="identifier">R</span><span class="symbol">&gt;</span></code><br/>
<br/> <br/>
<br/> <br/>

View File

@ -7,7 +7,7 @@
<a href="../../index.html">core.messaging</a>&nbsp;/&nbsp;<a href="../index.html">StateMachineManager</a>&nbsp;/&nbsp;<a href="index.html">FiberRequest</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/> <a href="../../index.html">core.messaging</a>&nbsp;/&nbsp;<a href="../index.html">StateMachineManager</a>&nbsp;/&nbsp;<a href="index.html">FiberRequest</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/>
<br/> <br/>
<h1>&lt;init&gt;</h1> <h1>&lt;init&gt;</h1>
<code><span class="identifier">FiberRequest</span><span class="symbol">(</span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any)/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any)/destination">destination</span><span class="symbol">:</span>&nbsp;<a href="../../-message-recipients.html"><span class="identifier">MessageRecipients</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any)/sessionIDForSend">sessionIDForSend</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any)/sessionIDForReceive">sessionIDForReceive</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any)/obj">obj</span><span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">)</span></code><br/> <code><span class="identifier">FiberRequest</span><span class="symbol">(</span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any)/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any)/destination">destination</span><span class="symbol">:</span>&nbsp;<a href="../../-message-recipients.html"><span class="identifier">MessageRecipients</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any)/sessionIDForSend">sessionIDForSend</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any)/sessionIDForReceive">sessionIDForReceive</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any)/obj">obj</span><span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">)</span></code><br/>
<br/> <br/>
<br/> <br/>
</BODY> </BODY>

View File

@ -7,7 +7,7 @@
<a href="../../../index.html">core.messaging</a>&nbsp;/&nbsp;<a href="../../index.html">StateMachineManager</a>&nbsp;/&nbsp;<a href="../index.html">FiberRequest</a>&nbsp;/&nbsp;<a href="index.html">NotExpectingResponse</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/> <a href="../../../index.html">core.messaging</a>&nbsp;/&nbsp;<a href="../../index.html">StateMachineManager</a>&nbsp;/&nbsp;<a href="../index.html">FiberRequest</a>&nbsp;/&nbsp;<a href="index.html">NotExpectingResponse</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/>
<br/> <br/>
<h1>&lt;init&gt;</h1> <h1>&lt;init&gt;</h1>
<code><span class="identifier">NotExpectingResponse</span><span class="symbol">(</span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest.NotExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Any)/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest.NotExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Any)/destination">destination</span><span class="symbol">:</span>&nbsp;<a href="../../../-message-recipients.html"><span class="identifier">MessageRecipients</span></a><span class="symbol">, </span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest.NotExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Any)/sessionIDForSend">sessionIDForSend</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest.NotExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Any)/obj">obj</span><span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">)</span></code><br/> <code><span class="identifier">NotExpectingResponse</span><span class="symbol">(</span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest.NotExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Any)/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest.NotExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Any)/destination">destination</span><span class="symbol">:</span>&nbsp;<a href="../../../-message-recipients.html"><span class="identifier">MessageRecipients</span></a><span class="symbol">, </span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest.NotExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Any)/sessionIDForSend">sessionIDForSend</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest.NotExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Any)/obj">obj</span><span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">)</span></code><br/>
<br/> <br/>
<br/> <br/>
</BODY> </BODY>

View File

@ -17,7 +17,7 @@
<td> <td>
<a href="-init-.html">&lt;init&gt;</a></td> <a href="-init-.html">&lt;init&gt;</a></td>
<td> <td>
<code><span class="identifier">NotExpectingResponse</span><span class="symbol">(</span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest.NotExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Any)/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest.NotExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Any)/destination">destination</span><span class="symbol">:</span>&nbsp;<a href="../../../-message-recipients.html"><span class="identifier">MessageRecipients</span></a><span class="symbol">, </span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest.NotExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Any)/sessionIDForSend">sessionIDForSend</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest.NotExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Any)/obj">obj</span><span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">)</span></code></td> <code><span class="identifier">NotExpectingResponse</span><span class="symbol">(</span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest.NotExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Any)/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest.NotExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Any)/destination">destination</span><span class="symbol">:</span>&nbsp;<a href="../../../-message-recipients.html"><span class="identifier">MessageRecipients</span></a><span class="symbol">, </span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest.NotExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Any)/sessionIDForSend">sessionIDForSend</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest.NotExpectingResponse$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Any)/obj">obj</span><span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">)</span></code></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@ -7,7 +7,7 @@
<a href="../../index.html">core.messaging</a>&nbsp;/&nbsp;<a href="../index.html">StateMachineManager</a>&nbsp;/&nbsp;<a href="index.html">FiberRequest</a>&nbsp;/&nbsp;<a href=".">destination</a><br/> <a href="../../index.html">core.messaging</a>&nbsp;/&nbsp;<a href="../index.html">StateMachineManager</a>&nbsp;/&nbsp;<a href="index.html">FiberRequest</a>&nbsp;/&nbsp;<a href=".">destination</a><br/>
<br/> <br/>
<h1>destination</h1> <h1>destination</h1>
<a name="core.messaging.StateMachineManager.FiberRequest$destination"></a> <a name="node.services.statemachine.StateMachineManager.FiberRequest$destination"></a>
<code><span class="keyword">val </span><span class="identifier">destination</span><span class="symbol">: </span><a href="../../-message-recipients.html"><span class="identifier">MessageRecipients</span></a><span class="symbol">?</span></code><br/> <code><span class="keyword">val </span><span class="identifier">destination</span><span class="symbol">: </span><a href="../../-message-recipients.html"><span class="identifier">MessageRecipients</span></a><span class="symbol">?</span></code><br/>
<br/> <br/>
<br/> <br/>

View File

@ -34,7 +34,7 @@
<td> <td>
<a href="-init-.html">&lt;init&gt;</a></td> <a href="-init-.html">&lt;init&gt;</a></td>
<td> <td>
<code><span class="identifier">FiberRequest</span><span class="symbol">(</span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any)/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any)/destination">destination</span><span class="symbol">:</span>&nbsp;<a href="../../-message-recipients.html"><span class="identifier">MessageRecipients</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any)/sessionIDForSend">sessionIDForSend</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any)/sessionIDForReceive">sessionIDForReceive</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="core.messaging.StateMachineManager.FiberRequest$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any)/obj">obj</span><span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">)</span></code></td> <code><span class="identifier">FiberRequest</span><span class="symbol">(</span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any)/topic">topic</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any)/destination">destination</span><span class="symbol">:</span>&nbsp;<a href="../../-message-recipients.html"><span class="identifier">MessageRecipients</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any)/sessionIDForSend">sessionIDForSend</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any)/sessionIDForReceive">sessionIDForReceive</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="node.services.statemachine.StateMachineManager.FiberRequest$<init>(kotlin.String, core.messaging.MessageRecipients, kotlin.Long, kotlin.Long, kotlin.Any)/obj">obj</span><span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">)</span></code></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

Some files were not shown because too many files have changed in this diff Show More