2021.10.18 17:22 [2816806] smart account 3PFHm5TYKw4vVzj4rW8s3Yso88aD73Dai1C > SELF 0.00000000 Waves
{ "type": 13, "id": "3TkGyxQZ7Uyavbb4FvajcEFB3wno92SafeXhMKmU9bSk", "fee": 1000000, "feeAssetId": null, "timestamp": 1634566962129, "version": 1, "sender": "3PFHm5TYKw4vVzj4rW8s3Yso88aD73Dai1C", "senderPublicKey": "EGZr2MRyXu5ukMZP1QZQpcVQikDiWHfk8YDwD4pnHWXH", "proofs": [ "5Gu85WKCjrCiG2vrVkFWsVC3Ne6jAd4NhLsrqr5XqJU9foPu6vJxVY8BjCbtbCnjsRUjP5xek7jAnp72aXNwmXum" ], "script": "base64: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", "chainId": 87, "height": 2816806, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7visiMHq6bg1B8D5UR9QMvitqLarWb4wPrLQPgSaxX3W Next: 4TSrfQJeNa8ifhuZa1bVGMvL7yXS7VxtTmiNGFfwQvdv Diff:
Old | New | Differences | |
---|---|---|---|
30 | 30 | ||
31 | 31 | @Callable(i) | |
32 | 32 | func price (tokenId) = { | |
33 | - | let price = match getInteger(this, tokenId) { | |
33 | + | let price = match getInteger(this, (tokenId + "_override")) { | |
34 | 34 | case p: Int => | |
35 | 35 | p | |
36 | 36 | case _ => |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let btc = "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS" | |
5 | 5 | ||
6 | 6 | let eth = "474jTeYx2r2Va35794tCScAXWJG9hU2HcgxzMowaZUnu" | |
7 | 7 | ||
8 | 8 | let usdt = "34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ" | |
9 | 9 | ||
10 | 10 | let usdc = "6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ" | |
11 | 11 | ||
12 | 12 | let usdn = "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p" | |
13 | 13 | ||
14 | 14 | let eurn = "DUk2YTxhRoAqMJLus4G2b3fR8hMHVh6eiyFx5r29VR6t" | |
15 | 15 | ||
16 | 16 | let waves = "WAVES" | |
17 | 17 | ||
18 | 18 | let oracle = Address(base58'3PKkojKdd6BBzTf1RXbQVfUDraNFXXHKzQF') | |
19 | 19 | ||
20 | 20 | let eurOracle = Address(base58'3P8qJyxUqizCWWtEn2zsLZVPzZAjdNGppB1') | |
21 | 21 | ||
22 | 22 | let dollar = 1000000 | |
23 | 23 | ||
24 | 24 | @Callable(i) | |
25 | 25 | func init () = if (isDefined(getString(this, "admin"))) | |
26 | 26 | then throw("already init") | |
27 | 27 | else [StringEntry("admin", toString(i.caller))] | |
28 | 28 | ||
29 | 29 | ||
30 | 30 | ||
31 | 31 | @Callable(i) | |
32 | 32 | func price (tokenId) = { | |
33 | - | let price = match getInteger(this, tokenId) { | |
33 | + | let price = match getInteger(this, (tokenId + "_override")) { | |
34 | 34 | case p: Int => | |
35 | 35 | p | |
36 | 36 | case _ => | |
37 | 37 | if ((tokenId == usdt)) | |
38 | 38 | then dollar | |
39 | 39 | else if ((tokenId == usdc)) | |
40 | 40 | then dollar | |
41 | 41 | else if ((tokenId == usdn)) | |
42 | 42 | then dollar | |
43 | 43 | else if ((tokenId == btc)) | |
44 | 44 | then getIntegerValue(oracle, "%s%s__price__BTC-USDT") | |
45 | 45 | else if ((tokenId == eth)) | |
46 | 46 | then getIntegerValue(oracle, "%s%s__price__ETH-USDT") | |
47 | 47 | else if ((tokenId == waves)) | |
48 | 48 | then getIntegerValue(oracle, "%s%s__price__WAVES-USDT") | |
49 | 49 | else if ((tokenId == eurn)) | |
50 | 50 | then ((dollar * dollar) / getIntegerValue(eurOracle, "%s%s__price__EUR")) | |
51 | 51 | else throw("unknown token") | |
52 | 52 | } | |
53 | 53 | $Tuple2(nil, price) | |
54 | 54 | } | |
55 | 55 | ||
56 | 56 | ||
57 | 57 | ||
58 | 58 | @Callable(i) | |
59 | 59 | func overridePrice (tokenId,price) = { | |
60 | 60 | let adm = valueOrErrorMessage(getString(this, "admin"), "no admin conf") | |
61 | 61 | if ((toString(i.caller) != adm)) | |
62 | 62 | then throw("only admin can do") | |
63 | 63 | else if ((price == -1)) | |
64 | 64 | then [DeleteEntry((tokenId + "_override"))] | |
65 | 65 | else [IntegerEntry((tokenId + "_override"), price)] | |
66 | 66 | } | |
67 | 67 | ||
68 | 68 |
github/deemru/w8io/786bc32 30.51 ms ◑