-
Notifications
You must be signed in to change notification settings - Fork 1
/
executor.thrift
75 lines (63 loc) · 2.36 KB
/
executor.thrift
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
include 'general.thrift'
namespace java com.credits.client.executor.thrift.generated
namespace cpp executor
struct ExecuteByteCodeResult {
1: general.APIResponse status
2: list<SetterMethodResult> results
}
struct SetterMethodResult {
1: general.APIResponse status
2: general.Variant ret_val
3: map<general.Address, binary> contractsState
4: list<EmittedTransaction> emittedTransactions
5: i64 executionCost
}
struct EmittedTransaction {
1: general.Address source
2: general.Address target
3: general.Amount amount
4: optional binary userData
}
struct GetterMethodResult {
1: general.APIResponse status
2: optional general.Variant ret_val
}
struct ExecuteByteCodeMultipleResult {
1: general.APIResponse status
2: list<GetterMethodResult> results
}
struct GetContractMethodsResult {
1: general.APIResponse status
2: list<general.MethodDescription> methods
3: i64 tokenStandard
}
struct GetContractVariablesResult{
1: general.APIResponse status
2: map<string, general.Variant> contractVariables
}
struct CompileSourceCodeResult {
1: general.APIResponse status
2: list<general.ByteCodeObject> byteCodeObjects
}
struct SmartContractBinary {
1: general.Address contractAddress
2: general.ClassObject object
3: bool stateCanModify
}
struct MethodHeader{
1: string methodName
2: list<general.Variant> params
}
struct ExecutorBuildVersionResult {
1: general.APIResponse status
2: i32 commitNumber
3: string commitHash
}
service ContractExecutor {
ExecuteByteCodeResult executeByteCode(1:general.AccessID accessId, 2:general.Address initiatorAddress, 3:SmartContractBinary invokedContract, 4:list<MethodHeader> methods, 5:i64 executionTime, 6:i16 version)
ExecuteByteCodeMultipleResult executeByteCodeMultiple(1:general.AccessID accessId, 2:general.Address initiatorAddress, 3:SmartContractBinary invokedContract, 4:string method, 5:list<list<general.Variant>> params, 6:i64 executionTime, 7:i16 version)
GetContractMethodsResult getContractMethods(1:list<general.ByteCodeObject> byteCodeObjects, 2:i16 version)
GetContractVariablesResult getContractVariables(1:list<general.ByteCodeObject> byteCodeObjects, 2:binary contractState, 3:i16 version)
CompileSourceCodeResult compileSourceCode(1:string sourceCode, 2:i16 version)
ExecutorBuildVersionResult getExecutorBuildVersion(1:i16 version)
}