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:
OldNewDifferences
3030
3131 @Callable(i)
3232 func price (tokenId) = {
33- let price = match getInteger(this, tokenId) {
33+ let price = match getInteger(this, (tokenId + "_override")) {
3434 case p: Int =>
3535 p
3636 case _ =>
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let btc = "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"
55
66 let eth = "474jTeYx2r2Va35794tCScAXWJG9hU2HcgxzMowaZUnu"
77
88 let usdt = "34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ"
99
1010 let usdc = "6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ"
1111
1212 let usdn = "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"
1313
1414 let eurn = "DUk2YTxhRoAqMJLus4G2b3fR8hMHVh6eiyFx5r29VR6t"
1515
1616 let waves = "WAVES"
1717
1818 let oracle = Address(base58'3PKkojKdd6BBzTf1RXbQVfUDraNFXXHKzQF')
1919
2020 let eurOracle = Address(base58'3P8qJyxUqizCWWtEn2zsLZVPzZAjdNGppB1')
2121
2222 let dollar = 1000000
2323
2424 @Callable(i)
2525 func init () = if (isDefined(getString(this, "admin")))
2626 then throw("already init")
2727 else [StringEntry("admin", toString(i.caller))]
2828
2929
3030
3131 @Callable(i)
3232 func price (tokenId) = {
33- let price = match getInteger(this, tokenId) {
33+ let price = match getInteger(this, (tokenId + "_override")) {
3434 case p: Int =>
3535 p
3636 case _ =>
3737 if ((tokenId == usdt))
3838 then dollar
3939 else if ((tokenId == usdc))
4040 then dollar
4141 else if ((tokenId == usdn))
4242 then dollar
4343 else if ((tokenId == btc))
4444 then getIntegerValue(oracle, "%s%s__price__BTC-USDT")
4545 else if ((tokenId == eth))
4646 then getIntegerValue(oracle, "%s%s__price__ETH-USDT")
4747 else if ((tokenId == waves))
4848 then getIntegerValue(oracle, "%s%s__price__WAVES-USDT")
4949 else if ((tokenId == eurn))
5050 then ((dollar * dollar) / getIntegerValue(eurOracle, "%s%s__price__EUR"))
5151 else throw("unknown token")
5252 }
5353 $Tuple2(nil, price)
5454 }
5555
5656
5757
5858 @Callable(i)
5959 func overridePrice (tokenId,price) = {
6060 let adm = valueOrErrorMessage(getString(this, "admin"), "no admin conf")
6161 if ((toString(i.caller) != adm))
6262 then throw("only admin can do")
6363 else if ((price == -1))
6464 then [DeleteEntry((tokenId + "_override"))]
6565 else [IntegerEntry((tokenId + "_override"), price)]
6666 }
6767
6868

github/deemru/w8io/786bc32 
30.51 ms