public class ContractsService
extends java.lang.Object
Constructor | Description |
---|---|
ContractsService() |
Modifier and Type | Method | Description |
---|---|---|
static Contract |
addConsent(Contract source,
com.icodici.crypto.KeyAddress... consentKeyAddresses) |
Update source contract so it can not be registered without valid Consent contract, created in this call.
|
static boolean |
addPaymentToEscrowContract(Contract escrow,
Contract payment,
java.util.Collection<com.icodici.crypto.PrivateKey> paymentOwnerKeys,
java.util.Collection<com.icodici.crypto.PublicKey> customerKeys,
java.util.Collection<com.icodici.crypto.PublicKey> executorKeys) |
Checks external escrow contract and add payment contract to it.
|
static Contract |
addReferenceToContract(Contract baseContract,
Contract refContract,
java.lang.String refName,
int refType,
java.util.List<java.lang.String> listConditions,
boolean isAllOfConditions) |
Add to base
Contract reference and referenced contract. |
static Contract |
addReferenceToContract(Contract baseContract,
Contract refContract,
java.lang.String refName,
int refType,
net.sergeych.tools.Binder conditions) |
Add to base
Contract reference and referenced contract. |
static Contract |
cancelEscrowContract(Contract escrow) |
Cancels escrow contract.
|
static boolean |
checkAttachNotaryContract(Contract notaryContract,
java.lang.String filePaths) |
Check the data attached to the notary contract
|
static Contract |
completeEscrowContract(Contract escrow) |
Completes escrow contract.
|
static Contract |
createBatch(java.util.Collection<com.icodici.crypto.PrivateKey> keys,
Contract... contracts) |
Create a batch contract, which registers all the included contracts, possibily referencing each other,
in the single transaction, saving time and reducing U cost.
|
static Contract |
createEscrowContract(java.util.Collection<com.icodici.crypto.PrivateKey> issuerKeys,
java.util.Collection<com.icodici.crypto.PublicKey> customerKeys,
java.util.Collection<com.icodici.crypto.PublicKey> executorKeys,
java.util.Collection<com.icodici.crypto.PublicKey> arbitratorKeys) |
Create escrow contracts (external and internal) for a expiration period of 5 years.
|
static Contract |
createExternalEscrowContract(Contract internalEscrow,
java.util.Collection<com.icodici.crypto.PrivateKey> issuerKeys) |
Creates external escrow contract for a expiration period of 5 years.
|
static FollowerContract |
createFollowerContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys,
java.util.Set<com.icodici.crypto.PublicKey> ownerKeys,
NSmartContract.NodeInfoProvider nodeInfoProvider) |
Create and return ready
FollowerContract contract with need permissions and values. |
static Contract |
createInternalEscrowContract(java.util.Collection<com.icodici.crypto.PrivateKey> issuerKeys,
java.util.Collection<com.icodici.crypto.PublicKey> customerKeys,
java.util.Collection<com.icodici.crypto.PublicKey> executorKeys,
java.util.Collection<com.icodici.crypto.PublicKey> arbitratorKeys) |
Creates internal escrow contract for a expiration period of 5 years.
|
static Contract |
createJoin(Contract contract1,
Contract contract2,
java.lang.String fieldName,
java.util.Set<com.icodici.crypto.PrivateKey> keys) |
Implementing join procedure.
|
static Contract |
createMintableTokenContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys,
java.util.Set<com.icodici.crypto.PublicKey> ownerKeys,
java.lang.String amount,
java.lang.Double minValue) |
Deprecated.
|
static Contract |
createMintableTokenContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys,
java.util.Set<com.icodici.crypto.PublicKey> ownerKeys,
java.lang.String amount,
java.lang.Double minValue,
java.lang.String currency,
java.lang.String name,
java.lang.String description) |
Deprecated.
|
static Contract |
createMintableTokenContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys,
java.util.Set<com.icodici.crypto.PublicKey> ownerKeys,
java.math.BigDecimal amount) |
|
static Contract |
createMintableTokenContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys,
java.util.Set<com.icodici.crypto.PublicKey> ownerKeys,
java.math.BigDecimal amount,
java.math.BigDecimal minValue) |
|
static Contract |
createMintableTokenContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys,
java.util.Set<com.icodici.crypto.PublicKey> ownerKeys,
java.math.BigDecimal amount,
java.math.BigDecimal minValue,
java.lang.String currency,
java.lang.String name,
java.lang.String description) |
Creates a mintable token contract for given keys with given currency code,name,description.
|
static Contract |
createNotaryContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys,
java.util.Set<com.icodici.crypto.PublicKey> ownerKeys) |
Creates a simple notary contract for given keys.
|
static Contract |
createNotaryContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys,
java.util.Set<com.icodici.crypto.PublicKey> ownerKeys,
java.util.List<java.lang.String> filePaths) |
Creates a simple notary contract for given keys and attach the data to notary contract.
|
static Contract |
createNotaryContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys,
java.util.Set<com.icodici.crypto.PublicKey> ownerKeys,
java.util.List<java.lang.String> filePaths,
java.util.List<java.lang.String> fileDescriptions) |
Creates a simple notary contract for given keys, attach the data file to notary contract and attach the
data file descriptions.
|
static Parcel |
createParcel(Contract payload,
Contract payment,
int amount,
java.util.Set<com.icodici.crypto.PrivateKey> keys) |
Create paid transaction, which consist from contract you want to register and payment contract that will be
spend to process transaction.
|
static Parcel |
createParcel(Contract payload,
Contract payment,
int amount,
java.util.Set<com.icodici.crypto.PrivateKey> keys,
boolean withTestPayment) |
Create paid transaction, which consist from contract you want to register and payment contract that will be
spend to process transaction.
|
static Parcel |
createParcel(TransactionPack payload,
Contract payment,
int amount,
java.util.Set<com.icodici.crypto.PrivateKey> keys) |
Create paid transaction, which consist from prepared TransactionPack you want to register
and payment contract that will be
spend to process transaction.
|
static Parcel |
createParcel(TransactionPack payload,
Contract payment,
int amount,
java.util.Set<com.icodici.crypto.PrivateKey> keys,
boolean withTestPayment) |
Create paid transaction, which consist from prepared TransactionPack you want to register
and payment contract that will be
spend to process transaction.
|
static Parcel |
createPayingParcel(TransactionPack payload,
Contract payment,
int amount,
int amountSecond,
java.util.Set<com.icodici.crypto.PrivateKey> keys,
boolean withTestPayment) |
Create paid transaction, which consist from prepared TransactionPack you want to register
and payment contract that will be spend to process transaction.
|
static Contract |
createRateLimitDisablingContract(com.icodici.crypto.PublicKey key,
Contract payment,
int amount,
java.util.Set<com.icodici.crypto.PrivateKey> keys) |
Creates special contract to set unlimited requests for the
PublicKey . |
static Contract |
createRevocation(Contract c,
com.icodici.crypto.PrivateKey... keys) |
Implementing revoking procedure.
|
static Contract |
createShareContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys,
java.util.Set<com.icodici.crypto.PublicKey> ownerKeys,
java.lang.String amount) |
Deprecated.
|
static Contract |
createShareContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys,
java.util.Set<com.icodici.crypto.PublicKey> ownerKeys,
java.math.BigDecimal amount) |
Creates a share contract for given keys.
|
static SlotContract |
createSlotContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys,
java.util.Set<com.icodici.crypto.PublicKey> ownerKeys,
NSmartContract.NodeInfoProvider nodeInfoProvider) |
Create and return ready
SlotContract contract with need permissions and values. |
static Contract |
createSplit(Contract c,
java.lang.String amount,
java.lang.String fieldName,
java.util.Set<com.icodici.crypto.PrivateKey> keys) |
Deprecated.
|
static Contract |
createSplit(Contract c,
java.lang.String amount,
java.lang.String fieldName,
java.util.Set<com.icodici.crypto.PrivateKey> keys,
boolean andSetCreator) |
Deprecated.
|
static Contract |
createSplit(Contract c,
java.math.BigDecimal amount,
java.lang.String fieldName,
java.util.Set<com.icodici.crypto.PrivateKey> keys) |
Implementing split procedure for token-type contracts.
|
static Contract |
createSplit(Contract c,
java.math.BigDecimal amount,
java.lang.String fieldName,
java.util.Set<com.icodici.crypto.PrivateKey> keys,
boolean andSetCreator) |
Implementing split procedure for token-type contracts.
|
static java.util.List<Contract> |
createSplitJoin(java.util.Collection<Contract> contractsToJoin,
java.util.List<java.lang.String> amountsToSplit,
java.util.List<com.icodici.crypto.KeyAddress> addressesToSplit,
java.util.Set<com.icodici.crypto.PrivateKey> ownerKeys,
java.lang.String fieldName) |
Implementing join procedure.
|
static Contract |
createTokenContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys,
java.util.Set<com.icodici.crypto.PublicKey> ownerKeys,
java.lang.String amount) |
Deprecated.
|
static Contract |
createTokenContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys,
java.util.Set<com.icodici.crypto.PublicKey> ownerKeys,
java.lang.String amount,
java.lang.Double minValue) |
Deprecated.
|
static Contract |
createTokenContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys,
java.util.Set<com.icodici.crypto.PublicKey> ownerKeys,
java.lang.String amount,
java.lang.Double minValue,
java.lang.String currency,
java.lang.String name,
java.lang.String description) |
Deprecated.
|
static Contract |
createTokenContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys,
java.util.Set<com.icodici.crypto.PublicKey> ownerKeys,
java.math.BigDecimal amount) |
|
static Contract |
createTokenContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys,
java.util.Set<com.icodici.crypto.PublicKey> ownerKeys,
java.math.BigDecimal amount,
java.math.BigDecimal minValue) |
|
static Contract |
createTokenContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys,
java.util.Set<com.icodici.crypto.PublicKey> ownerKeys,
java.math.BigDecimal amount,
java.math.BigDecimal minValue,
java.lang.String currency,
java.lang.String name,
java.lang.String description) |
Creates a token contract for given keys with given currency code,name,description.
|
static Contract |
createTokenContractWithEmission(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys,
java.util.Set<com.icodici.crypto.PublicKey> ownerKeys,
java.lang.String amount) |
Deprecated.
|
static Contract |
createTokenContractWithEmission(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys,
java.util.Set<com.icodici.crypto.PublicKey> ownerKeys,
java.lang.String amount,
java.lang.Double minValue) |
Deprecated.
|
static Contract |
createTokenContractWithEmission(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys,
java.util.Set<com.icodici.crypto.PublicKey> ownerKeys,
java.math.BigDecimal amount) |
Deprecated.
|
static Contract |
createTokenContractWithEmission(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys,
java.util.Set<com.icodici.crypto.PublicKey> ownerKeys,
java.math.BigDecimal amount,
java.math.BigDecimal minValue) |
Deprecated.
|
static Contract |
createTokenEmission(Contract tokenContract,
java.lang.String amount,
java.util.Set<com.icodici.crypto.PrivateKey> keys) |
Deprecated.
|
static Contract |
createTokenEmission(Contract tokenContract,
java.lang.String amount,
java.util.Set<com.icodici.crypto.PrivateKey> keys,
java.lang.String fieldName) |
Deprecated.
|
static Contract |
createTokenEmission(Contract tokenContract,
java.math.BigDecimal amount,
java.util.Set<com.icodici.crypto.PrivateKey> keys) |
Deprecated.
|
static Contract |
createTokenEmission(Contract tokenContract,
java.math.BigDecimal amount,
java.util.Set<com.icodici.crypto.PrivateKey> keys,
java.lang.String fieldName) |
Deprecated.
|
static Contract |
createTwoSignedContract(Contract baseContract,
java.util.Set<com.icodici.crypto.PrivateKey> fromKeys,
java.util.Set<com.icodici.crypto.PublicKey> toKeys,
boolean createNewRevision) |
Creates a contract with two signatures.
|
static UnsContract |
createUnsContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys,
java.util.Set<com.icodici.crypto.PublicKey> ownerKeys,
NSmartContract.NodeInfoProvider nodeInfoProvider) |
Create and return ready
UnsContract contract with need permissions and values. |
static UnsContract |
createUnsContractForRegisterContractName(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys,
java.util.Set<com.icodici.crypto.PublicKey> ownerKeys,
NSmartContract.NodeInfoProvider nodeInfoProvider,
java.lang.String name,
java.lang.String description,
java.lang.String URL,
Contract namedContract) |
Create and return ready
UnsContract contract with need permissions and values. |
static UnsContract |
createUnsContractForRegisterKeyName(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys,
java.util.Set<com.icodici.crypto.PublicKey> ownerKeys,
NSmartContract.NodeInfoProvider nodeInfoProvider,
java.lang.String name,
java.lang.String description,
java.lang.String URL,
com.icodici.crypto.AbstractKey namedKey) |
Create and return ready
UnsContract contract with need permissions and values. |
static Contract |
finishSwap(Contract swapContract,
java.util.Set<com.icodici.crypto.PrivateKey> keys) |
Deprecated.
no special actions required beside
startSwap(Contract, Contract, Set, Set) . |
static Contract |
modifyPaymentForEscrowContract(Contract escrow,
Contract payment,
java.util.Collection<com.icodici.crypto.PrivateKey> paymentOwnerKeys,
java.util.Collection<com.icodici.crypto.PublicKey> customerKeys,
java.util.Collection<com.icodici.crypto.PublicKey> executorKeys) |
Modifies payment contract by making ready for escrow.
|
static Contract |
modifyPaymentForEscrowContract(java.lang.String escrowOrigin,
Contract payment,
java.util.Collection<com.icodici.crypto.PrivateKey> paymentOwnerKeys,
java.util.Collection<com.icodici.crypto.PublicKey> customerKeys,
java.util.Collection<com.icodici.crypto.PublicKey> executorKeys) |
Modifies payment contract by making ready for escrow.
|
static Contract |
signPresentedSwap(Contract swapContract,
java.util.Set<com.icodici.crypto.PrivateKey> keys) |
Deprecated.
no special actions required beside
startSwap(Contract, Contract, Set, Set) . |
static Contract |
startSwap(Contract contract1,
Contract contract2,
java.util.Set<com.icodici.crypto.PrivateKey> fromKeys,
java.util.Set<com.icodici.crypto.PublicKey> toKeys) |
First step of swap procedure.
|
static Contract |
startSwap(Contract contract1,
Contract contract2,
java.util.Set<com.icodici.crypto.PrivateKey> fromKeys,
java.util.Set<com.icodici.crypto.PublicKey> toKeys,
boolean createNewRevision) |
First step of swap procedure.
|
static Contract |
startSwap(java.util.List<Contract> contracts1,
java.util.List<Contract> contracts2,
java.util.Set<com.icodici.crypto.PrivateKey> fromKeys,
java.util.Set<com.icodici.crypto.PublicKey> toKeys) |
First step of swap procedure.
|
static Contract |
startSwap(java.util.List<Contract> contracts1,
java.util.List<Contract> contracts2,
java.util.Set<com.icodici.crypto.PrivateKey> fromKeys,
java.util.Set<com.icodici.crypto.PublicKey> toKeys,
boolean createNewRevision) |
First step of swap procedure.
|
static Contract |
takeEscrowPayment(java.util.Collection<com.icodici.crypto.PrivateKey> newOwnerKeys,
Contract payment) |
Transfers payment contract to new owner on the result of escrow.
|
public static Contract createRevocation(Contract c, com.icodici.crypto.PrivateKey... keys)
c
- is contract should revoked bekeys
- is keys from owner of c@Deprecated public static Contract createSplit(Contract c, java.lang.String amount, java.lang.String fieldName, java.util.Set<com.icodici.crypto.PrivateKey> keys)
@Deprecated public static Contract createSplit(Contract c, java.lang.String amount, java.lang.String fieldName, java.util.Set<com.icodici.crypto.PrivateKey> keys, boolean andSetCreator)
public static Contract createSplit(Contract c, java.math.BigDecimal amount, java.lang.String fieldName, java.util.Set<com.icodici.crypto.PrivateKey> keys)
c
- is contract should split beamount
- is value that should be split from given contractfieldName
- is name of field that should be splitkeys
- is keys from owner of cpublic static Contract createSplit(Contract c, java.math.BigDecimal amount, java.lang.String fieldName, java.util.Set<com.icodici.crypto.PrivateKey> keys, boolean andSetCreator)
c
- is contract should split beamount
- is value that should be split from given contractfieldName
- is name of field that should be splitkeys
- is keys from owner of candSetCreator
- if true set owners as creator in both contarctspublic static Contract createJoin(Contract contract1, Contract contract2, java.lang.String fieldName, java.util.Set<com.icodici.crypto.PrivateKey> keys)
contract1
- is contract should be join tocontract2
- is contract should be joinfieldName
- is name of field that should be join bykeys
- is keys from owner of both contractspublic static java.util.List<Contract> createSplitJoin(java.util.Collection<Contract> contractsToJoin, java.util.List<java.lang.String> amountsToSplit, java.util.List<com.icodici.crypto.KeyAddress> addressesToSplit, java.util.Set<com.icodici.crypto.PrivateKey> ownerKeys, java.lang.String fieldName)
contractsToJoin
- one or more contracts to join into main contractamountsToSplit
- one or more amounts to split from main contractaddressesToSplit
- are addresses the ownership of splitted parts will be transferred tofieldName
- is name of field that should be join byownerKeys
- owner keys of joined contractspublic static Contract startSwap(Contract contract1, Contract contract2, java.util.Set<com.icodici.crypto.PrivateKey> fromKeys, java.util.Set<com.icodici.crypto.PublicKey> toKeys)
contract1
- is own for calling part (swapper1 owned), existing or new revision of contractcontract2
- is foreign for calling part (swapper2 owned), existing or new revision contractfromKeys
- is own for calling part (swapper1 keys) private keystoKeys
- is foreign for calling part (swapper2 keys) public keyspublic static Contract startSwap(java.util.List<Contract> contracts1, java.util.List<Contract> contracts2, java.util.Set<com.icodici.crypto.PrivateKey> fromKeys, java.util.Set<com.icodici.crypto.PublicKey> toKeys)
contracts1
- is list of own for calling part (swapper1 owned), existing or new revision of contractcontracts2
- is list of foreign for calling part (swapper2 owned), existing or new revision contractfromKeys
- is own for calling part (swapper1 keys) private keystoKeys
- is foreign for calling part (swapper2 keys) public keyspublic static Contract startSwap(Contract contract1, Contract contract2, java.util.Set<com.icodici.crypto.PrivateKey> fromKeys, java.util.Set<com.icodici.crypto.PublicKey> toKeys, boolean createNewRevision)
contract1
- is own for calling part (swapper1 owned), existing or new revision of contractcontract2
- is foreign for calling part (swapper2 owned), existing or new revision contractfromKeys
- is own for calling part (swapper1 keys) private keystoKeys
- is foreign for calling part (swapper2 keys) public keyscreateNewRevision
- if true - create new revision of given contracts. If false - use them as new revisions.public static Contract startSwap(java.util.List<Contract> contracts1, java.util.List<Contract> contracts2, java.util.Set<com.icodici.crypto.PrivateKey> fromKeys, java.util.Set<com.icodici.crypto.PublicKey> toKeys, boolean createNewRevision)
contracts1
- is list of own for calling part (swapper1 owned), existing or new revision of contractcontracts2
- is list of foreign for calling part (swapper2 owned), existing or new revision contractfromKeys
- is own for calling part (swapper1 keys) private keystoKeys
- is foreign for calling part (swapper2 keys) public keyscreateNewRevision
- if true - create new revision of given contracts. If false - use them as new revisions.@Deprecated public static Contract signPresentedSwap(Contract swapContract, java.util.Set<com.icodici.crypto.PrivateKey> keys)
startSwap(Contract, Contract, Set, Set)
. Just sign swap contract with both swapper1 and swapper2 keysswapContract
- is being processing swap contract, got from swapper1keys
- is own (belongs to swapper2) private keys@Deprecated public static Contract finishSwap(Contract swapContract, java.util.Set<com.icodici.crypto.PrivateKey> keys)
startSwap(Contract, Contract, Set, Set)
. Just sign swap contract with both swapper1 and swapper2 keysswapContract
- is being processing swap contract, now got back from swapper2keys
- is own (belongs to swapper1) private keyspublic static Contract createTwoSignedContract(Contract baseContract, java.util.Set<com.icodici.crypto.PrivateKey> fromKeys, java.util.Set<com.icodici.crypto.PublicKey> toKeys, boolean createNewRevision)
baseContract
- is base contractfromKeys
- is own private keystoKeys
- is foreign public keyscreateNewRevision
- create new revision if true@Deprecated public static Contract createTokenContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys, java.util.Set<com.icodici.crypto.PublicKey> ownerKeys, java.lang.String amount, java.lang.Double minValue, java.lang.String currency, java.lang.String name, java.lang.String description)
@Deprecated public static Contract createTokenContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys, java.util.Set<com.icodici.crypto.PublicKey> ownerKeys, java.lang.String amount, java.lang.Double minValue)
@Deprecated public static Contract createTokenContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys, java.util.Set<com.icodici.crypto.PublicKey> ownerKeys, java.lang.String amount)
public static Contract createTokenContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys, java.util.Set<com.icodici.crypto.PublicKey> ownerKeys, java.math.BigDecimal amount, java.math.BigDecimal minValue, java.lang.String currency, java.lang.String name, java.lang.String description)
ownerKeys
- is owner public keys.amount
- is maximum token number.minValue
- is minimum token valuecurrency
- is currency codename
- is currency namedescription
- is currency descriptionpublic static Contract createTokenContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys, java.util.Set<com.icodici.crypto.PublicKey> ownerKeys, java.math.BigDecimal amount, java.math.BigDecimal minValue)
public static Contract createTokenContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys, java.util.Set<com.icodici.crypto.PublicKey> ownerKeys, java.math.BigDecimal amount)
@Deprecated public static Contract createMintableTokenContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys, java.util.Set<com.icodici.crypto.PublicKey> ownerKeys, java.lang.String amount, java.lang.Double minValue, java.lang.String currency, java.lang.String name, java.lang.String description)
@Deprecated public static Contract createMintableTokenContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys, java.util.Set<com.icodici.crypto.PublicKey> ownerKeys, java.lang.String amount, java.lang.Double minValue)
public static Contract createMintableTokenContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys, java.util.Set<com.icodici.crypto.PublicKey> ownerKeys, java.math.BigDecimal amount, java.math.BigDecimal minValue, java.lang.String currency, java.lang.String name, java.lang.String description)
ownerKeys
- is owner public keys.amount
- is maximum token number.minValue
- is minimum token valuecurrency
- is currency codename
- is currency namedescription
- is currency descriptionpublic static Contract createMintableTokenContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys, java.util.Set<com.icodici.crypto.PublicKey> ownerKeys, java.math.BigDecimal amount, java.math.BigDecimal minValue)
public static Contract createMintableTokenContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys, java.util.Set<com.icodici.crypto.PublicKey> ownerKeys, java.math.BigDecimal amount)
@Deprecated public static Contract createTokenContractWithEmission(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys, java.util.Set<com.icodici.crypto.PublicKey> ownerKeys, java.lang.String amount, java.lang.Double minValue)
@Deprecated public static Contract createTokenContractWithEmission(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys, java.util.Set<com.icodici.crypto.PublicKey> ownerKeys, java.lang.String amount)
@Deprecated public static Contract createTokenEmission(Contract tokenContract, java.lang.String amount, java.util.Set<com.icodici.crypto.PrivateKey> keys, java.lang.String fieldName)
@Deprecated public static Contract createTokenEmission(Contract tokenContract, java.lang.String amount, java.util.Set<com.icodici.crypto.PrivateKey> keys)
@Deprecated public static Contract createTokenContractWithEmission(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys, java.util.Set<com.icodici.crypto.PublicKey> ownerKeys, java.math.BigDecimal amount, java.math.BigDecimal minValue)
issuerKeys
- is issuer private keys.ownerKeys
- is owner public keys.amount
- is start token number.minValue
- is minimum token value.@Deprecated public static Contract createTokenContractWithEmission(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys, java.util.Set<com.icodici.crypto.PublicKey> ownerKeys, java.math.BigDecimal amount)
@Deprecated public static Contract createTokenEmission(Contract tokenContract, java.math.BigDecimal amount, java.util.Set<com.icodici.crypto.PrivateKey> keys, java.lang.String fieldName)
tokenContract
- is token contract possible for additional emission.amount
- is emitted token number.keys
- is keys to sign new contract.fieldName
- is name of token field (usually "amount").@Deprecated public static Contract createTokenEmission(Contract tokenContract, java.math.BigDecimal amount, java.util.Set<com.icodici.crypto.PrivateKey> keys)
@Deprecated public static Contract createShareContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys, java.util.Set<com.icodici.crypto.PublicKey> ownerKeys, java.lang.String amount)
public static Contract createShareContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys, java.util.Set<com.icodici.crypto.PublicKey> ownerKeys, java.math.BigDecimal amount)
issuerKeys
- is issuer private keys.ownerKeys
- is owner public keys.amount
- is maximum shares number.public static Contract createNotaryContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys, java.util.Set<com.icodici.crypto.PublicKey> ownerKeys)
issuerKeys
- is issuer private keys.ownerKeys
- is owner public keys.public static Contract createNotaryContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys, java.util.Set<com.icodici.crypto.PublicKey> ownerKeys, java.util.List<java.lang.String> filePaths)
issuerKeys
- is issuer private keys.ownerKeys
- is owner public keys.filePaths
- is path to data file.public static Contract createNotaryContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys, java.util.Set<com.icodici.crypto.PublicKey> ownerKeys, java.util.List<java.lang.String> filePaths, java.util.List<java.lang.String> fileDescriptions)
issuerKeys
- is issuer private keys.ownerKeys
- is owner public keys.filePaths
- is path to data file.fileDescriptions
- is data file descriptions.public static boolean checkAttachNotaryContract(Contract notaryContract, java.lang.String filePaths) throws java.io.IOException
notaryContract
- is notary-type contract.filePaths
- is path to attached file or folder with files.java.io.IOException
public static SlotContract createSlotContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys, java.util.Set<com.icodici.crypto.PublicKey> ownerKeys, NSmartContract.NodeInfoProvider nodeInfoProvider)
SlotContract
contract with need permissions and values. SlotContract
is
used for control and for payment for store some contracts in the distributed store.
Default expiration is set to 5 years.
SlotContract
has change_owner, revoke and modify_data with special slot
fields permissions. Sets issuerKeys as issuer, ownerKeys as owner. Use SlotContract.putTrackingContract(Contract)
for putting contract should be add to storage.
issuerKeys
- is issuer private keys.ownerKeys
- is owner public keys.nodeInfoProvider
- SlotContract
public static UnsContract createUnsContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys, java.util.Set<com.icodici.crypto.PublicKey> ownerKeys, NSmartContract.NodeInfoProvider nodeInfoProvider)
UnsContract
contract with need permissions and values. UnsContract
is
used for control and for payment for register some names in the distributed store.
Default expiration is set to 5 years.
UnsContract
has change_owner, revoke and modify_data with special uns
fields permissions. Sets issuerKeys as issuer, ownerKeys as owner. Use UnsContract#addUnsName(UnsName)
for putting uns name should be register.
issuerKeys
- is issuer private keys.ownerKeys
- is owner public keys.nodeInfoProvider
- UnsContract
public static UnsContract createUnsContractForRegisterContractName(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys, java.util.Set<com.icodici.crypto.PublicKey> ownerKeys, NSmartContract.NodeInfoProvider nodeInfoProvider, java.lang.String name, java.lang.String description, java.lang.String URL, Contract namedContract)
UnsContract
contract with need permissions and values. UnsContract
is
used for control and for payment for register some names in the distributed store.
Default expiration is set to 5 years.
UnsContract
has change_owner, revoke and modify_data with special uns
fields permissions. Sets issuerKeys as issuer, ownerKeys as owner.
Also added uns name for registration associated with contract (by origin).
Use UnsContract#addUnsName(UnsName)
for putting additional uns name should be register.
issuerKeys
- is issuer private keys.ownerKeys
- is owner public keys.nodeInfoProvider
- name
- is name for registration.description
- is description associated with name for registration.URL
- is URL associated with name for registration.namedContract
- is named contract.UnsContract
public static UnsContract createUnsContractForRegisterKeyName(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys, java.util.Set<com.icodici.crypto.PublicKey> ownerKeys, NSmartContract.NodeInfoProvider nodeInfoProvider, java.lang.String name, java.lang.String description, java.lang.String URL, com.icodici.crypto.AbstractKey namedKey)
UnsContract
contract with need permissions and values. UnsContract
is
used for control and for payment for register some names in the distributed store.
Default expiration is set to 5 years.
UnsContract
has change_owner, revoke and modify_data with special uns
fields permissions. Sets issuerKeys as issuer, ownerKeys as owner.
Also added uns name for registration associated with key (by addresses).
Use UnsContract#addUnsName(UnsName)
for putting additional uns name should be register.
issuerKeys
- is issuer private keys.ownerKeys
- is owner public keys.nodeInfoProvider
- name
- is name for registration.description
- is description associated with name for registration.URL
- is URL associated with name for registration.namedKey
- is named key.UnsContract
public static FollowerContract createFollowerContract(java.util.Set<com.icodici.crypto.PrivateKey> issuerKeys, java.util.Set<com.icodici.crypto.PublicKey> ownerKeys, NSmartContract.NodeInfoProvider nodeInfoProvider)
FollowerContract
contract with need permissions and values. FollowerContract
is
used for control and for payment for follow new revisions from some contract chains by origin.
Default expiration is set to 5 years.
FollowerContract
has change_owner, revoke and modify_data with special follower
fields permissions. Sets issuerKeys as issuer, ownerKeys as owner. Use FollowerContract.putTrackingOrigin(HashId, String, PublicKey)
for putting follow chain by origin with callback URL and public key.
issuerKeys
- is issuer private keys.ownerKeys
- is owner public keys.nodeInfoProvider
- is node provider info.FollowerContract
public static Contract addReferenceToContract(Contract baseContract, Contract refContract, java.lang.String refName, int refType, net.sergeych.tools.Binder conditions)
Contract
reference and referenced contract.
When the returned Contract
is unpacking referenced contract verifies
the compliance with the conditions of reference in base contract.
Contract.addReference(Reference)
.
baseContract
- is base contract fro adding reference.refContract
- is referenced contract (which must satisfy the conditions of the reference).refName
- is name of reference.refType
- is type of reference (section, may be Reference.TYPE_TRANSACTIONAL
, Reference.TYPE_EXISTING_DEFINITION
, or Reference.TYPE_EXISTING_STATE
).conditions
- is conditions of the reference.Contract
public static Contract addReferenceToContract(Contract baseContract, Contract refContract, java.lang.String refName, int refType, java.util.List<java.lang.String> listConditions, boolean isAllOfConditions)
Contract
reference and referenced contract.
When the returned Contract
is unpacking referenced contract verifies
the compliance with the conditions of reference in base contract.
Contract.addReference(Reference)
.
baseContract
- is base contract fro adding reference.refContract
- is referenced contract (which must satisfy the conditions of the reference).refName
- is name of reference.refType
- is type of reference (section, may be Reference.TYPE_TRANSACTIONAL
, Reference.TYPE_EXISTING_DEFINITION
, or Reference.TYPE_EXISTING_STATE
).listConditions
- is list of strings with conditions of the reference.isAllOfConditions
- is flag used if all conditions in list must be fulfilled (else - any of conditions).Contract
public static Parcel createParcel(Contract payload, Contract payment, int amount, java.util.Set<com.icodici.crypto.PrivateKey> keys)
payload
- is prepared contract you want to register in the Universa.payment
- is approved contract with "U" belongs to you.amount
- is number of "U" you want to spend to register payload contract.keys
- is own private keys, which are set as owner of payment contractpublic static Parcel createParcel(Contract payload, Contract payment, int amount, java.util.Set<com.icodici.crypto.PrivateKey> keys, boolean withTestPayment)
payload
- is prepared contract you want to register in the Universa.payment
- is approved contract with "U" belongs to you.amount
- is number of "U" you want to spend to register payload contract.keys
- is own private keys, which are set as owner of payment contractwithTestPayment
- if true Parcel
will be created with test paymentpublic static Parcel createParcel(TransactionPack payload, Contract payment, int amount, java.util.Set<com.icodici.crypto.PrivateKey> keys)
payload
- is prepared TransactionPack you want to register in the Universa.payment
- is approved contract with "U" belongs to you.amount
- is number of "U" you want to spend to register payload contract.keys
- is own private keys, which are set as owner of payment contractpublic static Parcel createParcel(TransactionPack payload, Contract payment, int amount, java.util.Set<com.icodici.crypto.PrivateKey> keys, boolean withTestPayment)
payload
- is prepared TransactionPack you want to register in the Universa.payment
- is approved contract with "U" belongs to you.amount
- is number of "U" you want to spend to register payload contract.keys
- is own private keys, which are set as owner of payment contractwithTestPayment
- if true Parcel
will be created with test paymentpublic static Parcel createPayingParcel(TransactionPack payload, Contract payment, int amount, int amountSecond, java.util.Set<com.icodici.crypto.PrivateKey> keys, boolean withTestPayment)
payload
- is prepared TransactionPack you want to register in the Universa.payment
- is approved contract with "U" belongs to you.amount
- is number of "U" you want to spend to register payload contract.amountSecond
- is number of "U" you want to spend from second payment.keys
- is own private keys, which are set as owner of payment contractwithTestPayment
- if true Parcel
will be created with test paymentpublic static Contract createBatch(java.util.Collection<com.icodici.crypto.PrivateKey> keys, Contract... contracts)
contracts
- to register all in one batch. Shuld be prepared and sealed.keys
- to sign batch with.public static Contract addConsent(Contract source, com.icodici.crypto.KeyAddress... consentKeyAddresses)
source
- contract to update. Must not be registered (new root or new revision)consentKeyAddresses
- addresses that are required in the consent contract. Consent contract should
be then signed with corresponding keys.public static Contract createEscrowContract(java.util.Collection<com.icodici.crypto.PrivateKey> issuerKeys, java.util.Collection<com.icodici.crypto.PublicKey> customerKeys, java.util.Collection<com.icodici.crypto.PublicKey> executorKeys, java.util.Collection<com.icodici.crypto.PublicKey> arbitratorKeys)
ListRole
on the basis of the quorum of 2 of 3 roles: customer, executor and arbitrator.
This role is granted exclusive permission to change the value of the status field of internal escrow contract (state.data.status).
Possible values for the internal escrow contract status field are: opened, completed and canceled.
If necessary, the contents and parameters (expiration period, for example) of escrow contracts
can be changed before sealing and registration. If internal escrow contract has changed, need re-create external
escrow contract by createExternalEscrowContract(Contract, Collection)
.issuerKeys
- issuer escrow contract private keyscustomerKeys
- customer public keysexecutorKeys
- executor public keysarbitratorKeys
- arbitrator public keyspublic static Contract createInternalEscrowContract(java.util.Collection<com.icodici.crypto.PrivateKey> issuerKeys, java.util.Collection<com.icodici.crypto.PublicKey> customerKeys, java.util.Collection<com.icodici.crypto.PublicKey> executorKeys, java.util.Collection<com.icodici.crypto.PublicKey> arbitratorKeys)
ListRole
on the basis of the quorum of 2 of 3 roles: customer, executor and arbitrator.
This role is granted exclusive permission to change the value of the status field of internal escrow contract (state.data.status).
Possible values for the internal escrow contract status field are: opened, completed and canceled.
If necessary, the contents and parameters (expiration period, for example) of escrow contract
can be changed before sealing and registration. If internal escrow contract has changed, need re-create external
escrow contract (if used) by createExternalEscrowContract(Contract, Collection)
.issuerKeys
- are issuer escrow contract private keyscustomerKeys
- are customer public keysexecutorKeys
- are executor public keysarbitratorKeys
- are arbitrator public keyspublic static Contract createExternalEscrowContract(Contract internalEscrow, java.util.Collection<com.icodici.crypto.PrivateKey> issuerKeys)
createExternalEscrowContract(Contract, Collection)
.internalEscrow
- is internal escrow contractissuerKeys
- are issuer escrow contract private keyspublic static Contract modifyPaymentForEscrowContract(Contract escrow, Contract payment, java.util.Collection<com.icodici.crypto.PrivateKey> paymentOwnerKeys, java.util.Collection<com.icodici.crypto.PublicKey> customerKeys, java.util.Collection<com.icodici.crypto.PublicKey> executorKeys)
Contract.Transactional
section with 2 references: send_payment_to_executor, return_payment_to_customer.
The owner of payment contract is set to ListRole
contains customer role with return_payment_to_customer reference
and executor role with send_payment_to_executor reference. Any of these roles is sufficient to own a payment contract.escrow
- is internal escrow contract to use with payment. Must be returned from createInternalEscrowContract(Collection, Collection, Collection, Collection)
payment
- contract to update. Must not be registered (new root or new revision)paymentOwnerKeys
- are keys required for use payment contract (usually, owner private keys). May be null, if payment will be signed latercustomerKeys
- are customer public keys of escrow contractexecutorKeys
- are executor public keys of escrow contractpublic static Contract modifyPaymentForEscrowContract(java.lang.String escrowOrigin, Contract payment, java.util.Collection<com.icodici.crypto.PrivateKey> paymentOwnerKeys, java.util.Collection<com.icodici.crypto.PublicKey> customerKeys, java.util.Collection<com.icodici.crypto.PublicKey> executorKeys)
Contract.Transactional
section with 2 references: send_payment_to_executor, return_payment_to_customer.
The owner of payment contract is set to ListRole
contains customer role with return_payment_to_customer reference
and executor role with send_payment_to_executor reference. Any of these roles is sufficient to own a payment contract.escrowOrigin
- is origin (base64 string) of internal escrow contract to use with payment.payment
- contract to update. Must not be registered (new root or new revision)paymentOwnerKeys
- are keys required for use payment contract (usually, owner private keys). May be null, if payment will be signed latercustomerKeys
- are customer public keys of escrow contractexecutorKeys
- are executor public keys of escrow contractpublic static boolean addPaymentToEscrowContract(Contract escrow, Contract payment, java.util.Collection<com.icodici.crypto.PrivateKey> paymentOwnerKeys, java.util.Collection<com.icodici.crypto.PublicKey> customerKeys, java.util.Collection<com.icodici.crypto.PublicKey> executorKeys)
Contract.Transactional
section with 2 references: send_payment_to_executor, return_payment_to_customer.
The owner of payment contract is set to ListRole
contains customer role with return_payment_to_customer reference
and executor role with send_payment_to_executor reference. Any of these roles is sufficient to own a payment contract.escrow
- contract (external) to use with payment. Must be returned from createEscrowContract(Collection, Collection, Collection, Collection)
payment
- contract to update. Must not be registered (new root or new revision)paymentOwnerKeys
- are keys required for use payment contract (usually, owner private keys). May be null, if payment will be signed later.customerKeys
- are customer public keys of escrow contractexecutorKeys
- are executor public keys of escrow contractpublic static Contract completeEscrowContract(Contract escrow)
escrow
- contract (external or internal) to complete. Must be registered for creation new revisionpublic static Contract cancelEscrowContract(Contract escrow)
escrow
- contract (external or internal) to cancel. Must be registered for creation new revisionpublic static Contract takeEscrowPayment(java.util.Collection<com.icodici.crypto.PrivateKey> newOwnerKeys, Contract payment)
addPaymentToEscrowContract(Contract, Contract, Collection, Collection, Collection)
or
was modified by modifyPaymentForEscrowContract(Contract, Contract, Collection, Collection, Collection)
.
Executor can take the payment contract, if internal escrow contract are completed.
Customer can take the payment contract, if internal escrow contract are canceled.
For registration payment contract (returned by this method) need to add result internal escrow contract by
TransactionPack.addReferencedItem(Contract)
.newOwnerKeys
- are private keys of new owner of paymentpayment
- contract to take by new owner. Must be registered for creation new revisionpublic static Contract createRateLimitDisablingContract(com.icodici.crypto.PublicKey key, Contract payment, int amount, java.util.Set<com.icodici.crypto.PrivateKey> keys)
PublicKey
.
The base limit is 30 per minute (excludes registration requests).
Unlimited requests for 5 minutes cost 5 U.
Register result contract by Client.register(byte[])
.key
- is key for setting unlimited requestspayment
- is approved contract with "U" belongs to youamount
- is number of "U" you want to spend to set unlimited requests for key; get by Config.getRateLimitDisablingPayment()
keys
- is own private keys, which are set as owner of payment contract