Constructs a distributed organization instance around a name of \a name, a network reader \a reader and a signer implementation of \a signer. Also \a bip39 mnemonic pass phrases are used to derive deterministic child accounts, and \a password is used to encrypt the BIP39 mnemonic.
Optionally, \a agreementHash can be passed to this method in order to indicate a previous DAO launch agreement that was commited to and confirmed on the network. If left empty, this instance will be forced to use contracts that are creating and commiting said agreement.
The name of the distributed organization (e.g.: "SWAPS CLOUD").
The blockchain network reader configuration.
The digital signature implementation ("key provider").
The mnemonic pass phrase ("24-words"). Caution here.
The password with which to protect the BIP39 seed.
The mnemonic pass phrase ("24-words"). Caution here.
The name of the distributed organization (e.g.: "SWAPS CLOUD").
The password with which to protect the BIP39 seed.
The blockchain network reader configuration.
The digital signature implementation ("key provider").
Getter for the deterministic asset identifier related to the organization's governance mosaic that was created on the network. At any time, there is always one identifier per distributed organization. Other identifiers may have existed in the past, as such only the last commited to DAO launch agreement should be taken into account.
Verifies the autorization for \a actor to execute a contract \a contract given a \a governAssetId organization governance asset identifier.
The actor is whom executes the contract.
The governance asset identifier.
The digital contract name.
The contract options (arguments).
Returns whether an actor is authorized to execute said contract.
Executes \a contract given \a governAssetId organization governance asset identifier, \a actor public account and \a argv contract execution options and \a parameters for network broadcasting.
The actor is whom executes the command.
The organization's governance asset identifier.
The digital contract name. (e.g. "CreateVote").
The transaction parameters (network specific).
The contract execution options (arguments).
A digital contract that must be signed by the actor and possibly by the target account.
Executes \a contract given \a governAssetId organization governance asset identifier, \a actor public account and \a argv contract execution options and \a parameters for network broadcasting.
This method does not call the synchronize()
method.
The actor is whom executes the command.
The organization's governance asset identifier.
The digital contract name. (e.g. "CreateVote").
The transaction parameters (network specific).
The contract execution options (arguments).
A digital contract that must be signed by the actor and possibly by the target account.
Returns an execution context around an \a actor, \a argv contract options and \a parameters transaction parameters.
The actor in said execution context.
The transaction parameters.
The execution options.
The pre-configured execution context.
Returns an executable instance for \a contract given \a context and \a governAssetId.
The governance asset identifier.
The digital contract name (e.g. "CreateVote").
The contract execution context (arguments).
The contract instance pre-configured with the execution context.
Synchronize the contract execution with the network. This method shall be used to fetch data required for / before the execution of a digital contract.
Generated using TypeDoc
Governable.DistributedOrganization
Governable
Standard
v1.0.0
Generic class to describe Governable distributed organizations.
A distributed organization is represented by the following properties, which have to be agreed upon by operators during an initial launch agreement:
An agreement transaction: Consists of a multi-signature account which uses
SecretLockTransaction
andTransferTransaction
to prove a DAO agreement of operators on-chain.A target account: Consists of a public account that was agreed upon by operators to represent the distributed organization as an entity. This account will be converted to a multi-signature account where cosigners are the operators of the DAO.
A governance mosaic: Consists of a digital asset that is created only for the purposes of keeping track of operators' ability to help with decision making in a distributed organization. Governance mosaics are always non-transferrable. This implies that a transfer of authority is not possible and enforces an agreement to be persisted on-chain.