Skip to content

Commit

Permalink
Added account_update_transaction
Browse files Browse the repository at this point in the history
  • Loading branch information
andrix10 committed Oct 6, 2020
1 parent e901004 commit 4138c1f
Showing 1 changed file with 81 additions and 0 deletions.
81 changes: 81 additions & 0 deletions account_update_transaction.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
package hedera

import (
"github.com/hashgraph/hedera-sdk-go/proto"
"log"
"time"
)

type AccountUpdateTransaction struct {
Transaction
pb *proto.CryptoUpdateTransactionBody
}

func NewAccountUpdateTransaction() *AccountUpdateTransaction {
pb := &proto.CryptoUpdateTransactionBody{}

transaction := AccountUpdateTransaction{
pb: pb,
Transaction: newTransaction(),
}
return &transaction
}

func (transaction *AccountUpdateTransaction) SetKey(publicKey PublicKey) *AccountUpdateTransaction {
transaction.pb.Key = publicKey.toProtobuf()
return transaction
}

func (transaction *AccountUpdateTransaction) GetKey() Key {
var key, err = publicKeyFromProto(transaction.pb.GetKey())
if err != nil {
log.Fatal(err)
}

return key
}

func (transaction *AccountUpdateTransaction ) SetAccountId(accountId AccountID) *AccountUpdateTransaction {
transaction.pb.AccountIDToUpdate = accountId.toProtobuf()
return transaction
}

func (transaction *AccountUpdateTransaction) GetAccountId() AccountID {
return accountIDFromProto(transaction.pb.GetAccountIDToUpdate())
}

func (transaction *AccountUpdateTransaction ) SetReceiverSignatureRequired(receiverSignatureRequired bool) *AccountUpdateTransaction {
transaction.pb.GetReceiverSigRequiredWrapper().Value = receiverSignatureRequired
return transaction
}

func (transaction *AccountUpdateTransaction) GetReceiverSignatureRequired() bool {
return transaction.pb.GetReceiverSigRequiredWrapper().GetValue()
}

func (transaction *AccountUpdateTransaction ) SetProxyAccountId(proxyAccountId AccountID) *AccountUpdateTransaction {
transaction.pb.ProxyAccountID = proxyAccountId.toProtobuf()
return transaction
}

func (transaction *AccountUpdateTransaction) GetProxyAccountId() AccountID {
return accountIDFromProto(transaction.pb.GetProxyAccountID())
}

func (transaction *AccountUpdateTransaction ) SetAutoRenewPeriod(autoRenewPeriod time.Duration) *AccountUpdateTransaction {
transaction.pb.AutoRenewPeriod = durationToProto(autoRenewPeriod)
return transaction
}

func (transaction *AccountUpdateTransaction) GetAutoRenewPeriod() time.Duration {
return durationFromProto(transaction.pb.GetAutoRenewPeriod())
}

func (transaction *AccountUpdateTransaction ) SetExpirationTime(expirationTime time.Time) *AccountUpdateTransaction {
transaction.pb.ExpirationTime = timeToProto(expirationTime)
return transaction
}

func (transaction *AccountUpdateTransaction) GetExpirationTime() time.Time {
return timeFromProto(transaction.pb.ExpirationTime)
}

0 comments on commit 4138c1f

Please sign in to comment.