Skip to content

Commit

Permalink
Updated SCSpecType and SCSpecTypeDef XDR types (#251)
Browse files Browse the repository at this point in the history
Updated the SCSpecType and SCSpecTypeDef XDR types modifying the types with no parameters, and updated the respective tests.
  • Loading branch information
CristhianRodriguezMolina committed Apr 20, 2023
1 parent 3836e17 commit a95227d
Show file tree
Hide file tree
Showing 8 changed files with 83 additions and 41 deletions.
30 changes: 17 additions & 13 deletions lib/xdr/contract/spec/sc_spec_type.ex
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,23 @@ defmodule StellarBase.XDR.SCSpecType do
SC_SPEC_TYPE_VAL: 0,

# Types with no parameters.
SC_SPEC_TYPE_U32: 1,
SC_SPEC_TYPE_I32: 2,
SC_SPEC_TYPE_U64: 3,
SC_SPEC_TYPE_I64: 4,
SC_SPEC_TYPE_U128: 5,
SC_SPEC_TYPE_I128: 6,
SC_SPEC_TYPE_BOOL: 7,
SC_SPEC_TYPE_SYMBOL: 8,
SC_SPEC_TYPE_BITSET: 9,
SC_SPEC_TYPE_STATUS: 10,
SC_SPEC_TYPE_BYTES: 11,
SC_SPEC_TYPE_INVOKER: 12,
SC_SPEC_TYPE_ADDRESS: 13,
SC_SPEC_TYPE_BOOL: 1,
SC_SPEC_TYPE_VOID: 2,
SC_SPEC_TYPE_STATUS: 3,
SC_SPEC_TYPE_U32: 4,
SC_SPEC_TYPE_I32: 5,
SC_SPEC_TYPE_U64: 6,
SC_SPEC_TYPE_I64: 7,
SC_SPEC_TYPE_TIMEPOINT: 8,
SC_SPEC_TYPE_DURATION: 9,
SC_SPEC_TYPE_U128: 10,
SC_SPEC_TYPE_I128: 11,
SC_SPEC_TYPE_U256: 12,
SC_SPEC_TYPE_I256: 13,
SC_SPEC_TYPE_BYTES: 14,
SC_SPEC_TYPE_STRING: 16,
SC_SPEC_TYPE_SYMBOL: 17,
SC_SPEC_TYPE_ADDRESS: 19,

# Types with parameters.
SC_SPEC_TYPE_OPTION: 1000,
Expand Down
17 changes: 11 additions & 6 deletions lib/xdr/contract/spec/sc_spec_type_def.ex
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,22 @@ defmodule StellarBase.XDR.SCSpecTypeDef do

@arms [
SC_SPEC_TYPE_VAL: Void,
SC_SPEC_TYPE_BOOL: Void,
SC_SPEC_TYPE_VOID: Void,
SC_SPEC_TYPE_STATUS: Void,
SC_SPEC_TYPE_U32: Void,
SC_SPEC_TYPE_I32: Void,
SC_SPEC_TYPE_U64: Void,
SC_SPEC_TYPE_I64: Void,
SC_SPEC_TYPE_TIMEPOINT: Void,
SC_SPEC_TYPE_DURATION: Void,
SC_SPEC_TYPE_U128: Void,
SC_SPEC_TYPE_I128: Void,
SC_SPEC_TYPE_U32: Void,
SC_SPEC_TYPE_I32: Void,
SC_SPEC_TYPE_BOOL: Void,
SC_SPEC_TYPE_SYMBOL: Void,
SC_SPEC_TYPE_BITSET: Void,
SC_SPEC_TYPE_STATUS: Void,
SC_SPEC_TYPE_U256: Void,
SC_SPEC_TYPE_I256: Void,
SC_SPEC_TYPE_BYTES: Void,
SC_SPEC_TYPE_STRING: Void,
SC_SPEC_TYPE_SYMBOL: Void,
SC_SPEC_TYPE_ADDRESS: Void,
SC_SPEC_TYPE_OPTION: SCSpecTypeOption,
SC_SPEC_TYPE_RESULT: SCSpecTypeResult,
Expand Down
2 changes: 1 addition & 1 deletion test/xdr/contract/spec/sc_spec_type_def_list12_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ defmodule StellarBase.XDR.SCSpecTypeDefList12Test do
setup do
code = Void.new()
type_val = SCSpecType.new(:SC_SPEC_TYPE_VAL)
type_u128 = SCSpecType.new(:SC_SPEC_TYPE_U128)
type_u128 = SCSpecType.new(:SC_SPEC_TYPE_I32)
sc_spec_type_def1 = SCSpecTypeDef.new(code, type_val)
sc_spec_type_def2 = SCSpecTypeDef.new(code, type_u128)

Expand Down
51 changes: 38 additions & 13 deletions test/xdr/contract/spec/sc_spec_type_def_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ defmodule StellarBase.XDR.SCSpecTypeDefTest do
setup do
code = Void.new()
type_val = SCSpecType.new(:SC_SPEC_TYPE_VAL)
type_u128 = SCSpecType.new(:SC_SPEC_TYPE_U128)
type_u128 = SCSpecType.new(:SC_SPEC_TYPE_I32)
sc_spec_type_def_1 = SCSpecTypeDef.new(code, type_val)
sc_spec_type_def_2 = SCSpecTypeDef.new(code, type_u128)

Expand All @@ -33,65 +33,90 @@ defmodule StellarBase.XDR.SCSpecTypeDefTest do
binary: <<0, 0, 0, 0>>
},
%{
status_type: SCSpecType.new(:SC_SPEC_TYPE_U32),
status_type: SCSpecType.new(:SC_SPEC_TYPE_BOOL),
sc_code: Void.new(),
binary: <<0, 0, 0, 1>>
},
%{
status_type: SCSpecType.new(:SC_SPEC_TYPE_I32),
status_type: SCSpecType.new(:SC_SPEC_TYPE_VOID),
sc_code: Void.new(),
binary: <<0, 0, 0, 2>>
},
%{
status_type: SCSpecType.new(:SC_SPEC_TYPE_U64),
status_type: SCSpecType.new(:SC_SPEC_TYPE_STATUS),
sc_code: Void.new(),
binary: <<0, 0, 0, 3>>
},
%{
status_type: SCSpecType.new(:SC_SPEC_TYPE_I64),
status_type: SCSpecType.new(:SC_SPEC_TYPE_U32),
sc_code: Void.new(),
binary: <<0, 0, 0, 4>>
},
%{
status_type: SCSpecType.new(:SC_SPEC_TYPE_U128),
status_type: SCSpecType.new(:SC_SPEC_TYPE_I32),
sc_code: Void.new(),
binary: <<0, 0, 0, 5>>
},
%{
status_type: SCSpecType.new(:SC_SPEC_TYPE_I128),
status_type: SCSpecType.new(:SC_SPEC_TYPE_U64),
sc_code: Void.new(),
binary: <<0, 0, 0, 6>>
},
%{
status_type: SCSpecType.new(:SC_SPEC_TYPE_BOOL),
status_type: SCSpecType.new(:SC_SPEC_TYPE_I64),
sc_code: Void.new(),
binary: <<0, 0, 0, 7>>
},
%{
status_type: SCSpecType.new(:SC_SPEC_TYPE_SYMBOL),
status_type: SCSpecType.new(:SC_SPEC_TYPE_TIMEPOINT),
sc_code: Void.new(),
binary: <<0, 0, 0, 8>>
},
%{
status_type: SCSpecType.new(:SC_SPEC_TYPE_BITSET),
status_type: SCSpecType.new(:SC_SPEC_TYPE_DURATION),
sc_code: Void.new(),
binary: <<0, 0, 0, 9>>
},
%{
status_type: SCSpecType.new(:SC_SPEC_TYPE_STATUS),
status_type: SCSpecType.new(:SC_SPEC_TYPE_U128),
sc_code: Void.new(),
binary: <<0, 0, 0, 10>>
},
%{
status_type: SCSpecType.new(:SC_SPEC_TYPE_BYTES),
status_type: SCSpecType.new(:SC_SPEC_TYPE_I128),
sc_code: Void.new(),
binary: <<0, 0, 0, 11>>
},
%{
status_type: SCSpecType.new(:SC_SPEC_TYPE_ADDRESS),
status_type: SCSpecType.new(:SC_SPEC_TYPE_U256),
sc_code: Void.new(),
binary: <<0, 0, 0, 12>>
},
%{
status_type: SCSpecType.new(:SC_SPEC_TYPE_I256),
sc_code: Void.new(),
binary: <<0, 0, 0, 13>>
},
%{
status_type: SCSpecType.new(:SC_SPEC_TYPE_BYTES),
sc_code: Void.new(),
binary: <<0, 0, 0, 14>>
},
%{
status_type: SCSpecType.new(:SC_SPEC_TYPE_STRING),
sc_code: Void.new(),
binary: <<0, 0, 0, 16>>
},
%{
status_type: SCSpecType.new(:SC_SPEC_TYPE_SYMBOL),
sc_code: Void.new(),
binary: <<0, 0, 0, 17>>
},
%{
status_type: SCSpecType.new(:SC_SPEC_TYPE_ADDRESS),
sc_code: Void.new(),
binary: <<0, 0, 0, 19>>
},
%{
sc_code:
sc_spec_type_def_1
Expand Down
18 changes: 13 additions & 5 deletions test/xdr/contract/spec/sc_spec_type_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,22 @@ defmodule StellarBase.XDR.SCSpecTypeTest do

@types [
:SC_SPEC_TYPE_VAL,
:SC_SPEC_TYPE_BOOL,
:SC_SPEC_TYPE_VOID,
:SC_SPEC_TYPE_STATUS,
:SC_SPEC_TYPE_U32,
:SC_SPEC_TYPE_I32,
:SC_SPEC_TYPE_U64,
:SC_SPEC_TYPE_I64,
:SC_SPEC_TYPE_TIMEPOINT,
:SC_SPEC_TYPE_DURATION,
:SC_SPEC_TYPE_U128,
:SC_SPEC_TYPE_I128,
:SC_SPEC_TYPE_BOOL,
:SC_SPEC_TYPE_SYMBOL,
:SC_SPEC_TYPE_BITSET,
:SC_SPEC_TYPE_STATUS,
:SC_SPEC_TYPE_U256,
:SC_SPEC_TYPE_I256,
:SC_SPEC_TYPE_BYTES,
:SC_SPEC_TYPE_INVOKER,
:SC_SPEC_TYPE_STRING,
:SC_SPEC_TYPE_SYMBOL,
:SC_SPEC_TYPE_ADDRESS,
:SC_SPEC_TYPE_OPTION,
:SC_SPEC_TYPE_RESULT,
Expand All @@ -43,6 +47,10 @@ defmodule StellarBase.XDR.SCSpecTypeTest do
<<0, 0, 0, 11>>,
<<0, 0, 0, 12>>,
<<0, 0, 0, 13>>,
<<0, 0, 0, 14>>,
<<0, 0, 0, 16>>,
<<0, 0, 0, 17>>,
<<0, 0, 0, 19>>,
<<0, 0, 3, 232>>,
<<0, 0, 3, 233>>,
<<0, 0, 3, 234>>,
Expand Down
2 changes: 1 addition & 1 deletion test/xdr/contract/spec/sc_spec_type_tuple_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ defmodule StellarBase.XDR.SCSpecTypeTupleTest do
setup do
code = Void.new()
type_val = SCSpecType.new(:SC_SPEC_TYPE_VAL)
type_u128 = SCSpecType.new(:SC_SPEC_TYPE_U128)
type_u128 = SCSpecType.new(:SC_SPEC_TYPE_I32)
sc_spec_type_def_1 = SCSpecTypeDef.new(code, type_val)
sc_spec_type_def_2 = SCSpecTypeDef.new(code, type_u128)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ defmodule StellarBase.XDR.SCSpecUDTUnionCaseTupleV0Test do
name = String60.new("Hello there")
code = Void.new()
type_val = SCSpecType.new(:SC_SPEC_TYPE_VAL)
type_u128 = SCSpecType.new(:SC_SPEC_TYPE_U128)
type_u128 = SCSpecType.new(:SC_SPEC_TYPE_I32)
sc_spec_type_def1 = SCSpecTypeDef.new(code, type_val)
sc_spec_type_def2 = SCSpecTypeDef.new(code, type_u128)

Expand Down
2 changes: 1 addition & 1 deletion test/xdr/contract/spec/sc_spec_udt_union_case_v0_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ defmodule StellarBase.XDR.SCSpecUDTUnionCaseV0Test do
name = String60.new("Hello there")
code = Void.new()
type_val = SCSpecType.new(:SC_SPEC_TYPE_VAL)
type_u128 = SCSpecType.new(:SC_SPEC_TYPE_U128)
type_u128 = SCSpecType.new(:SC_SPEC_TYPE_I32)
sc_spec_type_def1 = SCSpecTypeDef.new(code, type_val)
sc_spec_type_def2 = SCSpecTypeDef.new(code, type_u128)

Expand Down

0 comments on commit a95227d

Please sign in to comment.