github.com/hashgraph/hedera-sdk-go/v2@v2.48.0/internal_token_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 ( 24 "github.com/hashgraph/hedera-protobufs-go/services" 25 ) 26 27 type _TokenTransfer struct { 28 Transfers []*_HbarTransfer 29 ExpectedDecimals *uint32 30 } 31 32 func _TokenTransferPrivateFromProtobuf(pb *services.TokenTransferList) *_TokenTransfer { 33 if pb == nil { 34 return &_TokenTransfer{} 35 } 36 37 var decimals *uint32 38 if pb.ExpectedDecimals != nil { 39 temp := pb.ExpectedDecimals.GetValue() 40 decimals = &temp 41 } 42 43 return &_TokenTransfer{ 44 Transfers: _HbarTransferFromProtobuf(pb.Transfers), 45 ExpectedDecimals: decimals, 46 } 47 } 48 49 func (transfer *_TokenTransfer) _ToProtobuf() []*services.AccountAmount { 50 transfers := make([]*services.AccountAmount, 0) 51 for _, t := range transfer.Transfers { 52 transfers = append(transfers, &services.AccountAmount{ 53 AccountID: t.accountID._ToProtobuf(), 54 Amount: t.Amount.AsTinybar(), 55 IsApproval: t.IsApproved, 56 }) 57 } 58 return transfers 59 }