ResultSet contains a list of keys or values
| Field | Type | Label | Description |
| results | bytes | repeated |
|
CronTask is a format used by the CronMarshaler to marshal and unmarshal cron
task.
When there is a gap in message sequence numbers - that most likely means some
old fields got deprecated. This is done to maintain binary compatibility.
| Field | Type | Label | Description |
| authenticators | bytes | repeated | Authenticators contains a list of conditions that authenticate execution of this task. This is one of the main differences between the CronTask and Tx entities. CronTask is created interanlly and does not have to be signed. Because we use the same handlers as for the Tx to process a cron task, we must provide authentication method. This attribute contains all authentication conditions required for execution, that will be inserted into the context. |
| escrow_release_msg | escrow.ReleaseMsg |
|
|
| escrow_return_msg | escrow.ReturnMsg |
|
|
| distribution_distribute_msg | distribution.DistributeMsg |
|
|
| aswap_release_msg | aswap.ReleaseMsg |
|
|
| gov_tally_msg | gov.TallyMsg |
|
ExecuteBatchMsg encapsulates multiple messages to support batch transaction
| Field | Type | Label | Description |
| messages | ExecuteBatchMsg.Union | repeated |
|
| Field | Type | Label | Description |
| cash_send_msg | cash.SendMsg |
|
|
| escrow_create_msg | escrow.CreateMsg |
|
|
| escrow_release_msg | escrow.ReleaseMsg |
|
|
| escrow_return_msg | escrow.ReturnMsg |
|
|
| escrow_update_parties_msg | escrow.UpdatePartiesMsg |
|
|
| multisig_create_msg | multisig.CreateMsg |
|
|
| multisig_update_msg | multisig.UpdateMsg |
|
|
| validators_apply_diff_msg | validators.ApplyDiffMsg |
|
|
| currency_create_msg | currency.CreateMsg |
|
|
| username_register_token_msg | username.RegisterTokenMsg | No recursive batches! |
|
| username_transfer_token_msg | username.TransferTokenMsg |
|
|
| username_change_token_targets_msg | username.ChangeTokenTargetsMsg |
|
|
| username_update_configuration_msg | username.UpdateConfigurationMsg |
|
|
| distribution_create_msg | distribution.CreateMsg |
|
|
| distribution_msg | distribution.DistributeMsg |
|
|
| distribution_reset_msg | distribution.ResetMsg |
|
|
| msgfee_set_msg_fee_msg | msgfee.SetMsgFeeMsg | upgrade schema is important enough, it should be a solo action aswap and gov don't make much sense as part of a batch (no vote buying) |
|
| datamigration_execute_migration_msg | datamigration.ExecuteMigrationMsg |
|
|
| account_update_configuration_msg | account.UpdateConfigurationMsg |
|
|
| account_register_domain_msg | account.RegisterDomainMsg |
|
|
| account_replace_account_msg_fees_msg | account.ReplaceAccountMsgFeesMsg |
|
|
| account_transfer_domain_msg | account.TransferDomainMsg |
|
|
| account_renew_domain_msg | account.RenewDomainMsg |
|
|
| account_delete_domain_msg | account.DeleteDomainMsg |
|
|
| account_register_account_msg | account.RegisterAccountMsg |
|
|
| account_transfer_account_msg | account.TransferAccountMsg |
|
|
| account_replace_account_targets_msg | account.ReplaceAccountTargetsMsg |
|
|
| account_delete_account_msg | account.DeleteAccountMsg |
|
|
| account_flush_domain_msg | account.FlushDomainMsg |
|
|
| account_renew_account_msg | account.RenewAccountMsg |
|
|
| account_add_account_certificate_msg | account.AddAccountCertificateMsg |
|
|
| account_delete_account_certificate_msg | account.DeleteAccountCertificateMsg |
|
|
| cash_update_configuration_msg | cash.UpdateConfigurationMsg | 96 is used by preregistration |
|
| txfee_update_configuration_msg | txfee.UpdateConfigurationMsg |
|
|
| termdeposit_create_deposit_contract_msg | termdeposit.CreateDepositContractMsg |
|
|
| termdeposit_deposit_msg | termdeposit.DepositMsg |
|
|
| termdeposit_release_deposit_msg | termdeposit.ReleaseDepositMsg |
|
|
| termdeposit_update_configuration_msg | termdeposit.UpdateConfigurationMsg |
|
|
| qualityscore_update_configuration_msg | qualityscore.UpdateConfigurationMsg |
|
|
| preregistration_update_configuration_msg | preregistration.UpdateConfigurationMsg |
|
|
| msgfee_update_configuration_msg | msgfee.UpdateConfigurationMsg |
|
| Field | Type | Label | Description |
| messages | ExecuteProposalBatchMsg.Union | repeated |
|
| Field | Type | Label | Description |
| send_msg | cash.SendMsg |
|
|
| escrow_release_msg | escrow.ReleaseMsg |
|
|
| update_escrow_parties_msg | escrow.UpdatePartiesMsg |
|
|
| multisig_update_msg | multisig.UpdateMsg |
|
|
| validators_apply_diff_msg | validators.ApplyDiffMsg |
|
|
| username_register_token_msg | username.RegisterTokenMsg | no recursive batches |
|
| username_transfer_token_msg | username.TransferTokenMsg |
|
|
| username_change_token_targets_msg | username.ChangeTokenTargetsMsg |
|
|
| username_update_configuration_msg | username.UpdateConfigurationMsg |
|
|
| distribution_create_msg | distribution.CreateMsg |
|
|
| distribution_msg | distribution.DistributeMsg |
|
|
| distribution_reset_msg | distribution.ResetMsg |
|
|
| gov_update_electorate_msg | gov.UpdateElectorateMsg | don't allow UpgradeSchema as part of a batch, as effects are too confusing |
|
| gov_update_election_rule_msg | gov.UpdateElectionRuleMsg |
|
|
| gov_create_text_resolution_msg | gov.CreateTextResolutionMsg |
|
|
| msgfee_set_msg_fee_msg | msgfee.SetMsgFeeMsg |
|
|
| datamigration_execute_migration_msg | datamigration.ExecuteMigrationMsg |
|
|
| account_update_configuration_msg | account.UpdateConfigurationMsg |
|
|
| account_register_domain_msg | account.RegisterDomainMsg |
|
|
| account_replace_account_msg_fees_msg | account.ReplaceAccountMsgFeesMsg |
|
|
| account_transfer_domain_msg | account.TransferDomainMsg |
|
|
| account_renew_domain_msg | account.RenewDomainMsg |
|
|
| account_delete_domain_msg | account.DeleteDomainMsg |
|
|
| account_register_account_msg | account.RegisterAccountMsg |
|
|
| account_transfer_account_msg | account.TransferAccountMsg |
|
|
| account_replace_account_targets_msg | account.ReplaceAccountTargetsMsg |
|
|
| account_delete_account_msg | account.DeleteAccountMsg |
|
|
| account_flush_domain_msg | account.FlushDomainMsg |
|
|
| account_renew_account_msg | account.RenewAccountMsg |
|
|
| account_add_account_certificate_msg | account.AddAccountCertificateMsg |
|
|
| account_delete_account_certificate_msg | account.DeleteAccountCertificateMsg |
|
|
| cash_update_configuration_msg | cash.UpdateConfigurationMsg |
|
|
| txfee_update_configuration_msg | txfee.UpdateConfigurationMsg |
|
|
| termdeposit_create_deposit_contract_msg | termdeposit.CreateDepositContractMsg |
|
|
| termdeposit_deposit_msg | termdeposit.DepositMsg |
|
|
| termdeposit_release_deposit_msg | termdeposit.ReleaseDepositMsg |
|
|
| termdeposit_update_configuration_msg | termdeposit.UpdateConfigurationMsg |
|
|
| qualityscore_update_configuration_msg | qualityscore.UpdateConfigurationMsg |
|
|
| preregistration_update_configuration_msg | preregistration.UpdateConfigurationMsg |
|
|
| msgfee_update_configuration_msg | msgfee.UpdateConfigurationMsg |
|
ProposalOptions are possible items that can be enacted by a governance vote
Trimmed down somewhat arbitrary to what is believed to be reasonable
| Field | Type | Label | Description |
| cash_send_msg | cash.SendMsg |
|
|
| escrow_release_msg | escrow.ReleaseMsg |
|
|
| update_escrow_parties_msg | escrow.UpdatePartiesMsg |
|
|
| multisig_update_msg | multisig.UpdateMsg |
|
|
| validators_apply_diff_msg | validators.ApplyDiffMsg |
|
|
| currency_create_msg | currency.CreateMsg |
|
|
| execute_proposal_batch_msg | ExecuteProposalBatchMsg |
|
|
| username_register_token_msg | username.RegisterTokenMsg |
|
|
| username_transfer_token_msg | username.TransferTokenMsg |
|
|
| username_change_token_targets_msg | username.ChangeTokenTargetsMsg |
|
|
| username_update_configuration_msg | username.UpdateConfigurationMsg |
|
|
| distribution_create_msg | distribution.CreateMsg |
|
|
| distribution_msg | distribution.DistributeMsg |
|
|
| distribution_reset_msg | distribution.ResetMsg |
|
|
| migration_upgrade_schema_msg | migration.UpgradeSchemaMsg |
|
|
| gov_update_electorate_msg | gov.UpdateElectorateMsg |
|
|
| gov_update_election_rule_msg | gov.UpdateElectionRuleMsg |
|
|
| gov_create_text_resolution_msg | gov.CreateTextResolutionMsg |
|
|
| msgfee_set_msg_fee_msg | msgfee.SetMsgFeeMsg |
|
|
| datamigration_execute_migration_msg | datamigration.ExecuteMigrationMsg |
|
|
| account_update_configuration_msg | account.UpdateConfigurationMsg |
|
|
| account_register_domain_msg | account.RegisterDomainMsg |
|
|
| account_replace_account_msg_fees_msg | account.ReplaceAccountMsgFeesMsg |
|
|
| account_transfer_domain_msg | account.TransferDomainMsg |
|
|
| account_renew_domain_msg | account.RenewDomainMsg |
|
|
| account_delete_domain_msg | account.DeleteDomainMsg |
|
|
| account_register_account_msg | account.RegisterAccountMsg |
|
|
| account_transfer_account_msg | account.TransferAccountMsg |
|
|
| account_replace_account_targets_msg | account.ReplaceAccountTargetsMsg |
|
|
| account_delete_account_msg | account.DeleteAccountMsg |
|
|
| account_flush_domain_msg | account.FlushDomainMsg |
|
|
| account_renew_account_msg | account.RenewAccountMsg |
|
|
| account_add_account_certificate_msg | account.AddAccountCertificateMsg |
|
|
| account_delete_account_certificate_msg | account.DeleteAccountCertificateMsg |
|
|
| cash_update_configuration_msg | cash.UpdateConfigurationMsg |
|
|
| txfee_update_configuration_msg | txfee.UpdateConfigurationMsg |
|
|
| termdeposit_create_deposit_contract_msg | termdeposit.CreateDepositContractMsg |
|
|
| termdeposit_deposit_msg | termdeposit.DepositMsg |
|
|
| termdeposit_release_deposit_msg | termdeposit.ReleaseDepositMsg |
|
|
| termdeposit_update_configuration_msg | termdeposit.UpdateConfigurationMsg |
|
|
| qualityscore_update_configuration_msg | qualityscore.UpdateConfigurationMsg |
|
|
| preregistration_update_configuration_msg | preregistration.UpdateConfigurationMsg |
|
|
| msgfee_update_configuration_msg | msgfee.UpdateConfigurationMsg |
|
Tx contains the message.
When extending Tx, follow the rules:
- range 1-50 is reserved for middlewares,
- range 51-inf is reserved for different message types,
- keep the same numbers for the same message types in both bnsd and other
applications. For example, FeeInfo field is used by both and indexed at
first position. Skip unused fields (leave index unused or comment out for
clarity).
When there is a gap in message sequence numbers - that most likely means some
old fields got deprecated. This is done to maintain binary compatibility.
| Field | Type | Label | Description |
| fees | cash.FeeInfo |
|
|
| signatures | sigs.StdSignature | repeated |
|
| multisig | bytes | repeated | Multisig contains IDs of multisig contracts. empty array results in multisig being ignored, basically the same behaviour as if it never got supplied. |
| cash_send_msg | cash.SendMsg |
|
|
| escrow_create_msg | escrow.CreateMsg |
|
|
| escrow_release_msg | escrow.ReleaseMsg |
|
|
| escrow_return_msg | escrow.ReturnMsg |
|
|
| escrow_update_parties_msg | escrow.UpdatePartiesMsg |
|
|
| multisig_create_msg | multisig.CreateMsg |
|
|
| multisig_update_msg | multisig.UpdateMsg |
|
|
| validators_apply_diff_msg | validators.ApplyDiffMsg |
|
|
| currency_create_msg | currency.CreateMsg |
|
|
| execute_batch_msg | ExecuteBatchMsg |
|
|
| username_register_token_msg | username.RegisterTokenMsg |
|
|
| username_transfer_token_msg | username.TransferTokenMsg |
|
|
| username_change_token_targets_msg | username.ChangeTokenTargetsMsg |
|
|
| username_update_configuration_msg | username.UpdateConfigurationMsg |
|
|
| distribution_create_msg | distribution.CreateMsg |
|
|
| distribution_msg | distribution.DistributeMsg |
|
|
| distribution_reset_msg | distribution.ResetMsg |
|
|
| migration_upgrade_schema_msg | migration.UpgradeSchemaMsg |
|
|
| aswap_create_msg | aswap.CreateMsg |
|
|
| aswap_release_msg | aswap.ReleaseMsg |
|
|
| aswap_return_msg | aswap.ReturnMsg |
|
|
| gov_create_proposal_msg | gov.CreateProposalMsg |
|
|
| gov_delete_proposal_msg | gov.DeleteProposalMsg |
|
|
| gov_vote_msg | gov.VoteMsg |
|
|
| gov_update_electorate_msg | gov.UpdateElectorateMsg | Tally is executed via cron only. gov.TallyMsg gov_tally_msg = 76; |
|
| gov_update_election_rule_msg | gov.UpdateElectionRuleMsg |
|
|
| msgfee_set_msg_fee_msg | msgfee.SetMsgFeeMsg | 79 is reserved (see ProposalOptions: TextResolutionMsg) |
|
| datamigration_execute_migration_msg | datamigration.ExecuteMigrationMsg |
|
|
| account_update_configuration_msg | account.UpdateConfigurationMsg |
|
|
| account_register_domain_msg | account.RegisterDomainMsg |
|
|
| account_replace_account_msg_fees_msg | account.ReplaceAccountMsgFeesMsg |
|
|
| account_transfer_domain_msg | account.TransferDomainMsg |
|
|
| account_renew_domain_msg | account.RenewDomainMsg |
|
|
| account_delete_domain_msg | account.DeleteDomainMsg |
|
|
| account_register_account_msg | account.RegisterAccountMsg |
|
|
| account_transfer_account_msg | account.TransferAccountMsg |
|
|
| account_replace_account_targets_msg | account.ReplaceAccountTargetsMsg |
|
|
| account_delete_account_msg | account.DeleteAccountMsg |
|
|
| account_flush_domain_msg | account.FlushDomainMsg |
|
|
| account_renew_account_msg | account.RenewAccountMsg |
|
|
| account_add_account_certificate_msg | account.AddAccountCertificateMsg |
|
|
| account_delete_account_certificate_msg | account.DeleteAccountCertificateMsg |
|
|
| preregistration_register_msg | preregistration.RegisterMsg |
|
|
| cash_update_configuration_msg | cash.UpdateConfigurationMsg |
|
|
| txfee_update_configuration_msg | txfee.UpdateConfigurationMsg |
|
|
| termdeposit_create_deposit_contract_msg | termdeposit.CreateDepositContractMsg |
|
|
| termdeposit_deposit_msg | termdeposit.DepositMsg |
|
|
| termdeposit_release_deposit_msg | termdeposit.ReleaseDepositMsg |
|
|
| termdeposit_update_configuration_msg | termdeposit.UpdateConfigurationMsg |
|
|
| qualityscore_update_configuration_msg | qualityscore.UpdateConfigurationMsg |
|
|
| preregistration_update_configuration_msg | preregistration.UpdateConfigurationMsg |
|
|
| msgfee_update_configuration_msg | msgfee.UpdateConfigurationMsg |
|
Account represents an account that belongs to a domain.
String representation of an account is `
acceptable account string. Complete validation rules for name and domain are
declared by configuration entity.
An account must always belong to an existing domain.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| domain | string | Domain references a domain that this account belongs to. |
|
| name | string |
|
|
| owner | bytes | Owner is a weave.Address that controls this account. Can be empty. An account can be administrated by the domain admin. In addition, ownership can be assigned to an address to allow another party to manage selected account. |
|
| valid_until | int64 | Valid until defines the expiration date for the account. Expired account cannot be used or modified. This date is always considered in context of the domain that this account belongs. Expired domain expires all belonging accounts as well, event if that account valid until date is not yet due. |
|
| targets | BlockchainAddress | repeated |
|
| certificates | bytes | repeated |
|
| broker | bytes | Broker is a weave address (bech32 or hex) that can be provided by a middleman that helped facilitate the registration transaction. For example, an IOV token holder that registers a domain in exchange for fiat from a client is a broker. Storing the broker helps identify the contribution of such a party, which allows for automated commission distribution through an IOV reward initiative, for example. Must be a weave address that starts with a format or hex for example: bech32:tiov16hzpmhecd65u993lasmexrdlkvhcxtlnf7f4ws. |
AccountMsgFee defines a fee for processing a message of a given type,
determined by that message path. This is a way to declare an additional
price for processing a message in a scope of a domain.
| Field | Type | Label | Description |
| msg_path | string |
|
|
| fee | coin.Coin |
|
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| domain | string | Domain that account belongs to. |
|
| name | string | Account name. |
|
| certificate | bytes | Certificate content. |
BlockchainAddress represents a blochain address. This structure clubs together
blokchain ID together with an address on that network. It is used to point
to an address on any blockchain network.
| Field | Type | Label | Description |
| blockchain_id | string | An arbitrary blockchain ID. |
|
| address | string | An address on the specified blockchain network. Address is not a weave.Address as we cannot know what is the format of an address on the chain that this token instance links to. Because we do not know the rules to validate an address for any blockchain ID, this is an arbitrary bulk of data. It is more convenient to always use encoded representation of each address and store it as a string. Using bytes while compact is not as comfortable to use. |
Configuration is a dynamic configuration used by this extension, managed by
the functionality provided by gconf package.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| owner | bytes | Owner is present to implement gconf.OwnedConfig interface This defines the Address that is allowed to update the Configuration object and is needed to make use of gconf.NewUpdateConfigurationHandler |
|
| valid_domain | string | Valid domain defines a regular expression that every valid domain of an account must match. Rule must not include the asterisk (*) character. |
|
| valid_name | string | Valid name defines a regular expression that every valid name of an account must match. Rule must not include the asterisk (*) character. |
|
| valid_blockchain_id | string | Valid blockchain ID defines a regular expression that a valid target blockchain ID must match. |
|
| valid_blockchain_address | string | Valid blockchain address defines a regular expression that a valid target blockchain address must match. |
|
| domain_renew | int64 | Domain renew defines the duration of the domain renewal period. |
|
| domain_grace_period | int64 | Domain grace period defines the duration of the release duration of a domain. A non-admin can delete the domain after the grace period ends. |
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| domain | string | Domain that account belongs to. |
|
| name | string | Account name. |
|
| certificate_hash | bytes | Certificate hash is a sha256 checksum of the certificate content. Certificates are bytes without any identifier. They are also not parsed by the application. We optimize transferred data by sending only a checksum of a certificate in order to identify it. |
DeleteAccountMsg issues deletion of a name that belongs to given domain.
Message must be signed by the domain owner.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| domain | string |
|
|
| name | string |
|
DeleteDomainMsg issues deletion of a domain and all accounts that belong to
that domain.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| domain | string | Name of the domain that is deleted. |
Domain represents an account domain.
Domain is a container for accounts. Account representation is
`
Each domain admin controls all accounts that belong to that domain.
Each domain controls expiration of all accounts that belong to that domain.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| domain | string |
|
|
| admin | bytes | Admin is a weave.Address that controls this domain and all accounts that belong to this domain. |
|
| valid_until | int64 | Valid until defines the expiration date for the domain. Expired domain cannot be used or modified. None of the accounts that belong to an expired domain can be used of modified as well. |
|
| has_superuser | bool | Has Superuser is a feature switch flag. |
|
| msg_fees | AccountMsgFee | repeated | Msg fees declares an optional list of additional fees that paying is required when processing a message within this domain. |
| account_renew | int64 | Account review defines the duration of the account renewal period for each account that belongs to this domain. |
|
| broker | bytes | Broker is a weave address (bech32 or hex) that can be provided by a middleman that helped facilitate the registration transaction. For example, an IOV token holder that registers a domain in exchange for fiat from a client is a broker. Storing the broker helps identify the contribution of such a party, which allows for automated commission distribution through an IOV reward initiative, for example. Must be a weave address that starts with a format or hex for example: bech32:tiov16hzpmhecd65u993lasmexrdlkvhcxtlnf7f4ws. |
FlushDomainMsg issues deletion of all names (except the one with an empty
name) that belongs to given domain.
Message must be signed by the domain admin.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| domain | string |
|
RegisterAccountMsg issues registration of an account. Requested domain must
exist and belong to the same user that signs this message.
If domain does not have a public registration enabled, transaction must be
signed by the domain admin.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| domain | string | Domain that a new account is the be registered under. |
|
| name | string | Name that a new account is the be registered with. |
|
| owner | bytes | Owner holds the address of the newly registered account. Can be empty to leave the administration to the domain owner only. |
|
| targets | BlockchainAddress | repeated |
|
| broker | bytes | Broker is a weave address (bech32 or hex) that can be provided by a middleman that helped facilitate the registration transaction. For example, an IOV token holder that registers a domain in exchange for fiat from a client is a broker. Storing the broker helps identify the contribution of such a party, which allows for automated commission distribution through an IOV reward initiative, for example. Must be a weave address that starts with a format or hex for example: bech32:tiov16hzpmhecd65u993lasmexrdlkvhcxtlnf7f4ws. |
RegisterDomainMsg is issuing registration of a new domain. Requested
domain name must be available (not yet registed) in order for the request to
succeed.
Registering a domain creates an account with no name that belongs to this
domain.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| domain | string |
|
|
| admin | bytes | Admin holds the address of the newly registered domain. |
|
| has_superuser | bool | Has Superuser is a feature switch flag. |
|
| broker | bytes | Broker is a weave address (bech32 or hex) that can be provided by a middleman that helped facilitate the registration transaction. For example, an IOV token holder that registers a domain in exchange for fiat from a client is a broker. Storing the broker helps identify the contribution of such a party, which allows for automated commission distribution through an IOV reward initiative, for example. Must be a weave address that starts with a format or hex for example: bech32:tiov16hzpmhecd65u993lasmexrdlkvhcxtlnf7f4ws. |
|
| msg_fees | AccountMsgFee | repeated |
|
| account_renew | int64 |
|
RenewAccountMsg is issuing an account expiration time extension. Extension
period is defined by the domain that this account belongs to.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| domain | string | Name of the domain that is transferred. |
|
| name | string |
|
RenewDomainMsg is issuing a domain expiration time extension. Extension
period is defined by the configuration entity.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| domain | string | Name of the domain that is transferred. |
ReplaceMsgFeesMsg is configuring a set of additional prices that must be
paid in order to process messages for accounts that belong to this domain.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| domain | string | Name of the domain that is configured. |
|
| new_msg_fees | AccountMsgFee | repeated | A set of message fees that will replacce existing configuration. |
ReplaceAccountTargetsMsg is issuing rewrite of all targets that given
account points to.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| domain | string |
|
|
| name | string |
|
|
| new_targets | BlockchainAddress | repeated |
|
TransferAccountMsg is issuing an ownership transfer over specified account.
Transfering an account ownership does not affect related domain owner
permissions to administrate that account.
Domain that this account belongs to determines if the account owner can
transfer ownership. Domain admin can always transfer ownership.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| domain | string |
|
|
| name | string |
|
|
| new_owner | bytes | New owner holds the address that the ownership of the domain is transferred to. |
TransferDomainMsg is issuing a change of the admin for the specified domain.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| domain | string | Name of the domain that is transferred. |
|
| new_admin | bytes | New admin holds the address that the ownership of the domain is transferred to. |
UpdateConfigurationMsg is used by the gconf extension to update the
configuration.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| patch | Configuration |
|
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| owner | bytes | Owner is present to implement gconf.OwnedConfig interface This defines the Address that is allowed to update the Configuration object and is needed to make use of gconf.NewUpdateConfigurationHandler |
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| domain | string |
|
|
| owner | bytes |
|
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| domain | string |
|
|
| owner | bytes |
|
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| patch | Configuration |
|
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| owner | bytes | Owner is present to implement gconf.OwnedConfig interface This defines the Address that is allowed to update the Configuration object and is needed to make use of gconf.NewUpdateConfigurationHandler |
|
| c | weave.Fraction |
|
|
| k | weave.Fraction |
|
|
| kp | weave.Fraction |
|
|
| q0 | weave.Fraction |
|
|
| x | weave.Fraction |
|
|
| x_inf | weave.Fraction |
|
|
| x_sup | weave.Fraction |
|
|
| delta | weave.Fraction |
|
UpdateConfigurationMsg is used by the gconf extension to update the
configuration.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| patch | Configuration |
|
Configuration is a dynamic configuration used by this extension, managed by
the functionality provided by gconf package.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| owner | bytes | Owner is present to implement gconf.OwnedConfig interface. Owner is allowed to update the configuration. |
|
| admin | bytes | Admin is an address that is able to create deposit contracts. |
|
| bonuses | DepositBonus | repeated | A list of bonus values applied to each created Deposit instance. |
| base_rates | CustomRate | repeated | Base rates defines a list of addresses that have their q-score value fixed. |
CreateDepositContractMsg creates a new DepositContract entity. This message
must be signed by the admin as configured via the Configuration entity.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| valid_since | int64 | An activation date for the newly created deposit contract. |
|
| valid_until | int64 | An expiration date for the newly created deposit contract. |
Custom Rate allows to declare a fixed rate value for an address.
| Field | Type | Label | Description |
| address | bytes |
|
|
| rate | weave.Fraction |
|
Deposit represents a single fund deposition. Deposited funds are locked
until the contract expiration.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| deposit_contract_id | bytes | Deposit contract ID that this funds allocation was made with. |
|
| amount | coin.Coin | Total amount that was deposited within a contract. Must be IOV tokens. This information is used when computing each depositor reward. It is used instead of looking at the actual wallet state, so that it is not possible to increase the value of a deposit wallet only shortly before the computation. |
|
| rate | weave.Fraction | Pro-rated interest rate as detailed in the Confluence spec. |
|
| depositor | bytes | Payback is an address that locked funds and interest are send back to once the contract expires. |
|
| released | bool | Released flag is used to determin whether the funds locked by this deposit were already released or not. |
|
| created_at | int64 | CreatedAt is set to the wall clock value at the deposit creation time. |
DepositBonus defines a bonus value used to calculate deposit rate. The
longer the deposit period, the higher the deposit bonus should be.
| Field | Type | Label | Description |
| lockin_period | int32 | Deposit minimal lockin period required to use this bonus. |
|
| bonus | weave.Fraction | Bonus rate for given range. |
DepositContract is an entity created in order to allow investment deposits.
Anyone can deposit funds and therefore sign a deposit contract in order to
lock funds and receive appropriate interest after the contract expires.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| valid_since | int64 | Valid since defines the beginning of when the contract is active. |
|
| valid_until | int64 | An expiration date for this deposit contract. After this deadline, all depositor funds are released and deposit contract is no longer active. |
DepositMsg can be send by anyone to deposit funds within a non expired
contract. Funds will stay locked until that contract expiration date.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| deposit_contract_id | bytes | Deposit contract ID that this funds allocation was made with. Contract must not be expired. |
|
| amount | coin.Coin | Total amount that was deposited within a contract. Must be IOV tokens. |
|
| depositor | bytes | Payback is an address that locked funds and interest are send back to once the contract expires. |
ReleaseDepositMsg cause releasing of all funds allocated within given
deposit. Related contract must be expired. Anyone can submit this message.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| deposit_id | bytes | ID of the deposit that is to be released. |
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| patch | Configuration |
|
BlockchainAddress represents a blochain address. This structure clubs together
blokchain ID together with an address on that network. It is used to point
to an address on any blockchain network.
| Field | Type | Label | Description |
| blockchain_id | string | An arbitrary blockchain ID. |
|
| address | string | An address on the specified blockchain network. Address is not a weave.Address as we cannot know what is the format of an address on the chain that this token instance links to. Because we do not know the rules to validate an address for any blockchain ID, this is an arbitrary bulk of data. It is more convinient to always use encoded representation of each address and store it as a string. Using bytes while compact is not as comfortable to use. |
ChangeTokenTargetsMsg is a request to change the address that this token
points to. Only the owner of a token can request this operation.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| username | string | Username is the unique name of the token, for example alice*iov |
|
| new_targets | BlockchainAddress | repeated | New targets is a list of blockchain addresses that this token should point to after the change. Old list is overwritten with what is provided. |
Configuration is a dynamic configuration used by this extension, managed by
the functionality provided by gconf package.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| owner | bytes | Owner is present to implement gconf.OwnedConfig interface This defines the Address that is allowed to update the Configuration object and is needed to make use of gconf.NewUpdateConfigurationHandler |
|
| valid_username_name | string | Valid username name defines a regular expression that every valid username part name must match (a username is <name>*<label>) |
|
| valid_username_label | string | Valid username label defines a regular expression that every valid namespace label must match (a username is <name>*<label>) |
RegisterTokenMsg is creating a new username token. The owner is always set
to the main signer.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| username | string | Username is the unique name of the token, for example alice*iov |
|
| targets | BlockchainAddress | repeated | Targets is a blockchain address list that this token should point to. |
Token model represents a username mapping to an address together with all
metadata.
Each Token model is stored using the username as the key. This guarantee
that the name is unique. Username is a combination of a name and a domain.
The format is
Each token points to a blockchain and an address on that blockchain. Both
blockchain ID and address are an arbitrary string as we do not want to limit
ourselves to certain patterns.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| targets | BlockchainAddress | repeated | Targets specifies where this username token points to. This must be at least one blockchain address elemenet. |
| owner | bytes | Owner is a weave.Address that controls this token. Only the owner can modify a username token. |
TransferTokenMsg is a request to transfer an ownership of a token. The
mesage must be signed by the current token owner. Acceptance of the new
owner is not required in order to succeed.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| username | string | Username is the unique name of the token, for example alice*iov |
|
| new_owner | bytes | Owner is a weave address that will owns this token after the change. |
UpdateConfigurationMsg is used by the gconf extension to update the
configuration.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| patch | Configuration |
|
The Fraction type represents a floating point number without the precision
issues that native floating point type has.
| Field | Type | Label | Description |
| numerator | uint32 | The top number in a fraction. |
|
| denominator | uint32 | The bottom number |
Metadata is expected to be the first argument of every message or model. It
contains all essential attributes.
Each protobuf message should be declared with the first attribute being
weave.Metadata metadata = 1;
| Field | Type | Label | Description |
| schema | uint32 |
|
PubKey represents a validator public key.
| Field | Type | Label | Description |
| type | string |
|
|
| data | bytes |
|
ValidatorUpdate represents an update to validator set.
| Field | Type | Label | Description |
| pub_key | PubKey |
|
|
| power | int64 |
|
ValidatorUpdates represents latest validator state, currently used to validate SetValidatorMsg transactions.
| Field | Type | Label | Description |
| validator_updates | ValidatorUpdate | repeated |
|
Coin can hold any amount between -1 billion and +1 billion
at steps of 10^-9. It is a fixed-point decimal
representation and uses integers to avoid rounding
associated with floats.
Every code has a denomination, which is just a
If you want anything more complex, you should write your
own type, possibly borrowing from this code.
| Field | Type | Label | Description |
| whole | int64 | Whole coins, -10^15 < integer < 10^15 |
|
| fractional | int64 | Billionth of coins. 0 <= abs(fractional) < 10^9 If fractional != 0, must have same sign as integer |
|
| ticker | string | Ticker is 3-4 upper-case letters and all Coins of the same currency can be combined |
| Field | Type | Label | Description |
| ed25519 | bytes |
|
| Field | Type | Label | Description |
| ed25519 | bytes |
|
| Field | Type | Label | Description |
| ed25519 | bytes |
|
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| migration_id | string |
|
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
| Field | Type | Label | Description |
| admin | bytes | Admin holds the address of the administrator allowed to upgrade schema versions. If you wish to permit more than one entity to be an admin, use multisig. |
Schema declares the maxiumum supported schema version for a package.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| pkg | string | Pkg holds the name of the package that this migration is declared for. For example, for extension `x/myext` package value is `myext` |
|
| version | uint32 | Version holds the highest supported schema version. |
UpgradeSchemaMsg is a request to upgrade schema version of a given package
by one version.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| pkg | string | Name of the package that schema version upgrade is made for. |
|
| to_version | uint32 | To version defines to which version upgrade this schema. It always must be a value one higher than the currently registered schema or 1 if this is the initial upgrade. This value must be provided to avoid consecutive upgrades submitted by a mistake. This ensures at most one delivery as upgrades to an invalid version are rejected. |
Counter could be used for sequence, but mainly just for test
| Field | Type | Label | Description |
| count | int64 |
|
CounterWithID could be used for sequence, but mainly just for test
| Field | Type | Label | Description |
| primary_key | bytes |
|
|
| count | int64 |
|
MultiRef contains a list of references to pks
| Field | Type | Label | Description |
| refs | bytes | repeated |
|
VersionedID is the combination of document ID and version number.
| Field | Type | Label | Description |
| id | bytes | Unique identifier |
|
| version | uint32 | Document version, starting with 1. |
CreateMsg creates a Swap with some coins.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| source | bytes |
|
|
| preimage_hash | bytes | sha256 hash of preimage, 32 bytes long |
|
| destination | bytes |
|
|
| amount | coin.Coin | repeated | amount may contain multiple token types |
| timeout | int64 | Timeout represents wall clock time. |
|
| memo | string | max length 128 character |
ReleaseMsg releases the tokens to the destination.
This operation is authorized by preimage, which is sent raw and then hashed on the backend.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| swap_id | bytes | swap_id to release |
|
| preimage | bytes | raw preimage to unlock swap, also helpful to retrieve the swap by it's hashed version must be exactly 32 bytes long |
ReturnMsg releases the tokens to the source.
This operation only works if the Swap is expired.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| swap_id | bytes | swap_id to return |
Swap is designed to hold some coins for atomic swap, locked by preimage_hash
| Field | Type | Label | Description |
| metadata | weave.Metadata | metadata is used for schema versioning support |
|
| preimage_hash | bytes | sha256 hash of preimage, 32 bytes long |
|
| source | bytes | source is a sender address |
|
| destination | bytes | destination is an address of destination |
|
| timeout | int64 | If unreleased before timeout, swap will return coins to source. Timeout represents wall clock time as read from the block header. Timeout is represented using POSIX time format. Expiration time is inclusive meaning that the swap expires as soon as the current time is equal or greater than timeout value. nonexpired: [created, timeout) expired: [timeout, infinity) |
|
| memo | string | max length 128 characters |
|
| address | bytes | Address of this entity. Set during creation and does not change. |
| Field | Type | Label | Description |
| elements | bytes | repeated |
|
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| owner | bytes | Owner is present to implement gconf.OwnedConfig interface This defines the Address that is allowed to update the Configuration object and is needed to make use of gconf.NewUpdateConfigurationHandler |
|
| collector_address | bytes |
|
|
| minimal_fee | coin.Coin |
|
FeeInfo records who pays what fees to have this
message processed
| Field | Type | Label | Description |
| payer | bytes | Payer represents an address that will pay the fee. A fee fund will be withdrawn from that account in order to process a transaction. Warning: This field is optional and when not set it will default to any signer. It is recommended to always explicitely set the value of this field, as the signer order is not guaranteed. |
|
| fees | coin.Coin |
|
SendMsg is a request to move these coins from the given
source to the given destination address.
memo is an optional human-readable message
ref is optional binary data, that can refer to another
eg. tx hash
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| source | bytes |
|
|
| destination | bytes |
|
|
| amount | coin.Coin |
|
|
| memo | string | max length 128 character |
|
| ref | bytes | max length 64 bytes |
Set may contain Coin of many different currencies.
It handles adding and subtracting sets of currencies.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| coins | coin.Coin | repeated |
|
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| patch | Configuration |
|
TaskResult is a publicly available information about task execution result.
It is only created for those tasks that were executed.
Due to a bug in tendermint we must store this information ourselves instead
of relying on the usual search via tag.
https://github.com/tendermint/tendermint/issues/3665
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| successful | bool | Successful is set to true if the task was successfully executed. |
|
| info | string | Info contains any additinal information that might be useful to lean more about the task execution. |
|
| exec_time | int64 | Exec time hold the information of when the task was executed. |
|
| exec_height | int64 | Exec height holds the block height value at the time the task was executed. |
CreateMsg will register a new currency. Ticker (currency symbol) can
be registered only once.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| ticker | string |
|
|
| name | string |
|
TokenInfo contains information about a single currency. It is used as an
alternative solution to hardcoding supported currencies information.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| name | string |
|
CreateMsg is issuing the creation of a new revenue stream instance.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| admin | bytes | Admin key belongs to the governance entities. It can be used to transfer stored amount to an another account. While not enforced it is best to use a multisig contract here. |
|
| destinations | Destination | repeated | Destinations holds any number of addresses that the collected revenue is distributed to. Must be at least one. |
| Field | Type | Label | Description |
| address | bytes | An address that the funds should be transferred to. This should not be the validator addresses, as the keys used to sign blocks should never be in a wallet. This can be the wallets of the admins of the validators. |
|
| weight | int32 | Weight defines what part of the total revenue goes to this destination. Each destination receives part of the total revenue amount proportional to the weight. For example, if there are two destinations with weights 1 and 2 accordingly, distribution will be 1/3 to the first address and 2/3 to the second one. |
DistributeMsg is a request to distribute all funds collected within a single
revenue instance. Revenue is distributed between destinations. Request must be
signed using admin key.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| revenue_id | bytes | Revenue ID reference an ID of a revenue instance that the collected fees should be distributed between destinations. |
ResetMsg change the configuration of a revenue instance.
To assure destinations that they will receive money, every revenue update is
forcing funds distribution. Before applying any change all funds stored by
the revenue account are distributed using old configuration. Only when the
collected revenue amount is equal to zero the change is applied.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| revenue_id | bytes | Revenue ID reference an ID of a revenue instance that is updated. |
|
| destinations | Destination | repeated | Destinations holds any number of addresses that the collected revenue is distributed to. Must be at least one. |
Revenue represents an account with funds collected from the fees. This is a
temporary account used for storing fees that are later distributed between
the owners.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| admin | bytes | Admin key belongs to the governance entities. It can be used to transfer stored amount to an another account. While not enforced it is best to use a multisig contract here. |
|
| destinations | Destination | repeated | Destinations holds any number of addresses that the collected revenue is distributed to. Must be at least one. |
| address | bytes | Address of this entity. Set during creation and does not change. |
CreateMsg is a request to create an Escrow with some tokens.
Message must be authorized by the source.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| source | bytes |
|
|
| arbiter | bytes |
|
|
| destination | bytes |
|
|
| amount | coin.Coin | repeated | amount may contain multiple token types |
| timeout | int64 | Timeout represents wall clock time. |
|
| memo | string | max length 128 character |
Escrow holds some coins.
The arbiter or source can release them to the destination.
The destination can return them to the source.
Upon timeout, they will be returned to the source.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| source | bytes |
|
|
| arbiter | bytes |
|
|
| destination | bytes |
|
|
| timeout | int64 | If unreleased before timeout, escrow will return to source. Timeout represents wall clock time as read from the block header. Timeout is represented using POSIX time format. Expiration time is inclusive meaning that the escrow expires as soon as the current time is equal or greater than timeout value. nonexpired: [created, timeout) expired: [timeout, infinity) |
|
| memo | string | max length 128 character |
|
| address | bytes | Address of this entity. Set during creation and does not change. |
ReleaseMsg releases the content to the destination.
Message must be authorized by the source or arbiter.
If amount not provided, defaults to entire escrow, May be a subset of the
current balance.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| escrow_id | bytes |
|
|
| amount | coin.Coin | repeated |
|
ReturnMsg returns the content to the source.
Must be authorized by the source or an expired timeout
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| escrow_id | bytes |
|
UpdatePartiesMsg changes any of the parties of the escrow:
source, arbiter, destination. This must be authorized by the current
holder of that position (eg. only source can update source).
Represents delegating responsibility
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| escrow_id | bytes |
|
|
| source | bytes |
|
|
| arbiter | bytes |
|
|
| destination | bytes |
|
CreateProposalMsg creates a new governance proposal.
Most fields control the whole election process.
raw_option contains an transaction to be executed by the governance vote in case of success
(what is being voted on)
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| title | string | Human readable title. Must match `^[a-zA-Z0-9 _.-]{4,128}$` |
|
| raw_option | bytes | Content of the proposal. Protobuf encoded, app-specific decoded must be passed in handler constructor |
|
| description | string | Human readable description with 3 to 5000 chars. |
|
| election_rule_id | bytes | ElectionRuleID is a reference to the election rule |
|
| start_time | int64 | Unix timestamp when the proposal starts. Must be in the future. |
|
| author | bytes | Author is an optional field to set the address of the author with a proposal. The author must sign the message. The author of the created proposal. Warning: This field is optional and when not set it will default to any signer. It is recommended to always explicitely set the value of this field, as the signer order is not guaranteed. |
TextResolutionMsg is only intended to be dispatched internally from election
results. It adds a resolution to the list of "approved" resolutions,
with a reference to the electorate that approved it
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| resolution | string |
|
DeleteProposalMsg deletes a governance proposal.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| proposal_id | bytes | ProposalID is the unique identifier of the proposal to delete |
Election Rule defines how an election is run. A proposal must be voted upon via a pre-defined ruleset.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| version | uint32 | Document version. |
|
| admin | bytes | Admin is the address that is allowed to modify an existing election rule. |
|
| electorate_id | bytes | ElectorateID references the electorate using this rule (without version, as changing electorate changes the rule). |
|
| title | string | Human readable title. |
|
| voting_period | uint32 | Duration in seconds of how long the voting period will take place. |
|
| threshold | Fraction | Threshold is the fraction of either all eligible voters or in case of a quorum setup the fraction of all non abstained votes. To accept a proposal this value must be exceeded with Yes votes. The formula applied is: (yes * denominator) > (base * numerator) with base total electorate weight or Yes/No votes in case of quorum set The valid range for the threshold value is `0.5` to `1` (inclusive) which allows any value between half and all of the eligible voters. |
|
| quorum | Fraction | The quorum fraction of eligible voters is based on the total electorate weight and defines a threshold of votes that must be exceeded before the acceptance threshold is applied. This value requires any kind of votes and not only YES. The valid range for the threshold value is `0.5` to `1` (inclusive) which allows any value between half and all of the eligible voters. |
|
| address | bytes | Address of this entity. Set during creation and does not change. |
Elector clubs together a address with a weight. The greater the weight
the greater the power of a participant.
| Field | Type | Label | Description |
| address | bytes | The address of the voter. |
|
| weight | uint32 | Weight defines the power of the participants vote. max value is 65535 (2^16-1). |
Electorate defines who may vote in an election. This same group can be used in many elections
and is stored for re-use
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| version | uint32 | Document version |
|
| admin | bytes | Admin is the address that is allowed ot modify an existing electorate. |
|
| title | string | Human readable title. |
|
| electors | Elector | repeated | Elector defines a list of all signatures that are allowed to participate in a vote |
| total_electorate_weight | uint64 | TotalElectorateWeight is the sum of all electors weights. |
The Fraction type represents a numerator and denominator to enable higher precision thresholds in
the election rules. For example:
numerator: 1, denominator: 2 => > 50%
numerator: 2, denominator: 3 => > 66.666..%
numerator: 6273, denominator: 10000 => > 62.73%
Valid range of the fraction is 0.5 to 1.
| Field | Type | Label | Description |
| numerator | uint32 | The top number in a fraction. |
|
| denominator | uint32 | The bottom number |
A generic proposal for an on-chain governance process.
Most fields control the whole election process.
raw_option contains an transaction to be executed by the governance vote in case of success
(what is being voted on)
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| title | string | Human readable title. |
|
| raw_option | bytes | Content of the proposal. Protobuf encoded, app-specific decoded must be passed in constructor |
|
| description | string | Description of the proposal in text form. |
|
| election_rule_ref | orm.VersionedIDRef | ElectionRuleRef is a reference to the election rule |
|
| electorate_ref | orm.VersionedIDRef | Reference to the electorate to define the group of possible voters. |
|
| voting_start_time | int64 | Unix timestamp of the block where the voting period starts. Header time of the votes must be greater than or equal to this start time. |
|
| voting_end_time | int64 | Unix timestamp of the block where the voting period ends. Header times of the votes must be before this end time to be included in the election. |
|
| submission_time | int64 | Unix timestamp of the block where the proposal was added to the chain. |
|
| author | bytes | Address of the author who created the proposal. If not set explicit on creation it will default to the main signer. |
|
| vote_state | TallyResult | Result of the election. Contains intermediate tally results while voting period is open. |
|
| status | Proposal.Status | Status represents the high level position in the life cycle of the proposal. Initial value is Submitted. |
|
| result | Proposal.Result | Result is the final result based on the votes and election rule. Initial value is Undefined. |
|
| executor_result | Proposal.ExecutorResult | Result is the final result based on the votes and election rule. Initial value is NotRun. |
|
| tally_task_id | bytes | Tally task ID holds the ID of the asynchronous task that is scheduled to create the tally once the voting period is over. |
Resolution contains TextResolution and an electorate reference.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| proposal_id | bytes |
|
|
| electorate_ref | orm.VersionedIDRef |
|
|
| resolution | string |
|
TallyMsg can be sent after the voting period has ended to do the final tally and trigger any state changes.
A final tally can be execute only once. A second submission will fail with an invalid state error.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| proposal_id | bytes | ProposalID is UUID of the proposal to close. |
TallyResult contains sums of the votes and all data for the final result.
| Field | Type | Label | Description |
| total_yes | uint64 | TotalYes is the sum of weights of all the voters that approved the proposal |
|
| total_no | uint64 | TotalNo is the sum of weights of all the voters that rejected the proposal |
|
| total_abstain | uint64 | TotalAbstain is the sum of weights of all the voters that voted abstain |
|
| total_electorate_weight | uint64 | TotalElectorateWeight is the sum of all weights in the electorate. |
|
| quorum | Fraction | Quorum when set is the fraction of the total electorate weight that must be exceeded by total votes weight. |
|
| threshold | Fraction | Threshold is the fraction of Yes votes of a base value that needs to be exceeded to accept the proposal. The base value is either the total electorate weight or the sum of Yes/No weights when a quorum is defined. |
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| election_rule_id | bytes | ElectionRuleID is a reference to the election rule |
|
| voting_period | uint32 | Duration in seconds of how long the voting period will take place. |
|
| threshold | Fraction | Threshold is the fraction of all eligible voters, not only the ones who voted. To accept a proposal this value must be exceeded. The formula is `(yes*denominator) > (numerator*total_electors_weight)`. The valid range for the threshold value is `0.5` to `1` (inclusive) which allows any value between half and all of the eligible voters. |
|
| quorum | Fraction | The quorum fraction of eligible voters is based on the total electorate weight and defines a threshold of votes that must be exceeded before the acceptance threshold is applied. This value requires any kind of votes and not only YES. The valid range for the threshold value is `0.5` to `1` (inclusive) which allows any value between half and all of the eligible voters. |
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| electorate_id | bytes | ElectorateID is the reference to the electorate that defines the group of possible voters. |
|
| diff_electors | Elector | repeated | DiffElectors contains the changes that should be applied. Adding an address should have a positive weight, removing with weight=0. |
Vote combines the elector and their voted option to archive them.
The proposalID and address is stored within the key.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| elector | Elector | Elector is who voted |
|
| voted | VoteOption | VoteOption is what they voted |
VoteMsg is the way to express a voice and participate in an election of a proposal on chain.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| proposal_id | bytes | The unique id of the proposal. |
|
| voter | bytes | The address of the voter. The voter address must be part of the electorate in order to be allowed to vote. Warning: This field is optional and when not set it will default to any signer. It is recommended to always explicitely set the value of this field, as the signer order is not guaranteed. |
|
| selected | VoteOption | Option for the vote. Must be Yes, No or Abstain for a valid vote. |
| Name | Number | Description |
| PROPOSAL_EXECUTOR_RESULT_INVALID | 0 | An empty value is not allowed |
| PROPOSAL_EXECUTOR_RESULT_NOT_RUN | 1 | We have not yet run the executor |
| PROPOSAL_EXECUTOR_RESULT_SUCCESS | 2 | The executor was successful and proposed action updated state |
| PROPOSAL_EXECUTOR_RESULT_FAILURE | 3 | The executor returned an error and proposed action didn't update state |
| Name | Number | Description |
| PROPOSAL_RESULT_INVALID | 0 | An empty value is invalid and not allowed |
| PROPOSAL_RESULT_UNDEFINED | 1 | Until a final tally has happened the status is undefined |
| PROPOSAL_RESULT_ACCEPTED | 2 | Final result of the tally |
| PROPOSAL_RESULT_REJECTED | 3 | Final result of the tally |
| Name | Number | Description |
| PROPOSAL_STATUS_INVALID | 0 | An empty value is invalid and not allowed |
| PROPOSAL_STATUS_SUBMITTED | 1 | Initial status of a proposal when persisted. |
| PROPOSAL_STATUS_CLOSED | 2 | Final status of a proposal when the tally was executed |
| PROPOSAL_STATUS_WITHDRAWN | 3 | A proposal can be deleted before the voting start time by the owner. When this happens the final status is Withdrawn. |
VoteOptions define possible values for a vote including the INVALID default.
| Name | Number | Description |
| VOTE_OPTION_INVALID | 0 | |
| VOTE_OPTION_YES | 1 | |
| VOTE_OPTION_NO | 2 | |
| VOTE_OPTION_ABSTAIN | 3 |
ProposalOptions is a sum type of all possible messages that
may be dispatched via a governance proposal.
For the test case, we only refer to package-internal messages
and handlers, but an application can reference messages from any package.
| Field | Type | Label | Description |
| text | CreateTextResolutionMsg |
|
|
| electorate | UpdateElectorateMsg |
|
|
| rule | UpdateElectionRuleMsg |
|
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| owner | bytes | Owner is present to implement gconf.OwnedConfig interface This defines the Address that is allowed to update the Configuration object and is needed to make use of gconf.NewUpdateConfigurationHandler |
|
| fee_admin | bytes | FeeAdmin is an address that is allowed to change the fee. |
MsgFee represents a fee for a single message that must be paid in order for
the message to be processed.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| msg_path | string |
|
|
| fee | coin.Coin |
|
SetMsgFeeMsg set given fee for a specified message path. This message sets a
new fee of overwrites an existing one. Fee must not be less than zero. Use
zero value coin to unset a fee.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| msg_path | string |
|
|
| fee | coin.Coin |
|
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| patch | Configuration |
|
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| participants | Participant | repeated | Participants defines a list of all signatures that are allowed to sign the contract. |
| activation_threshold | uint32 | Activation threshold defines the minimal weight value that must be provided from participants in order to activate the contract. Weight is computed as the sum of weights of all participating signatures. |
|
| admin_threshold | uint32 | Admin threshold defines the minimal weight value that must be provided from participants in order to administrate the contract. Weight is computed as the sum of weights of all participating signatures. |
|
| address | bytes | Address of this entity. Set during creation and does not change. |
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| participants | Participant | repeated |
|
| activation_threshold | uint32 |
|
|
| admin_threshold | uint32 |
|
Participant clubs together a signature with a weight. The greater the weight
the greater the power of a signature.
| Field | Type | Label | Description |
| signature | bytes |
|
|
| weight | uint32 |
|
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| contract_id | bytes |
|
|
| participants | Participant | repeated |
|
| activation_threshold | uint32 |
|
|
| admin_threshold | uint32 |
|
CloseMsg close a payment channel and release remaining founds
by sending them back to the source account.
Destination account can close channel at any moment.
Source can close channel only if the timeout was reached.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| channel_id | bytes |
|
|
| memo | string | Max length 128 character. |
CreateMsg creates a new payment channel that can be used to
transfer value between two parties.
Total amount will be taken from the sources account and allocated for user
in the transactions done via created payment channel.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| source | bytes | Source address (weave.Address). |
|
| source_pubkey | crypto.PublicKey | Source public key is for validating transfer message signature. |
|
| destination | bytes | Destination address (weave.Address). |
|
| total | coin.Coin | Maximum amount that can be transferred via this channel. |
|
| timeout | int64 | If reached, channel can be closed by anyone. |
|
| memo | string | Max length 128 character. |
Payment is created by the source. Source should give the message to the
destination, so that it can be redeemed at any time.
Each Payment should be created with amount greater than the previous one.
| Field | Type | Label | Description |
| chain_id | string |
|
|
| channel_id | bytes |
|
|
| amount | coin.Coin |
|
|
| memo | string | Max length 128 character. |
PaymentChannel holds the state of a payment channel during its lifetime.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| source | bytes | Source is the source that the founds are allocated from. |
|
| source_pubkey | crypto.PublicKey | Source public key is a key that must be used to verify signature of transfer message. Source creates signed transfer messages and gives them to the destination. Signature prevents from altering transfer message. |
|
| destination | bytes | Destination is the party that receives payments through this channel |
|
| total | coin.Coin | Total represents a maximum value that can be transferred via this payment channel. |
|
| timeout | int64 | Timeout represents wall clock time as read from the block header. Timeout is represented using POSIX time format. Expiration time is inclusive meaning that the paychan expires as soon as the current time is equal or greater than timeout value. nonexpired: [created, timeout) expired: [timeout, infinity) |
|
| memo | string | Max length 128 character. |
|
| transferred | coin.Coin | Transferred represents total amount that was transferred using allocated (total) value. Transferred must never exceed total value. |
|
| address | bytes | Address of this entity. Set during creation and does not change. |
TransferMsg binds Payment with a signature created using
sources private key.
Signature is there to ensure that payment message was not altered.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| payment | Payment |
|
|
| signature | crypto.Signature |
|
BumpSequenceMsg increments a sequence counter by given amount for a user.
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| increment | uint32 | Increment represents the value by which a sequence value will be increased. Minumum value is one and maxium value must not be greater than 1000. Each transaction increments the sequence by one. This value represents the total increment value, including the default increment. |
|
| user | bytes | User is the address of a user that sequence is to be incremented for. |
StdSignature represents the signature, the identity of the signer
(the Pubkey), and a sequence number to prevent replay attacks.
A given signer must submit transactions with the sequence number
increasing by 1 each time (starting at 0)
| Field | Type | Label | Description |
| sequence | int64 |
|
|
| pubkey | crypto.PublicKey |
|
|
| signature | crypto.Signature | Removed Address, Pubkey is more powerful |
UserData just stores the data and is used for serialization.
Key is the Address (PubKey.Permission().Address())
Note: This should not be created from outside the module,
User is the entry point you want
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| pubkey | crypto.PublicKey |
|
|
| sequence | int64 |
|
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| owner | bytes | Owner is present to implement gconf.OwnedConfig interface This defines the Address that is allowed to update the Configuration object and is needed to make use of gconf.NewUpdateConfigurationHandler |
|
| free_bytes | int32 | Free bytes declares the size of the message (in bytes) that is free of charge. Any additional fee is counted only from the size above the free bytes threshold. Transaction fee is computed using the following equation: ((max(0, bytes_size(tx) - free_bytes) ** 2) * base_fee All computations are done using uint64 precision and only integer values. |
|
| base_fee | coin.Coin | Base fee defines the currency and multiplicate for the transaction size fee amount. |
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| patch | Configuration |
|
Accounts is a list of accounts allowed to update validators
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| addresses | bytes | repeated |
|
ApplyDiffMsg is designed to update validator power
| Field | Type | Label | Description |
| metadata | weave.Metadata |
|
|
| validator_updates | weave.ValidatorUpdate | repeated |
|
| .proto Type | Notes | C++ Type | Java Type | Python Type |
| double | double | double | float | |
| float | float | float | float | |
| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int |
| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long |
| uint32 | Uses variable-length encoding. | uint32 | int | int/long |
| uint64 | Uses variable-length encoding. | uint64 | long | int/long |
| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int |
| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long |
| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int |
| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long |
| sfixed32 | Always four bytes. | int32 | int | int |
| sfixed64 | Always eight bytes. | int64 | long | int/long |
| bool | bool | boolean | boolean | |
| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode |
| bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str |


Maze Generation Algorithm
Select Algorithm
Recursive Backtracking
Kruskal
Generate Maze
Shortest Path Algorithm
Select Algorithm
Breadth-first Search
Dijkstra
A* (Euclidean)
A* (Manhattan)
Visualize
Others
Clear Wall
Clear Result
Clear All
Empty
Wall
Visited
Shortest Path
Graph is
unweighted
, so BFS and Dijkstra will give similar result
No additional library used (except jquery)


by Steve Waters
@stevenwaters86
Sharing my Twitter handle here because it seems like the thing to do these days
A Static Site Generator is a program that takes content written in Markdown (or other formats) and converts it to HTML. The HTML is also generated using templates.
This means you don't have to create an HTML file for each of your posts and handcode the header,footer, etc for it
but I will also mention Jekyll in my slides too...
I had a vision for how I wanted to build my site before I knew what a Static Site Generator was.
like really simple
I stumbled on one called Jekyll and I was like "hmm, this looks famliar...."
It looked famliar beacause I remember seeing the logo before...
And then I vaguely remembered a friend explaining what Jekyll was at this year's Front-End Design Conference.
She was saying all these buzzwords like "Jekyll, Hyde, YAML, Front Matter, Liquid Templating, etc" and I was like...
You install all the dependencies aka the languages/tools you need to run Static Site Generator scripts
Install Ruby (for Windows Users) - http://rubyinstaller.org/
Install Ruby Dev Tools
ruby dk.rb init
ruby dk.rb install
gem install jekyll
Install Node.js (for all platforms!) - http://nodejs.org/
Install Node Package Manager (NPM)
Install Git
curl http://npmjs.org/install.sh | sh
Install Xcode (for Mac users)
NPM.....Hexo
npm install -g hexo
Create a directory on your computer and run the install command while in that directory
jekyll new mynewblog
cd mynewblog
jekyll serve
Jekyll is running on http://localhost:4000...
hexo init mynewblog
cd mynewblog
npm install
hexo server
hexo generate
hexo deploy
...mynewhexosite\public\2014\11\13\hello-front-enders
├── _config.yml
├── layout
├───── _partials
├───────── article.ejs
├───────── footer.ejs
├───────── head.ejs
├───────── header.ejs
├───────── sidebar.ejs
├───────── post
├──────────── title.ejs
├──────────── date.ejs
├──────────── nav.ejs
├───── _widgets
├───────── category.ejs
├───────── recent_posts.ejs
├────layout.ejs
├─── index.ejs
├─── page.ejs
├─── post.ejs
├── scripts
└── source
for more awesomeness... download Octopress!
^ a YAML File
YAML is a recursive acronym for "YAML Ain't Markup Language"
deploy:
type: github
repo: https://github.com/swaters86/swaters86.github.io.git
branch: master
github
https://github.com/swaters86/swaters86.github.io.git
master
Use Jekyll's Built-In Tool
$ ruby -rubygems -e 'require "jekyll-import";
JekyllImport::Importers::WordpressDotCom.run({
"source" => "wordpress.xml",
"no_fetch_images" => false,
"assets_folder" => "assets"
})'
Use ALternatives: Exitwp, "A great article", wpXml2Jekyll
Exporting from Static Site Generators. - The Achilles Heel of Static Site Generators


--- authors: - shelby-hassell #categories: ["one", "two"] contact: "s.sleete [at] gmail.com" #date: 2020-03-03 02:02:02 from: "Troy, Michigan, USA" #hero_classes: "background-color--main-dark color--white" job_title: "Maid of honor" meta: description: "Star pupil, aspiring rocket-airplane-dinosaur teacher" image: alt: "Ellie Hassell" src: 1200x630/ellie-hassell.jpg # robots: "index,follow" # title: "Overrides the tab title and social titles" #permalink: /people/shelby-hassell/ #published: true #sitemap: true short_name: shelby #tags: ["three", "four"] title: "Ellie Hassell" twitter: creator: "@all_maudra" weight: 3 --- {% include atoms/heading.html children="About Ellie" classes="text-shadow--second-light--solid" level="2" %}
Ellie gives the adults she meets hope that future generations will be just fine.
Ellie is a ball of pure energy, sliding effortlessly between reading, dance parties, inventing games, playing teacher, arts and crafts, watching The Dark Crystal, and being a fashion maven.


Cisco Jabber Web SDK - Basic Sample App
Jabber SDK Chrome Extension
CWIC extension initialized
Audio/Video authorized
Signing in
Authentication in progress...
Authenticated
Selected device:
Directory Number:
Number to dial:
Make Call
End Call


{% extends 'users/index.html' %} {% load static %} {% load bootstrap4 %} {% load crispy_forms_tags %} {% block content %}
Don’t you have an account? Register Now! it’s really simple and you can start enjoing all the benefits!


The Hawthorne Ghost Tour has been run by Marina Martinez since November 2014 when she traded for it. She feels very strongly that it was an extremely good trade.
Press inquiries: Please call Marina at<PHONE_NUMBER> or email<EMAIL_ADDRESS>Click here to read about our “proteins for tickets” deal with Mainspring Portland.


| GetChildren method |
Applies to
TTreeNTNode
Declaration
Function GetChildren: Boolean;
Implementation
function TTreeNTNode.GetChildren: Boolean; // The result doesn't reflect the real state, since the user can // specify that an item has children, even if it hasn't one. // Hence, not FChildList.Count is queried but what the window control // believes to know. var Item: TTVItem; begin Result := False; Item.Mask := TVIF_CHILDREN; Item.hItem := ItemId; if TreeView_GetItem(Handle, Item) then Result := Item.cChildren > 0; End; |