Skip to content

Commit a95227d

Browse files
Updated SCSpecType and SCSpecTypeDef XDR types (#251)
Updated the SCSpecType and SCSpecTypeDef XDR types modifying the types with no parameters, and updated the respective tests.
1 parent 3836e17 commit a95227d

8 files changed

+83
-41
lines changed

lib/xdr/contract/spec/sc_spec_type.ex

+17-13
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,23 @@ defmodule StellarBase.XDR.SCSpecType do
99
SC_SPEC_TYPE_VAL: 0,
1010

1111
# Types with no parameters.
12-
SC_SPEC_TYPE_U32: 1,
13-
SC_SPEC_TYPE_I32: 2,
14-
SC_SPEC_TYPE_U64: 3,
15-
SC_SPEC_TYPE_I64: 4,
16-
SC_SPEC_TYPE_U128: 5,
17-
SC_SPEC_TYPE_I128: 6,
18-
SC_SPEC_TYPE_BOOL: 7,
19-
SC_SPEC_TYPE_SYMBOL: 8,
20-
SC_SPEC_TYPE_BITSET: 9,
21-
SC_SPEC_TYPE_STATUS: 10,
22-
SC_SPEC_TYPE_BYTES: 11,
23-
SC_SPEC_TYPE_INVOKER: 12,
24-
SC_SPEC_TYPE_ADDRESS: 13,
12+
SC_SPEC_TYPE_BOOL: 1,
13+
SC_SPEC_TYPE_VOID: 2,
14+
SC_SPEC_TYPE_STATUS: 3,
15+
SC_SPEC_TYPE_U32: 4,
16+
SC_SPEC_TYPE_I32: 5,
17+
SC_SPEC_TYPE_U64: 6,
18+
SC_SPEC_TYPE_I64: 7,
19+
SC_SPEC_TYPE_TIMEPOINT: 8,
20+
SC_SPEC_TYPE_DURATION: 9,
21+
SC_SPEC_TYPE_U128: 10,
22+
SC_SPEC_TYPE_I128: 11,
23+
SC_SPEC_TYPE_U256: 12,
24+
SC_SPEC_TYPE_I256: 13,
25+
SC_SPEC_TYPE_BYTES: 14,
26+
SC_SPEC_TYPE_STRING: 16,
27+
SC_SPEC_TYPE_SYMBOL: 17,
28+
SC_SPEC_TYPE_ADDRESS: 19,
2529

2630
# Types with parameters.
2731
SC_SPEC_TYPE_OPTION: 1000,

lib/xdr/contract/spec/sc_spec_type_def.ex

+11-6
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,22 @@ defmodule StellarBase.XDR.SCSpecTypeDef do
2020

2121
@arms [
2222
SC_SPEC_TYPE_VAL: Void,
23+
SC_SPEC_TYPE_BOOL: Void,
24+
SC_SPEC_TYPE_VOID: Void,
25+
SC_SPEC_TYPE_STATUS: Void,
26+
SC_SPEC_TYPE_U32: Void,
27+
SC_SPEC_TYPE_I32: Void,
2328
SC_SPEC_TYPE_U64: Void,
2429
SC_SPEC_TYPE_I64: Void,
30+
SC_SPEC_TYPE_TIMEPOINT: Void,
31+
SC_SPEC_TYPE_DURATION: Void,
2532
SC_SPEC_TYPE_U128: Void,
2633
SC_SPEC_TYPE_I128: Void,
27-
SC_SPEC_TYPE_U32: Void,
28-
SC_SPEC_TYPE_I32: Void,
29-
SC_SPEC_TYPE_BOOL: Void,
30-
SC_SPEC_TYPE_SYMBOL: Void,
31-
SC_SPEC_TYPE_BITSET: Void,
32-
SC_SPEC_TYPE_STATUS: Void,
34+
SC_SPEC_TYPE_U256: Void,
35+
SC_SPEC_TYPE_I256: Void,
3336
SC_SPEC_TYPE_BYTES: Void,
37+
SC_SPEC_TYPE_STRING: Void,
38+
SC_SPEC_TYPE_SYMBOL: Void,
3439
SC_SPEC_TYPE_ADDRESS: Void,
3540
SC_SPEC_TYPE_OPTION: SCSpecTypeOption,
3641
SC_SPEC_TYPE_RESULT: SCSpecTypeResult,

test/xdr/contract/spec/sc_spec_type_def_list12_test.exs

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ defmodule StellarBase.XDR.SCSpecTypeDefList12Test do
77
setup do
88
code = Void.new()
99
type_val = SCSpecType.new(:SC_SPEC_TYPE_VAL)
10-
type_u128 = SCSpecType.new(:SC_SPEC_TYPE_U128)
10+
type_u128 = SCSpecType.new(:SC_SPEC_TYPE_I32)
1111
sc_spec_type_def1 = SCSpecTypeDef.new(code, type_val)
1212
sc_spec_type_def2 = SCSpecTypeDef.new(code, type_u128)
1313

test/xdr/contract/spec/sc_spec_type_def_test.exs

+38-13
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ defmodule StellarBase.XDR.SCSpecTypeDefTest do
2222
setup do
2323
code = Void.new()
2424
type_val = SCSpecType.new(:SC_SPEC_TYPE_VAL)
25-
type_u128 = SCSpecType.new(:SC_SPEC_TYPE_U128)
25+
type_u128 = SCSpecType.new(:SC_SPEC_TYPE_I32)
2626
sc_spec_type_def_1 = SCSpecTypeDef.new(code, type_val)
2727
sc_spec_type_def_2 = SCSpecTypeDef.new(code, type_u128)
2828

@@ -33,65 +33,90 @@ defmodule StellarBase.XDR.SCSpecTypeDefTest do
3333
binary: <<0, 0, 0, 0>>
3434
},
3535
%{
36-
status_type: SCSpecType.new(:SC_SPEC_TYPE_U32),
36+
status_type: SCSpecType.new(:SC_SPEC_TYPE_BOOL),
3737
sc_code: Void.new(),
3838
binary: <<0, 0, 0, 1>>
3939
},
4040
%{
41-
status_type: SCSpecType.new(:SC_SPEC_TYPE_I32),
41+
status_type: SCSpecType.new(:SC_SPEC_TYPE_VOID),
4242
sc_code: Void.new(),
4343
binary: <<0, 0, 0, 2>>
4444
},
4545
%{
46-
status_type: SCSpecType.new(:SC_SPEC_TYPE_U64),
46+
status_type: SCSpecType.new(:SC_SPEC_TYPE_STATUS),
4747
sc_code: Void.new(),
4848
binary: <<0, 0, 0, 3>>
4949
},
5050
%{
51-
status_type: SCSpecType.new(:SC_SPEC_TYPE_I64),
51+
status_type: SCSpecType.new(:SC_SPEC_TYPE_U32),
5252
sc_code: Void.new(),
5353
binary: <<0, 0, 0, 4>>
5454
},
5555
%{
56-
status_type: SCSpecType.new(:SC_SPEC_TYPE_U128),
56+
status_type: SCSpecType.new(:SC_SPEC_TYPE_I32),
5757
sc_code: Void.new(),
5858
binary: <<0, 0, 0, 5>>
5959
},
6060
%{
61-
status_type: SCSpecType.new(:SC_SPEC_TYPE_I128),
61+
status_type: SCSpecType.new(:SC_SPEC_TYPE_U64),
6262
sc_code: Void.new(),
6363
binary: <<0, 0, 0, 6>>
6464
},
6565
%{
66-
status_type: SCSpecType.new(:SC_SPEC_TYPE_BOOL),
66+
status_type: SCSpecType.new(:SC_SPEC_TYPE_I64),
6767
sc_code: Void.new(),
6868
binary: <<0, 0, 0, 7>>
6969
},
7070
%{
71-
status_type: SCSpecType.new(:SC_SPEC_TYPE_SYMBOL),
71+
status_type: SCSpecType.new(:SC_SPEC_TYPE_TIMEPOINT),
7272
sc_code: Void.new(),
7373
binary: <<0, 0, 0, 8>>
7474
},
7575
%{
76-
status_type: SCSpecType.new(:SC_SPEC_TYPE_BITSET),
76+
status_type: SCSpecType.new(:SC_SPEC_TYPE_DURATION),
7777
sc_code: Void.new(),
7878
binary: <<0, 0, 0, 9>>
7979
},
8080
%{
81-
status_type: SCSpecType.new(:SC_SPEC_TYPE_STATUS),
81+
status_type: SCSpecType.new(:SC_SPEC_TYPE_U128),
8282
sc_code: Void.new(),
8383
binary: <<0, 0, 0, 10>>
8484
},
8585
%{
86-
status_type: SCSpecType.new(:SC_SPEC_TYPE_BYTES),
86+
status_type: SCSpecType.new(:SC_SPEC_TYPE_I128),
8787
sc_code: Void.new(),
8888
binary: <<0, 0, 0, 11>>
8989
},
9090
%{
91-
status_type: SCSpecType.new(:SC_SPEC_TYPE_ADDRESS),
91+
status_type: SCSpecType.new(:SC_SPEC_TYPE_U256),
92+
sc_code: Void.new(),
93+
binary: <<0, 0, 0, 12>>
94+
},
95+
%{
96+
status_type: SCSpecType.new(:SC_SPEC_TYPE_I256),
9297
sc_code: Void.new(),
9398
binary: <<0, 0, 0, 13>>
9499
},
100+
%{
101+
status_type: SCSpecType.new(:SC_SPEC_TYPE_BYTES),
102+
sc_code: Void.new(),
103+
binary: <<0, 0, 0, 14>>
104+
},
105+
%{
106+
status_type: SCSpecType.new(:SC_SPEC_TYPE_STRING),
107+
sc_code: Void.new(),
108+
binary: <<0, 0, 0, 16>>
109+
},
110+
%{
111+
status_type: SCSpecType.new(:SC_SPEC_TYPE_SYMBOL),
112+
sc_code: Void.new(),
113+
binary: <<0, 0, 0, 17>>
114+
},
115+
%{
116+
status_type: SCSpecType.new(:SC_SPEC_TYPE_ADDRESS),
117+
sc_code: Void.new(),
118+
binary: <<0, 0, 0, 19>>
119+
},
95120
%{
96121
sc_code:
97122
sc_spec_type_def_1

test/xdr/contract/spec/sc_spec_type_test.exs

+13-5
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,22 @@ defmodule StellarBase.XDR.SCSpecTypeTest do
55

66
@types [
77
:SC_SPEC_TYPE_VAL,
8+
:SC_SPEC_TYPE_BOOL,
9+
:SC_SPEC_TYPE_VOID,
10+
:SC_SPEC_TYPE_STATUS,
811
:SC_SPEC_TYPE_U32,
912
:SC_SPEC_TYPE_I32,
1013
:SC_SPEC_TYPE_U64,
1114
:SC_SPEC_TYPE_I64,
15+
:SC_SPEC_TYPE_TIMEPOINT,
16+
:SC_SPEC_TYPE_DURATION,
1217
:SC_SPEC_TYPE_U128,
1318
:SC_SPEC_TYPE_I128,
14-
:SC_SPEC_TYPE_BOOL,
15-
:SC_SPEC_TYPE_SYMBOL,
16-
:SC_SPEC_TYPE_BITSET,
17-
:SC_SPEC_TYPE_STATUS,
19+
:SC_SPEC_TYPE_U256,
20+
:SC_SPEC_TYPE_I256,
1821
:SC_SPEC_TYPE_BYTES,
19-
:SC_SPEC_TYPE_INVOKER,
22+
:SC_SPEC_TYPE_STRING,
23+
:SC_SPEC_TYPE_SYMBOL,
2024
:SC_SPEC_TYPE_ADDRESS,
2125
:SC_SPEC_TYPE_OPTION,
2226
:SC_SPEC_TYPE_RESULT,
@@ -43,6 +47,10 @@ defmodule StellarBase.XDR.SCSpecTypeTest do
4347
<<0, 0, 0, 11>>,
4448
<<0, 0, 0, 12>>,
4549
<<0, 0, 0, 13>>,
50+
<<0, 0, 0, 14>>,
51+
<<0, 0, 0, 16>>,
52+
<<0, 0, 0, 17>>,
53+
<<0, 0, 0, 19>>,
4654
<<0, 0, 3, 232>>,
4755
<<0, 0, 3, 233>>,
4856
<<0, 0, 3, 234>>,

test/xdr/contract/spec/sc_spec_type_tuple_test.exs

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ defmodule StellarBase.XDR.SCSpecTypeTupleTest do
77
setup do
88
code = Void.new()
99
type_val = SCSpecType.new(:SC_SPEC_TYPE_VAL)
10-
type_u128 = SCSpecType.new(:SC_SPEC_TYPE_U128)
10+
type_u128 = SCSpecType.new(:SC_SPEC_TYPE_I32)
1111
sc_spec_type_def_1 = SCSpecTypeDef.new(code, type_val)
1212
sc_spec_type_def_2 = SCSpecTypeDef.new(code, type_u128)
1313

test/xdr/contract/spec/sc_spec_udt_union_case_tuple_v0_test.exs

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ defmodule StellarBase.XDR.SCSpecUDTUnionCaseTupleV0Test do
1717
name = String60.new("Hello there")
1818
code = Void.new()
1919
type_val = SCSpecType.new(:SC_SPEC_TYPE_VAL)
20-
type_u128 = SCSpecType.new(:SC_SPEC_TYPE_U128)
20+
type_u128 = SCSpecType.new(:SC_SPEC_TYPE_I32)
2121
sc_spec_type_def1 = SCSpecTypeDef.new(code, type_val)
2222
sc_spec_type_def2 = SCSpecTypeDef.new(code, type_u128)
2323

test/xdr/contract/spec/sc_spec_udt_union_case_v0_test.exs

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ defmodule StellarBase.XDR.SCSpecUDTUnionCaseV0Test do
2020
name = String60.new("Hello there")
2121
code = Void.new()
2222
type_val = SCSpecType.new(:SC_SPEC_TYPE_VAL)
23-
type_u128 = SCSpecType.new(:SC_SPEC_TYPE_U128)
23+
type_u128 = SCSpecType.new(:SC_SPEC_TYPE_I32)
2424
sc_spec_type_def1 = SCSpecTypeDef.new(code, type_val)
2525
sc_spec_type_def2 = SCSpecTypeDef.new(code, type_u128)
2626

0 commit comments

Comments
 (0)