Skip to main content

FileUpdateTransactionBody

Struct FileUpdateTransactionBody 

Source
pub struct FileUpdateTransactionBody {
    pub file_id: Option<FileId>,
    pub expiration_time: Option<Timestamp>,
    pub keys: Option<KeyList>,
    pub contents: Vec<u8>,
    pub memo: Option<String>,
}
Expand description

Update the metadata, and/or replace the content, of a file in the Hedera File Service (HFS).

Any field which is not set (i.e. is null) in this message, other than fileID, SHALL be ignored.
If the keys list for the identified file is an empty KeyList, then this message MUST NOT set any field except expirationTime.

§Signature Requirements

Every Key in the keys list for the identified file MUST sign this transaction, if any field other than expirationTime is to be updated.
If the keys list for the identified file is an empty KeyList (because this file was previously created or updated to have an empty KeyList), then the file is considered immutable and this message MUST NOT set any field except expirationTime.
See the File Service specification for a detailed explanation of the signature requirements for all file transactions.

§Block Stream Effects

None

Fields§

§file_id: Option<FileId>

A file identifier for the file to update.

This field is REQUIRED.

§expiration_time: Option<Timestamp>

An expiration timestamp.

If set, this value MUST be strictly later than the existing `expirationTime` value, or else it will be ignored.
If set, this value SHALL replace the existing `expirationTime`.
If this field is the only field set, then this transaction SHALL NOT require any signature other than the `payer` for the transaction.
When the network consensus time exceeds the then-current `expirationTime`, the network SHALL expire the file.

§keys: Option<KeyList>

The new list of keys that “own” this file.

If set, every key in this `KeyList` MUST sign this transaction.
If set, every key in the _previous_ `KeyList` MUST _also_ sign this transaction.
If this value is an empty `KeyList`, then the file SHALL be immutable after completion of this transaction.

§contents: Vec<u8>

An array of bytes.

This value, if set, SHALL _replace_ the existing file content. If this value is set to an empty byte array, the content of the file SHALL be unchanged.

§memo: Option<String>

A short description of this file.

This value, if set, MUST NOT exceed `transaction.maxMemoUtf8Bytes` (default 100) bytes when encoded as UTF-8.

Trait Implementations§

Source§

impl Clone for FileUpdateTransactionBody

Source§

fn clone(&self) -> FileUpdateTransactionBody

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for FileUpdateTransactionBody

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for FileUpdateTransactionBody

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Message for FileUpdateTransactionBody

Source§

fn encoded_len(&self) -> usize

Returns the encoded length of the message without a length delimiter.
Source§

fn clear(&mut self)

Clears the message, resetting all fields to their default.
Source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>
where Self: Sized,

Encodes the message to a buffer. Read more
Source§

fn encode_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message to a newly allocated buffer.
Source§

fn encode_length_delimited( &self, buf: &mut impl BufMut, ) -> Result<(), EncodeError>
where Self: Sized,

Encodes the message with a length-delimiter to a buffer. Read more
Source§

fn encode_length_delimited_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message with a length-delimiter to a newly allocated buffer.
Source§

fn decode(buf: impl Buf) -> Result<Self, DecodeError>
where Self: Default,

Decodes an instance of the message from a buffer. Read more
Source§

fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>
where Self: Default,

Decodes a length-delimited instance of the message from the buffer.
Source§

fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>
where Self: Sized,

Decodes an instance of the message from a buffer, and merges it into self. Read more
Source§

fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>
where Self: Sized,

Decodes a length-delimited instance of the message from buffer, and merges it into self.
Source§

impl PartialEq for FileUpdateTransactionBody

Source§

fn eq(&self, other: &FileUpdateTransactionBody) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for FileUpdateTransactionBody

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more