Package-level declarations

Types

Link copied to clipboard
data class Balance(var balance: Long, var confirmed: Long, var unconfirmed: Long)
Link copied to clipboard
Link copied to clipboard
class InteractiveMultisigDestination(chain: ChainSelector, var walletName: String, var contractName: String, var convoSecret: ByteArray, var minSigs: Int, var pubkeys: Array<Bytes>, var privkeys: Array<Secret?>, var comms: ProtocolCommunication) : Pay2TemplateDestination
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

this class tracks and completes the spend of a single input of a transaction

Link copied to clipboard
class MultisigWalletContract(val name: String, val account: Wallet) : WalletContract
Link copied to clipboard
Link copied to clipboard
interface TextUI

Contracts have a UI; they need to display stuff and solicit user input. This defines a text-based interface into contracts. You can ask the WalletContract for a particular UI bu class via the WalletContract.ui function.

Link copied to clipboard
interface WalletContract
Link copied to clipboard

Properties

Link copied to clipboard
val contractCoCtxt: CloseableCoroutineDispatcher
Link copied to clipboard
val multisigLock: iMutex

This map makes sure multiple interactions with the same transaction resolve to a single object in memory

Link copied to clipboard
Link copied to clipboard
val OneImdLock: iMutex

Functions

Link copied to clipboard
fun formMultisig(cs: ChainSelector, requiredSigs: Int, dests: Array<Bytes>): SatoshiScript
Link copied to clipboard

Given an invitation from someone else, call this function to begin the formation of a multi-party contract

Link copied to clipboard

Deserialize an InteractiveMultisigDestination

fun interactiveMultisigDestinationOf(chainSelector: ChainSelector, walletName: String, contractName: String, convoSecret: ByteArray, minSigs: Int, pubkeys: Array<Bytes>, privkeys: Array<Secret?>, comms: ProtocolCommunication): InteractiveMultisigDestination

Create a InteractiveMultisigDestination, storing this object for later use since we really need one per destination to share communications channels

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
inline fun <T> WalletContract.ui(): T?

Return an object of the expected Wallet Contract Interface