tx · GPTiidx2B6mLzzuvioxeWUVa8MWjGKhvuHiiUD5Hfn5s 3N8iygiXd1v34PPaMSQb34SSrBwGxT2DpGK: -0.01400000 Waves 2022.08.14 20:44 [2184453] smart account 3N8iygiXd1v34PPaMSQb34SSrBwGxT2DpGK > SELF 0.00000000 Waves
{ "type": 13, "id": "GPTiidx2B6mLzzuvioxeWUVa8MWjGKhvuHiiUD5Hfn5s", "fee": 1400000, "feeAssetId": null, "timestamp": 1660499048392, "version": 2, "chainId": 84, "sender": "3N8iygiXd1v34PPaMSQb34SSrBwGxT2DpGK", "senderPublicKey": "FshLkkgzcLs6iQJ1Z8Nnfhm494tC8xZQczf9iXpZep3Y", "proofs": [ "2ksWkyDHSFfjjFE24qMtATk761a75rejLq3Yipk9eq9eRaP7Sdiof9pPJ3hcRzRLeH1sP7zPLMSdpdHLGhFiB4dH" ], "script": "base64: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AAAqU0FUUyBNaW50aW5nIGlzIGFib3V0IHRvIHJlYWNoIHRoZSBDYXAgb2YgCQABpAAAAAEFAAAADlNBVFNDdXJyZW50Q2FwAgAAADAvMTBeNiBTQVRTLiBQbGVhc2UgUmVkdWNlIHlvdXIgTWludGluZyBPcmRlciBieSAJAAGkAAAAAQUAAAAOUGVuZGluZ01pbnRpbmcCAAAACCBvciBwdXQgCQABpAAAAAEJAABlAAAAAgUAAAAOU0FUU0N1cnJlbnRDYXAFAAAAElByZXZpb3VzSXNzdWVkU0FUUwIAAAAFLzEwXjYJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAElRvdGFsX0lzc3VlZF9TQVRTOgUAAAAPVG90YWxJc3N1ZWRTQVRTCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABVCYWxhbmNlX01pbnRpbmdfU0FUUzoFAAAADlBlbmRpbmdNaW50aW5nCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABpUb3RhbF9TQVRTX1Jlc2VydmVfSW5fQlRDOgUAAAAQU0FUU1Jlc2VydmVWYWx1ZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAZU0FUU19CYWNrdXBfVmFsdWVfSW5fQlRDOgUAAAAPU0FUU0JhY2t1cFByaWNlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABNUb3RhbF9GZWVfQ29sbGVjdGVkBQAAAAtGZWVzQ2hhcmdlZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAJVG90YWx0eG5zBQAAAAl0b3RhbHR4bnMJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAHbWVzc2FnZQIAAAAmPGgxPlNBVFMgSXNzdWVkIFN1Y2Nlc3NmdWxseSE8L2gxPjxicj4JAARMAAAAAgkBAAAAB1JlaXNzdWUAAAADBQAAAAtTQVRTQXNzZXRJRAUAAAANTmV3U0FUU1RvVXNlcgYJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyCQAAZQAAAAIFAAAADU5ld1NBVFNUb1VzZXIFAAAAC0ZlZXNDaGFyZ2VkBQAAAAtTQVRTQXNzZXRJRAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAABNJc3N1ZWZzVE5GZWVBZGRyZXNzBQAAAAtGZWVzQ2hhcmdlZAUAAAALU0FUU0Fzc2V0SUQFAAAAA25pbAAAAAFpAQAAAAlMaXF1aWRhdGUAAAAABAAAAApjdXJyZW50S2V5CQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQQAAAADcG10CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAABJQcmV2aW91c0lzc3VlZFNBVFMJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAElRvdGFsX0lzc3VlZF9TQVRTOgQAAAASUHJldmlvdXNCdXJuZWRTQVRTCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABJUb3RhbF9CdXJuZWRfU0FUUzoEAAAADlNBVFNDdXJyZW50Q2FwCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAAA5TQVRTQ3VycmVudENhcAQAAAAPVG90YWxJc3N1ZWRTQVRTCQAAZQAAAAIFAAAAElByZXZpb3VzSXNzdWVkU0FUUwgFAAAAA3BtdAAAAAZhbW91bnQEAAAAD1RvdGFsQnVybmVkU0FUUwkAAGQAAAACBQAAABJQcmV2aW91c0J1cm5lZFNBVFMIBQAAAANwbXQAAAAGYW1vdW50BAAAAA5QZW5kaW5nTWludGluZwkAAGUAAAACBQAAAA5TQVRTQ3VycmVudENhcAUAAAAPVG90YWxJc3N1ZWRTQVRTBAAAABhQcmV2aW91c1NBVFNSZXNlcnZlVmFsdWUJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAGlRvdGFsX1NBVFNfUmVzZXJ2ZV9Jbl9CVEM6BAAAABdQcmV2aW91c1NBVFNCYWNrdXBQcmljZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAAZU0FUU19CYWNrdXBfVmFsdWVfSW5fQlRDOgQAAAASY2FsY3VsYXRlYnVybnZhbHVlCQAAawAAAAMFAAAAF1ByZXZpb3VzU0FUU0JhY2t1cFByaWNlCAUAAAADcG10AAAABmFtb3VudAAAAAAAAAGGoAQAAAAQU0FUU1Jlc2VydmVWYWx1ZQkAAGUAAAACBQAAABhQcmV2aW91c1NBVFNSZXNlcnZlVmFsdWUFAAAAEmNhbGN1bGF0ZWJ1cm52YWx1ZQQAAAAPU0FUU0JhY2t1cFByaWNlCQAAawAAAAMAAAAAAAABhqAFAAAAEFNBVFNSZXNlcnZlVmFsdWUFAAAAD1RvdGFsSXNzdWVkU0FUUwMJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAHYXNzZXRJZAUAAAALU0FUU0Fzc2V0SUQJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAFEtpbmRseSBEZXBvc2l0IE9ubHkgCQACWAAAAAEFAAAAC1NBVFNBc3NldElEAgAAAAggW1NBVFNdLgMJAABmAAAAAgAAAAAAAAATiAgFAAAAA3BtdAAAAAZhbW91bnQJAAACAAAAAQIAAAAtQXR0YWNoIEFtb3VudCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiA1MDAwIFNBVFMuCQAETAAAAAIJAQAAAARCdXJuAAAAAgUAAAALU0FUU0Fzc2V0SUQIBQAAAANwbXQAAAAGYW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAlUb3RhbHR4bnMFAAAACXRvdGFsdHhucwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAASVG90YWxfSXNzdWVkX1NBVFM6BQAAAA9Ub3RhbElzc3VlZFNBVFMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAElRvdGFsX0J1cm5lZF9TQVRTOgUAAAAPVG90YWxCdXJuZWRTQVRTCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABVCYWxhbmNlX01pbnRpbmdfU0FUUzoFAAAADlBlbmRpbmdNaW50aW5nCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABpUb3RhbF9TQVRTX1Jlc2VydmVfSW5fQlRDOgUAAAAQU0FUU1Jlc2VydmVWYWx1ZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAZU0FUU19CYWNrdXBfVmFsdWVfSW5fQlRDOgUAAAAPU0FUU0JhY2t1cFByaWNlCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UCAAAAKjxoMT5TQVRTIExpcXVpZGF0ZWQgU3VjY2Vzc2Z1bGx5ITwvaDE+PGJyPgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAEmNhbGN1bGF0ZWJ1cm52YWx1ZQUAAAAKQlRDQXNzZXRJRAUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAQAAAAHJG1hdGNoMAUAAAACdHgJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V548MTzQ==", "height": 2184453, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5F7DEWoiZC3CnxMKVGnp924nNBZjS2cybw76JqFi654n Next: EfgMatcnFzGMj47jtPVjXpEEfpb4a7HktmKR3u83MPkc Full:
Old | New | Differences | |
---|---|---|---|
1 | - | {-# STDLIB_VERSION | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let a = | |
4 | + | let a = base58'6B7j2Q8B8JA6CScbS1cJx9ms4PvGrJoWQrW5bEpgp1dm' | |
5 | 5 | ||
6 | - | @Callable(b) | |
7 | - | func startAuction (c,d,e) = { | |
8 | - | let f = extract(b.payment) | |
9 | - | let g = toBase58String(b.transactionId) | |
10 | - | let h = (lastBlock.height + c) | |
11 | - | let i = toBase58String(b.caller.bytes) | |
12 | - | let j = DataEntry(g, h) | |
13 | - | let k = DataEntry((g + "_organizer"), i) | |
14 | - | let l = DataEntry((g + "_lot_assetId"), if (isDefined(f.assetId)) | |
15 | - | then toBase58String(value(f.assetId)) | |
16 | - | else "WAVES") | |
17 | - | let m = DataEntry((g + "_lot_amount"), f.amount) | |
18 | - | let n = DataEntry((g + "_startPrice"), d) | |
19 | - | let o = DataEntry((g + "_priceAssetId"), e) | |
20 | - | if ((c > a)) | |
21 | - | then throw(("Duration is too long. Must be less than " + toString(a))) | |
22 | - | else WriteSet([j, k, l, m, n, o]) | |
6 | + | let b = base58'GNZmVQpT5p4s61B9pKJYqAUpmzz7KynnEu37wLyT9nZp' | |
7 | + | ||
8 | + | let c = addressFromPublicKey(base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR') | |
9 | + | ||
10 | + | let d = { | |
11 | + | let e = getInteger(this, "Totaltxns") | |
12 | + | if ($isInstanceOf(e, "Int")) | |
13 | + | then { | |
14 | + | let f = e | |
15 | + | f | |
16 | + | } | |
17 | + | else 0 | |
18 | + | } | |
19 | + | ||
20 | + | let g = (d + 1) | |
21 | + | ||
22 | + | @Callable(h) | |
23 | + | func IssueSATS () = { | |
24 | + | let i = value(h.payments[0]) | |
25 | + | let j = toBase58String(h.caller.bytes) | |
26 | + | let k = getIntegerValue(this, "SATS/BTC") | |
27 | + | let l = getIntegerValue(this, "SATSCurrentCap") | |
28 | + | let m = fraction(100000, i.amount, k) | |
29 | + | let n = getIntegerValue(this, "Total_Issued_SATS:") | |
30 | + | let o = (n + m) | |
31 | + | let p = (l - o) | |
32 | + | let q = getIntegerValue(this, "Total_SATS_Reserve_In_BTC:") | |
33 | + | let r = { | |
34 | + | let e = getInteger(this, "Total_Fee_Collected") | |
35 | + | if ($isInstanceOf(e, "Int")) | |
36 | + | then { | |
37 | + | let f = e | |
38 | + | f | |
39 | + | } | |
40 | + | else 0 | |
41 | + | } | |
42 | + | let s = 1 | |
43 | + | let t = (q + i.amount) | |
44 | + | let u = getIntegerValue(this, "SATS_Backup_Value_In_BTC:") | |
45 | + | let v = fraction(100000, t, o) | |
46 | + | if ((i.assetId != a)) | |
47 | + | then throw((("Incorrect asset attached, please attach [BTC] - " + toBase58String(a)) + " only.")) | |
48 | + | else if ((5000 > i.amount)) | |
49 | + | then throw("Please Attach minimum 5000 Satoshi's To Issue SATS Asset.") | |
50 | + | else if ((o > l)) | |
51 | + | then throw((((((("SATS Minting is about to reach the Cap of " + toString(l)) + "/10^6 SATS. Please Reduce your Minting Order by ") + toString(p)) + " or put ") + toString((l - n))) + "/10^6")) | |
52 | + | else [IntegerEntry("Total_Issued_SATS:", o), IntegerEntry("Balance_Minting_SATS:", p), IntegerEntry("Total_SATS_Reserve_In_BTC:", t), IntegerEntry("SATS_Backup_Value_In_BTC:", v), IntegerEntry("Total_Fee_Collected", s), IntegerEntry("Totaltxns", g), StringEntry("message", "<h1>SATS Issued Successfully!</h1><br>"), Reissue(b, m, true), ScriptTransfer(h.caller, (m - s), b), ScriptTransfer(c, s, b)] | |
23 | 53 | } | |
24 | 54 | ||
25 | 55 | ||
26 | 56 | ||
27 | - | @Callable(b) | |
28 | - | func bid (g) = { | |
29 | - | let f = extract(b.payment) | |
30 | - | let p = if (isDefined(f.assetId)) | |
31 | - | then toBase58String(value(f.assetId)) | |
32 | - | else "WAVES" | |
33 | - | let q = toBase58String(b.caller.bytes) | |
34 | - | let h = getIntegerValue(this, g) | |
35 | - | let d = getIntegerValue(this, (g + "_startPrice")) | |
36 | - | let e = getStringValue(this, (g + "_priceAssetId")) | |
37 | - | let r = getInteger(this, (g + "_winAmount")) | |
38 | - | let s = getString(this, (g + "_winner")) | |
39 | - | let t = if (isDefined(s)) | |
40 | - | then (value(s) == q) | |
41 | - | else false | |
42 | - | let u = (f.amount + (if (t) | |
43 | - | then value(r) | |
44 | - | else 0)) | |
45 | - | if ((lastBlock.height >= h)) | |
46 | - | then throw("Auction already finished.") | |
47 | - | else if ((e != p)) | |
48 | - | then throw((("Bid must be in asset '" + e) + "'")) | |
49 | - | else if (if (if (isDefined(r)) | |
50 | - | then (value(r) >= u) | |
51 | - | else false) | |
52 | - | then true | |
53 | - | else if (!(isDefined(r))) | |
54 | - | then (d >= u) | |
55 | - | else false) | |
56 | - | then throw(("Bid must be more then " + toString(if (isDefined(r)) | |
57 | - | then value(r) | |
58 | - | else d))) | |
59 | - | else if (if (t) | |
60 | - | then true | |
61 | - | else !(isDefined(s))) | |
62 | - | then WriteSet([DataEntry((g + "_winner"), q), DataEntry((g + "_winAmount"), u)]) | |
63 | - | else { | |
64 | - | let v = addressFromStringValue(value(s)) | |
65 | - | let w = if (if ((e == "WAVES")) | |
66 | - | then true | |
67 | - | else (e == "")) | |
68 | - | then unit | |
69 | - | else fromBase58String(e) | |
70 | - | ScriptResult(WriteSet([DataEntry((g + "_winner"), q), DataEntry((g + "_winAmount"), u)]), TransferSet([ScriptTransfer(v, value(r), w)])) | |
71 | - | } | |
57 | + | @Callable(h) | |
58 | + | func Liquidate () = { | |
59 | + | let j = toBase58String(h.callerPublicKey) | |
60 | + | let i = value(h.payments[0]) | |
61 | + | let n = getIntegerValue(this, "Total_Issued_SATS:") | |
62 | + | let w = getIntegerValue(this, "Total_Burned_SATS:") | |
63 | + | let l = getIntegerValue(this, "SATSCurrentCap") | |
64 | + | let o = (n - i.amount) | |
65 | + | let x = (w + i.amount) | |
66 | + | let p = (l - o) | |
67 | + | let q = getIntegerValue(this, "Total_SATS_Reserve_In_BTC:") | |
68 | + | let u = getIntegerValue(this, "SATS_Backup_Value_In_BTC:") | |
69 | + | let y = fraction(u, i.amount, 100000) | |
70 | + | let t = (q - y) | |
71 | + | let v = fraction(100000, t, o) | |
72 | + | if ((i.assetId != b)) | |
73 | + | then throw((("Kindly Deposit Only " + toBase58String(b)) + " [SATS].")) | |
74 | + | else if ((5000 > i.amount)) | |
75 | + | then throw("Attach Amount must be greater than 5000 SATS.") | |
76 | + | else [Burn(b, i.amount), IntegerEntry("Totaltxns", g), IntegerEntry("Total_Issued_SATS:", o), IntegerEntry("Total_Burned_SATS:", x), IntegerEntry("Balance_Minting_SATS:", p), IntegerEntry("Total_SATS_Reserve_In_BTC:", t), IntegerEntry("SATS_Backup_Value_In_BTC:", v), StringEntry("message", "<h1>SATS Liquidated Successfully!</h1><br>"), ScriptTransfer(h.caller, y, a)] | |
72 | 77 | } | |
73 | 78 | ||
74 | 79 | ||
75 | - | ||
76 | - | @Callable(b) | |
77 | - | func withdraw (g) = { | |
78 | - | let f = extract(b.payment) | |
79 | - | let p = if (isDefined(f.assetId)) | |
80 | - | then toBase58String(value(f.assetId)) | |
81 | - | else "WAVES" | |
82 | - | let q = toBase58String(b.caller.bytes) | |
83 | - | let h = getIntegerValue(this, g) | |
84 | - | let x = getStringValue(this, (g + "_organizer")) | |
85 | - | let s = getString(this, (g + "_winner")) | |
86 | - | let y = getStringValue(this, (g + "_lot_assetId")) | |
87 | - | let z = getIntegerValue(this, (g + "_lot_amount")) | |
88 | - | let e = getStringValue(this, (g + "_priceAssetId")) | |
89 | - | let r = getIntegerValue(this, (g + "_winAmount")) | |
90 | - | let A = if ((y == "WAVES")) | |
91 | - | then unit | |
92 | - | else fromBase58String(y) | |
93 | - | let w = if (if ((e == "WAVES")) | |
94 | - | then true | |
95 | - | else (e == "")) | |
96 | - | then unit | |
97 | - | else fromBase58String(e) | |
98 | - | let B = addressFromStringValue(value(s)) | |
99 | - | let C = addressFromStringValue(value(x)) | |
100 | - | let D = getInteger(this, ((g + "_bidder_") + q)) | |
101 | - | if ((h > lastBlock.height)) | |
102 | - | then throw("Auction is not finished yet") | |
103 | - | else if (!(isDefined(s))) | |
104 | - | then if (isDefined(getString(this, (g + "_lot_passed")))) | |
105 | - | then throw("Organizer has already got his lot back") | |
106 | - | else ScriptResult(WriteSet([DataEntry((g + "_lot_passed"), x)]), TransferSet([ScriptTransfer(C, z, A)])) | |
107 | - | else if (isDefined(getString(this, (g + "_lot_passed")))) | |
108 | - | then throw("Lot is already passed to the winner, and organizer got his reward") | |
109 | - | else ScriptResult(WriteSet([DataEntry((g + "_lot_passed"), toBase58String(B.bytes))]), TransferSet([ScriptTransfer(B, z, A), ScriptTransfer(C, ((r * 95) / 100), w), ScriptTransfer(addressFromPublicKey(base58'59q1hHBmeQgfSRst9Dn52VTBbtCu4SQ7AujhGDjHCqn6'), ((r * 5) / 100), w)])) | |
80 | + | @Verifier(z) | |
81 | + | func A () = { | |
82 | + | let e = z | |
83 | + | sigVerify(z.bodyBytes, z.proofs[0], z.senderPublicKey) | |
110 | 84 | } | |
111 | - | ||
112 | - | ||
113 | - | ||
114 | - | @Callable(b) | |
115 | - | func Expedite (g) = { | |
116 | - | let f = extract(b.payment) | |
117 | - | let q = toBase58String(b.caller.bytes) | |
118 | - | let h = getIntegerValue(this, g) | |
119 | - | let x = getStringValue(this, (g + "_organizer")) | |
120 | - | let j = DataEntry(g, (lastBlock.height + 1)) | |
121 | - | let E = (h - lastBlock.height) | |
122 | - | let C = addressFromStringValue(value(x)) | |
123 | - | if ((x != q)) | |
124 | - | then throw("You are not Orgnaniser to Sign this transaction.") | |
125 | - | else if ((E > 15)) | |
126 | - | then WriteSet([j]) | |
127 | - | else throw("Auction is already finished.") | |
128 | - | } | |
129 | - | ||
130 | - | ||
131 | - | ||
132 | - | @Callable(b) | |
133 | - | func DAppOwnerExpedite (g) = { | |
134 | - | let f = extract(b.payment) | |
135 | - | let q = toBase58String(b.caller.bytes) | |
136 | - | let h = getIntegerValue(this, g) | |
137 | - | let E = (h - lastBlock.height) | |
138 | - | let F = getStringValue(this, "dappowner") | |
139 | - | let j = DataEntry(g, (lastBlock.height + 1)) | |
140 | - | if ((F != q)) | |
141 | - | then throw("You are not Dapp Owner to Sign this transaction.") | |
142 | - | else if ((E > 15)) | |
143 | - | then WriteSet([j]) | |
144 | - | else throw("Auction is already finished.") | |
145 | - | } | |
146 | - | ||
147 | - | ||
148 | - | @Verifier(G) | |
149 | - | func H () = sigVerify(G.bodyBytes, G.proofs[0], G.senderPublicKey) | |
150 | 85 |
github/deemru/w8io/c3f4982 29.63 ms ◑