forked from trustwallet/wallet-core
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathTWSolanaAddress.h
53 lines (43 loc) · 1.91 KB
/
TWSolanaAddress.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
// SPDX-License-Identifier: Apache-2.0
//
// Copyright © 2017 Trust Wallet.
#pragma once
#include "TWBase.h"
#include "TWString.h"
TW_EXTERN_C_BEGIN
/// Solana address helper functions
TW_EXPORT_CLASS
struct TWSolanaAddress;
/// Creates an address from a string representation.
///
/// \param string Non-null pointer to a solana address string
/// \note Should be deleted with \TWSolanaAddressDelete
/// \return Non-null pointer to a Solana address data structure
TW_EXPORT_STATIC_METHOD
struct TWSolanaAddress* _Nullable TWSolanaAddressCreateWithString(TWString* _Nonnull string);
/// Delete the given Solana address
///
/// \param address Non-null pointer to a Solana Address
TW_EXPORT_METHOD
void TWSolanaAddressDelete(struct TWSolanaAddress* _Nonnull address);
/// Derive default token address for token
///
/// \param address Non-null pointer to a Solana Address
/// \param tokenMintAddress Non-null pointer to a token mint address as a string
/// \return Null pointer if the Default token address for a token is not found, valid pointer otherwise
TW_EXPORT_METHOD
TWString* _Nullable TWSolanaAddressDefaultTokenAddress(struct TWSolanaAddress* _Nonnull address, TWString* _Nonnull tokenMintAddress);
/// Derive token 2022 address for token
///
/// \param address Non-null pointer to a Solana Address
/// \param tokenMintAddress Non-null pointer to a token mint address as a string
/// \return Null pointer if the token 2022 address for a token is not found, valid pointer otherwise
TW_EXPORT_METHOD
TWString* _Nullable TWSolanaAddressToken2022Address(struct TWSolanaAddress* _Nonnull address, TWString* _Nonnull tokenMintAddress);
/// Returns the address string representation.
///
/// \param address Non-null pointer to a Solana Address
/// \return Non-null pointer to the Solana address string representation
TW_EXPORT_PROPERTY
TWString *_Nonnull TWSolanaAddressDescription(struct TWSolanaAddress *_Nonnull address);
TW_EXTERN_C_END