BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Mainnet
  • /
  • Ubinetic Index Target Price Oracle
operations (133)Storage Code Interact Tokens Fork Views Statistics Details
Latest
​x
44
 
1
{ parameter (or (unit %default) (contract %get_price nat)) ;
2
  storage (pair (string %base_symbol) (pair (address %oracle) (string %quote_symbol))) ;
3
  code { UNPAIR ;
4
         IF_LEFT
5
           { DROP ;
6
             NIL operation ;
7
             SENDER ;
8
             CONTRACT unit ;
9
             IF_NONE { PUSH int 235 ; FAILWITH } {} ;
10
             AMOUNT ;
11
             UNIT ;
12
             TRANSFER_TOKENS ;
13
             CONS }
14
           { NIL operation ;
15
             SWAP ;
16
             PUSH mutez 0 ;
17
             SELF_ADDRESS ;
18
             UNIT ;
19
             VIEW "view_price" nat ;
20
             IF_NONE { PUSH int 502 ; FAILWITH } {} ;
21
             TRANSFER_TOKENS ;
22
             CONS } ;
23
         PAIR } ;
24
  view "view_price" unit nat
25
        { CDR ;
26
          DUP ;
27
          GET 3 ;
28
          SWAP ;
29
          DUP ;
30
          DUG 2 ;
31
          GET 4 ;
32
          VIEW "get_price" nat ;
33
          IF_NONE { PUSH int 502 ; FAILWITH } {} ;
34
          PUSH nat 1000000 ;
35
          DIG 2 ;
36
          DUP ;
37
          GET 3 ;
38
          SWAP ;
39
          CAR ;
40
          VIEW "get_price" nat ;
41
          IF_NONE { PUSH int 502 ; FAILWITH } {} ;
42
          MUL ;
43
          EDIV ;
44
          IF_NONE { PUSH int 262 ; FAILWITH } { CAR } } }