BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Mainnet
  • /
  • KT1VCFY...sF2X
operations (12.9K)Storage Code Interact Tokens Fork Statistics Details
Latest
​x
78
 
1
parameter (or (contract %get_price nat)
2
              (or (contract %internal_get_price nat) (nat %set_tzbtc_sirs_price)));
3
storage (pair (pair (address %generic_oracle_address) (string %generic_oracle_symbol))
4
              (pair (address %tzbtc_sirs_oracle_address) (nat %tzbtc_sirs_price)));
5
code { UNPAIR ;
6
       IF_LEFT
7
         { AMOUNT ;
8
           PUSH mutez 0 ;
9
           COMPARE ;
10
           EQ ;
11
           IF {} { AMOUNT ; FAILWITH } ;
12
           NIL operation ;
13
           DUP 3 ;
14
           GET 3 ;
15
           CONTRACT %get_price (contract nat) ;
16
           IF_NONE { PUSH int 165 ; FAILWITH } {} ;
17
           PUSH mutez 0 ;
18
           SELF %set_tzbtc_sirs_price ;
19
           TRANSFER_TOKENS ;
20
           CONS ;
21
           SELF %internal_get_price ;
22
           PUSH mutez 0 ;
23
           DIG 3 ;
24
           TRANSFER_TOKENS ;
25
           CONS }
26
         { IF_LEFT
27
             { AMOUNT ;
28
               PUSH mutez 0 ;
29
               COMPARE ;
30
               EQ ;
31
               IF {} { AMOUNT ; FAILWITH } ;
32
               SELF_ADDRESS ;
33
               SENDER ;
34
               COMPARE ;
35
               EQ ;
36
               IF {} { PUSH int 400 ; FAILWITH } ;
37
               SWAP ;
38
               DUP ;
39
               CAR ;
40
               CAR ;
41
               SWAP ;
42
               DUP ;
43
               DUG 3 ;
44
               CAR ;
45
               CDR ;
46
               VIEW "get_price" nat ;
47
               IF_NONE { PUSH int 502 ; FAILWITH } {} ;
48
               PUSH nat 1000000 ;
49
               DUP 4 ;
50
               GET 4 ;
51
               MUL ;
52
               EDIV ;
53
               IF_NONE { PUSH int 191 ; FAILWITH } { CAR } ;
54
               NIL operation ;
55
               DIG 2 ;
56
               PUSH mutez 0 ;
57
               DIG 3 ;
58
               TRANSFER_TOKENS ;
59
               CONS }
60
             { AMOUNT ;
61
               PUSH mutez 0 ;
62
               COMPARE ;
63
               EQ ;
64
               IF {} { AMOUNT ; FAILWITH } ;
65
               SWAP ;
66
               DUP ;
67
               DUG 2 ;
68
               GET 3 ;
69
               SENDER ;
70
               COMPARE ;
71
               EQ ;
72
               IF {} { PUSH int 504 ; FAILWITH } ;
73
               UPDATE 4 ;
74
               NIL operation } } ;
75
       NIL operation ;
76
       SWAP ;
77
       ITER { CONS } ;
78
       PAIR }