github.com/hashgraph/hedera-sdk-go/v2@v2.48.0/account_info_flow.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 // AccountInfoFlowVerifySignature Verifies signature using AccountInfoQuery 24 func AccountInfoFlowVerifySignature(client *Client, accountID AccountID, message []byte, signature []byte) (bool, error) { 25 info, err := NewAccountInfoQuery(). 26 SetAccountID(accountID). 27 Execute(client) 28 29 if err != nil { 30 return false, err 31 } 32 33 if key, ok := info.Key.(PublicKey); ok { 34 return key.Verify(message, signature), nil 35 } 36 37 return false, nil 38 } 39 40 // AccountInfoFlowVerifyTransaction Verifies transaction using AccountInfoQuery 41 func AccountInfoFlowVerifyTransaction(client *Client, accountID AccountID, tx Transaction, _ []byte) (bool, error) { 42 info, err := NewAccountInfoQuery(). 43 SetAccountID(accountID). 44 Execute(client) 45 46 if err != nil { 47 return false, err 48 } 49 50 if key, ok := info.Key.(PublicKey); ok { 51 return key.VerifyTransaction(tx), nil 52 } 53 54 return false, nil 55 }