@@ -14,6 +14,7 @@ export type arg =
1414 | codeSlice
1515 | refCodeSlice
1616 | inlineCodeSlice
17+ | dict
1718 | exoticCell
1819 | debugstr
1920
@@ -64,10 +65,8 @@ export const minusOne: minusOne = {$: "minusOne"}
6465export type setcpArg = { $ : "setcpArg" , range : range }
6566export const setcpArg : setcpArg = { $ : "setcpArg" , range : range ( - 15n , 239n ) }
6667
67- export type args = simpleArgs | dictpush
68-
69- export type simpleArgs = { $ : "simpleArgs" , children : arg [ ] }
70- export const seq = ( ...args : arg [ ] ) : simpleArgs => ( { $ : "simpleArgs" , children : args } )
68+ export type args = arg [ ]
69+ export const seq = ( ...args : arg [ ] ) : args => args
7170
7271export type codeSlice = { $ : "codeSlice" , refs : arg , bits : arg }
7372export const codeSlice = ( refs : arg , bits : arg ) : codeSlice => ( { $ : "codeSlice" , refs, bits} )
@@ -81,6 +80,9 @@ export const refCodeSlice: refCodeSlice = {$: "refCodeSlice"}
8180export type slice = { $ : "slice" , refs : arg , bits : arg , pad : number }
8281export const slice = ( refs : arg , bits : arg , pad : number ) : slice => ( { $ : "slice" , refs, bits, pad} )
8382
83+ export type dict = { $ : "dict" }
84+ export const dict : dict = { $ : "dict" }
85+
8486export type exoticCell = { $ : "exoticCell" }
8587export const exoticCell : exoticCell = { $ : "exoticCell" }
8688
@@ -350,6 +352,7 @@ const uint3range = range(0n, BigInt(Math.pow(2, 3) - 1))
350352const uint5range = range ( 0n , BigInt ( Math . pow ( 2 , 5 ) - 1 ) )
351353const uint6range = range ( 0n , BigInt ( Math . pow ( 2 , 6 ) - 1 ) )
352354const uint7range = range ( 0n , BigInt ( Math . pow ( 2 , 7 ) - 1 ) )
355+ const uint10range = range ( 0n , BigInt ( Math . pow ( 2 , 10 ) - 1 ) )
353356const uint11range = range ( 0n , BigInt ( Math . pow ( 2 , 11 ) - 1 ) )
354357const uint14range = range ( 0n , BigInt ( Math . pow ( 2 , 14 ) - 1 ) )
355358
@@ -364,6 +367,7 @@ const uint5 = uint(5, uint5range)
364367const uint6 = uint ( 6 , uint6range )
365368const uint7 = uint ( 7 , uint7range )
366369const uint8 = uint ( 8 , uint8range )
370+ const uint10 = uint ( 10 , uint10range )
367371const uint11 = uint ( 11 , uint11range )
368372const uint14 = uint ( 14 , uint14range )
369373const hash = uint ( 8 , { min : 0n , max : 4n } )
@@ -1145,8 +1149,8 @@ export const instructions: Record<string, Opcode> = {
11451149 IFNBITJMPREF : effects ( cat ( "continuation_cond_loop" , mkext ( ( 0xe3c >> 1 ) | 0b1 , 11 , 5 , seq ( uint5 , refCodeSlice ) , `exec_if_bit_jmpref` ) ) , ImplicitJumpRef ( ) , CellLoad ( ) ) ,
11461150 // END SECTION
11471151
1148- DICTPUSHCONST : cat ( "dictionary" , mkfixedn ( 0x3d29 , 14 , 10 , dictpush , `exec_push_const_dict` ) ) ,
1149- PFXDICTSWITCH : cat ( "dictionary" , mkfixedn ( 0xf4ac00 >> 10 , 14 , 10 , dictpush , `exec_const_pfx_dict_switch` ) ) ,
1152+ DICTPUSHCONST : cat ( "dictionary" , mkfixedn ( 0x3d29 , 14 , 10 , seq ( dict , uint10 ) , `exec_push_const_dict` ) ) ,
1153+ PFXDICTSWITCH : cat ( "dictionary" , mkfixedn ( 0xf4ac00 >> 10 , 14 , 10 , seq ( dict , uint10 ) , `exec_const_pfx_dict_switch` ) ) ,
11501154
11511155 // SECTION: sdbegins
11521156 SDBEGINSX : cat ( "cell_deserialize" , mksimple ( 0xd726 , 16 , `(_1) => exec_slice_begins_with(_1, false)` ) ) ,
0 commit comments