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 {
compile project(':core')
testCompile 'junit:junit:4.12'
}

View File

@ -88,7 +88,7 @@ public class JavaCommercialPaper implements Contract {
@Override
public Contract getContract() {
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

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
import co.paralleluniverse.fibers.Suspendable
import com.google.common.util.concurrent.ListenableFuture
import contracts.Cash
import contracts.sumCashBy
import core.contracts.*
@ -9,7 +8,6 @@ import core.crypto.DigitalSignature
import core.crypto.Party
import core.crypto.signWithECDSA
import core.messaging.SingleMessageRecipient
import core.messaging.StateMachineManager
import core.node.NodeInfo
import core.protocols.ProtocolLogic
import core.random63BitValue
@ -46,20 +44,6 @@ import java.security.SignatureException
object TwoPartyTradeProtocol {
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 AssetMismatchException(val expectedTypeName: String, val typeName: String) : Exception() {
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.DummyContract
import contracts.InsufficientBalanceException
import core.*
import contracts.testing.`issued by`
import contracts.testing.`owned by`
import core.contracts.*
import core.crypto.Party
import core.crypto.SecureHash
import core.serialization.OpaqueBytes
import core.testutils.*
import core.testing.*
import org.junit.Test
import java.security.PublicKey
import java.util.*

View File

@ -1,9 +1,13 @@
package contracts
import core.*
import contracts.testing.CASH
import contracts.testing.`owned by`
import core.contracts.*
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.runner.RunWith
import org.junit.runners.Parameterized
@ -149,7 +153,7 @@ class CommercialPaperTestsGeneric {
signWith(DUMMY_NOTARY_KEY)
}
val stx = ptx.toSignedTransaction()
stx.verifyToLedgerTransaction(MockIdentityService, attachments)
stx.verifyToLedgerTransaction(MOCK_IDENTITY_SERVICE, attachments)
}
val (alicesWalletTX, alicesWallet) = cashOutputsToWallet(
@ -166,7 +170,7 @@ class CommercialPaperTestsGeneric {
ptx.signWith(MINI_CORP_KEY)
ptx.signWith(ALICE_KEY)
ptx.signWith(DUMMY_NOTARY_KEY)
ptx.toSignedTransaction().verifyToLedgerTransaction(MockIdentityService, attachments)
ptx.toSignedTransaction().verifyToLedgerTransaction(MOCK_IDENTITY_SERVICE, attachments)
}
// Won't be validated.
@ -182,7 +186,7 @@ class CommercialPaperTestsGeneric {
ptx.signWith(ALICE_KEY)
ptx.signWith(MINI_CORP_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)

View File

@ -1,9 +1,13 @@
package contracts
import core.*
import contracts.testing.CASH
import contracts.testing.`owned by`
import core.contracts.*
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 java.time.Instant
import java.util.*
@ -109,7 +113,7 @@ class CrowdFundTests {
signWith(MINI_CORP_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
@ -128,7 +132,7 @@ class CrowdFundTests {
ptx.signWith(ALICE_KEY)
ptx.signWith(DUMMY_NOTARY_KEY)
// 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.
@ -143,7 +147,7 @@ class CrowdFundTests {
CrowdFund().generateClose(ptx, pledgeTX.outRef(0), miniCorpWallet)
ptx.signWith(MINI_CORP_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)

View File

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

View File

@ -21,8 +21,15 @@ repositories {
}
}
//noinspection GroovyAssignabilityCheck
configurations {
quasar
}
dependencies {
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-reflect:$kotlin_version"
@ -56,4 +63,40 @@ dependencies {
// For JSON
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.crypto.SecureHash
import core.messaging.MessagingService
import core.node.services.IdentityService
import core.node.subsystems.*
import core.node.services.*
import core.utilities.RecordingMap
import java.time.Clock
@ -24,7 +23,6 @@ interface ServiceHub {
val storageService: StorageService
val networkService: MessagingService
val networkMapCache: NetworkMapCache
val monitoringService: MonitoringService
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 core.contracts.Contract
import core.crypto.Party
import core.crypto.SecureHash
import core.messaging.MessagingService
import core.node.NodeInfo
import core.node.services.*
import core.serialization.deserialize
import core.serialization.serialize
import core.node.services.ServiceType
import org.slf4j.LoggerFactory
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

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.crypto.Party
import core.crypto.SecureHash
import core.node.services.AttachmentStorage
import core.node.storage.CheckpointStorage
import java.security.KeyPair
import java.security.PrivateKey
import java.security.PublicKey
@ -128,8 +125,6 @@ interface StorageService {
*/
val validatedTransactions: MutableMap<SecureHash, SignedTransaction>
val checkpointStorage: CheckpointStorage
/** Provides access to storage of arbitrary JAR files (which may contain only data, no code). */
val attachments: AttachmentStorage
@ -141,9 +136,4 @@ interface StorageService {
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.Output
import com.esotericsoftware.kryo.serializers.JavaSerializer
import core.*
import core.contracts.*
import core.crypto.SecureHash
import core.crypto.generateKeyPair

View File

@ -1,17 +1,15 @@
@file:Suppress("UNUSED_PARAMETER", "UNCHECKED_CAST")
package core.testutils
package core.testing
import com.google.common.base.Throwables
import com.google.common.net.HostAndPort
import contracts.*
import core.*
import core.contracts.*
import core.crypto.*
import core.node.AbstractNode
import core.serialization.serialize
import core.testing.MockIdentityService
import core.visualiser.GraphVisualiser
import core.node.services.testing.MockIdentityService
import core.node.services.testing.MockStorageService
import java.net.ServerSocket
import java.security.KeyPair
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 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 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.
@ -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
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) {
override fun toString() = state.toString() + (if (label != null) " ($label)" else "")
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) }
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) {
@ -177,7 +146,7 @@ open class TransactionForTest : AbstractTransactionForTest() {
protected fun runCommandsAndVerify(time: Instant) {
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()
}
@ -334,8 +303,8 @@ class TransactionGroupDSL<T : ContractState>(private val stateType: Class<T>) {
}
fun toTransactionGroup() = TransactionGroup(
txns.map { it.toLedgerTransaction(MockIdentityService, MockStorageService().attachments) }.toSet(),
rootTxns.map { it.toLedgerTransaction(MockIdentityService, MockStorageService().attachments) }.toSet()
txns.map { it.toLedgerTransaction(MOCK_IDENTITY_SERVICE, 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)
@ -361,11 +330,6 @@ class TransactionGroupDSL<T : ContractState>(private val stateType: Class<T>) {
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> {
return txnsToSign.map { wtx ->
val allPubKeys = wtx.commands.flatMap { it.signers }.toMutableSet()

View File

@ -1,15 +1,43 @@
package core
package core.contracts
import contracts.Cash
import core.contracts.*
import core.testutils.*
import core.crypto.Party
import core.crypto.SecureHash
import core.node.services.testing.MockStorageService
import core.testing.*
import org.junit.Test
import java.security.PublicKey
import java.security.SecureRandom
import kotlin.test.assertEquals
import kotlin.test.assertFailsWith
import kotlin.test.assertNotEquals
val TEST_PROGRAM_ID = TransactionGroupTests.TestCash()
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
fun success() {
@ -21,13 +49,13 @@ class TransactionGroupTests {
transaction {
input("£1000")
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 {
input("alice's £1000")
arg(ALICE_PUBKEY) { Cash.Commands.Move() }
arg(MINI_CORP_PUBKEY) { Cash.Commands.Exit(1000.POUNDS) }
arg(ALICE_PUBKEY) { TestCash.Commands.Move() }
arg(MINI_CORP_PUBKEY) { TestCash.Commands.Exit(1000.POUNDS) }
}
verify()
@ -39,7 +67,7 @@ class TransactionGroupTests {
transactionGroup {
val t = transaction {
output("cash") { A_THOUSAND_POUNDS }
arg(MINI_CORP_PUBKEY) { Cash.Commands.Issue() }
arg(MINI_CORP_PUBKEY) { TestCash.Commands.Issue() }
}
val conflict1 = transaction {
@ -47,7 +75,7 @@ class TransactionGroupTests {
val HALF = A_THOUSAND_POUNDS.copy(amount = 500.POUNDS) `owned by` BOB_PUBKEY
output { HALF }
output { HALF }
arg(MINI_CORP_PUBKEY) { Cash.Commands.Move() }
arg(MINI_CORP_PUBKEY) { TestCash.Commands.Move() }
}
verify()
@ -58,7 +86,7 @@ class TransactionGroupTests {
val HALF = A_THOUSAND_POUNDS.copy(amount = 500.POUNDS) `owned by` ALICE_PUBKEY
output { HALF }
output { HALF }
arg(MINI_CORP_PUBKEY) { Cash.Commands.Move() }
arg(MINI_CORP_PUBKEY) { TestCash.Commands.Move() }
}
assertNotEquals(conflict1, conflict2)
@ -77,7 +105,7 @@ class TransactionGroupTests {
val tg = transactionGroup {
transaction {
output("cash") { A_THOUSAND_POUNDS }
arg(MINI_CORP_PUBKEY) { Cash.Commands.Issue() }
arg(MINI_CORP_PUBKEY) { TestCash.Commands.Issue() }
}
transaction {
@ -92,7 +120,7 @@ class TransactionGroupTests {
tg.txns += TransactionBuilder().apply {
addInputState(input)
addOutputState(A_THOUSAND_POUNDS)
addCommand(Cash.Commands.Move(), BOB_PUBKEY)
addCommand(TestCash.Commands.Move(), BOB_PUBKEY)
}.toWireTransaction()
val e = assertFailsWith(TransactionResolutionException::class) {
@ -113,7 +141,7 @@ class TransactionGroupTests {
input("£1000")
input("£1000")
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) {
@ -127,25 +155,25 @@ class TransactionGroupTests {
val signedTxns: List<SignedTransaction> = transactionGroup {
transaction {
output("£1000") { A_THOUSAND_POUNDS }
arg(MINI_CORP_PUBKEY) { Cash.Commands.Issue() }
arg(MINI_CORP_PUBKEY) { TestCash.Commands.Issue() }
}
transaction {
input("£1000")
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 {
input("alice's £1000")
arg(ALICE_PUBKEY) { Cash.Commands.Move() }
arg(MINI_CORP_PUBKEY) { Cash.Commands.Exit(1000.POUNDS) }
arg(ALICE_PUBKEY) { TestCash.Commands.Move() }
arg(MINI_CORP_PUBKEY) { TestCash.Commands.Exit(1000.POUNDS) }
}
}.signAll()
// Now go through the conversion -> verification path with them.
val ltxns = signedTxns.map {
it.verifyToLedgerTransaction(MockIdentityService, MockStorageService().attachments)
it.verifyToLedgerTransaction(MOCK_IDENTITY_SERVICE, MockStorageService().attachments)
}.toSet()
TransactionGroup(ltxns, emptySet()).verify()
}

View File

@ -1,15 +1,13 @@
package core.node
import contracts.DUMMY_PROGRAM_ID
import contracts.DummyContract
import core.*
import core.contracts.*
import core.crypto.Party
import core.crypto.SecureHash
import core.node.services.AttachmentStorage
import core.node.services.testing.MockAttachmentStorage
import core.serialization.*
import core.testutils.DUMMY_NOTARY
import core.testutils.MEGA_CORP
import core.testing.DUMMY_NOTARY
import core.testing.MEGA_CORP
import org.apache.commons.io.IOUtils
import org.junit.Test
import java.io.ByteArrayInputStream
@ -26,11 +24,36 @@ interface DummyContractBackdoor {
fun inspectState(state: ContractState): Int
}
val ATTACHMENT_TEST_PROGRAM_ID = AttachmentClassLoaderTests.AttachmentDummyContract()
class AttachmentClassLoaderTests {
companion object {
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) }
// These ClassLoaders work together to load 'AnotherDummyContract' in a disposable way, such that even though
@ -123,7 +146,7 @@ class AttachmentClassLoaderTests {
@Test
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
assertNotNull(contract)
@ -186,13 +209,13 @@ class AttachmentClassLoaderTests {
@Test
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 bytes = wireTransaction.serialize()
val copiedWireTransaction = bytes.deserialize()
assertEquals(1, copiedWireTransaction.outputs.size)
assertEquals(42, (copiedWireTransaction.outputs[0] as DummyContract.State).magicNumber)
assertEquals(42, (copiedWireTransaction.outputs[0] as AttachmentDummyContract.State).magicNumber)
}
@Test

View File

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

View File

@ -1,21 +1,48 @@
package core.serialization
import contracts.Cash
import core.*
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.Test
import java.security.PublicKey
import java.security.SecureRandom
import java.security.SignatureException
import kotlin.test.assertEquals
import kotlin.test.assertFailsWith
val TEST_PROGRAM_ID = TransactionSerializationTests.TestCash()
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.
val depositRef = MINI_CORP.ref(1)
val outputState = Cash.State(depositRef, 600.POUNDS, DUMMY_PUBKEY_1, DUMMY_NOTARY)
val changeState = Cash.State(depositRef, 400.POUNDS, TestUtils.keypair.public, DUMMY_NOTARY)
val outputState = TestCash.State(depositRef, 600.POUNDS, DUMMY_PUBKEY_1, DUMMY_NOTARY)
val changeState = TestCash.State(depositRef, 400.POUNDS, TestUtils.keypair.public, DUMMY_NOTARY)
val fakeStateRef = generateStateRef()
lateinit var tx: TransactionBuilder
@ -23,7 +50,7 @@ class TransactionSerializationTests {
@Before
fun setup() {
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.
assertFailsWith(SignatureException::class) {
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)
signedTX.copy(sigs = tx2.toSignedTransaction().sigs).verify()
@ -73,7 +100,7 @@ class TransactionSerializationTests {
tx.signWith(TestUtils.keypair)
tx.signWith(DUMMY_NOTARY_KEY)
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.inputStates(), ltx.inputs)
assertEquals(tx.outputStates(), ltx.outputs)

View File

@ -9,7 +9,7 @@
<tbody>
<tr>
<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>
<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
@ -18,20 +18,20 @@ if the terminal supports it. Otherwise it just prints out the name of the step w
</tr>
<tr>
<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>
<p>Top level interface to external interaction with the distributed ledger.</p>
</td>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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>
@ -39,7 +39,7 @@ I/O), or a mock implementation suitable for unit test environments.</p>
</tr>
<tr>
<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>
<p>Abstract superclass for services that a node can host, which provides helper functions.</p>
</td>
@ -54,7 +54,7 @@ fields such as replyTo and replyToTopic.</p>
</tr>
<tr>
<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>
<p>A service that implements AcceptsFileUpload can have new binary data provided to it via an HTTP upload.</p>
</td>
@ -69,14 +69,14 @@ We dont actually do anything with this yet though, so its ignored for now.</p>
</tr>
<tr>
<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>
<p>Enum for when adding/removing something, for example adding or removing an entry in a directory.</p>
</td>
</tr>
<tr>
<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>
<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>
@ -98,7 +98,7 @@ for ensuring code runs on the right thread, and also for unit testing.</p>
</tr>
<tr>
<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>
<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
@ -117,7 +117,7 @@ of how attachments are meant to be used include:</p>
</tr>
<tr>
<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>
<p>Allows the node administrator to either download full attachment zips, or individual files within those zips.</p>
</td>
@ -195,13 +195,13 @@ the same transaction.</p>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<p>Thread-safe storage of fiber checkpoints.</p>
</td>
@ -235,7 +235,7 @@ the same transaction.</p>
</tr>
<tr>
<td>
<a href="../api/-config/index.html">api.Config</a></td>
<a href="../api/-config/index.html">node.servlets.Config</a></td>
<td>
<p>Primary purpose is to install Kotlin extensions for Jackson ObjectMapper so data classes work
and to organise serializers / deserializers for java.time.* classes as necessary</p>
@ -243,7 +243,7 @@ and to organise serializers / deserializers for java.time.* classes as necessary
</tr>
<tr>
<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>
</tr>
@ -259,20 +259,20 @@ timestamp attached to the transaction itself i.e. it is NOT necessarily the curr
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<p>Encapsulates the contract type. e.g. Cash or CommercialPaper etc.</p>
</td>
</tr>
<tr>
<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>
</tr>
@ -303,14 +303,14 @@ return the funds to the pledge-makers (if the target has not been reached).</p>
</tr>
<tr>
<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>
<p>Accepts binary streams, finds the right <a href="../core.node/-accepts-file-upload/index.html">AcceptsFileUpload</a> implementor and hands the stream off to it.</p>
</td>
</tr>
<tr>
<td>
<a href="../core.node.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>
<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>
@ -407,7 +407,7 @@ building partially signed transactions.</p>
</tr>
<tr>
<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>
<p>A simple in-memory KMS that doesnt bother saving keys to disk. A real implementation would:</p>
</td>
@ -534,7 +534,7 @@ that would divide into (eg annually = 1, semiannual = 2, monthly = 12 etc).</p>
</tr>
<tr>
<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>
<p>A simulation in which banks execute interest rate swaps with each other, including the fixing events.</p>
</td>
@ -558,14 +558,14 @@ set via the constructor and the class is immutable.</p>
</tr>
<tr>
<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>
<p>Simple identity service which caches parties and provides functionality for efficient lookup.</p>
</td>
</tr>
<tr>
<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>
<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
@ -576,14 +576,14 @@ testing).</p>
</tr>
<tr>
<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>
<p>Extremely simple in-memory cache of the network map.</p>
</td>
</tr>
<tr>
<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>
</tr>
@ -649,7 +649,7 @@ This is just a representation of a vanilla Fixed vs Floating (same currency) IRS
</tr>
<tr>
<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>
<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>
@ -657,7 +657,7 @@ the java.time API, some core types, and Kotlin data classes.</p>
</tr>
<tr>
<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>
<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>
@ -765,7 +765,7 @@ may let you cast the returned future to an object that lets you get status info.
</tr>
<tr>
<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>
<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
@ -775,7 +775,7 @@ MockNetwork code.</p>
</tr>
<tr>
<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>
<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>
@ -783,7 +783,7 @@ Components that do IO are either swapped out for mocks, or pointed to a <a href=
</tr>
<tr>
<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>
<p>Network map cache with no backing map service.</p>
</td>
@ -805,13 +805,13 @@ This is not an interface because it is too lightweight to bother mocking out.</p
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<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
@ -821,7 +821,7 @@ with a specified network map service, which it fetches data from and then subscr
</tr>
<tr>
<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>
<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
@ -831,7 +831,7 @@ replace each other based on a serial number present in the change.</p>
</tr>
<tr>
<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>
<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>
@ -839,20 +839,20 @@ loads important data off disk and starts listening for connections.</p>
</tr>
<tr>
<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>
<p>Stores attachments in the specified local directory, which must exist. Doesnt allow new attachments to be uploaded.</p>
</td>
</tr>
<tr>
<td>
<a href="../core.node/-node-configuration/index.html">core.node.NodeConfiguration</a></td>
<a href="../core.node/-node-configuration/index.html">node.services.config.NodeConfiguration</a></td>
<td>
</td>
</tr>
<tr>
<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>
</tr>
@ -865,7 +865,7 @@ loads important data off disk and starts listening for connections.</p>
</tr>
<tr>
<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>
<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>
@ -873,13 +873,13 @@ rate fix (e.g. LIBOR, EURIBOR ...).</p>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
<p>A node registration state in the network map.</p>
</td>
@ -894,7 +894,7 @@ add features like checking against other NTP servers to make sure the clock hasn
</tr>
<tr>
<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>
<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
@ -959,7 +959,7 @@ ledger. The reference is intended to be encrypted so its meaningless to anyone o
</tr>
<tr>
<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>
<p>File-based checkpoint storage, storing checkpoints per file.</p>
</td>
@ -1003,13 +1003,13 @@ a singleton).</p>
</tr>
<tr>
<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>
</tr>
<tr>
<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>
</tr>
@ -1024,14 +1024,14 @@ a node crash, how many instances of your protocol there are running and so on.</
</tr>
<tr>
<td>
<a href="../api/-protocol-ref.html">api.ProtocolRef</a></td>
<a href="../api/-protocol-ref.html">node.api.ProtocolRef</a></td>
<td>
<p>Encapsulates the protocol to be instantiated. e.g. TwoPartyTradeProtocol.Buyer.</p>
</td>
</tr>
<tr>
<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>
<p>Thinking that Instant is OK for short lived protocol deadlines.</p>
</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>
<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>
<p>Placeholder interface for regulator services.</p>
</td>
@ -1125,7 +1125,7 @@ all the transactions have been successfully verified and inserted into the local
</tr>
<tr>
<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>
<p>This adds headers needed for cross site scripting on API clients</p>
</td>
@ -1187,7 +1187,7 @@ contained within.</p>
</tr>
<tr>
<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>
<p>Base class for network simulations that are based on the unit test / mock environment.</p>
</td>
@ -1209,7 +1209,7 @@ Points at which polynomial pieces connect are known as <emph>knots</emph>.</p>
</tr>
<tr>
<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>
</tr>
@ -1222,7 +1222,7 @@ Points at which polynomial pieces connect are known as <emph>knots</emph>.</p>
</tr>
<tr>
<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>
<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>
@ -1238,14 +1238,14 @@ transaction defined the state and where in that transaction it was.</p>
</tr>
<tr>
<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>
<p>Extremely rudimentary query language which should most likely be replaced with a product</p>
</td>
</tr>
<tr>
<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>
<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
@ -1254,7 +1254,7 @@ anything like that, this interface is only big enough to support the prototyping
</tr>
<tr>
<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>
</tr>
@ -1335,7 +1335,7 @@ themselves.</p>
</tr>
<tr>
<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>
<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>
@ -1355,7 +1355,7 @@ then B and C trade with each other, then C and A etc).</p>
</tr>
<tr>
<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>
<p>Encapsulate a generateXXX method call on a contract.</p>
</td>
@ -1469,7 +1469,7 @@ intended as the way things will necessarily be done longer term</p>
</tr>
<tr>
<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>
<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
@ -1479,7 +1479,7 @@ about new transactions from our peers and generate new transactions that consume
</tr>
<tr>
<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>
<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
@ -1489,7 +1489,7 @@ about new transactions from our peers and generate new transactions that consume
</tr>
<tr>
<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>
<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
@ -1499,7 +1499,7 @@ consumed by someone else first</p>
</tr>
<tr>
<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>
<p>A node registration and its signature as a pair.</p>
</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/>
<br/>
<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/>
</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/>
<br/>
<h1>buildTransaction</h1>
<a name="api.APIServerImpl$buildTransaction(api.ContractDefRef, kotlin.collections.List((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/>
<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="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/>
<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)

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/>
<br/>
<h1>commitTransaction</h1>
<a name="api.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/>
<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="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/>
<p>Attempt to commit transaction (returned from build transaction) with the necessary signatures for that to be
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/>
<br/>
<h1>fetchProtocolsRequiringAttention</h1>
<a name="api.APIServerImpl$fetchProtocolsRequiringAttention(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/>
<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="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/>
<p>Fetch protocols that require a response to some prompt/question by a human (on the "bank" side).</p>
<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/>
<br/>
<h1>fetchStates</h1>
<a name="api.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/>
<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="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/>
<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/>
<br/>
<h1>fetchTransactions</h1>
<a name="api.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/>
<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="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/>
<p>Query for immutable transactions (results can be cached indefinitely by their id/hash).</p>
<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/>
<br/>
<h1>generateTransactionSignature</h1>
<a name="api.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/>
<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="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/>
<p>Generate a signature for this transaction signed by us.</p>
<br/>

View File

@ -17,7 +17,7 @@
<td>
<a href="-init-.html">&lt;init&gt;</a></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>
</tbody>
</table>
@ -39,7 +39,7 @@
<td>
<a href="build-transaction.html">buildTransaction</a></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)
which would automatically be passed as the first argument (wed need that to be a criteria/pattern of the generateXXX methods).</p>
</td>
@ -48,7 +48,7 @@ which would automatically be passed as the first argument (wed need that to be a
<td>
<a href="commit-transaction.html">commitTransaction</a></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>
</td>
</tr>
@ -56,48 +56,48 @@ successful, otherwise exception is thrown.</p>
<td>
<a href="fetch-protocols-requiring-attention.html">fetchProtocolsRequiringAttention</a></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>
</tr>
<tr>
<td>
<a href="fetch-states.html">fetchStates</a></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>
<td>
<a href="fetch-transactions.html">fetchTransactions</a></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>
</tr>
<tr>
<td>
<a href="generate-transaction-signature.html">generateTransactionSignature</a></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>
</tr>
<tr>
<td>
<a href="invoke-protocol-sync.html">invokeProtocolSync</a></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>
</tr>
<tr>
<td>
<a href="provide-protocol-response.html">provideProtocolResponse</a></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>
</tr>
<tr>
<td>
<a href="query-states.html">queryStates</a></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 avoid calling fetchLedgerTransactions() many times.</p>
</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/>
<br/>
<h1>invokeProtocolSync</h1>
<a name="api.APIServerImpl$invokeProtocolSync(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/>
<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="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/>
<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

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/>
<br/>
<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/>
<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/>
<br/>
<h1>provideProtocolResponse</h1>
<a name="api.APIServerImpl$provideProtocolResponse(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/>
<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="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/>
<p>Provide the response that a protocol is waiting for.</p>
<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/>
<br/>
<h1>queryStates</h1>
<a name="api.APIServerImpl$queryStates(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/>
<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="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/>
<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

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/>
<br/>
<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/>
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>

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/>
<br/>
<h1>buildTransaction</h1>
<a name="api.APIServer$buildTransaction(api.ContractDefRef, kotlin.collections.List((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/>
<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="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
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>

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/>
<br/>
<h1>commitTransaction</h1>
<a name="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/>
<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="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
successful, otherwise exception is thrown.</p>
<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/>
<br/>
<h1>fetchProtocolsRequiringAttention</h1>
<a name="api.APIServer$fetchProtocolsRequiringAttention(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/>
<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="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>
<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/>
<br/>
<h1>fetchStates</h1>
<a name="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/>
<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="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/>
</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/>
<br/>
<h1>fetchTransactions</h1>
<a name="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/>
<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="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>
<h3>Parameters</h3>
<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/>
<br/>
<h1>generateTransactionSignature</h1>
<a name="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/>
<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="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>
<br/>
<br/>

View File

@ -22,7 +22,7 @@ where a null indicates "missing" and the elements returned will be in the order
<td>
<a href="build-transaction.html">buildTransaction</a></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)
which would automatically be passed as the first argument (wed need that to be a criteria/pattern of the generateXXX methods).</p>
</td>
@ -31,7 +31,7 @@ which would automatically be passed as the first argument (wed need that to be a
<td>
<a href="commit-transaction.html">commitTransaction</a></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>
</td>
</tr>
@ -39,48 +39,48 @@ successful, otherwise exception is thrown.</p>
<td>
<a href="fetch-protocols-requiring-attention.html">fetchProtocolsRequiringAttention</a></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>
</tr>
<tr>
<td>
<a href="fetch-states.html">fetchStates</a></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>
<td>
<a href="fetch-transactions.html">fetchTransactions</a></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>
</tr>
<tr>
<td>
<a href="generate-transaction-signature.html">generateTransactionSignature</a></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>
</tr>
<tr>
<td>
<a href="invoke-protocol-sync.html">invokeProtocolSync</a></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>
</tr>
<tr>
<td>
<a href="provide-protocol-response.html">provideProtocolResponse</a></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>
</tr>
<tr>
<td>
<a href="query-states.html">queryStates</a></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 avoid calling fetchLedgerTransactions() many times.</p>
</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/>
<br/>
<h1>invokeProtocolSync</h1>
<a name="api.APIServer$invokeProtocolSync(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/>
<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="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>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>

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/>
<br/>
<h1>provideProtocolResponse</h1>
<a name="api.APIServer$provideProtocolResponse(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/>
<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="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>
<h3>Parameters</h3>
<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/>
<br/>
<h1>queryStates</h1>
<a name="api.APIServer$queryStates(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/>
<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="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
to probably be later inflated by fetchLedgerTransactions() or fetchStates() although because immutable you can cache them
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/>
<br/>
<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/>
<p>Report current UTC time as understood by the platform.</p>
<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/>
<br/>
<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
and to organise serializers / deserializers for java.time.* classes as necessary</p>
<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/>
<br/>
<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/>
<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/>
<br/>
<h1>getContext</h1>
<a name="api.Config$getContext(java.lang.Class((kotlin.Any)))"></a>
<code><span class="keyword">fun </span><span class="identifier">getContext</span><span class="symbol">(</span><span class="identifier" id="api.Config$getContext(java.lang.Class((kotlin.Any)))/type">type</span><span class="symbol">:</span>&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/>
<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="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/>
</BODY>

View File

@ -19,7 +19,7 @@ and to organise serializers / deserializers for java.time.* classes as necessary
<td>
<a href="-init-.html">&lt;init&gt;</a></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>
</td>
</tr>
@ -49,7 +49,7 @@ and to organise serializers / deserializers for java.time.* classes as necessary
<td>
<a href="get-context.html">getContext</a></td>
<td>
<code><span class="keyword">fun </span><span class="identifier">getContext</span><span class="symbol">(</span><span class="identifier" id="api.Config$getContext(java.lang.Class((kotlin.Any)))/type">type</span><span class="symbol">:</span>&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>
</tbody>
</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/>
<br/>
<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/>
<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/>
<br/>
<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/>
</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/>
<br/>
<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/>
<br/>
<br/>

View File

@ -17,7 +17,7 @@
<td>
<a href="-init-.html">&lt;init&gt;</a></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>
</tbody>
</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/>
<br/>
<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/>
</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/>
<br/>
<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/>
<br/>
<br/>

View File

@ -17,7 +17,7 @@
<td>
<a href="-init-.html">&lt;init&gt;</a></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>
</tbody>
</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/>
<br/>
<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>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.

View File

@ -31,7 +31,7 @@ or if the demodate or population of deals should be reset (will only work while
<td>
<a href="-init-.html">&lt;init&gt;</a></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>
</tr>
</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/>
<br/>
<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/>
</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/>
<br/>
<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/>
<br/>
<br/>

View File

@ -17,7 +17,7 @@
<td>
<a href="-init-.html">&lt;init&gt;</a></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>
</tbody>
</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/>
<br/>
<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/>
</BODY>

View File

@ -17,7 +17,7 @@
<td>
<a href="-init-.html">&lt;init&gt;</a></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>
</tbody>
</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/>
<br/>
<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/>
<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/>
<br/>
<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/>
<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/>
<br/>
<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/>
<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/>
<br/>
<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>
<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/>
<br/>
<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/>
<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/>
<br/>
<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/>
<br/>
<br/>

View File

@ -18,7 +18,7 @@
<td>
<a href="-init-.html">&lt;init&gt;</a></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>
</tr>
</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/>
<br/>
<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/>
<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/>
<br/>
<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/>
<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/>
<br/>
<h1>filter</h1>
<a name="api.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/>
<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="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/>
</BODY>

View File

@ -30,7 +30,7 @@
<td>
<a href="filter.html">filter</a></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>
</tbody>
</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/>
<br/>
<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/>
</BODY>

View File

@ -17,7 +17,7 @@
<td>
<a href="-init-.html">&lt;init&gt;</a></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>
</tbody>
</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/>
<br/>
<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/>
<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/>
<br/>
<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/>
</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/>
<br/>
<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/>
<br/>
<br/>

View File

@ -17,7 +17,7 @@
<td>
<a href="-init-.html">&lt;init&gt;</a></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>
</tbody>
</table>

View File

@ -35,7 +35,7 @@
<td>
<a href="select.html">select</a></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>
<td>
@ -47,7 +47,7 @@
<td>
<a href="select-deal.html">selectDeal</a></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>
</tbody>
</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/>
<br/>
<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/>
<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/>
<br/>
<h1>selectDeal</h1>
<a name="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/>
<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="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/>
</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/>
<br/>
<h1>select</h1>
<a name="api.StatesQuery.Companion$select(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/>
<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="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/>
</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/>
<br/>
<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>
<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/>
<br/>
<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/>
<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/>
<br/>
<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/>
<br/>
<br/>

View File

@ -18,7 +18,7 @@
<td>
<a href="-init-.html">&lt;init&gt;</a></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>
</tr>
</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/>
<br/>
<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/>
</BODY>

View File

@ -17,7 +17,7 @@
<td>
<a href="-init-.html">&lt;init&gt;</a></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>
</tbody>
</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/>
<br/>
<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/>
<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/>
<br/>
<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/>
</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/>
<br/>
<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/>
</BODY>

View File

@ -17,7 +17,7 @@
<td>
<a href="-init-.html">&lt;init&gt;</a></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>
</tbody>
</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/>
<br/>
<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/>
<br/>
<br/>

View File

@ -34,7 +34,7 @@
<td>
<a href="-init-.html">&lt;init&gt;</a></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>
</tbody>
</table>

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