tx · D1yAc1BvEqRk1ft61jjQjcXgrNCojgz4zH4U3fD9mngu 3PGcRy2VFKYhusWo4j6dR8sK8Hi8gZcTopS: -0.01100000 Waves 2023.10.06 19:15 [3852820] smart account 3PGcRy2VFKYhusWo4j6dR8sK8Hi8gZcTopS > SELF 0.00000000 Waves
{ "type": 13, "id": "D1yAc1BvEqRk1ft61jjQjcXgrNCojgz4zH4U3fD9mngu", "fee": 1100000, "feeAssetId": null, "timestamp": 1696608961991, "version": 2, "chainId": 87, "sender": "3PGcRy2VFKYhusWo4j6dR8sK8Hi8gZcTopS", "senderPublicKey": "6vs9orALhZsXKNcKtzPwfM18kgyVRj7qiXM4EdQSgAaZ", "proofs": [ "3XE2kfKJKZhVrvGppLDzVwdRGi8DyiT5EFiaucZxq2LdcZzNWztgSYgB87UZkkycrziUVFHDpXKkx3RzqNFqrAjM" ], "script": "base64:AAIFAAAAAAAAAAgIAhIAEgASAAAAAAQAAAAAC2FkbWlucmlnaHRzCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzAgAAABFEQXBwX0FkbWluX1JpZ2h0cwAAAAADWFROAQAAACC2JinDBPXOU5GkDkt1JC9kjFGx+t+vVCm9SNIdKrKq0QEAAAAOY2FsY3VsYXRlX3N3b3AAAAAABAAAABBTd29wX0FNTV9BZGRyZXNzCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzUEhhTmdvbUJrcnZFTDJRbnVKYXJRVkphNzF3anc5cWlxRwQAAAALc3dvcF9mYWN0b3IAAAAAAAAAAAYEAAAACWtCYWxhbmNlQQIAAAAPQV9hc3NldF9iYWxhbmNlBAAAAA9BX2Fzc2V0X2JhbGFuY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAAEFN3b3BfQU1NX0FkZHJlc3MFAAAACWtCYWxhbmNlQQQAAAAJa0JhbGFuY2VCAgAAAA9CX2Fzc2V0X2JhbGFuY2UEAAAAD0JfYXNzZXRfYmFsYW5jZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAQU3dvcF9BTU1fQWRkcmVzcwUAAAAJa0JhbGFuY2VCBAAAABRzd29wX25ld2JhbGFuY2VvZlhUTgkAAGsAAAADBQAAAA9CX2Fzc2V0X2JhbGFuY2UFAAAAD0FfYXNzZXRfYmFsYW5jZQkAAGQAAAACBQAAAA9CX2Fzc2V0X2JhbGFuY2UAAAAAAABMS0AEAAAAF1N3b3BfbWluQW1vdW50VG9SZWNlaXZlCQAAZQAAAAIFAAAAD0FfYXNzZXRfYmFsYW5jZQUAAAAUc3dvcF9uZXdiYWxhbmNlb2ZYVE4EAAAACHN3b3BfZmVlCQAAawAAAAMFAAAAF1N3b3BfbWluQW1vdW50VG9SZWNlaXZlBQAAAAtzd29wX2ZhY3RvcgAAAAAAAAAD6AQAAAAac3dvcF9hY3R1YWxBbW91bnRUb1JlY2VpdmUJAABlAAAAAgkAAGUAAAACBQAAABdTd29wX21pbkFtb3VudFRvUmVjZWl2ZQUAAAAIc3dvcF9mZWUAAAAAAAAAAAIFAAAAGnN3b3BfYWN0dWFsQW1vdW50VG9SZWNlaXZlAQAAAA9jYWxjdWxhdGVfeFBvb2wAAAAABAAAABF4UG9vbF9BTU1fQWRkcmVzcwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM1BQd0ZqMjViNXI4ZGlUeEFkQVJ3Vjh4RVBRaFRvRUNTTEMEAAAADHhQb29sX2ZhY3RvcgAAAAAAAAAACgQAAAAPeFBvb2xfa0JhbGFuY2VBAgAAAD1CYWxhbmNlX29mX0RHMnhGa1BkRHdLVW9Ca3pHQWhRdExwU0d6ZlhMaUNZUEV6ZUtIMkFkMjRwX1dBVkVTBAAAABV4UG9vbF9BX2Fzc2V0X2JhbGFuY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAAEXhQb29sX0FNTV9BZGRyZXNzBQAAAA94UG9vbF9rQmFsYW5jZUEEAAAAD3hQb29sX2tCYWxhbmNlQgIAAAA9QmFsYW5jZV9vZl9XQVZFU19ERzJ4RmtQZER3S1VvQmt6R0FoUXRMcFNHemZYTGlDWVBFemVLSDJBZDI0cAQAAAAVeFBvb2xfQl9hc3NldF9iYWxhbmNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAABF4UG9vbF9BTU1fQWRkcmVzcwUAAAAPeFBvb2xfa0JhbGFuY2VCBAAAABV4UG9vbF9uZXdiYWxhbmNlb2ZYVE4JAABrAAAAAwUAAAAVeFBvb2xfQl9hc3NldF9iYWxhbmNlBQAAABV4UG9vbF9BX2Fzc2V0X2JhbGFuY2UJAABkAAAAAgUAAAAVeFBvb2xfQl9hc3NldF9iYWxhbmNlAAAAAAAATEtABAAAABh4UG9vbF9taW5BbW91bnRUb1JlY2VpdmUJAABlAAAAAgUAAAAVeFBvb2xfQV9hc3NldF9iYWxhbmNlBQAAABV4UG9vbF9uZXdiYWxhbmNlb2ZYVE4EAAAACXhQb29sX2ZlZQkAAGsAAAADBQAAABh4UG9vbF9taW5BbW91bnRUb1JlY2VpdmUFAAAADHhQb29sX2ZhY3RvcgAAAAAAAAAD6AQAAAAbeFBvb2xfYWN0dWFsQW1vdW50VG9SZWNlaXZlCQAAZQAAAAIFAAAAGHhQb29sX21pbkFtb3VudFRvUmVjZWl2ZQUAAAAJeFBvb2xfZmVlBQAAABt4UG9vbF9hY3R1YWxB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dW50IGlzIExlc3MgdGhhbiAxMDAwMDAuAAAAAWkBAAAADlN3YXBXYXZlc1RvWFROAAAAAAQAAAADcG10AwkAAAAAAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAACQAAAgAAAAECAAAAJVRva2VuIGlzIHJlcXVpcmVkIGFzIEF0dGFjaGVkIHBheW1lbnQEAAAADWNhbGxlcmFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAALQU1NX0FkZHJlc3MJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAECAAAAIzNQSGFOZ29tQmtydkVMMlFudUphclFWSmE3MXdqdzlxaXFHBAAAAAVXQVZFUwUAAAAEdW5pdAQAAAAGZmFjdG9yAAAAAAAAAAAHBAAAAAlrQmFsYW5jZUECAAAAD0FfYXNzZXRfYmFsYW5jZQQAAAAPQV9hc3NldF9iYWxhbmNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAtBTU1fQWRkcmVzcwUAAAAJa0JhbGFuY2VBBAAAAAlrQmFsYW5jZUICAAAAD0JfYXNzZXRfYmFsYW5jZQQAAAAPQl9hc3NldF9iYWxhbmNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAtBTU1fQWRkcmVzcwUAAAAJa0JhbGFuY2VCBAAAABFuZXdiYWxhbmNlb2ZXYXZlcwkAAGsAAAADBQAAAA9CX2Fzc2V0X2JhbGFuY2UFAAAAD0FfYXNzZXRfYmFsYW5jZQkAAGQAAAACBQAAAA9BX2Fzc2V0X2JhbGFuY2UIBQAAAANwbXQAAAAGYW1vdW50BAAAABJtaW5BbW91bnRUb1JlY2VpdmUJAABlAAAAAgUAAAAPQl9hc3NldF9iYWxhbmNlBQAAABFuZXdiYWxhbmNlb2ZXYXZlcwQAAAADZmVlCQAAawAAAAMFAAAAEm1pbkFtb3VudFRvUmVjZWl2ZQUAAAAGZmFjdG9yAAAAAAAAAAPoBAAAABVhY3R1YWxBbW91bnRUb1JlY2VpdmUJAABlAAAAAgUAAAASbWluQW1vdW50VG9SZWNlaXZlBQAAAANmZWUEAAAAB3BheW1lbnQJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACBQAAAAVXQVZFUwgFAAAAA3BtdAAAAAZhbW91bnQEAAAAC2ludm9rZVdhdmVzCQAD/AAAAAQFAAAAC0FNTV9BZGRyZXNzAgAAAAhleGNoYW5nZQkABEwAAAACBQAAABVhY3R1YWxBbW91bnRUb1JlY2VpdmUFAAAAA25pbAkABEwAAAACBQAAAAdwYXltZW50BQAAAANuaWwDCQEAAAACIT0AAAACBQAAAAthZG1pbnJpZ2h0cwUAAAANY2FsbGVyYWRkcmVzcwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAiSSBrbm93IFlvdSBhcmUgbm90IEFuIEFkbWluLiBPbmx5IAUAAAALYWRtaW5yaWdodHMCAAAAFCBoYXMgcmlnaHRzIHRvIFNpZ24uAwkAAAAAAAACBQAAAAtpbnZva2VXYXZlcwUAAAALaW52b2tlV2F2ZXMJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQEAAAAg+KY0EyXCUqMDD56AqebGCI041JVJyT2sAlgiJy89qgsJAABlAAAAAgUAAAAVYWN0dWFsQW1vdW50VG9SZWNlaXZlBQAAAANmZWUFAAAAA1hUTgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABAQAAACA4348J2NWvaUBFXVUVe/i0tPVM3O1eJCrDJPmuIENpAgUAAAADZmVlBQAAAANYVE4JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAA01pbgUAAAAVYWN0dWFsQW1vdW50VG9SZWNlaXZlCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UCAAAAEVRoYW5reW91IHRvIFN3YXAuBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAACXNldF9BZG1pbgAAAAAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAARREFwcF9BZG1pbl9SaWdodHMCAAAAIzNQRG1rcG9mWW11UWdoeU1lWWZnRGt1Y1cydVRkaDhyTU50BQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAACQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleRUust0=", "height": 3852820, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Eyw5ocSSrkdtkG1gnfaPUJLPmhdawvXsj2b8N7gCt7iL Next: 2eEGhjox84Txcpu1Q2527vA2h4rWFmyikuo2AUPDSG3T Diff:
Old | New | Differences | |
---|---|---|---|
61 | 61 | } | |
62 | 62 | else throw("Strict value is not equal to itself.") | |
63 | 63 | }, StringEntry("Winner", ("xPool = " + toString(xPool_side_wins))), ScriptTransfer(addressFromPublicKey(base58'4Dahqn4MYNrieo9AX8qLWNCseBQNc9skQY81h4DFoote'), assetBalance(this, XTN), XTN), StringEntry("message", "Thankyou to Swap.")] | |
64 | - | else if ((swop_side_wins > 100000)) | |
65 | - | then [{ | |
66 | - | let Swap_XTN_from_Swop = invoke(Swop_AMM_Address, "exchange", [calculate_swop()], [payment]) | |
67 | - | if ((Swap_XTN_from_Swop == Swap_XTN_from_Swop)) | |
68 | - | then { | |
69 | - | let Swap_WAVES_from_xPool = invoke(xPool_AMM_Address, "SwapWAVESToAssetPairEntry", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"], [payment1]) | |
70 | - | if ((Swap_WAVES_from_xPool == Swap_WAVES_from_xPool)) | |
71 | - | then IntegerEntry("Min", calculate_swop()) | |
72 | - | else throw("Strict value is not equal to itself.") | |
73 | - | } | |
74 | - | else throw("Strict value is not equal to itself.") | |
75 | - | }, StringEntry("Winner", ("Swop = " + toString(swop_side_wins))), ScriptTransfer(addressFromPublicKey(base58'4Dahqn4MYNrieo9AX8qLWNCseBQNc9skQY81h4DFoote'), assetBalance(this, XTN), XTN), StringEntry("message", "Thankyou to Swap.")] | |
76 | - | else throw("Winning Amount is Less than 100000.") | |
64 | + | else throw("Winning Amount is Less than 100000.") | |
77 | 65 | } | |
78 | 66 | ||
79 | 67 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let adminrights = getStringValue(this, "DApp_Admin_Rights") | |
5 | 5 | ||
6 | 6 | let XTN = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p' | |
7 | 7 | ||
8 | 8 | func calculate_swop () = { | |
9 | 9 | let Swop_AMM_Address = addressFromStringValue("3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG") | |
10 | 10 | let swop_factor = 6 | |
11 | 11 | let kBalanceA = "A_asset_balance" | |
12 | 12 | let A_asset_balance = getIntegerValue(Swop_AMM_Address, kBalanceA) | |
13 | 13 | let kBalanceB = "B_asset_balance" | |
14 | 14 | let B_asset_balance = getIntegerValue(Swop_AMM_Address, kBalanceB) | |
15 | 15 | let swop_newbalanceofXTN = fraction(B_asset_balance, A_asset_balance, (B_asset_balance + 5000000)) | |
16 | 16 | let Swop_minAmountToReceive = (A_asset_balance - swop_newbalanceofXTN) | |
17 | 17 | let swop_fee = fraction(Swop_minAmountToReceive, swop_factor, 1000) | |
18 | 18 | let swop_actualAmountToReceive = ((Swop_minAmountToReceive - swop_fee) - 2) | |
19 | 19 | swop_actualAmountToReceive | |
20 | 20 | } | |
21 | 21 | ||
22 | 22 | ||
23 | 23 | func calculate_xPool () = { | |
24 | 24 | let xPool_AMM_Address = addressFromStringValue("3PPwFj25b5r8diTxAdARwV8xEPQhToECSLC") | |
25 | 25 | let xPool_factor = 10 | |
26 | 26 | let xPool_kBalanceA = "Balance_of_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_WAVES" | |
27 | 27 | let xPool_A_asset_balance = getIntegerValue(xPool_AMM_Address, xPool_kBalanceA) | |
28 | 28 | let xPool_kBalanceB = "Balance_of_WAVES_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p" | |
29 | 29 | let xPool_B_asset_balance = getIntegerValue(xPool_AMM_Address, xPool_kBalanceB) | |
30 | 30 | let xPool_newbalanceofXTN = fraction(xPool_B_asset_balance, xPool_A_asset_balance, (xPool_B_asset_balance + 5000000)) | |
31 | 31 | let xPool_minAmountToReceive = (xPool_A_asset_balance - xPool_newbalanceofXTN) | |
32 | 32 | let xPool_fee = fraction(xPool_minAmountToReceive, xPool_factor, 1000) | |
33 | 33 | let xPool_actualAmountToReceive = (xPool_minAmountToReceive - xPool_fee) | |
34 | 34 | xPool_actualAmountToReceive | |
35 | 35 | } | |
36 | 36 | ||
37 | 37 | ||
38 | 38 | @Callable(i) | |
39 | 39 | func SwapXTNToWaves () = { | |
40 | 40 | let swop_side_wins = (calculate_swop() - calculate_xPool()) | |
41 | 41 | let xPool_side_wins = (calculate_xPool() - calculate_swop()) | |
42 | 42 | let pmt = if ((size(i.payments) == 1)) | |
43 | 43 | then i.payments[0] | |
44 | 44 | else throw("Token is required as Attached payment") | |
45 | 45 | let calleraddress = toBase58String(i.caller.bytes) | |
46 | 46 | let Swop_AMM_Address = addressFromStringValue("3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG") | |
47 | 47 | let xPool_AMM_Address = addressFromStringValue("3PPwFj25b5r8diTxAdARwV8xEPQhToECSLC") | |
48 | 48 | let payment = AttachedPayment(XTN, pmt.amount) | |
49 | 49 | let payment1 = AttachedPayment(unit, calculate_xPool()) | |
50 | 50 | if ((adminrights != calleraddress)) | |
51 | 51 | then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign.")) | |
52 | 52 | else if ((xPool_side_wins > 100000)) | |
53 | 53 | then [{ | |
54 | 54 | let Swap_XTN_from_xPool = invoke(xPool_AMM_Address, "SwapAssetToWAVESPairEntry", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"], [payment]) | |
55 | 55 | if ((Swap_XTN_from_xPool == Swap_XTN_from_xPool)) | |
56 | 56 | then { | |
57 | 57 | let Swap_WAVES_from_Swop = invoke(Swop_AMM_Address, "exchange", [calculate_xPool()], [payment1]) | |
58 | 58 | if ((Swap_WAVES_from_Swop == Swap_WAVES_from_Swop)) | |
59 | 59 | then IntegerEntry("Min", calculate_xPool()) | |
60 | 60 | else throw("Strict value is not equal to itself.") | |
61 | 61 | } | |
62 | 62 | else throw("Strict value is not equal to itself.") | |
63 | 63 | }, StringEntry("Winner", ("xPool = " + toString(xPool_side_wins))), ScriptTransfer(addressFromPublicKey(base58'4Dahqn4MYNrieo9AX8qLWNCseBQNc9skQY81h4DFoote'), assetBalance(this, XTN), XTN), StringEntry("message", "Thankyou to Swap.")] | |
64 | - | else if ((swop_side_wins > 100000)) | |
65 | - | then [{ | |
66 | - | let Swap_XTN_from_Swop = invoke(Swop_AMM_Address, "exchange", [calculate_swop()], [payment]) | |
67 | - | if ((Swap_XTN_from_Swop == Swap_XTN_from_Swop)) | |
68 | - | then { | |
69 | - | let Swap_WAVES_from_xPool = invoke(xPool_AMM_Address, "SwapWAVESToAssetPairEntry", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"], [payment1]) | |
70 | - | if ((Swap_WAVES_from_xPool == Swap_WAVES_from_xPool)) | |
71 | - | then IntegerEntry("Min", calculate_swop()) | |
72 | - | else throw("Strict value is not equal to itself.") | |
73 | - | } | |
74 | - | else throw("Strict value is not equal to itself.") | |
75 | - | }, StringEntry("Winner", ("Swop = " + toString(swop_side_wins))), ScriptTransfer(addressFromPublicKey(base58'4Dahqn4MYNrieo9AX8qLWNCseBQNc9skQY81h4DFoote'), assetBalance(this, XTN), XTN), StringEntry("message", "Thankyou to Swap.")] | |
76 | - | else throw("Winning Amount is Less than 100000.") | |
64 | + | else throw("Winning Amount is Less than 100000.") | |
77 | 65 | } | |
78 | 66 | ||
79 | 67 | ||
80 | 68 | ||
81 | 69 | @Callable(i) | |
82 | 70 | func SwapWavesToXTN () = { | |
83 | 71 | let pmt = if ((size(i.payments) == 1)) | |
84 | 72 | then i.payments[0] | |
85 | 73 | else throw("Token is required as Attached payment") | |
86 | 74 | let calleraddress = toBase58String(i.caller.bytes) | |
87 | 75 | let AMM_Address = addressFromStringValue("3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG") | |
88 | 76 | let WAVES = unit | |
89 | 77 | let factor = 7 | |
90 | 78 | let kBalanceA = "A_asset_balance" | |
91 | 79 | let A_asset_balance = getIntegerValue(AMM_Address, kBalanceA) | |
92 | 80 | let kBalanceB = "B_asset_balance" | |
93 | 81 | let B_asset_balance = getIntegerValue(AMM_Address, kBalanceB) | |
94 | 82 | let newbalanceofWaves = fraction(B_asset_balance, A_asset_balance, (A_asset_balance + pmt.amount)) | |
95 | 83 | let minAmountToReceive = (B_asset_balance - newbalanceofWaves) | |
96 | 84 | let fee = fraction(minAmountToReceive, factor, 1000) | |
97 | 85 | let actualAmountToReceive = (minAmountToReceive - fee) | |
98 | 86 | let payment = AttachedPayment(WAVES, pmt.amount) | |
99 | 87 | let invokeWaves = invoke(AMM_Address, "exchange", [actualAmountToReceive], [payment]) | |
100 | 88 | if ((adminrights != calleraddress)) | |
101 | 89 | then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign.")) | |
102 | 90 | else if ((invokeWaves == invokeWaves)) | |
103 | 91 | then [ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), (actualAmountToReceive - fee), XTN), ScriptTransfer(addressFromPublicKey(base58'4q1YkzkM4pYzHp4jBtugQowp6LREYGvhceFaBBAVt3bo'), fee, XTN), IntegerEntry("Min", actualAmountToReceive), StringEntry("message", "Thankyou to Swap.")] | |
104 | 92 | else throw("Strict value is not equal to itself.") | |
105 | 93 | } | |
106 | 94 | ||
107 | 95 | ||
108 | 96 | ||
109 | 97 | @Callable(i) | |
110 | 98 | func set_Admin () = [StringEntry("DApp_Admin_Rights", "3PDmkpofYmuQghyMeYfgDkucW2uTdh8rMNt")] | |
111 | 99 | ||
112 | 100 | ||
113 | 101 | @Verifier(tx) | |
114 | 102 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
115 | 103 |
github/deemru/w8io/3ef1775 38.05 ms ◑![]()