-
Notifications
You must be signed in to change notification settings - Fork 65
Expand file tree
/
Copy pathTokenService.h
More file actions
150 lines (131 loc) · 4.22 KB
/
TokenService.h
File metadata and controls
150 lines (131 loc) · 4.22 KB
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
// SPDX-License-Identifier: Apache-2.0
#ifndef HIERO_TCK_CPP_TOKEN_SERVICE_H_
#define HIERO_TCK_CPP_TOKEN_SERVICE_H_
#include <nlohmann/json_fwd.hpp>
namespace Hiero::TCK::TokenService
{
/**
* Forward declarations.
*/
struct AssociateTokenParams;
struct BurnTokenParams;
struct CreateTokenParams;
struct DeleteTokenParams;
struct DissociateTokenParams;
struct FreezeTokenParams;
struct GrantTokenKycParams;
struct MintTokenParams;
struct PauseTokenParams;
struct RevokeTokenKycParams;
struct UnfreezeTokenParams;
struct UnpauseTokenParams;
struct UpdateTokenFeeScheduleParams;
struct UpdateTokenParams;
struct WipeTokenParams;
/**
* Associate an account with tokens.
*
* @param params The parameters to use to associate the account and tokens.
* @return A JSON response containing the status of the token association.
*/
nlohmann::json associateToken(const AssociateTokenParams& params);
/**
* Burn a token.
*
* @param params The parameters to use to burn a token.
* @return A JSON response containing the status of the token burn and the new total supply of the token.
*/
nlohmann::json burnToken(const BurnTokenParams& params);
/**
* Create a token.
*
* @param params The parameters to use to create a token.
* @return A JSON response containing the created token ID and the status of the token creation.
*/
nlohmann::json createToken(const CreateTokenParams& params);
/**
* Delete a token.
*
* @param params The parameters to use to delete a token.
* @return A JSON response containing the status of the token deletion.
*/
nlohmann::json deleteToken(const DeleteTokenParams& params);
/**
* Dissociate an account from tokens.
*
* @param params The parameters to use to dissociate the account.
* @return A JSON response containing the status of the account dissociation.
*/
nlohmann::json dissociateToken(const DissociateTokenParams& params);
/**
* Freeze a token on an account.
*
* @params The parameters to use to freeze a token.
* @return A JSON response containing the status of the token freeze.
*/
nlohmann::json freezeToken(const FreezeTokenParams& params);
/**
* Grant KYC of a token to an account.
*
* @param params The parameters to use to grant KYC.
* @return A JSON response containing the status of the token KYC grant.
*/
nlohmann::json grantTokenKyc(const GrantTokenKycParams& params);
/**
* Mint a token.
*
* @param params The parameters to use to mint a token.
* @return A JSON response containing the status of the token mint.
*/
nlohmann::json mintToken(const MintTokenParams& params);
/**
* Pause a token.
*
* @param params The parameters to use to pause a token.
* @return A JSON response containing the status of the token pause.
*/
nlohmann::json pauseToken(const PauseTokenParams& params);
/**
* Revoke KYC of a token from an account.
*
* @param params The parameters to use to revoke KYC.
* @return A JSON response containing the status of the token KYC revoke.
*/
nlohmann::json revokeTokenKyc(const RevokeTokenKycParams& params);
/**
* Unfreeze a token from an account.
*
* @params The parameters to use to unfreeze a token.
* @return A JSON response containing the status of the token unfreeze.
*/
nlohmann::json unfreezeToken(const UnfreezeTokenParams& params);
/**
* Unpause a token.
*
* @param params The parameters to use to unpause a token.
* @return A JSON response containing the status of the token unpause.
*/
nlohmann::json unpauseToken(const UnpauseTokenParams& params);
/**
* Update the fee schedule of a token.
*
* @param params The parameters to use to update a token's fee schedule.
* @return A JSON response containing the status of the fee schedule update.
*/
nlohmann::json updateTokenFeeSchedule(const UpdateTokenFeeScheduleParams& params);
/**
* Update a token.
*
* @param params The parameters to use to update a token.
* @ return A JSON response containing the status of the token update.
*/
nlohmann::json updateToken(const UpdateTokenParams& params);
/**
* Wipe a token or tokens from an account.
*
* @param params The parameters to use to wipe the token(s).
* @ return A JSON response containing the status of the token wipe.
*/
nlohmann::json wipeToken(const WipeTokenParams& params);
} // namespace Hiero::TCK::TokenService
#endif // HIERO_TCK_CPP_TOKEN_SERVICE_H_