tx · HVUfaymB7YJtS7qkCw7jrjs3bWhGgAJWSoFBZccjsHvY 3N8Cko4wa6ewdnPRXybzTMDpnhuYREfkps7: -0.00200000 Waves 2023.09.22 21:28 [2766949] smart account 3N8Cko4wa6ewdnPRXybzTMDpnhuYREfkps7 > SELF 0.00000000 Waves
{ "type": 13, "id": "HVUfaymB7YJtS7qkCw7jrjs3bWhGgAJWSoFBZccjsHvY", "fee": 200000, "feeAssetId": null, "timestamp": 1695407306112, "version": 2, "chainId": 84, "sender": "3N8Cko4wa6ewdnPRXybzTMDpnhuYREfkps7", "senderPublicKey": "4oVxBvsmoAhMaT1WhgSLcKFKX1NzwYxDaR89cAdGRGky", "proofs": [ "2aDzYJ2BZhTqh6fxHX1kEpziA69KvnoLJHDBHQ5Lg7JyXWWZUs9wrQqPw7uMpDWTk7oqDaTYSoeM89Xmg9S8S3k7" ], "script": "base64:BgIOCAISABIECgIIARIAEgAGAAVjaGFpbgkAyQECCQDKAQIIBQR0aGlzBWJ5dGVzAAEAAQALdXNkdEFzc2V0SWQEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDABIITaerIIAz9O0bvKju6Lk7zJgt0LXfoHlqjUI/moD/+5AwkAAAIBAVQFByRtYXRjaDABIFWx2J9yh4Lv5eNbjawFq2XemkOhLxa7BfMat4el8cUYCQACAQINVW5rbm93biBjaGFpbgEKZml4ZWRQb2ludAIDdmFsCGRlY2ltYWxzBAZ0ZW5Qb3cJAGwGAAoAAAUIZGVjaW1hbHMAAAAABQRET1dOBAdsb3dQYXJ0CQCkAwEJAGoCBQN2YWwFBnRlblBvdwQGemVyb2VzCQCwAgIJAKQDAQUGdGVuUG93CQBkAgABCQCxAgEFB2xvd1BhcnQJAKwCAgkArAICCQCsAgIJAKQDAQkAaQIFA3ZhbAUGdGVuUG93AgEuBQZ6ZXJvZXMFB2xvd1BhcnQAD3piaWxsQXNzZXRJZEtleQINemJpbGxfYXNzZXRJZAAMemJpbGxBc3NldElkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJwIAgUEdGhpcwUPemJpbGxBc3NldElkS2V5AhNOb3QgaW5pdGlhbGl6ZWQgeWV0ABR6YmlsbElzc3VlZEFtb3VudEtleQISemJpbGxfaXNzdWVkQW1vdW50BAFpAQ1jb25zdHJ1Y3RvclYxAAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECEVBlcm1pc3Npb24gZGVuaWVkAwkBCWlzRGVmaW5lZAEJAKEIAQUPemJpbGxBc3NldElkS2V5CQACAQITQWxyZWFkeSBpbml0aWFsaXplZAQMaXNzdWVkQW1vdW50AAAEBWlzc3VlCQDDCAcCBVpCSUxMAhtVU0RUIEJpbGwgb2YgRXhjaGFuZ2UgdG9rZW4FDGlzc3VlZEFtb3VudAAGBgUEdW5pdAAABAdhc3NldElkCQC4CAEFBWlzc3VlCQDMCAIFBWlzc3VlCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRR6YmlsbElzc3VlZEFtb3VudEtleQUMaXNzdWVkQW1vdW50CQDMCAIJAQtCaW5hcnlFbnRyeQIFD3piaWxsQXNzZXRJZEtleQUHYXNzZXRJZAUDbmlsAWkBCHRha2VVc2R0AghkZXN0QWRkcgZhbW91bnQDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhFwZXJtaXNzaW9uIGRlbmllZAMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAAkAAgECE05vIHBheW1lbnRzIGFsbG93ZWQEDGlzc3VlZEFtb3VudAkBEUBleHRyTmF0aXZlKDEwNTUpAQUUemJpbGxJc3N1ZWRBbW91bnRLZXkJAMwIAgkBB1JlaXNzdWUDBQx6YmlsbEFzc2V0SWQFBmFtb3VudAYJAMwIAgkBDEludGVnZXJFbnRyeQIFFHpiaWxsSXNzdWVkQW1vdW50S2V5CQBkAgUMaXNzdWVkQW1vdW50BQZhbW91bnQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQUIZGVzdEFkZHIFBmFtb3VudAULdXNkdEFzc2V0SWQFA25pbAFpAQpyZXR1cm5Vc2R0AAMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQkAAgECImV4YWN0bHkgMSBwYXltZW50IG11c3QgYmUgYXR0YWNoZWQEA3BtdAkAkQMCCAUBaQhwYXltZW50cwAABANhbXQIBQNwbXQGYW1vdW50AwMJAQEhAQkBCWlzRGVmaW5lZAEIBQNwbXQHYXNzZXRJZAYJAQIhPQIJAQV2YWx1ZQEIBQNwbXQHYXNzZXRJZAULdXNkdEFzc2V0SWQJAAIBAhNVU0RUIHBheW1lbnRzIG9ubHkhBAxpc3N1ZWRBbW91bnQJARFAZXh0ck5hdGl2ZSgxMDU1KQEFFHpiaWxsSXNzdWVkQW1vdW50S2V5AwkAZgIFA2FtdAUMaXNzdWVkQW1vdW50CQACAQkArAICCQCsAgIJAKwCAgkArAICAhhDYW4ndCByZXR1cm4gbW9yZSBVU0RUICgJAQpmaXhlZFBvaW50AgUDYW10AAYCFiksIHRoYW4gaXNzdWVkIFpCSUxMICgJAQpmaXhlZFBvaW50AgUMaXNzdWVkQW1vdW50AAYCASkJAMwIAgkBBEJ1cm4CBQx6YmlsbEFzc2V0SWQFA2FtdAkAzAgCCQEMSW50ZWdlckVudHJ5AgUUemJpbGxJc3N1ZWRBbW91bnRLZXkJAGUCBQxpc3N1ZWRBbW91bnQFA2FtdAUDbmlsAWkBEGdldEZ1bmRzUkVBRE9OTFkAAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwAACQACAQITTm8gcGF5bWVudHMgYWxsb3dlZAQHZnVuZFN1bQkAZAIJAPAHAgUEdGhpcwULdXNkdEFzc2V0SWQJAPAHAgUEdGhpcwUMemJpbGxBc3NldElkCQCUCgIFA25pbAUHZnVuZFN1bQDFbzqs", "height": 2766949, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: E2e14YobAPgMzZePjAn4QHXK7t2zSc4fibVSTjQPCT1Y Next: 9kJZuAoCok521fLPgN5UG18zWDaX8FqQhkRmtvZWf845 Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = take(drop(this.bytes, 1), 1) | |
5 | 5 | ||
6 | 6 | let b = { | |
7 | 7 | let c = a | |
8 | 8 | if ((base58'2W' == c)) | |
9 | 9 | then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi' | |
10 | 10 | else if ((base58'2T' == c)) | |
11 | 11 | then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63' | |
12 | 12 | else throw("Unknown chain") | |
13 | 13 | } | |
14 | 14 | ||
15 | 15 | func d (e,f) = { | |
16 | 16 | let g = pow(10, 0, f, 0, 0, DOWN) | |
17 | 17 | let h = toString((e % g)) | |
18 | 18 | let i = drop(toString(g), (1 + size(h))) | |
19 | 19 | (((toString((e / g)) + ".") + i) + h) | |
20 | 20 | } | |
21 | 21 | ||
22 | 22 | ||
23 | 23 | let j = "zbill_assetId" | |
24 | 24 | ||
25 | 25 | let k = valueOrErrorMessage(getBinary(this, j), "Not initialized yet") | |
26 | 26 | ||
27 | 27 | let l = "zbill_issuedAmount" | |
28 | 28 | ||
29 | 29 | @Callable(m) | |
30 | 30 | func constructorV1 () = if ((m.caller != this)) | |
31 | 31 | then throw("Permission denied") | |
32 | 32 | else if (isDefined(getBinary(j))) | |
33 | 33 | then throw("Already initialized") | |
34 | 34 | else { | |
35 | 35 | let n = 0 | |
36 | 36 | let o = Issue("ZBILL", "USDT Bill of Exchange token", n, 6, true, unit, 0) | |
37 | 37 | let p = calculateAssetId(o) | |
38 | 38 | [o, IntegerEntry(l, n), BinaryEntry(j, p)] | |
39 | 39 | } | |
40 | 40 | ||
41 | 41 | ||
42 | 42 | ||
43 | 43 | @Callable(m) | |
44 | 44 | func takeUsdt (q,r) = if ((m.caller != this)) | |
45 | 45 | then throw("permission denied") | |
46 | 46 | else if ((size(m.payments) != 0)) | |
47 | 47 | then throw("No payments allowed") | |
48 | 48 | else { | |
49 | 49 | let n = getIntegerValue(l) | |
50 | 50 | [Reissue(k, r, true), IntegerEntry(l, (n + r)), ScriptTransfer(addressFromStringValue(q), r, b)] | |
51 | 51 | } | |
52 | 52 | ||
53 | 53 | ||
54 | 54 | ||
55 | 55 | @Callable(m) | |
56 | 56 | func returnUsdt () = if ((size(m.payments) != 1)) | |
57 | 57 | then throw("exactly 1 payment must be attached") | |
58 | 58 | else { | |
59 | 59 | let s = m.payments[0] | |
60 | 60 | let t = s.amount | |
61 | 61 | if (if (!(isDefined(s.assetId))) | |
62 | 62 | then true | |
63 | 63 | else (value(s.assetId) != b)) | |
64 | 64 | then throw("USDT payments only!") | |
65 | 65 | else { | |
66 | 66 | let n = getIntegerValue(l) | |
67 | 67 | if ((t > n)) | |
68 | 68 | then throw((((("Can't return more USDT (" + d(t, 6)) + "), than issued ZBILL (") + d(n, 6)) + ")")) | |
69 | 69 | else [Burn(k, t), IntegerEntry(l, (n - t))] | |
70 | 70 | } | |
71 | 71 | } | |
72 | 72 | ||
73 | 73 | ||
74 | 74 | ||
75 | 75 | @Callable(m) | |
76 | 76 | func getFundsREADONLY () = if ((size(m.payments) != 0)) | |
77 | 77 | then throw("No payments allowed") | |
78 | 78 | else { | |
79 | 79 | let u = (assetBalance(this, b) + assetBalance(this, k)) | |
80 | 80 | $Tuple2(nil, u) | |
81 | 81 | } | |
82 | 82 | ||
83 | 83 |
github/deemru/w8io/169f3d6 28.12 ms ◑