-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathoperation-bind-external-system-id.x
70 lines (56 loc) · 1.72 KB
/
operation-bind-external-system-id.x
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
%#include "xdr/ledger-entries.h"
namespace stellar
{
/*BindExternalSystemAccountId
Threshold: low
Result: BindExternalSystemAccountIdResult
*/
//: BindExternalSystemAccountIdOp is used to bind a particular account to the external system account which is represented by account ID taken from the pool
struct BindExternalSystemAccountIdOp
{
//: Type of external system to bind
int32 externalSystemType;
//: Reserved for the future use
union switch (LedgerVersion v)
{
case EMPTY_VERSION:
void;
}
ext;
};
/******* BindExternalSystemAccountId Result ********/
//: Result codes of BindExternalSystemAccountIdOp
enum BindExternalSystemAccountIdResultCode
{
// codes considered as "success" for the operation
//: Source account has been successfully bound to external system ID taken from the pool
SUCCESS = 0,
// codes considered as "failure" for the operation
//: (deprecated)
MALFORMED = -1,
//: There is no available external system account ID pool entry for such external system type
NO_AVAILABLE_ID = -2
};
//: `BindExternalSystemAccountIdSuccess` represents details of successful result of operation application
struct BindExternalSystemAccountIdSuccess
{
//: `data` is used to pass data about account from external system ID
longstring data;
//: reserved for future use
union switch (LedgerVersion v)
{
case EMPTY_VERSION:
void;
}
ext;
};
//: Result of operation application
union BindExternalSystemAccountIdResult switch (BindExternalSystemAccountIdResultCode code)
{
case SUCCESS:
//: `success` is used to pass useful fields after successful operation applying
BindExternalSystemAccountIdSuccess success;
default:
void;
};
}