@@ -95,9 +95,9 @@ interface Contract {
95
95
/** Information about the TEAL programs */
96
96
sourceInfo? : {
97
97
/** Approval program information */
98
- approval: SourceInfo [] ;
98
+ approval: ProgramSourceInfo ;
99
99
/** Clear program information */
100
- clear: SourceInfo [] ;
100
+ clear: ProgramSourceInfo ;
101
101
};
102
102
/** The pre-compiled TEAL that may contain template variables. MUST be omitted if included as part of ARC23 */
103
103
source? : {
@@ -178,8 +178,8 @@ interface Method {
178
178
* - global: The data key signifies the global state key to read the value from
179
179
* - local: The data key signifies the local state key to read the value from (for the sender)
180
180
* - literal: the value is a literal and should be passed directly as the argument
181
- */
182
- source: ' box' | ' global' | ' local' | ' literal' ;
181
+ */
182
+ source: " box" | " global" | " local" | " literal" ;
183
183
};
184
184
}>;
185
185
/** Information about the method's return value */
@@ -322,9 +322,19 @@ interface StorageMap {
322
322
323
323
### SourceInfo Interface
324
324
325
- This interface gives clients more information about the contract's source code.
325
+ These interfaces give clients more information about the contract's source code.
326
326
327
327
``` ts
328
+ interface ProgramSourceInfo {
329
+ /** The source information for the program */
330
+ sourceInfo: SourceInfo [];
331
+ /** How the program counter offset is calculated
332
+ * - none: The pc values in sourceInfo are not offset
333
+ * - cblocks: The pc values in sourceInfo are offset by PC of the last cblock at the top of the program
334
+ */
335
+ pcOffsetMethod: " none" | " cblocks" ;
336
+ }
337
+
328
338
interface SourceInfo {
329
339
/** The line of pre-compiled TEAL */
330
340
teal? : number ;
0 commit comments