github.com/hashgraph/hedera-sdk-go/v2@v2.48.0/hbar_transfer.go (about) 1 package hedera 2 3 /*- 4 * 5 * Hedera Go SDK 6 * 7 * Copyright (C) 2020 - 2024 Hedera Hashgraph, LLC 8 * 9 * Licensed under the Apache License, Version 2.0 (the "License"); 10 * you may not use this file except in compliance with the License. 11 * You may obtain a copy of the License at 12 * 13 * http://www.apache.org/licenses/LICENSE-2.0 14 * 15 * Unless required by applicable law or agreed to in writing, software 16 * distributed under the License is distributed on an "AS IS" BASIS, 17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 * See the License for the specific language governing permissions and 19 * limitations under the License. 20 * 21 */ 22 23 import "github.com/hashgraph/hedera-protobufs-go/services" 24 25 type _HbarTransfer struct { 26 accountID *AccountID 27 Amount Hbar 28 IsApproved bool 29 } 30 31 func _HbarTransferFromProtobuf(pb []*services.AccountAmount) []*_HbarTransfer { 32 result := make([]*_HbarTransfer, 0) 33 for _, acc := range pb { 34 result = append(result, &_HbarTransfer{ 35 accountID: _AccountIDFromProtobuf(acc.AccountID), 36 Amount: HbarFromTinybar(acc.Amount), 37 IsApproved: acc.GetIsApproval(), 38 }) 39 } 40 41 return result 42 } 43 44 func (transfer *_HbarTransfer) _ToProtobuf() *services.AccountAmount { //nolint 45 var account *services.AccountID 46 if transfer.accountID != nil { 47 account = transfer.accountID._ToProtobuf() 48 } 49 50 return &services.AccountAmount{ 51 AccountID: account, 52 Amount: transfer.Amount.AsTinybar(), 53 IsApproval: transfer.IsApproved, 54 } 55 }