Interface PublishContractByReferenceArgs

{string} Reference, i.e. Transactions Full Hash TransactionId.fullHash, to the already deployed contract

{string} The description of your contract (max. 1000 chars)

{string} The name for the contract

{string} is optional here, the initial data for the contract (must be according to your data stack in your contract and in BE hex code)

To deploy a new non-existing contract you need to use ContractApi.publishContract

interface PublishContractByReferenceArgs {
    attachment?: Attachment;
    data?: ContractData[];
    deadline?: number;
    description: string;
    feePlanck: string;
    name: string;
    referencedTransactionFullHash?: string;
    referencedTransactionHash: string;
    senderPrivateKey?: string;
    senderPublicKey: string;
    skipAdditionalSecurityCheck?: boolean;
}

Hierarchy

  • DefaultSendArgs
    • PublishContractByReferenceArgs

Properties

attachment?: Attachment

An optional attachment

data?: ContractData[]
deadline?: number

The deadline when after how many minutes the transaction will be discarded, if it was not processed, e.g. due to very low fee

description: string
feePlanck: string

The fee expressed in Planck

It's recommended to use util.Amount

name: string
referencedTransactionFullHash?: string

Using this field allows to make a transaction dependent on other transactions.

referencedTransactionHash: string
senderPrivateKey?: string

The senders private key, i.e. the crypto.SignKeys.signPrivateKey If the private key is not given, then the transaction method will return the unsigned byte string. The transaction won't be processed until the unsigned bytes are being signed and broadcasted using TransactionApi.signAndBroadcastTransaction

senderPublicKey: string

The senders public key, i.e. the crypto.SignKeys.publicKey

skipAdditionalSecurityCheck?: boolean

Setting this option to true, skips the additional security check, i.e. the verification of the unsigned transaction bytes, which detects tampered node responses. By default, the option is false. Usually, you won't use this option, but can be useful when a method cannot be verified, because the verification is not implemented yet.