AElf.Contracts.Vote¶
Vote contract.
The Vote contract is an abstract layer for voting. Developers implement concrete voting activities by calling this contract.
Implement AElf Standards ACS1.
Contract Methods¶
Method Name | Request Type | Response Type | Description |
---|---|---|---|
Register | Vote.VotingRegisterInput | google.protobuf.Empty | Create a voting activity. |
Vote | Vote.VoteInput | google.protobuf.Empty | After successfully creating a voting activity, others are able to vote. |
Withdraw | Vote.WithdrawInput | google.protobuf.Empty | A voter can withdraw the token after the lock time. |
TakeSnapshot | Vote.TakeSnapshotInput | google.protobuf.Empty | Save the result of the specified number of votes and generates a new round votes. |
AddOption | Vote.AddOptionInput | google.protobuf.Empty | Add an option to a voting activity. |
RemoveOption | Vote.RemoveOptionInput | google.protobuf.Empty | Remove an option from a voting activity. |
AddOptions | Vote.AddOptionsInput | google.protobuf.Empty | Add multiple options to a voting activity. |
RemoveOptions | Vote.RemoveOptionsInput | google.protobuf.Empty | Remove multiple options from a voting activity. |
GetVotingItem | Vote.GetVotingItemInput | Vote.VotingItem | Get a voting activity information. |
GetVotingResult | Vote.GetVotingResultInput | Vote.VotingResult | Get a voting result according to the provided voting activity id and snapshot number. |
GetLatestVotingResult | aelf.Hash | Vote.VotingResult | Gets the latest result according to the voting activity id. |
GetVotingRecord | aelf.Hash | Vote.VotingRecord | Get the voting record according to vote id. |
GetVotingRecords | Vote.GetVotingRecordsInput | Vote.VotingRecords | Get the voting record according to vote ids. |
GetVotedItems | aelf.Address | Vote.VotedItems | Get all voted information according to voter address. |
GetVotingIds | Vote.GetVotingIdsInput | Vote.VotedIds | Get the vote ids according to voting activity id. |
AElf.Standards.ACS1¶
Method Name | Request Type | Response Type | Description |
---|---|---|---|
SetMethodFee | acs1.MethodFees | google.protobuf.Empty | Set the method fees for the specified method. Note that this will override all fees of the method. |
ChangeMethodFeeController | AuthorityInfo | google.protobuf.Empty | Change the method fee controller, the default is parliament and default organization. |
GetMethodFee | google.protobuf.StringValue | acs1.MethodFees | Query method fee information by method name. |
GetMethodFeeController | google.protobuf.Empty | AuthorityInfo | Query the method fee controller. |
Contract Types¶
AElf.Contracts.Vote¶
Vote.AddOptionInput¶
Field | Type | Description | Label |
---|---|---|---|
voting_item_id | aelf.Hash | The voting activity id. | |
option | string | The new option to add. |
Vote.AddOptionsInput¶
Field | Type | Description | Label |
---|---|---|---|
voting_item_id | aelf.Hash | The voting activity id. | |
options | string | The new options to add. | repeated |
Vote.GetVotingIdsInput¶
Field | Type | Description | Label |
---|---|---|---|
voter | aelf.Address | The address of voter. | |
voting_item_id | aelf.Hash | The voting activity id. |
Vote.GetVotingItemInput¶
Field | Type | Description | Label |
---|---|---|---|
voting_item_id | aelf.Hash | The voting activity id. |
Vote.GetVotingResultInput¶
Field | Type | Description | Label |
---|---|---|---|
voting_item_id | aelf.Hash | The voting activity id. | |
snapshot_number | int64 | The snapshot number. |
Vote.RemoveOptionInput¶
Field | Type | Description | Label |
---|---|---|---|
voting_item_id | aelf.Hash | The voting activity id. | |
option | string | The option to remove. |
Vote.RemoveOptionsInput¶
Field | Type | Description | Label |
---|---|---|---|
voting_item_id | aelf.Hash | The voting activity id. | |
options | string | The options to remove. | repeated |
Vote.TakeSnapshotInput¶
Field | Type | Description | Label |
---|---|---|---|
voting_item_id | aelf.Hash | The voting activity id. | |
snapshot_number | int64 | The snapshot number to take. |
Vote.VoteInput¶
Field | Type | Description | Label |
---|---|---|---|
voting_item_id | aelf.Hash | The voting activity id. | |
voter | aelf.Address | The address of voter. | |
amount | int64 | The amount of vote. | |
option | string | The option to vote. | |
vote_id | aelf.Hash | The vote id. | |
is_change_target | bool | Whether vote others. |
Vote.Voted¶
Field | Type | Description | Label |
---|---|---|---|
voting_item_id | aelf.Hash | The voting activity id. | |
voter | aelf.Address | The address of voter. | |
snapshot_number | int64 | The snapshot number. | |
amount | int64 | The amount of vote. | |
vote_timestamp | google.protobuf.Timestamp | The time of vote. | |
option | string | The option voted. | |
vote_id | aelf.Hash | The vote id. |
Vote.VotedIds¶
Field | Type | Description | Label |
---|---|---|---|
active_votes | aelf.Hash | The active vote ids. | repeated |
withdrawn_votes | aelf.Hash | The withdrawn vote ids. | repeated |
Vote.VotedItems¶
Field | Type | Description | Label |
---|---|---|---|
voted_item_vote_ids | VotedItems.VotedItemVoteIdsEntry | The voted ids. | repeated |
Vote.VotingItem¶
Field | Type | Description | Label |
---|---|---|---|
voting_item_id | aelf.Hash | The voting activity id. | |
accepted_currency | string | The token symbol which will be accepted. | |
is_lock_token | bool | Whether the vote will lock token. | |
current_snapshot_number | int64 | The current snapshot number. | |
total_snapshot_number | int64 | The total snapshot number. | |
options | string | The list of options. | repeated |
register_timestamp | google.protobuf.Timestamp | The register time of the voting activity. | |
start_timestamp | google.protobuf.Timestamp | The start time of the voting. | |
end_timestamp | google.protobuf.Timestamp | The end time of the voting. | |
current_snapshot_start_timestamp | google.protobuf.Timestamp | The start time of current round of the voting. | |
sponsor | aelf.Address | The sponsor address of the voting activity. |
Vote.VotingItemRegistered¶
Field | Type | Description | Label |
---|---|---|---|
voting_item_id | aelf.Hash | The voting activity id. | |
accepted_currency | string | The token symbol which will be accepted. | |
is_lock_token | bool | Whether the vote will lock token. | |
current_snapshot_number | int64 | The current snapshot number. | |
total_snapshot_number | int64 | The total number of snapshots of the vote. | |
register_timestamp | google.protobuf.Timestamp | The register time of the voting activity. | |
start_timestamp | google.protobuf.Timestamp | The start time of the voting. | |
end_timestamp | google.protobuf.Timestamp | The end time of the voting. | |
current_snapshot_start_timestamp | google.protobuf.Timestamp | The start time of current round of the voting. | |
sponsor | aelf.Address | The sponsor address of the voting activity. |
Vote.VotingRecord¶
Field | Type | Description | Label |
---|---|---|---|
voting_item_id | aelf.Hash | The voting activity id. | |
voter | aelf.Address | The address of voter. | |
snapshot_number | int64 | The snapshot number. | |
amount | int64 | The amount of vote. | |
withdraw_timestamp | google.protobuf.Timestamp | The time of withdraw. | |
vote_timestamp | google.protobuf.Timestamp | The time of vote. | |
is_withdrawn | bool | Whether the vote had been withdrawn. | |
option | string | The option voted. | |
is_change_target | bool | Whether vote others. |
Vote.VotingRecords¶
Field | Type | Description | Label |
---|---|---|---|
records | VotingRecord | The voting records. | repeated |
Vote.VotingRegisterInput¶
Field | Type | Description | Label |
---|---|---|---|
start_timestamp | google.protobuf.Timestamp | The start time of the voting. | |
end_timestamp | google.protobuf.Timestamp | The end time of the voting. | |
accepted_currency | string | The token symbol which will be accepted. | |
is_lock_token | bool | Whether the vote will lock token. | |
total_snapshot_number | int64 | The total number of snapshots of the vote. | |
options | string | The list of options. | repeated |
Vote.VotingResult¶
Field | Type | Description | Label |
---|---|---|---|
voting_item_id | aelf.Hash | The voting activity id. | |
results | VotingResult.ResultsEntry | The voting result, option -> amount of votes, | repeated |
snapshot_number | int64 | The snapshot number. | |
voters_count | int64 | The total number of voters. | |
snapshot_start_timestamp | google.protobuf.Timestamp | The start time of this snapshot. | |
snapshot_end_timestamp | google.protobuf.Timestamp | The end time of this snapshot. | |
votes_amount | int64 | Total votes received during the process of this snapshot. |
AElf.Standards.ACS1¶
AElf.Types¶
aelf.BinaryMerkleTree¶
Field | Type | Description | Label |
---|---|---|---|
nodes | Hash | The leaf nodes. | repeated |
root | Hash | The root node hash. | |
leaf_count | int32 | The count of leaf node. |
aelf.LogEvent¶
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. |
aelf.MerklePath¶
Field | Type | Description | Label |
---|---|---|---|
merkle_path_nodes | MerklePathNode | The merkle path nodes. | repeated |
aelf.MerklePathNode¶
Field | Type | Description | Label |
---|---|---|---|
hash | Hash | The node hash. | |
is_left_child_node | bool | Whether it is a left child node. |
aelf.ScopedStatePath¶
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. |
aelf.StatePath¶
Field | Type | Description | Label |
---|---|---|---|
parts | string | The partial path of the state path. | repeated |
aelf.Transaction¶
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¶
Field | Type | Description | Label |
---|---|---|---|
writes | TransactionExecutingStateSet.WritesEntry | The changed states. | repeated |
reads | TransactionExecutingStateSet.ReadsEntry | The read states. | repeated |
deletes | TransactionExecutingStateSet.DeletesEntry | The deleted states. | repeated |
aelf.TransactionResult¶
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. |
AuthorityInfo¶
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. |