Don't dip for vars after the second
This commit is contained in:
parent
b05e7ef613
commit
94c35e15dd
@ -7,16 +7,16 @@ let bad_contract basename =
|
|||||||
|
|
||||||
let%expect_test _ =
|
let%expect_test _ =
|
||||||
run_ligo_good [ "measure-contract" ; contract "coase.ligo" ; "main" ] ;
|
run_ligo_good [ "measure-contract" ; contract "coase.ligo" ; "main" ] ;
|
||||||
[%expect {| 1842 bytes |}] ;
|
[%expect {| 1682 bytes |}] ;
|
||||||
|
|
||||||
run_ligo_good [ "measure-contract" ; contract "multisig.ligo" ; "main" ] ;
|
run_ligo_good [ "measure-contract" ; contract "multisig.ligo" ; "main" ] ;
|
||||||
[%expect {| 1138 bytes |}] ;
|
[%expect {| 1003 bytes |}] ;
|
||||||
|
|
||||||
run_ligo_good [ "measure-contract" ; contract "multisig-v2.ligo" ; "main" ] ;
|
run_ligo_good [ "measure-contract" ; contract "multisig-v2.ligo" ; "main" ] ;
|
||||||
[%expect {| 2797 bytes |}] ;
|
[%expect {| 2522 bytes |}] ;
|
||||||
|
|
||||||
run_ligo_good [ "measure-contract" ; contract "vote.mligo" ; "main" ] ;
|
run_ligo_good [ "measure-contract" ; contract "vote.mligo" ; "main" ] ;
|
||||||
[%expect {| 626 bytes |}] ;
|
[%expect {| 586 bytes |}] ;
|
||||||
|
|
||||||
run_ligo_good [ "compile-parameter" ; contract "coase.ligo" ; "main" ; "Buy_single (record card_to_buy = 1n end)" ] ;
|
run_ligo_good [ "compile-parameter" ; contract "coase.ligo" ; "main" ; "Buy_single (record card_to_buy = 1n end)" ] ;
|
||||||
[%expect {| (Left (Left 1)) |}] ;
|
[%expect {| (Left (Left 1)) |}] ;
|
||||||
@ -74,8 +74,9 @@ let%expect_test _ =
|
|||||||
IF_LEFT
|
IF_LEFT
|
||||||
{ DUP ;
|
{ DUP ;
|
||||||
IF_LEFT
|
IF_LEFT
|
||||||
{ DIP 2 { DUP } ;
|
{ DIG 2 ;
|
||||||
DIG 2 ;
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
DIP { DUP } ;
|
DIP { DUP } ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
PAIR ;
|
PAIR ;
|
||||||
@ -87,8 +88,9 @@ let%expect_test _ =
|
|||||||
DUP ;
|
DUP ;
|
||||||
CAR ;
|
CAR ;
|
||||||
CAR ;
|
CAR ;
|
||||||
DIP 2 { DUP } ;
|
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
GET ;
|
GET ;
|
||||||
IF_NONE
|
IF_NONE
|
||||||
{ PUSH string "buy_single: No card pattern." ; FAILWITH }
|
{ PUSH string "buy_single: No card pattern." ; FAILWITH }
|
||||||
@ -108,26 +110,32 @@ let%expect_test _ =
|
|||||||
COMPARE ;
|
COMPARE ;
|
||||||
GT ;
|
GT ;
|
||||||
IF { PUSH string "Not enough money" ; FAILWITH } { PUSH unit Unit } ;
|
IF { PUSH string "Not enough money" ; FAILWITH } { PUSH unit Unit } ;
|
||||||
DIP 2 { DUP } ;
|
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
PUSH nat 1 ;
|
PUSH nat 1 ;
|
||||||
DIP 4 { DUP } ;
|
|
||||||
DIG 4 ;
|
DIG 4 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 5 ;
|
||||||
CDR ;
|
CDR ;
|
||||||
ADD ;
|
ADD ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
CAR ;
|
CAR ;
|
||||||
PAIR ;
|
PAIR ;
|
||||||
DIP 4 { DUP } ;
|
|
||||||
DIG 4 ;
|
DIG 4 ;
|
||||||
DIP 5 { DUP } ;
|
DUP ;
|
||||||
|
DUG 5 ;
|
||||||
DIG 5 ;
|
DIG 5 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 6 ;
|
||||||
CAR ;
|
CAR ;
|
||||||
CAR ;
|
CAR ;
|
||||||
DIP 2 { DUP } ;
|
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
DIP 8 { DUP } ;
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
DIG 8 ;
|
DIG 8 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 9 ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
SOME ;
|
SOME ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
@ -138,12 +146,14 @@ let%expect_test _ =
|
|||||||
DUP ;
|
DUP ;
|
||||||
CAR ;
|
CAR ;
|
||||||
CDR ;
|
CDR ;
|
||||||
DIP 7 { DUP } ;
|
|
||||||
DIG 7 ;
|
DIG 7 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 8 ;
|
||||||
SENDER ;
|
SENDER ;
|
||||||
PAIR ;
|
PAIR ;
|
||||||
DIP 2 { DUP } ;
|
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
CDR ;
|
CDR ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
SOME ;
|
SOME ;
|
||||||
@ -159,8 +169,9 @@ let%expect_test _ =
|
|||||||
PAIR ;
|
PAIR ;
|
||||||
DUP ;
|
DUP ;
|
||||||
PUSH nat 1 ;
|
PUSH nat 1 ;
|
||||||
DIP 2 { DUP } ;
|
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
CDR ;
|
CDR ;
|
||||||
ADD ;
|
ADD ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
@ -170,8 +181,9 @@ let%expect_test _ =
|
|||||||
NIL operation ;
|
NIL operation ;
|
||||||
PAIR ;
|
PAIR ;
|
||||||
DIP { DROP 12 } }
|
DIP { DROP 12 } }
|
||||||
{ DIP 2 { DUP } ;
|
{ DIG 2 ;
|
||||||
DIG 2 ;
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
DIP { DUP } ;
|
DIP { DUP } ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
PAIR ;
|
PAIR ;
|
||||||
@ -183,8 +195,9 @@ let%expect_test _ =
|
|||||||
DUP ;
|
DUP ;
|
||||||
CAR ;
|
CAR ;
|
||||||
CDR ;
|
CDR ;
|
||||||
DIP 2 { DUP } ;
|
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
GET ;
|
GET ;
|
||||||
IF_NONE
|
IF_NONE
|
||||||
{ PUSH string "sell_single: No card." ; FAILWITH }
|
{ PUSH string "sell_single: No card." ; FAILWITH }
|
||||||
@ -197,12 +210,14 @@ let%expect_test _ =
|
|||||||
NEQ ;
|
NEQ ;
|
||||||
IF { PUSH string "This card doesn't belong to you" ; FAILWITH }
|
IF { PUSH string "This card doesn't belong to you" ; FAILWITH }
|
||||||
{ PUSH unit Unit } ;
|
{ PUSH unit Unit } ;
|
||||||
DIP 2 { DUP } ;
|
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
CAR ;
|
CAR ;
|
||||||
CAR ;
|
CAR ;
|
||||||
DIP 2 { DUP } ;
|
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
CDR ;
|
CDR ;
|
||||||
GET ;
|
GET ;
|
||||||
IF_NONE
|
IF_NONE
|
||||||
@ -210,24 +225,29 @@ let%expect_test _ =
|
|||||||
{ DUP ; DIP { DROP } } ;
|
{ DUP ; DIP { DROP } } ;
|
||||||
DUP ;
|
DUP ;
|
||||||
PUSH nat 1 ;
|
PUSH nat 1 ;
|
||||||
DIP 2 { DUP } ;
|
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
CDR ;
|
CDR ;
|
||||||
SUB ;
|
SUB ;
|
||||||
ABS ;
|
ABS ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
CAR ;
|
CAR ;
|
||||||
PAIR ;
|
PAIR ;
|
||||||
DIP 4 { DUP } ;
|
|
||||||
DIG 4 ;
|
DIG 4 ;
|
||||||
DIP 5 { DUP } ;
|
DUP ;
|
||||||
|
DUG 5 ;
|
||||||
DIG 5 ;
|
DIG 5 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 6 ;
|
||||||
CAR ;
|
CAR ;
|
||||||
CAR ;
|
CAR ;
|
||||||
DIP 2 { DUP } ;
|
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
DIP 6 { DUP } ;
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
DIG 6 ;
|
DIG 6 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 7 ;
|
||||||
CDR ;
|
CDR ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
SOME ;
|
SOME ;
|
||||||
@ -239,16 +259,19 @@ let%expect_test _ =
|
|||||||
DUP ;
|
DUP ;
|
||||||
CAR ;
|
CAR ;
|
||||||
CDR ;
|
CDR ;
|
||||||
DIP 7 { DUP } ;
|
|
||||||
DIG 7 ;
|
DIG 7 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 8 ;
|
||||||
NONE (pair (address %card_owner) (nat %card_pattern)) ;
|
NONE (pair (address %card_owner) (nat %card_pattern)) ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
UPDATE ;
|
UPDATE ;
|
||||||
DIP 2 { DUP } ;
|
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
CDR ;
|
CDR ;
|
||||||
DIP 3 { DUP } ;
|
|
||||||
DIG 3 ;
|
DIG 3 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 4 ;
|
||||||
CAR ;
|
CAR ;
|
||||||
MUL ;
|
MUL ;
|
||||||
SENDER ;
|
SENDER ;
|
||||||
@ -257,18 +280,21 @@ let%expect_test _ =
|
|||||||
{ PUSH string "sell_single: No contract." ; FAILWITH }
|
{ PUSH string "sell_single: No contract." ; FAILWITH }
|
||||||
{ DUP ; DIP { DROP } } ;
|
{ DUP ; DIP { DROP } } ;
|
||||||
DUP ;
|
DUP ;
|
||||||
DIP 2 { DUP } ;
|
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
UNIT ;
|
UNIT ;
|
||||||
TRANSFER_TOKENS ;
|
TRANSFER_TOKENS ;
|
||||||
DUP ;
|
DUP ;
|
||||||
NIL operation ;
|
NIL operation ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
CONS ;
|
CONS ;
|
||||||
DIP 5 { DUP } ;
|
|
||||||
DIG 5 ;
|
DIG 5 ;
|
||||||
DIP 5 { DUP } ;
|
DUP ;
|
||||||
|
DUG 6 ;
|
||||||
DIG 5 ;
|
DIG 5 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 6 ;
|
||||||
DIP { DUP ; CDR ; SWAP ; CAR ; CAR } ;
|
DIP { DUP ; CDR ; SWAP ; CAR ; CAR } ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
PAIR ;
|
PAIR ;
|
||||||
@ -292,8 +318,9 @@ let%expect_test _ =
|
|||||||
CAR ;
|
CAR ;
|
||||||
CDR ;
|
CDR ;
|
||||||
DUP ;
|
DUP ;
|
||||||
DIP 3 { DUP } ;
|
|
||||||
DIG 3 ;
|
DIG 3 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 4 ;
|
||||||
CAR ;
|
CAR ;
|
||||||
GET ;
|
GET ;
|
||||||
IF_NONE
|
IF_NONE
|
||||||
@ -307,21 +334,26 @@ let%expect_test _ =
|
|||||||
NEQ ;
|
NEQ ;
|
||||||
IF { PUSH string "This card doesn't belong to you" ; FAILWITH }
|
IF { PUSH string "This card doesn't belong to you" ; FAILWITH }
|
||||||
{ PUSH unit Unit } ;
|
{ PUSH unit Unit } ;
|
||||||
DIP 3 { DUP } ;
|
|
||||||
DIG 3 ;
|
DIG 3 ;
|
||||||
DIP 3 { DUP } ;
|
DUP ;
|
||||||
|
DUG 4 ;
|
||||||
DIG 3 ;
|
DIG 3 ;
|
||||||
DIP 3 { DUP } ;
|
DUP ;
|
||||||
|
DUG 4 ;
|
||||||
DIG 3 ;
|
DIG 3 ;
|
||||||
DIP 7 { DUP } ;
|
DUP ;
|
||||||
|
DUG 4 ;
|
||||||
DIG 7 ;
|
DIG 7 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 8 ;
|
||||||
CDR ;
|
CDR ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
CDR ;
|
CDR ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
PAIR ;
|
PAIR ;
|
||||||
DIP 7 { DUP } ;
|
|
||||||
DIG 7 ;
|
DIG 7 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 8 ;
|
||||||
CAR ;
|
CAR ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
SOME ;
|
SOME ;
|
||||||
@ -339,7 +371,7 @@ let%expect_test _ =
|
|||||||
let%expect_test _ =
|
let%expect_test _ =
|
||||||
run_ligo_good [ "compile-contract" ; contract "multisig-v2.ligo" ; "main" ] ;
|
run_ligo_good [ "compile-contract" ; contract "multisig-v2.ligo" ; "main" ] ;
|
||||||
[%expect {|
|
[%expect {|
|
||||||
{ parameter
|
{ parameter
|
||||||
(or (or (unit %default) (lambda %send bytes (list operation)))
|
(or (or (unit %default) (lambda %send bytes (list operation)))
|
||||||
(lambda %withdraw bytes (list operation))) ;
|
(lambda %withdraw bytes (list operation))) ;
|
||||||
storage
|
storage
|
||||||
@ -355,9 +387,10 @@ let%expect_test _ =
|
|||||||
IF_LEFT
|
IF_LEFT
|
||||||
{ DUP ;
|
{ DUP ;
|
||||||
IF_LEFT
|
IF_LEFT
|
||||||
{ DIP 2 { DUP } ; DIG 2 ; NIL operation ; PAIR ; DIP { DROP } }
|
{ DIG 2 ; DUP ; DUG 3 ; NIL operation ; PAIR ; DIP { DROP } }
|
||||||
{ DIP 2 { DUP } ;
|
{ DIG 2 ;
|
||||||
DIG 2 ;
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
DIP { DUP } ;
|
DIP { DUP } ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
PAIR ;
|
PAIR ;
|
||||||
@ -371,13 +404,15 @@ let%expect_test _ =
|
|||||||
MEM ;
|
MEM ;
|
||||||
NOT ;
|
NOT ;
|
||||||
IF { PUSH string "Unauthorized address" ; FAILWITH } { PUSH unit Unit } ;
|
IF { PUSH string "Unauthorized address" ; FAILWITH } { PUSH unit Unit } ;
|
||||||
DIP 2 { DUP } ;
|
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
CAR ;
|
CAR ;
|
||||||
DUP ;
|
DUP ;
|
||||||
PACK ;
|
PACK ;
|
||||||
DIP 3 { DUP } ;
|
|
||||||
DIG 3 ;
|
DIG 3 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 4 ;
|
||||||
CAR ;
|
CAR ;
|
||||||
CAR ;
|
CAR ;
|
||||||
CDR ;
|
CDR ;
|
||||||
@ -389,30 +424,36 @@ let%expect_test _ =
|
|||||||
IF { PUSH string "Message size exceed maximum limit" ; FAILWITH }
|
IF { PUSH string "Message size exceed maximum limit" ; FAILWITH }
|
||||||
{ PUSH unit Unit } ;
|
{ PUSH unit Unit } ;
|
||||||
EMPTY_SET address ;
|
EMPTY_SET address ;
|
||||||
DIP 5 { DUP } ;
|
|
||||||
DIG 5 ;
|
DIG 5 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 6 ;
|
||||||
DIP { DUP } ;
|
DIP { DUP } ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
PAIR ;
|
PAIR ;
|
||||||
DIP 6 { DUP } ;
|
|
||||||
DIG 6 ;
|
DIG 6 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 7 ;
|
||||||
CAR ;
|
CAR ;
|
||||||
CDR ;
|
CDR ;
|
||||||
CDR ;
|
CDR ;
|
||||||
DIP 4 { DUP } ;
|
|
||||||
DIG 4 ;
|
DIG 4 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 5 ;
|
||||||
GET ;
|
GET ;
|
||||||
IF_NONE
|
IF_NONE
|
||||||
{ DIP 6 { DUP } ;
|
{ DIG 6 ;
|
||||||
DIG 6 ;
|
DUP ;
|
||||||
DIP 7 { DUP } ;
|
DUG 7 ;
|
||||||
DIG 7 ;
|
DIG 7 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 8 ;
|
||||||
CDR ;
|
CDR ;
|
||||||
CAR ;
|
CAR ;
|
||||||
CAR ;
|
CAR ;
|
||||||
PUSH nat 1 ;
|
PUSH nat 1 ;
|
||||||
DIP 9 { DUP } ;
|
|
||||||
DIG 9 ;
|
DIG 9 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 10 ;
|
||||||
CDR ;
|
CDR ;
|
||||||
CAR ;
|
CAR ;
|
||||||
CAR ;
|
CAR ;
|
||||||
@ -432,10 +473,12 @@ let%expect_test _ =
|
|||||||
PUSH bool True ;
|
PUSH bool True ;
|
||||||
SENDER ;
|
SENDER ;
|
||||||
UPDATE ;
|
UPDATE ;
|
||||||
DIP 2 { DUP } ;
|
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
DIP 2 { DUP } ;
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
CAR ;
|
CAR ;
|
||||||
PAIR ;
|
PAIR ;
|
||||||
@ -447,17 +490,20 @@ let%expect_test _ =
|
|||||||
{ DUP ;
|
{ DUP ;
|
||||||
SENDER ;
|
SENDER ;
|
||||||
MEM ;
|
MEM ;
|
||||||
IF { DIP 7 { DUP } ; DIG 7 }
|
IF { DIG 7 ; DUP ; DUG 8 }
|
||||||
{ DIP 7 { DUP } ;
|
{ DIG 7 ;
|
||||||
DIG 7 ;
|
DUP ;
|
||||||
DIP 8 { DUP } ;
|
DUG 8 ;
|
||||||
DIG 8 ;
|
DIG 8 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 9 ;
|
||||||
CDR ;
|
CDR ;
|
||||||
CAR ;
|
CAR ;
|
||||||
CAR ;
|
CAR ;
|
||||||
PUSH nat 1 ;
|
PUSH nat 1 ;
|
||||||
DIP 10 { DUP } ;
|
|
||||||
DIG 10 ;
|
DIG 10 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 11 ;
|
||||||
CDR ;
|
CDR ;
|
||||||
CAR ;
|
CAR ;
|
||||||
CAR ;
|
CAR ;
|
||||||
@ -473,8 +519,9 @@ let%expect_test _ =
|
|||||||
PAIR ;
|
PAIR ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
PAIR ;
|
PAIR ;
|
||||||
DIP 8 { DUP } ;
|
|
||||||
DIG 8 ;
|
DIG 8 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 9 ;
|
||||||
DIP { DUP } ;
|
DIP { DUP } ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
DIP { DROP 2 } } ;
|
DIP { DROP 2 } } ;
|
||||||
@ -483,10 +530,12 @@ let%expect_test _ =
|
|||||||
PUSH bool True ;
|
PUSH bool True ;
|
||||||
SENDER ;
|
SENDER ;
|
||||||
UPDATE ;
|
UPDATE ;
|
||||||
DIP 3 { DUP } ;
|
|
||||||
DIG 3 ;
|
DIG 3 ;
|
||||||
DIP 2 { DUP } ;
|
DUP ;
|
||||||
|
DUG 4 ;
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
CAR ;
|
CAR ;
|
||||||
PAIR ;
|
PAIR ;
|
||||||
@ -519,29 +568,35 @@ let%expect_test _ =
|
|||||||
IF { PUSH string "Maximum number of proposal reached" ; FAILWITH }
|
IF { PUSH string "Maximum number of proposal reached" ; FAILWITH }
|
||||||
{ PUSH unit Unit } ;
|
{ PUSH unit Unit } ;
|
||||||
NIL operation ;
|
NIL operation ;
|
||||||
DIP 3 { DUP } ;
|
|
||||||
DIG 3 ;
|
DIG 3 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 4 ;
|
||||||
DIP { DUP } ;
|
DIP { DUP } ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
PAIR ;
|
PAIR ;
|
||||||
DIP 4 { DUP } ;
|
|
||||||
DIG 4 ;
|
DIG 4 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 5 ;
|
||||||
CDR ;
|
CDR ;
|
||||||
CDR ;
|
CDR ;
|
||||||
DIP 6 { DUP } ;
|
|
||||||
DIG 6 ;
|
DIG 6 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 7 ;
|
||||||
SIZE ;
|
SIZE ;
|
||||||
COMPARE ;
|
COMPARE ;
|
||||||
GE ;
|
GE ;
|
||||||
IF { DIP 4 { DUP } ;
|
IF { DIG 4 ;
|
||||||
DIG 4 ;
|
DUP ;
|
||||||
DIP 5 { DUP } ;
|
DUG 5 ;
|
||||||
DIG 5 ;
|
DIG 5 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 6 ;
|
||||||
CAR ;
|
CAR ;
|
||||||
CDR ;
|
CDR ;
|
||||||
CDR ;
|
CDR ;
|
||||||
DIP 12 { DUP } ;
|
|
||||||
DIG 12 ;
|
DIG 12 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 13 ;
|
||||||
NONE (set address) ;
|
NONE (set address) ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
UPDATE ;
|
UPDATE ;
|
||||||
@ -555,16 +610,19 @@ let%expect_test _ =
|
|||||||
CDR ;
|
CDR ;
|
||||||
CAR ;
|
CAR ;
|
||||||
CDR ;
|
CDR ;
|
||||||
DIP 13 { DUP } ;
|
|
||||||
DIG 13 ;
|
DIG 13 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 14 ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
EXEC ;
|
EXEC ;
|
||||||
DIP { DUP } ;
|
DIP { DUP } ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
DIP 13 { DUP } ;
|
|
||||||
DIG 13 ;
|
DIG 13 ;
|
||||||
DIP 3 { DUP } ;
|
DUP ;
|
||||||
|
DUG 14 ;
|
||||||
DIG 3 ;
|
DIG 3 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 4 ;
|
||||||
CDR ;
|
CDR ;
|
||||||
CAR ;
|
CAR ;
|
||||||
CDR ;
|
CDR ;
|
||||||
@ -590,27 +648,31 @@ let%expect_test _ =
|
|||||||
SWAP ;
|
SWAP ;
|
||||||
CDR ;
|
CDR ;
|
||||||
CAR ;
|
CAR ;
|
||||||
DIP 11 { DUP } ;
|
|
||||||
DIG 11 ;
|
DIG 11 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 12 ;
|
||||||
DIP { DUP } ;
|
DIP { DUP } ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
MEM ;
|
MEM ;
|
||||||
IF { DIP { DUP } ;
|
IF { DIP { DUP } ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
DIP 2 { DUP } ;
|
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
CDR ;
|
CDR ;
|
||||||
CAR ;
|
CAR ;
|
||||||
CAR ;
|
CAR ;
|
||||||
PUSH nat 1 ;
|
PUSH nat 1 ;
|
||||||
DIP 5 { DUP } ;
|
|
||||||
DIG 5 ;
|
DIG 5 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 6 ;
|
||||||
CDR ;
|
CDR ;
|
||||||
CDR ;
|
CDR ;
|
||||||
SUB ;
|
SUB ;
|
||||||
ABS ;
|
ABS ;
|
||||||
DIP 3 { DUP } ;
|
|
||||||
DIG 3 ;
|
DIG 3 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 4 ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
SOME ;
|
SOME ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
@ -620,35 +682,41 @@ let%expect_test _ =
|
|||||||
PAIR ;
|
PAIR ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
PAIR ;
|
PAIR ;
|
||||||
DIP 2 { DUP } ;
|
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
DIP { DUP } ;
|
DIP { DUP } ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
DIP { DROP 2 } }
|
DIP { DROP 2 } }
|
||||||
{ DIP { DUP } ; SWAP } ;
|
{ DIP { DUP } ; SWAP } ;
|
||||||
DIP 3 { DUP } ;
|
|
||||||
DIG 3 ;
|
DIG 3 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 4 ;
|
||||||
CDR ;
|
CDR ;
|
||||||
DIP { DUP } ;
|
DIP { DUP } ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
PAIR ;
|
PAIR ;
|
||||||
CAR ;
|
CAR ;
|
||||||
DIP { DROP 4 } } ;
|
DIP { DROP 4 } } ;
|
||||||
DIP 4 { DUP } ;
|
|
||||||
DIG 4 ;
|
DIG 4 ;
|
||||||
DIP 4 { DUP } ;
|
DUP ;
|
||||||
|
DUG 5 ;
|
||||||
DIG 4 ;
|
DIG 4 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 5 ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
CAR ;
|
CAR ;
|
||||||
PAIR ;
|
PAIR ;
|
||||||
DIP 3 { DUP } ;
|
|
||||||
DIG 3 ;
|
DIG 3 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 4 ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
CDR ;
|
CDR ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
PAIR ;
|
PAIR ;
|
||||||
DIP 2 { DUP } ;
|
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
CAR ;
|
CAR ;
|
||||||
PAIR ;
|
PAIR ;
|
||||||
@ -657,17 +725,21 @@ let%expect_test _ =
|
|||||||
PAIR ;
|
PAIR ;
|
||||||
DIP { DROP 4 } }
|
DIP { DROP 4 } }
|
||||||
{ DUP ;
|
{ DUP ;
|
||||||
DIP 5 { DUP } ;
|
|
||||||
DIG 5 ;
|
DIG 5 ;
|
||||||
DIP 6 { DUP } ;
|
DUP ;
|
||||||
|
DUG 6 ;
|
||||||
DIG 6 ;
|
DIG 6 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 7 ;
|
||||||
CAR ;
|
CAR ;
|
||||||
CDR ;
|
CDR ;
|
||||||
CDR ;
|
CDR ;
|
||||||
DIP 8 { DUP } ;
|
|
||||||
DIG 8 ;
|
DIG 8 ;
|
||||||
DIP 14 { DUP } ;
|
DUP ;
|
||||||
|
DUG 9 ;
|
||||||
DIG 14 ;
|
DIG 14 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 15 ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
SOME ;
|
SOME ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
@ -711,21 +783,25 @@ let%expect_test _ =
|
|||||||
UPDATE ;
|
UPDATE ;
|
||||||
DUP ;
|
DUP ;
|
||||||
SIZE ;
|
SIZE ;
|
||||||
DIP 2 { DUP } ;
|
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
SIZE ;
|
SIZE ;
|
||||||
COMPARE ;
|
COMPARE ;
|
||||||
NEQ ;
|
NEQ ;
|
||||||
IF { DIP 3 { DUP } ;
|
IF { DIG 3 ;
|
||||||
DIG 3 ;
|
DUP ;
|
||||||
DIP 4 { DUP } ;
|
DUG 4 ;
|
||||||
DIG 4 ;
|
DIG 4 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 5 ;
|
||||||
CDR ;
|
CDR ;
|
||||||
CAR ;
|
CAR ;
|
||||||
CAR ;
|
CAR ;
|
||||||
PUSH nat 1 ;
|
PUSH nat 1 ;
|
||||||
DIP 6 { DUP } ;
|
|
||||||
DIG 6 ;
|
DIG 6 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 7 ;
|
||||||
CDR ;
|
CDR ;
|
||||||
CAR ;
|
CAR ;
|
||||||
CAR ;
|
CAR ;
|
||||||
@ -742,15 +818,17 @@ let%expect_test _ =
|
|||||||
PAIR ;
|
PAIR ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
PAIR ;
|
PAIR ;
|
||||||
DIP 4 { DUP } ;
|
|
||||||
DIG 4 ;
|
DIG 4 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 5 ;
|
||||||
DIP { DUP } ;
|
DIP { DUP } ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
DIP { DROP 2 } }
|
DIP { DROP 2 } }
|
||||||
{ DIP 3 { DUP } ; DIG 3 } ;
|
{ DIG 3 ; DUP ; DUG 4 } ;
|
||||||
PUSH nat 0 ;
|
PUSH nat 0 ;
|
||||||
DIP 2 { DUP } ;
|
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
SIZE ;
|
SIZE ;
|
||||||
COMPARE ;
|
COMPARE ;
|
||||||
EQ ;
|
EQ ;
|
||||||
@ -760,8 +838,9 @@ let%expect_test _ =
|
|||||||
CAR ;
|
CAR ;
|
||||||
CDR ;
|
CDR ;
|
||||||
CDR ;
|
CDR ;
|
||||||
DIP 5 { DUP } ;
|
|
||||||
DIG 5 ;
|
DIG 5 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 6 ;
|
||||||
NONE (set address) ;
|
NONE (set address) ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
UPDATE ;
|
UPDATE ;
|
||||||
@ -779,15 +858,18 @@ let%expect_test _ =
|
|||||||
{ DUP ;
|
{ DUP ;
|
||||||
DIP { DUP } ;
|
DIP { DUP } ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
DIP 2 { DUP } ;
|
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
CAR ;
|
CAR ;
|
||||||
CDR ;
|
CDR ;
|
||||||
CDR ;
|
CDR ;
|
||||||
DIP 4 { DUP } ;
|
|
||||||
DIG 4 ;
|
DIG 4 ;
|
||||||
DIP 7 { DUP } ;
|
DUP ;
|
||||||
|
DUG 5 ;
|
||||||
DIG 7 ;
|
DIG 7 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 8 ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
SOME ;
|
SOME ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
@ -799,10 +881,12 @@ let%expect_test _ =
|
|||||||
PAIR ;
|
PAIR ;
|
||||||
PAIR ;
|
PAIR ;
|
||||||
DIP { DROP } } ;
|
DIP { DROP } } ;
|
||||||
DIP 5 { DUP } ;
|
|
||||||
DIG 5 ;
|
DIG 5 ;
|
||||||
DIP 2 { DUP } ;
|
DUP ;
|
||||||
|
DUG 6 ;
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
DIP { DROP ; DUP } ;
|
DIP { DROP ; DUP } ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
DIP { DROP 5 } } ;
|
DIP { DROP 5 } } ;
|
||||||
@ -831,14 +915,16 @@ let%expect_test _ =
|
|||||||
DIP { DUP } ;
|
DIP { DUP } ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
CDR ;
|
CDR ;
|
||||||
DIP 2 { DUP } ;
|
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
CAR ;
|
CAR ;
|
||||||
CDR ;
|
CDR ;
|
||||||
PAIR ;
|
PAIR ;
|
||||||
PUSH nat 0 ;
|
PUSH nat 0 ;
|
||||||
DIP 3 { DUP } ;
|
|
||||||
DIG 3 ;
|
DIG 3 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 4 ;
|
||||||
CAR ;
|
CAR ;
|
||||||
CAR ;
|
CAR ;
|
||||||
PAIR ;
|
PAIR ;
|
||||||
@ -857,15 +943,18 @@ let%expect_test _ =
|
|||||||
CDR ;
|
CDR ;
|
||||||
NOW ;
|
NOW ;
|
||||||
SENDER ;
|
SENDER ;
|
||||||
DIP 3 { DUP } ;
|
|
||||||
DIG 3 ;
|
DIG 3 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 4 ;
|
||||||
CAR ;
|
CAR ;
|
||||||
IF_LEFT
|
IF_LEFT
|
||||||
{ DIP 3 { DUP } ;
|
{ DIG 3 ;
|
||||||
DIG 3 ;
|
DUP ;
|
||||||
|
DUG 4 ;
|
||||||
PUSH nat 1 ;
|
PUSH nat 1 ;
|
||||||
DIP 5 { DUP } ;
|
|
||||||
DIG 5 ;
|
DIG 5 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 6 ;
|
||||||
CAR ;
|
CAR ;
|
||||||
CAR ;
|
CAR ;
|
||||||
CDR ;
|
CDR ;
|
||||||
@ -876,11 +965,13 @@ let%expect_test _ =
|
|||||||
PAIR ;
|
PAIR ;
|
||||||
PAIR ;
|
PAIR ;
|
||||||
DIP { DROP } }
|
DIP { DROP } }
|
||||||
{ DIP 3 { DUP } ;
|
{ DIG 3 ;
|
||||||
DIG 3 ;
|
DUP ;
|
||||||
|
DUG 4 ;
|
||||||
PUSH nat 1 ;
|
PUSH nat 1 ;
|
||||||
DIP 5 { DUP } ;
|
|
||||||
DIG 5 ;
|
DIG 5 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 6 ;
|
||||||
CDR ;
|
CDR ;
|
||||||
CDR ;
|
CDR ;
|
||||||
ADD ;
|
ADD ;
|
||||||
@ -895,8 +986,9 @@ let%expect_test _ =
|
|||||||
SWAP ;
|
SWAP ;
|
||||||
CDR ;
|
CDR ;
|
||||||
CAR ;
|
CAR ;
|
||||||
DIP 3 { DUP } ;
|
|
||||||
DIG 3 ;
|
DIG 3 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 4 ;
|
||||||
PUSH bool True ;
|
PUSH bool True ;
|
||||||
SWAP ;
|
SWAP ;
|
||||||
UPDATE ;
|
UPDATE ;
|
||||||
@ -1125,8 +1217,9 @@ ligo: in file "create_contract_var.mligo", line 6, character 35 to line 10, char
|
|||||||
SWAP ;
|
SWAP ;
|
||||||
CDR ;
|
CDR ;
|
||||||
NIL operation ;
|
NIL operation ;
|
||||||
DIP 2 { DUP } ;
|
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
CAR ;
|
CAR ;
|
||||||
CONS ;
|
CONS ;
|
||||||
PAIR ;
|
PAIR ;
|
||||||
@ -1223,12 +1316,14 @@ let%expect_test _ =
|
|||||||
PUSH mutez 300000000 ;
|
PUSH mutez 300000000 ;
|
||||||
PUSH int 2 ;
|
PUSH int 2 ;
|
||||||
TRANSFER_TOKENS ;
|
TRANSFER_TOKENS ;
|
||||||
DIP 2 { DUP } ;
|
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
CDR ;
|
CDR ;
|
||||||
NIL operation ;
|
NIL operation ;
|
||||||
DIP 2 { DUP } ;
|
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
CONS ;
|
CONS ;
|
||||||
PAIR ;
|
PAIR ;
|
||||||
DIP { DROP 3 } } } |}] ;
|
DIP { DROP 3 } } } |}] ;
|
||||||
@ -1242,12 +1337,14 @@ let%expect_test _ =
|
|||||||
PUSH mutez 300000000 ;
|
PUSH mutez 300000000 ;
|
||||||
PUSH int 2 ;
|
PUSH int 2 ;
|
||||||
TRANSFER_TOKENS ;
|
TRANSFER_TOKENS ;
|
||||||
DIP 2 { DUP } ;
|
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
CDR ;
|
CDR ;
|
||||||
NIL operation ;
|
NIL operation ;
|
||||||
DIP 2 { DUP } ;
|
|
||||||
DIG 2 ;
|
DIG 2 ;
|
||||||
|
DUP ;
|
||||||
|
DUG 3 ;
|
||||||
CONS ;
|
CONS ;
|
||||||
PAIR ;
|
PAIR ;
|
||||||
DIP { DROP 3 } } } |}] ;
|
DIP { DROP 3 } } } |}] ;
|
||||||
|
@ -24,8 +24,9 @@ let get : environment -> expression_variable -> michelson result = fun e s ->
|
|||||||
]
|
]
|
||||||
in
|
in
|
||||||
let aux_dig = fun n -> seq [
|
let aux_dig = fun n -> seq [
|
||||||
dipn n i_dup ;
|
|
||||||
i_dig n ;
|
i_dig n ;
|
||||||
|
i_dup ;
|
||||||
|
i_dug (n + 1) ;
|
||||||
]
|
]
|
||||||
in
|
in
|
||||||
let code =
|
let code =
|
||||||
|
Loading…
Reference in New Issue
Block a user