@@ -42,19 +42,20 @@ type cdtState struct {
4242 globals []basics.TealValue
4343
4444 // mutable program state
45- mu deadlock.Mutex
46- stack []basics.TealValue
47- scratch []basics.TealValue
48- pc atomicInt
49- line atomicInt
50- err atomicString
45+ mu deadlock.Mutex
46+ stack []basics.TealValue
47+ scratch []basics.TealValue
48+ pc atomicInt
49+ line atomicInt
50+ err atomicString
51+ callStack []logic.CallFrame
5152 AppState
5253
5354 // debugger states
54- lastAction atomicString
55- pauseOnError atomicBool
56- pauseOnCompeted atomicBool
57- completed atomicBool
55+ lastAction atomicString
56+ pauseOnError atomicBool
57+ pauseOnCompleted atomicBool
58+ completed atomicBool
5859}
5960
6061type cdtStateUpdate struct {
@@ -64,6 +65,7 @@ type cdtStateUpdate struct {
6465 line int
6566 err string
6667 opcodeBudget int
68+ callStack []logic.CallFrame
6769
6870 AppState
6971}
@@ -110,37 +112,7 @@ func (s *cdtState) Update(state cdtStateUpdate) {
110112 s .AppState = state .AppState
111113 // We need to dynamically override opcodeBudget with the proper value each step.
112114 s .globals [logic .OpcodeBudget ].Uint = uint64 (state .opcodeBudget )
113- }
114-
115- const localScopeObjID = "localScopeObjId"
116- const globalScopeObjID = "globalScopeObjID"
117- const globalsObjID = "globalsObjID"
118- const txnObjID = "txnObjID"
119- const gtxnObjID = "gtxnObjID"
120- const stackObjID = "stackObjID"
121- const scratchObjID = "scratchObjID"
122- const tealErrorID = "tealErrorID"
123- const appGlobalObjID = "appGlobalObjID"
124- const appLocalsObjID = "appLocalsObjID"
125- const txnArrayFieldObjID = "txnArrayField"
126- const logsObjID = "logsObjID"
127- const innerTxnsObjID = "innerTxnsObjID"
128-
129- type objectDescFn func (s * cdtState , preview bool ) []cdt.RuntimePropertyDescriptor
130-
131- var objectDescMap = map [string ]objectDescFn {
132- globalScopeObjID : makeGlobalScope ,
133- localScopeObjID : makeLocalScope ,
134- globalsObjID : makeGlobals ,
135- txnObjID : makeTxn ,
136- gtxnObjID : makeTxnGroup ,
137- stackObjID : makeStack ,
138- scratchObjID : makeScratch ,
139- tealErrorID : makeTealError ,
140- appGlobalObjID : makeAppGlobalState ,
141- appLocalsObjID : makeAppLocalsState ,
142- logsObjID : makeLogsState ,
143- innerTxnsObjID : makeInnerTxnsState ,
115+ s .callStack = state .callStack
144116}
145117
146118func (s * cdtState ) getObjectDescriptor (objID string , preview bool ) (desc []cdt.RuntimePropertyDescriptor , err error ) {
@@ -591,8 +563,6 @@ func makeGlobalsPreview(globals []basics.TealValue) cdt.RuntimeObjectPreview {
591563 return p
592564}
593565
594- var gtxnObjIDPrefix = fmt .Sprintf ("%s_gid_" , gtxnObjID )
595-
596566func encodeGroupTxnID (groupIndex int ) string {
597567 return gtxnObjIDPrefix + strconv .Itoa (groupIndex )
598568}
@@ -606,10 +576,6 @@ func decodeGroupTxnID(objID string) (int, bool) {
606576 return 0 , false
607577}
608578
609- var logObjIDPrefix = fmt .Sprintf ("%s_id" , logsObjID )
610- var innerTxnObjIDPrefix = fmt .Sprintf ("%s_id" , innerTxnsObjID )
611- var innerNestedTxnObjIDPrefix = fmt .Sprintf ("%s_nested" , innerTxnsObjID )
612-
613579func encodeNestedObjID (groupIndexes []int , prefix string ) string {
614580 encodedElements := []string {prefix }
615581 for _ , i := range groupIndexes {
@@ -695,8 +661,6 @@ func decodeArraySlice(objID string) (string, int, int, bool) {
695661 return "" , 0 , 0 , false
696662}
697663
698- var appGlobalObjIDPrefix = fmt .Sprintf ("%s_" , appGlobalObjID )
699-
700664func encodeAppGlobalAppID (key string ) string {
701665 return appGlobalObjIDPrefix + key
702666}
@@ -710,8 +674,6 @@ func decodeAppGlobalAppID(objID string) (uint64, bool) {
710674 return 0 , false
711675}
712676
713- var appLocalsObjIDPrefix = fmt .Sprintf ("%s_" , appLocalsObjID )
714-
715677func encodeAppLocalsAddr (addr string ) string {
716678 return appLocalsObjIDPrefix + addr
717679}
@@ -723,8 +685,6 @@ func decodeAppLocalsAddr(objID string) (string, bool) {
723685 return "" , false
724686}
725687
726- var appLocalAppIDPrefix = fmt .Sprintf ("%s__" , appLocalsObjID )
727-
728688func encodeAppLocalsAppID (addr string , appID string ) string {
729689 return fmt .Sprintf ("%s%s_%s" , appLocalAppIDPrefix , addr , appID )
730690}
@@ -740,8 +700,6 @@ func decodeAppLocalsAppID(objID string) (string, uint64, bool) {
740700 return "" , 0 , false
741701}
742702
743- var txnArrayFieldPrefix = fmt .Sprintf ("%s__" , txnArrayFieldObjID )
744-
745703func encodeTxnArrayField (groupIndex int , field int ) string {
746704 return fmt .Sprintf ("%s%d_%d" , txnArrayFieldPrefix , groupIndex , field )
747705}
0 commit comments