tx · x6WeDoroToGcojdon5LrTei6sPwEb8WFuGx9n1SbBDg

3P3eUKKoXAq1b1wPLGT6YjrM6wSL5ncjMPu:  -0.01000000 Waves

2022.05.25 09:05 [3132324] smart account 3P3eUKKoXAq1b1wPLGT6YjrM6wSL5ncjMPu > SELF 0.00000000 Waves

{ "type": 13, "id": "x6WeDoroToGcojdon5LrTei6sPwEb8WFuGx9n1SbBDg", "fee": 1000000, "feeAssetId": null, "timestamp": 1653458798942, "version": 2, "chainId": 87, "sender": "3P3eUKKoXAq1b1wPLGT6YjrM6wSL5ncjMPu", "senderPublicKey": "ADzNip8mn49T93qkRQ8uScfLfo8yypoREhCxsdgBCUT3", "proofs": [ "2bxQyBULHSsHETzPPj6cvTmMqRuqYPohARcYwV24QmNwLFtrsQCpwkK79QNsipNDo5KABKThD2wZQCtU39U7KDnF" ], "script": "base64:AAIFAAAAAAAAAAcIAhIDCgEBAAAABQAAAAAQdmlyZXNNYWluQWRkcmVzcwEAAAAaAVdewZYZMMmiQ3hGadYm1vHmuEPQvfZMHrgAAAAABFVTRE4BAAAAILYmKcME9c5TkaQOS3UkL2SMUbH6369UKb1I0h0qsqrRAAAAAARVU0RUAQAAACAelAcTUnahJZX9yGGogl8Qf986Tym7/JpGP1r9Nk+fkQAAAAAEVVNEQwEAAAAgUjPZ4ZeIJuXiH8L96og0uId2o4yxg+/IYBx+ChJUJiUAAAAABWFkbWluAgAAACMzUDNlVUtLb1hBcTFiMXdQTEdUNllqck02d1NMNW5jak1QdQAAAAEAAAABaQEAAAAJdXNkbl8xMDAwAAAAAQAAAAZhbW91bnQDCQEAAAACIT0AAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAFYWRtaW4JAAACAAAAAQIAAAARb25seSBhZG1pbiBjYW4gZG8EAAAAA2ludgkAA/wAAAAECQEAAAAHQWRkcmVzcwAAAAEFAAAAEHZpcmVzTWFpbkFkZHJlc3MCAAAACHdpdGhkcmF3CQAETAAAAAIJAAJYAAAAAQUAAAAEVVNETgkABEwAAAACBQAAAAZhbW91bnQFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAANpbnYFAAAAA2ludgUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAD3UBVQ", "height": 3132324, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4hF8RaeDiWFcVyhCo7Zp7Wu45ETM6MJNQNPuNXgCHS87 Next: 4JYDTrq7gziq2uji2QPHfCgh8YwUsyzZqZdn6mzPvrQr Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let admin = addressFromStringValue("3PDSEzqsuhfQCX79k3b2MKKQkPAXSmQDyuZ")
5-
6-let main = addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT")
7-
8-let assetStrings = ["6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ", "34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ", "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"]
9-
10-let reserves = [addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S"), addressFromStringValue("3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR"), addressFromStringValue("3PCwFXSq8vj8iKitA5zrrLRbuqehfmimpce")]
4+let viresMainAddress = base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'
115
126 let USDN = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
137
159
1610 let USDC = base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ'
1711
18-func asInt (value) = match value {
19- case int: Int =>
20- int
21- case _ =>
22- throw("wrong type, expected: Int")
23-}
24-
12+let admin = "3P3eUKKoXAq1b1wPLGT6YjrM6wSL5ncjMPu"
2513
2614 @Callable(i)
27-func USDN_1000 (maxLimit) = if ((i.caller != admin))
28- then throw("!")
15+func usdn_1000 (amount) = if ((toString(i.caller) != admin))
16+ then throw("only admin can do")
2917 else {
30- let assetIdString = "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"
31- let assetId = fromBase58String(assetIdString)
32- let available = assetBalance(addressFromStringValue("3PCwFXSq8vj8iKitA5zrrLRbuqehfmimpce"), fromBase58String("DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"))
33- let v = if ((available > maxLimit))
34- then maxLimit
35- else available
36- let amount = asInt(invoke(main, "withdraw", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", v], nil))
37- if (if ((amount > 1000000))
38- then true
39- else true)
40- then [ScriptTransfer(admin, fraction(amount, 2, 100), assetId)]
41- else throw(toString(amount))
42- }
43-
44-
45-
46-@Callable(i)
47-func USDC_1000 (maxLimit) = if ((i.caller != admin))
48- then throw("!")
49- else {
50- let assetIdString = "6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ"
51- let assetId = fromBase58String(assetIdString)
52- let available = assetBalance(addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S"), fromBase58String("6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ"))
53- let v = if ((available > maxLimit))
54- then maxLimit
55- else available
56- let amount = asInt(invoke(main, "withdraw", ["6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ", v], nil))
57- if ((amount == amount))
18+ let inv = invoke(Address(viresMainAddress), "withdraw", [toBase58String(USDN), amount], nil)
19+ if ((inv == inv))
5820 then nil
5921 else throw("Strict value is not equal to itself.")
6022 }
6123
6224
63-@Verifier(tx)
64-func verify () = sigVerify_128Kb(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
65-
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let admin = addressFromStringValue("3PDSEzqsuhfQCX79k3b2MKKQkPAXSmQDyuZ")
5-
6-let main = addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT")
7-
8-let assetStrings = ["6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ", "34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ", "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"]
9-
10-let reserves = [addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S"), addressFromStringValue("3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR"), addressFromStringValue("3PCwFXSq8vj8iKitA5zrrLRbuqehfmimpce")]
4+let viresMainAddress = base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'
115
126 let USDN = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
137
148 let USDT = base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ'
159
1610 let USDC = base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ'
1711
18-func asInt (value) = match value {
19- case int: Int =>
20- int
21- case _ =>
22- throw("wrong type, expected: Int")
23-}
24-
12+let admin = "3P3eUKKoXAq1b1wPLGT6YjrM6wSL5ncjMPu"
2513
2614 @Callable(i)
27-func USDN_1000 (maxLimit) = if ((i.caller != admin))
28- then throw("!")
15+func usdn_1000 (amount) = if ((toString(i.caller) != admin))
16+ then throw("only admin can do")
2917 else {
30- let assetIdString = "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"
31- let assetId = fromBase58String(assetIdString)
32- let available = assetBalance(addressFromStringValue("3PCwFXSq8vj8iKitA5zrrLRbuqehfmimpce"), fromBase58String("DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"))
33- let v = if ((available > maxLimit))
34- then maxLimit
35- else available
36- let amount = asInt(invoke(main, "withdraw", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", v], nil))
37- if (if ((amount > 1000000))
38- then true
39- else true)
40- then [ScriptTransfer(admin, fraction(amount, 2, 100), assetId)]
41- else throw(toString(amount))
42- }
43-
44-
45-
46-@Callable(i)
47-func USDC_1000 (maxLimit) = if ((i.caller != admin))
48- then throw("!")
49- else {
50- let assetIdString = "6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ"
51- let assetId = fromBase58String(assetIdString)
52- let available = assetBalance(addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S"), fromBase58String("6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ"))
53- let v = if ((available > maxLimit))
54- then maxLimit
55- else available
56- let amount = asInt(invoke(main, "withdraw", ["6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ", v], nil))
57- if ((amount == amount))
18+ let inv = invoke(Address(viresMainAddress), "withdraw", [toBase58String(USDN), amount], nil)
19+ if ((inv == inv))
5820 then nil
5921 else throw("Strict value is not equal to itself.")
6022 }
6123
6224
63-@Verifier(tx)
64-func verify () = sigVerify_128Kb(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
65-

github/deemru/w8io/6500d08 
41.25 ms