hedera 0.4.0

Hedera SDK for Rust
syntax = "proto3";

package proto;

option java_package = "com.hederahashgraph.api.proto.java";
option java_multiple_files = true;

import "BasicTypes.proto";
import "Duration.proto";
import "Timestamp.proto";

/* Change properties for the given account. Any null field is ignored (left unchanged). The receiverSigRequired boolean field cannot be changed; it is immutable. This transaction must be signed by the existing key for this account. If the transaction is changing the key field, then the transaction must be signed by both the old key (from before the change) and the new key. The old key must sign for security. The new key must sign as a safeguard to avoid accidentally changing to an invalid key, and then having no way to recover. When extending the expiration date, the cost is affected by the size of the list of attached claims, and of the keys associated with the claims and the account. */
message CryptoUpdateTransactionBody {
    AccountID accountIDToUpdate = 2; // the account to modify
    Key key = 3; // the new key
    AccountID proxyAccountID = 4; // ID of the account to which this account is proxy staked. If proxyAccountID is null, or is an invalid account, or is an account that isn't a node, then this account is automatically proxy staked to a node chosen by the network, but without earning payments. If the proxyAccountID account refuses to accept proxy staking at the given fraction, or if it is not currently running a node, then it will behave as if both proxyAccountID and proxyFraction were null.
    int32 proxyFraction = 5; // payments earned from proxy staking are shared between the node and this account, with proxyFraction / 10000 going to this account
    uint64 sendRecordThreshold = 6; // the new threshold for generating records for sending
    uint64 receiveRecordThreshold = 7; // the new threshold for generating records for receiving
    Duration autoRenewPeriod = 8; // the new frequency with which it will automatically extend the expiration period
    Timestamp expirationTime = 9; // the new expiration time to extend to (ignored if equal to or before the current one)
}