BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Mainnet
  • /
  • KT1Erdr...wHjM
operations (301)Storage Code Interact Tokens Fork Statistics Details
Latest
​x
63
 
1
parameter (or (contract %get_price nat)
2
              (or (contract %get_price_internal nat) (nat %set_usd_lp_price)));
3
storage (pair (pair (string %symbol) (address %symbol_usd_price_oracle))
4
              (pair (nat %usd_lp_price) (address %usd_lp_price_oracle)));
5
code { UNPAIR ;
6
       IF_LEFT
7
         { NIL operation ;
8
           DUP 3 ;
9
           GET 4 ;
10
           CONTRACT %get_price (contract nat) ;
11
           IF_NONE { PUSH int 93 ; FAILWITH } {} ;
12
           PUSH mutez 0 ;
13
           SELF %set_usd_lp_price ;
14
           TRANSFER_TOKENS ;
15
           CONS ;
16
           SELF %get_price_internal ;
17
           PUSH mutez 0 ;
18
           DIG 3 ;
19
           TRANSFER_TOKENS ;
20
           CONS }
21
         { IF_LEFT
22
             { SELF_ADDRESS ;
23
               SENDER ;
24
               COMPARE ;
25
               EQ ;
26
               IF {} { PUSH string "INCORRECT_SENDER" ; FAILWITH } ;
27
               NIL operation ;
28
               SWAP ;
29
               PUSH mutez 0 ;
30
               PUSH nat 1000000 ;
31
               DIG 4 ;
32
               DUP ;
33
               GET 3 ;
34
               SWAP ;
35
               DUP ;
36
               CAR ;
37
               CDR ;
38
               SWAP ;
39
               DUP ;
40
               DUG 7 ;
41
               CAR ;
42
               CAR ;
43
               VIEW "get_price" nat ;
44
               IF_NONE { PUSH int 502 ; FAILWITH } {} ;
45
               MUL ;
46
               EDIV ;
47
               IF_NONE { PUSH int 111 ; FAILWITH } { CAR } ;
48
               TRANSFER_TOKENS ;
49
               CONS }
50
             { SWAP ;
51
               DUP ;
52
               DUG 2 ;
53
               GET 4 ;
54
               SENDER ;
55
               COMPARE ;
56
               EQ ;
57
               IF {} { PUSH string "INCORRECT_SENDER" ; FAILWITH } ;
58
               UPDATE 3 ;
59
               NIL operation } } ;
60
       NIL operation ;
61
       SWAP ;
62
       ITER { CONS } ;
63
       PAIR }