tx · 3ynV2NLoeEu18QMJtLd3TU33G6pTsUdcmYDiLf3oVTQE 3N8x5gskz2zByy7F3pujiodg6HAgdHNU3MQ: -0.00900000 Waves 2022.09.14 19:05 [2228994] smart account 3N8x5gskz2zByy7F3pujiodg6HAgdHNU3MQ > SELF 0.00000000 Waves
{ "type": 13, "id": "3ynV2NLoeEu18QMJtLd3TU33G6pTsUdcmYDiLf3oVTQE", "fee": 900000, "feeAssetId": null, "timestamp": 1663171569374, "version": 2, "chainId": 84, "sender": "3N8x5gskz2zByy7F3pujiodg6HAgdHNU3MQ", "senderPublicKey": "DG81iJnTHiW65E3LH7birSpxT7WWregC8134iCotF6ur", "proofs": [ "2hdFcDmz4k3SF5kC5NuYMiy6mtyvc6iQPzFFjPApnBKdWVdcxzUaHzNkBeZQWFkApupbwnNQZ2F7jxsfp1sHBPhA" ], "script": "base64:AAIFAAAAAAAAAAcIAhIDCgEEAAAAAgAAAAAEVVNETgEAAAAgD/IcEqzkxDya7EYaqyWosOy6BytGzG2IcvC14pJJAbQAAAAACmZlZUFkZHJlc3MJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVRN4ZyNCrFnIo+y6NX20ZPI4iW2M835D+AAAAABAAAAAWkBAAAACHVzZG5fMTAwAAAAAQAAAANyZWcEAAAABWFkbWluAgAAACMzTXcxdDVUTVpKeEx2R2pBRmEzUkVyRXFQeW9YUEw0TjhBMwMJAQAAAAIhPQAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAAAVhZG1pbgkAAAIAAAABAgAAABFvbmx5IGFkbWluIGNhbiBkbwQAAAARdXNkbkFtb3VudE9uU3RhcnQJAAPwAAAAAgUAAAAEdGhpcwUAAAAEVVNETgMJAAAAAAAAAgUAAAARdXNkbkFtb3VudE9uU3RhcnQFAAAAEXVzZG5BbW91bnRPblN0YXJ0BAAAAANpbnYJAAP8AAAABAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM013R1h1d0F4WTVxbXAxTEc0aWJDQmVIejg2MlkyZ0VUQzgCAAAAA3dWSQkABEwAAAACBwkABEwAAAACBgUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAA2ludgUAAAADaW52BAAAABd1c2RuQW1vdW50QWZ0ZXJXaXRoZHJhdwkAA/AAAAACBQAAAAR0aGlzBQAAAARVU0ROAwkAAAAAAAACBQAAABd1c2RuQW1vdW50QWZ0ZXJXaXRoZHJhdwUAAAAXdXNkbkFtb3VudEFmdGVyV2l0aGRyYXcEAAAACndpdGhBbW91bnQJAABlAAAAAgUAAAAXdXNkbkFtb3VudEFmdGVyV2l0aGRyYXcFAAAAEXVzZG5BbW91bnRPblN0YXJ0BAAAAAlmZWVBbW91bnQJAABrAAAAAwUAAAAKd2l0aEFtb3VudAAAAAAAAAAABQAAAAAAAAAAZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAARdXNkbkFtb3VudE9uU3RhcnQFAAAAEXVzZG5BbW91bnRPblN0YXJ0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABd1c2RuQW1vdW50QWZ0ZXJXaXRoZHJhdwUAAAAXdXNkbkFtb3VudEFmdGVyV2l0aGRyYXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADHRvdGFsUGFpZEZlZQkAAGQAAAACCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHwAAAAECAAAADHRvdGFsUGFpZEZlZQAAAAAAAAAAAAUAAAAJZmVlQW1vdW50CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAACmZlZUFkZHJlc3MFAAAACWZlZUFtb3VudAUAAAAEVVNETgUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkgPa6U", "height": 2228994, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GwQyPRL6Rm1NYiERF45nbpFmTng5abuEhc7tHs47wjaJ Next: 4AVxjoQ7e1Yz3W6byk1B69ywijj5nX4GNoVtUCua3JEN Diff:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let USDN = base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT' | |
4 | 5 | ||
6 | + | let feeAddress = Address(base58'3Mw1t5TMZJxLvGjAFa3RErEqPyoXPL4N8A3') | |
5 | 7 | ||
6 | 8 | @Callable(i) | |
7 | - | func call () = { | |
8 | - | let inv = invoke(addressFromStringValue("3MwGXuwAxY5qmp1LG4ibCBeHz862Y2gETC8"), "write", ["b"], nil) | |
9 | - | if ((inv == inv)) | |
10 | - | then [StringEntry("a", "done")] | |
11 | - | else throw("expection") | |
9 | + | func usdn_100 (reg) = { | |
10 | + | let admin = "3Mw1t5TMZJxLvGjAFa3RErEqPyoXPL4N8A3" | |
11 | + | if ((toString(i.caller) != admin)) | |
12 | + | then throw("only admin can do") | |
13 | + | else { | |
14 | + | let usdnAmountOnStart = assetBalance(this, USDN) | |
15 | + | if ((usdnAmountOnStart == usdnAmountOnStart)) | |
16 | + | then { | |
17 | + | let inv = invoke(addressFromStringValue("3MwGXuwAxY5qmp1LG4ibCBeHz862Y2gETC8"), "wVI", [false, true], nil) | |
18 | + | if ((inv == inv)) | |
19 | + | then { | |
20 | + | let usdnAmountAfterWithdraw = assetBalance(this, USDN) | |
21 | + | if ((usdnAmountAfterWithdraw == usdnAmountAfterWithdraw)) | |
22 | + | then { | |
23 | + | let withAmount = (usdnAmountAfterWithdraw - usdnAmountOnStart) | |
24 | + | let feeAmount = fraction(withAmount, 5, 100) | |
25 | + | [IntegerEntry("usdnAmountOnStart", usdnAmountOnStart), IntegerEntry("usdnAmountAfterWithdraw", usdnAmountAfterWithdraw), IntegerEntry("totalPaidFee", (valueOrElse(getInteger("totalPaidFee"), 0) + feeAmount)), ScriptTransfer(feeAddress, feeAmount, USDN)] | |
26 | + | } | |
27 | + | else throw("Strict value is not equal to itself.") | |
28 | + | } | |
29 | + | else throw("Strict value is not equal to itself.") | |
30 | + | } | |
31 | + | else throw("Strict value is not equal to itself.") | |
32 | + | } | |
12 | 33 | } | |
13 | 34 | ||
14 | 35 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let USDN = base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT' | |
4 | 5 | ||
6 | + | let feeAddress = Address(base58'3Mw1t5TMZJxLvGjAFa3RErEqPyoXPL4N8A3') | |
5 | 7 | ||
6 | 8 | @Callable(i) | |
7 | - | func call () = { | |
8 | - | let inv = invoke(addressFromStringValue("3MwGXuwAxY5qmp1LG4ibCBeHz862Y2gETC8"), "write", ["b"], nil) | |
9 | - | if ((inv == inv)) | |
10 | - | then [StringEntry("a", "done")] | |
11 | - | else throw("expection") | |
9 | + | func usdn_100 (reg) = { | |
10 | + | let admin = "3Mw1t5TMZJxLvGjAFa3RErEqPyoXPL4N8A3" | |
11 | + | if ((toString(i.caller) != admin)) | |
12 | + | then throw("only admin can do") | |
13 | + | else { | |
14 | + | let usdnAmountOnStart = assetBalance(this, USDN) | |
15 | + | if ((usdnAmountOnStart == usdnAmountOnStart)) | |
16 | + | then { | |
17 | + | let inv = invoke(addressFromStringValue("3MwGXuwAxY5qmp1LG4ibCBeHz862Y2gETC8"), "wVI", [false, true], nil) | |
18 | + | if ((inv == inv)) | |
19 | + | then { | |
20 | + | let usdnAmountAfterWithdraw = assetBalance(this, USDN) | |
21 | + | if ((usdnAmountAfterWithdraw == usdnAmountAfterWithdraw)) | |
22 | + | then { | |
23 | + | let withAmount = (usdnAmountAfterWithdraw - usdnAmountOnStart) | |
24 | + | let feeAmount = fraction(withAmount, 5, 100) | |
25 | + | [IntegerEntry("usdnAmountOnStart", usdnAmountOnStart), IntegerEntry("usdnAmountAfterWithdraw", usdnAmountAfterWithdraw), IntegerEntry("totalPaidFee", (valueOrElse(getInteger("totalPaidFee"), 0) + feeAmount)), ScriptTransfer(feeAddress, feeAmount, USDN)] | |
26 | + | } | |
27 | + | else throw("Strict value is not equal to itself.") | |
28 | + | } | |
29 | + | else throw("Strict value is not equal to itself.") | |
30 | + | } | |
31 | + | else throw("Strict value is not equal to itself.") | |
32 | + | } | |
12 | 33 | } | |
13 | 34 | ||
14 | 35 | ||
15 | 36 | @Verifier(tx) | |
16 | 37 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
17 | 38 |
github/deemru/w8io/169f3d6 48.57 ms ◑