AElf.Contracts.Parliament
Parliament contract.
The production nodes use the Parliament contract to govern important matters. In the initial state, the production nodes are members of the parliament, and only when two-thirds of the production nodes vote in favor of a given decision, will it be executed.
Implement AElf Standards ACS1 and ACS3.
AElf.Contracts.Parliament
Parliament.CreateOrganizationBySystemContractInput
Field
Type
Description
Label
organization_creation_input
CreateOrganizationInput
The parameters of creating organization.
organization_address_feedback_method
string
The organization address callback method which replies the organization address to caller contract.
Parliament.CreateOrganizationInput
Field
Type
Description
Label
proposal_release_threshold
acs3.ProposalReleaseThreshold
The threshold for releasing the proposal.
proposer_authority_required
bool
Setting this to true can allow anyone to create proposals.
parliament_member_proposing_allowed
bool
Setting this to true can allow parliament member to create proposals.
creation_token
aelf.Hash
The creation token is for organization address generation.
Parliament.InitializeInput
Field
Type
Description
Label
privileged_proposer
aelf.Address
Privileged proposer would be the first address in parliament proposer whitelist.
proposer_authority_required
bool
The setting indicates if proposals need authority to be created for first/default parliament organization.
Field
Type
Description
Label
proposer_authority_required
bool
Indicates if proposals need authority to be created.
organization_address
aelf.Address
The organization address.
organization_hash
aelf.Hash
The organization id.
proposal_release_threshold
acs3.ProposalReleaseThreshold
The threshold for releasing the proposal.
parliament_member_proposing_allowed
bool
Indicates if parliament member can propose to this organization.
creation_token
aelf.Hash
The creation token is for organization address generation.
Parliament.ProposalIdList
Field
Type
Description
Label
proposal_ids
aelf.Hash
The list of proposal ids.
repeated
Field
Type
Description
Label
proposal_id
aelf.Hash
The proposal ID.
contract_method_name
string
The method that this proposal will call when being released.
to_address
aelf.Address
The address of the target contract.
params
bytes
The parameters of the release transaction.
expired_time
google.protobuf.Timestamp
The date at which this proposal will expire.
proposer
aelf.Address
The address of the proposer of this proposal.
organization_address
aelf.Address
The address of this proposals organization.
approvals
aelf.Address
Address list of approved.
repeated
rejections
aelf.Address
Address list of rejected.
repeated
abstentions
aelf.Address
Address list of abstained.
repeated
proposal_description_url
string
Url is used for proposal describing.
Field
Type
Description
Label
symbol
string
The token symbol of the method fee.
basic_fee
int64
The amount of fees to be charged.
Field
Type
Description
Label
method_name
string
The name of the method to be charged.
fees
MethodFee
List of fees to be charged.
repeated
is_size_fee_free
bool
Optional based on the implementation of SetMethodFee method.
acs3.CreateProposalBySystemContractInput
Field
Type
Description
Label
proposal_input
CreateProposalInput
The parameters of creating proposal.
origin_proposer
aelf.Address
The actor that trigger the call.
Field
Type
Description
Label
contract_method_name
string
The name of the method to call after release.
to_address
aelf.Address
The address of the contract to call after release.
params
bytes
The parameter of the method to be called after the release.
expired_time
google.protobuf.Timestamp
The timestamp at which this proposal will expire.
organization_address
aelf.Address
The address of the organization.
proposal_description_url
string
Url is used for proposal describing.
token
aelf.Hash
The token is for proposal id generation and with this token, proposal id can be calculated before proposing.
Field
Type
Description
Label
organization_address
aelf.Address
The address of the created organization.
acs3.OrganizationHashAddressPair
Field
Type
Description
Label
organization_hash
aelf.Hash
The id of organization.
organization_address
aelf.Address
The address of organization.
acs3.OrganizationThresholdChanged
acs3.OrganizationWhiteListChanged
Field
Type
Description
Label
organization_address
aelf.Address
The organization address.
proposer_white_list
ProposerWhiteList
The new proposer whitelist.
Field
Type
Description
Label
proposal_id
aelf.Hash
The id of the created proposal.
organization_address
aelf.Address
The organization address of the created proposal.
Field
Type
Description
Label
proposal_id
aelf.Hash
The id of the proposal.
contract_method_name
string
The method that this proposal will call when being released.
to_address
aelf.Address
The address of the target contract.
params
bytes
The parameters of the release transaction.
expired_time
google.protobuf.Timestamp
The date at which this proposal will expire.
organization_address
aelf.Address
The address of this proposals organization.
proposer
aelf.Address
The address of the proposer of this proposal.
to_be_released
bool
Indicates if this proposal is releasable.
approval_count
int64
Approval count for this proposal.
rejection_count
int64
Rejection count for this proposal.
abstention_count
int64
Abstention count for this proposal.
acs3.ProposalReleaseThreshold
Field
Type
Description
Label
minimal_approval_threshold
int64
The value for the minimum approval threshold.
maximal_rejection_threshold
int64
The value for the maximal rejection threshold.
maximal_abstention_threshold
int64
The value for the maximal abstention threshold.
minimal_vote_threshold
int64
The value for the minimal vote threshold.
Field
Type
Description
Label
proposal_id
aelf.Hash
The id of the released proposal.
organization_address
aelf.Address
The organization address of the released proposal.
Field
Type
Description
Label
proposers
aelf.Address
The address of the proposers
repeated
acs3.ValidateProposerInWhiteListInput
Field
Type
Description
Label
proposer
aelf.Address
The address to search/check.
organization_address
aelf.Address
The address of the organization.
Field
Type
Description
Label
value
bytes
Field
Type
Description
Label
nodes
Hash
The leaf nodes.
repeated
root
Hash
The root node hash.
leaf_count
int32
The count of leaf node.
Field
Type
Description
Label
value
bytes
Field
Type
Description
Label
address
Address
The contract address.
name
string
The name of the log event.
indexed
bytes
The indexed data, used to calculate bloom.
repeated
non_indexed
bytes
The non indexed data.
Field
Type
Description
Label
merkle_path_nodes
MerklePathNode
The merkle path nodes.
repeated
Field
Type
Description
Label
hash
Hash
The node hash.
is_left_child_node
bool
Whether it is a left child node.
Field
Type
Description
Label
value
sint32
Field
Type
Description
Label
value
sint64
Field
Type
Description
Label
address
Address
The scope address, which will be the contract address.
path
StatePath
The path of contract state.
aelf.SmartContractRegistration
Field
Type
Description
Label
category
sint32
The category of contract code(0: C#).
code
bytes
The byte array of the contract code.
code_hash
Hash
The hash of the contract code.
is_system_contract
bool
Whether it is a system contract.
version
int32
The version of the current contract.
Field
Type
Description
Label
parts
string
The partial path of the state path.
repeated
Field
Type
Description
Label
from
Address
The address of the sender of the transaction.
to
Address
The address of the contract when calling a contract.
ref_block_number
int64
The height of the referenced block hash.
ref_block_prefix
bytes
The first four bytes of the referenced block hash.
method_name
string
The name of a method in the smart contract at the To address.
params
bytes
The parameters to pass to the smart contract method.
signature
bytes
When signing a transaction it’s actually a subset of the fields: from/to and the target method as well as the parameter that were given. It also contains the reference block number and prefix.
aelf.TransactionExecutingStateSet
aelf.TransactionExecutingStateSet.DeletesEntry
Field
Type
Description
Label
key
string
value
bool
aelf.TransactionExecutingStateSet.ReadsEntry
Field
Type
Description
Label
key
string
value
bool
aelf.TransactionExecutingStateSet.WritesEntry
Field
Type
Description
Label
transaction_id
Hash
The transaction id.
status
TransactionResultStatus
The transaction result status.
logs
LogEvent
The log events.
repeated
bloom
bytes
Bloom filter for transaction logs. A transaction log event can be defined in the contract and stored in the bloom filter after the transaction is executed. Through this filter, we can quickly search for and determine whether a log exists in the transaction result.
return_value
bytes
The return value of the transaction execution.
block_number
int64
The height of the block hat packages the transaction.
block_hash
Hash
The hash of the block hat packages the transaction.
error
string
Failed execution error message.
aelf.TransactionResultStatus
Name
Number
Description
NOT_EXISTED
0
The execution result of the transaction does not exist.
PENDING
1
The transaction is in the transaction pool waiting to be packaged.
FAILED
2
Transaction execution failed.
MINED
3
The transaction was successfully executed and successfully packaged into a block.
CONFLICT
4
When executed in parallel, there are conflicts with other transactions.
PENDING_VALIDATION
5
The transaction is waiting for validation.
NODE_VALIDATION_FAILED
6
Transaction validation failed.
Field
Type
Description
Label
contract_address
aelf.Address
The contract address of the controller.
owner_address
aelf.Address
The address of the owner of the contract.