tx · D7nbwuRzHLh2jR6zrRzSiP4kTt4UjNdmuNsRt4NkJNzW

3PM8mbHyAiku9A81ieC4HU4PPJtLtGLcZUF:  -0.01400000 Waves

2021.01.21 18:50 [2427160] smart account 3PM8mbHyAiku9A81ieC4HU4PPJtLtGLcZUF > SELF 0.00000000 Waves

{ "type": 13, "id": "D7nbwuRzHLh2jR6zrRzSiP4kTt4UjNdmuNsRt4NkJNzW", "fee": 1400000, "feeAssetId": null, "timestamp": 1611244325268, "version": 2, "chainId": 87, "sender": "3PM8mbHyAiku9A81ieC4HU4PPJtLtGLcZUF", "senderPublicKey": "DR46z5vZXXjPczv6ecdnik6g9GQJqv3L2e8Jpi6UVX4z", "proofs": [ "62CKRAeghwWgoV1g4wp2uJHZctUYtm1dqr6q5CkgHwvGB2uB9X4oqDjJy5hkZq6seQuTbn5M819xxZV9pcEV9WRe" ], "script": "base64:AAIDAAAAAAAAABkIARIAEgASABIAEgASABIAEgASABIDCgEBAAAAAAAAAAoAAAABaQEAAAANc3dhcFRSRFRvVVNETgAAAAAEAAAACmN1cnJlbnRLZXkJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAADcG10CQEAAAAHZXh0cmFjdAAAAAEIBQAAAAFpAAAAB3BheW1lbnQEAAAABmFzc2V0MQEAAAAgytQbGH83jFEqWUF4pDP3i81F+bLKj0t09g8TW7fHU+EDCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAABmFzc2V0MQkAAAIAAAABAgAAAFlJbmNvcnJlY3QgYXNzZXQgYXR0YWNoZWQsIHBsZWFzZSBzZW5kIEVla3dmTFNBa2JSRW5lQkhyWGRaU1JBRVB2bWlqcTcxTmYyR0ROcUJTdHo0IChUUkQpLgkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAFlRSRFRvVVNETl9Td2FwX0FkZHJlc3MFAAAACmN1cnJlbnRLZXkJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAFVRSRFRvVVNETl9Td2FwX0hlaWdodAUAAAAGaGVpZ2h0BQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyCQAAaQAAAAIIBQAAAANwbXQAAAAGYW1vdW50AAAAAAAAAAPoAQAAACC2JinDBPXOU5GkDkt1JC9kjFGx+t+vVCm9SNIdKrKq0QUAAAADbmlsAAAAAWkBAAAADXN3YXBVU0ROVG9UUkQAAAAABAAAAApjdXJyZW50S2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAA3BtdAkBAAAAB2V4dHJhY3QAAAABCAUAAAABaQAAAAdwYXltZW50BAAAAAZhc3NldDEBAAAAILYmKcME9c5TkaQOS3UkL2SMUbH6369UKb1I0h0qsqrRAwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAAZhc3NldDEJAAACAAAAAQIAAABaSW5jb3JyZWN0IGFzc2V0IGF0dGFjaGVkLCBwbGVhc2Ugc2VuZCBERzJ4RmtQZER3S1VvQmt6R0FoUXRMcFNHemZYTGlDWVBFemVLSDJBZDI0cCAoVVNETikuCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAWVVNETlRvVFJEX1N3YXBfQWRkcmVzcwUAAAAKY3VycmVudEtleQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAVVVNETlRvVFJEX1N3YXBfSGVpZ2h0BQAAAAZoZWlnaHQFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAABoAAAAAggFAAAAA3BtdAAAAAZhbW91bnQAAAAAAAAAA+gBAAAAIMrUGxh/N4xRKllBeKQz94vNRfmyyo9LdPYPE1u3x1PhBQAAAANuaWwAAAABaQEAAAANc3dhcFRSRFRvVVNEVAAAAAAEAAAACmN1cnJlbnRLZXkJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAADcG10CQEAAAAHZXh0cmFjdAAAAAEIBQAAAAFpAAAAB3BheW1lbnQEAAAABmFzc2V0MQEAAAAgytQbGH83jFEqWUF4pDP3i81F+bLKj0t09g8TW7fHU+EDCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAABmFzc2V0MQkAAAIAAAABAgAAAFlJbmNvcnJlY3QgYXNzZXQgYXR0YWNoZWQsIHBsZWFzZSBzZW5kIEVla3dmTFNBa2JSRW5lQkhyWGRaU1JBRVB2bWlqcTcxTmYyR0ROcUJTdHo0IChUUkQpLgkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAFlRSRFRvVVNEVF9Td2FwX0FkZHJlc3MFAAAACmN1cnJlbnRLZXkJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAFVRSRFRvVVNEVF9Td2FwX0hlaWdodAUAAAAGaGVpZ2h0BQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyCQAAaQAAAAIIBQAAAANwbXQAAAAGYW1vdW50AAAAAAAAAAPoAQAAACAelAcTUnahJZX9yGGogl8Qf986Tym7/JpGP1r9Nk+fkQUAAAADbmlsAAAAAWkBAAAADXN3YXBVU0RUVG9UUkQAAAAABAAAAApjdXJyZW50S2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAA3BtdAkBAAAAB2V4dHJhY3QAAAABCAUAAAABaQAAAAdwYXltZW50BAAAAAZhc3NldDEBAAAAIB6UBxNSdqEllf3IYaiCXxB/3zpPKbv8mkY/Wv02T5+RAwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAAZhc3NldDEJAAACAAAAAQIAAABaSW5jb3JyZWN0IGFzc2V0IGF0dGFjaGVkLCBwbGVhc2Ugc2VuZCAzNE45WWNFRVRMV245M3FZUTY0RXNQMXg4OXRTcnVKVTQ0UnJFTVNYWEVQSiAoVVNEVCkuCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAWVVNEVFRvVFJEX1N3YXBfQWRkcmVzcwUAAAAKY3VycmVudEtleQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAVVVNEVFRvVFJEX1N3YXBfSGVpZ2h0BQAAAAZoZWlnaHQFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAABoAAAAAggFAAAAA3BtdAAAAAZhbW91bnQAAAAAAAAAA+gBAAAAIMrUGxh/N4xRKllBeKQz94vNRfmyyo9LdPYPE1u3x1PhBQAAAANuaWwAAAABaQEAAAANc3dhcFRSRFRvTkdOTgAAAAAEAAAACmN1cnJlbnRLZXkJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAADcG10CQEAAAAHZXh0cmFjdAAAAAEIBQAAAAFpAAAAB3BheW1lbnQEAAAABmFzc2V0MQEAAAAgytQbGH83jFEqWUF4pDP3i81F+bLKj0t09g8TW7fHU+EDCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAABmFzc2V0MQkAAAIAAAABAgAAAFlJbmNvcnJlY3QgYXNzZXQgYXR0YWNoZWQsIHBsZWFzZSBzZW5kIEVla3dmTFNBa2JSRW5lQkhyWGRaU1JBRVB2bWlqcTcxTmYyR0ROcUJTdHo0IChUUkQpLgkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAFlRSRFRvTkdOTl9Td2FwX0FkZHJlc3MFAAAACmN1cnJlbnRLZXkJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAFVRSRFRvTkdOTl9Td2FwX0hlaWdodAUAAAAGaGVpZ2h0BQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyCQAAaQAAAAIJAABoAAAAAggFAAAAA3BtdAAAAAZhbW91bnQAAAAAAAAAACYAAAAAAAAAAGQBAAAAIEECPjaB3uRLCe6NCdeMDa0AFRrPE/xCsVUeylN/NrPrBQAAAANuaWwAAAABaQEAAAANc3dhcE5HTk5Ub1RSRAAAAAAEAAAACmN1cnJlbnRLZXkJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAADcG10CQEAAAAHZXh0cmFjdAAAAAEIBQAAAAFpAAAAB3BheW1lbnQEAAAABmFzc2V0MQEAAAAgQQI+NoHe5EsJ7o0J14wNrQAVGs8T/EKxVR7KU382s+sDCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAABmFzc2V0MQkAAAIAAAABAgAAAFpJbmNvcnJlY3QgYXNzZXQgYXR0YWNoZWQsIHBsZWFzZSBzZW5kIDVObVY1VkFoa3Fvcm1kd3ZhUWpFNTR5UEVrTndTUnRjWHhoTGtKYlZRcWtOIChOR05OKS4JAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAABZOR05OVG9UUkRfU3dhcF9BZGRyZXNzBQAAAApjdXJyZW50S2V5CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAABVOR05OVG9UUkRfU3dhcF9IZWlnaHQFAAAABmhlaWdodAUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgkAAGgAAAACCQAAaQAAAAIIBQAAAANwbXQAAAAGYW1vdW50AAAAAAAAAAAmAAAAAAAAAABkAQAAACDK1BsYfzeMUSpZQXikM/eLzUX5ssqPS3T2DxNbt8dT4QUAAAADbmlsAAAAAWkBAAAAC3N3YXBUUkRUb1ROAAAAAAQAAAAKY3VycmVudEtleQkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAANwbXQJAQAAAAdleHRyYWN0AAAAAQgFAAAAAWkAAAAHcGF5bWVudAQAAAAGYXNzZXQxAQAAACDK1BsYfzeMUSpZQXikM/eLzUX5ssqPS3T2DxNbt8dT4QMJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAHYXNzZXRJZAUAAAAGYXNzZXQxCQAAAgAAAAECAAAAWUluY29ycmVjdCBhc3NldCBhdHRhY2hlZCwgcGxlYXNlIHNlbmQgRWVrd2ZMU0FrYlJFbmVCSHJYZFpTUkFFUHZtaWpxNzFOZjJHRE5xQlN0ejQgKFRSRCkuCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAUVFJEVG9UTl9Td2FwX0FkZHJlc3MFAAAACmN1cnJlbnRLZXkJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAE1RSRFRvVE5fU3dhcF9IZWlnaHQFAAAABmhlaWdodAUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgkAAGgAAAACCAUAAAADcG10AAAABmFtb3VudAAAAAAAAAAACgEAAAAgCM8z7akEwqugXRyXwm1HDsfQLLuMW03QvuummqQlwAYFAAAAA25pbAAAAAFpAQAAAAtzd2FwVE5Ub1RSRAAAAAAEAAAACmN1cnJlbnRLZXkJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAADcG10CQEAAAAHZXh0cmFjdAAAAAEIBQAAAAFpAAAAB3BheW1lbnQEAAAABmFzc2V0MQEAAAAgCM8z7akEwqugXRyXwm1HDsfQLLuMW03QvuummqQlwAYDCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAABmFzc2V0MQkAAAIAAAABAgAAAFdJbmNvcnJlY3QgYXNzZXQgYXR0YWNoZWQsIHBsZWFzZSBzZW5kIGJQV2tBM01OeUVyMVR1RGNoV2dkcHFKWmhHaGZQWGo3ZEpkcjNxaVcya0QgKFROKS4JAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAABRUTlRvVFJEX1N3YXBfQWRkcmVzcwUAAAAKY3VycmVudEtleQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAATVE5Ub1RSRF9Td2FwX0hlaWdodAUAAAAGaGVpZ2h0BQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyCQAAaQAAAAIIBQAAAANwbXQAAAAGYW1vdW50AAAAAAAAAAAKAQAAACDK1BsYfzeMUSpZQXikM/eLzUX5ssqPS3T2DxNbt8dT4QUAAAADbmlsAAAAAWkBAAAACmRlcG9zaXRUUkQAAAAABAAAAANwbXQJAQAAAAdleHRyYWN0AAAAAQgFAAAAAWkAAAAHcGF5bWVudAQAAAAHYXNzZXRpZAEAAAAgytQbGH83jFEqWUF4pDP3i81F+bLKj0t09g8TW7fHU+EDCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAAB2Fzc2V0aWQJAAACAAAAAQIAAABHS2luZGx5IERlcG9zaXQgT25seSBFZWt3ZkxTQWtiUkVuZUJIclhkWlNSQUVQdm1panE3MU5mMkdETnFCU3R6NCAoVFJEKS4EAAAACmN1cnJlbnRLZXkJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAANY3VycmVudEFtb3VudAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAApjdXJyZW50S2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAACW5ld0Ftb3VudAkAAGQAAAACBQAAAA1jdXJyZW50QW1vdW50CAUAAAADcG10AAAABmFtb3VudAQAAAAKdXNlcmFtb3VudAkBAAAACURhdGFFbnRyeQAAAAIFAAAACmN1cnJlbnRLZXkFAAAACW5ld0Ftb3VudAQAAAARdXNlcmRlcG9zaXRoZWlnaHQJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAICAAAAEkRlcG9zaXRfSGVpZ2h0X09mXwUAAAAKY3VycmVudEtleQUAAAAGaGVpZ2h0CQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIFAAAACnVzZXJhbW91bnQJAARMAAAAAgUAAAARdXNlcmRlcG9zaXRoZWlnaHQFAAAAA25pbAAAAAFpAQAAAAh3aXRoZHJhdwAAAAEAAAAGYW1vdW50BAAAAApjdXJyZW50S2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAADWN1cnJlbnRBbW91bnQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAAKY3VycmVudEtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAAluZXdBbW91bnQJAABlAAAAAgUAAAANY3VycmVudEFtb3VudAkAAGgAAAACBQAAAAZhbW91bnQAAAAAAAAPQkADCQAAZgAAAAIAAAAAAAAAAAAFAAAABmFtb3VudAkAAAIAAAABAgAAACJDYW4ndCB3aXRoZHJhdyBuZWdhdGl2ZSBUUkQgYW1vdW50AwkAAGYAAAACAAAAAAAAAAAABQAAAAluZXdBbW91bnQJAAACAAAAAQIAAAAWTm90IGVub3VnaCBUUkQgYmFsYW5jZQkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAACmN1cnJlbnRLZXkFAAAACW5ld0Ftb3VudAUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgkAAGgAAAACBQAAAAZhbW91bnQAAAAAAAAPQkABAAAAIMrUGxh/N4xRKllBeKQz94vNRfmyyo9LdPYPE1u3x1PhBQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAAAckbWF0Y2gwBQAAAAJ0eAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXn9mHor", "height": 2427160, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DhRGUtUuSu1MoPXSZJtxwQ7dZa6qBFBUhGaizfTR7kF4 Next: MYUfVUX8K5LqYBW3qn4wS7nqueepsRfqFstjFsfTcgj Diff:
OldNewDifferences
117117 else 0
118118 }
119119 let i = (f + c.amount)
120- let j = DataEntry(("Deposit_Height_Of_" + b), height)
121- WriteSet([DataEntry(b, i), j])
120+ let j = DataEntry(b, i)
121+ let k = DataEntry(("Deposit_Height_Of_" + b), height)
122+ WriteSet([j, k])
122123 }
123124 }
124125
125126
126127
127128 @Callable(a)
128-func ClaimUSDN () = {
129+func withdraw (l) = {
129130 let b = toBase58String(a.caller.bytes)
130- let c = extract(a.payment)
131- let k = extract(getInteger(this, b))
132- let d = base58'EekwfLSAkbREneBHrXdZSRAEPvmijq71Nf2GDNqBStz4'
133- let l = ("Deposit_Height_Of_" + b)
134- let m = (height - extract(getInteger(this, l)))
135- let n = ("Blocks_Gap_" + b)
136- let o = DataEntry(n, m)
137- if ((c.assetId != d))
138- then throw("Incorrect asset attached, please send EekwfLSAkbREneBHrXdZSRAEPvmijq71Nf2GDNqBStz4 (TRD).")
139- else ScriptResult(WriteSet([o]), TransferSet([ScriptTransfer(a.caller, ((k / 1000000) * m), base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p')]))
131+ let f = {
132+ let g = getInteger(this, b)
133+ if ($isInstanceOf(g, "Int"))
134+ then {
135+ let h = g
136+ h
137+ }
138+ else 0
139+ }
140+ let i = (f - (l * 1000000))
141+ if ((0 > l))
142+ then throw("Can't withdraw negative TRD amount")
143+ else if ((0 > i))
144+ then throw("Not enough TRD balance")
145+ else ScriptResult(WriteSet([DataEntry(b, i)]), TransferSet([ScriptTransfer(a.caller, (l * 1000000), base58'EekwfLSAkbREneBHrXdZSRAEPvmijq71Nf2GDNqBStz4')]))
140146 }
141147
142148
143-@Verifier(p)
144-func q () = {
145- let g = p
146- sigVerify(p.bodyBytes, p.proofs[0], p.senderPublicKey)
149+@Verifier(m)
150+func n () = {
151+ let g = m
152+ sigVerify(m.bodyBytes, m.proofs[0], m.senderPublicKey)
147153 }
148154
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44
55
66 @Callable(a)
77 func swapTRDToUSDN () = {
88 let b = toBase58String(a.caller.bytes)
99 let c = extract(a.payment)
1010 let d = base58'EekwfLSAkbREneBHrXdZSRAEPvmijq71Nf2GDNqBStz4'
1111 if ((c.assetId != d))
1212 then throw("Incorrect asset attached, please send EekwfLSAkbREneBHrXdZSRAEPvmijq71Nf2GDNqBStz4 (TRD).")
1313 else ScriptResult(WriteSet([DataEntry("TRDToUSDN_Swap_Address", b), DataEntry("TRDToUSDN_Swap_Height", height)]), TransferSet([ScriptTransfer(a.caller, (c.amount / 1000), base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p')]))
1414 }
1515
1616
1717
1818 @Callable(a)
1919 func swapUSDNToTRD () = {
2020 let b = toBase58String(a.caller.bytes)
2121 let c = extract(a.payment)
2222 let d = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
2323 if ((c.assetId != d))
2424 then throw("Incorrect asset attached, please send DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p (USDN).")
2525 else ScriptResult(WriteSet([DataEntry("USDNToTRD_Swap_Address", b), DataEntry("USDNToTRD_Swap_Height", height)]), TransferSet([ScriptTransfer(a.caller, (c.amount * 1000), base58'EekwfLSAkbREneBHrXdZSRAEPvmijq71Nf2GDNqBStz4')]))
2626 }
2727
2828
2929
3030 @Callable(a)
3131 func swapTRDToUSDT () = {
3232 let b = toBase58String(a.caller.bytes)
3333 let c = extract(a.payment)
3434 let d = base58'EekwfLSAkbREneBHrXdZSRAEPvmijq71Nf2GDNqBStz4'
3535 if ((c.assetId != d))
3636 then throw("Incorrect asset attached, please send EekwfLSAkbREneBHrXdZSRAEPvmijq71Nf2GDNqBStz4 (TRD).")
3737 else ScriptResult(WriteSet([DataEntry("TRDToUSDT_Swap_Address", b), DataEntry("TRDToUSDT_Swap_Height", height)]), TransferSet([ScriptTransfer(a.caller, (c.amount / 1000), base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ')]))
3838 }
3939
4040
4141
4242 @Callable(a)
4343 func swapUSDTToTRD () = {
4444 let b = toBase58String(a.caller.bytes)
4545 let c = extract(a.payment)
4646 let d = base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ'
4747 if ((c.assetId != d))
4848 then throw("Incorrect asset attached, please send 34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ (USDT).")
4949 else ScriptResult(WriteSet([DataEntry("USDTToTRD_Swap_Address", b), DataEntry("USDTToTRD_Swap_Height", height)]), TransferSet([ScriptTransfer(a.caller, (c.amount * 1000), base58'EekwfLSAkbREneBHrXdZSRAEPvmijq71Nf2GDNqBStz4')]))
5050 }
5151
5252
5353
5454 @Callable(a)
5555 func swapTRDToNGNN () = {
5656 let b = toBase58String(a.caller.bytes)
5757 let c = extract(a.payment)
5858 let d = base58'EekwfLSAkbREneBHrXdZSRAEPvmijq71Nf2GDNqBStz4'
5959 if ((c.assetId != d))
6060 then throw("Incorrect asset attached, please send EekwfLSAkbREneBHrXdZSRAEPvmijq71Nf2GDNqBStz4 (TRD).")
6161 else ScriptResult(WriteSet([DataEntry("TRDToNGNN_Swap_Address", b), DataEntry("TRDToNGNN_Swap_Height", height)]), TransferSet([ScriptTransfer(a.caller, ((c.amount * 38) / 100), base58'5NmV5VAhkqormdwvaQjE54yPEkNwSRtcXxhLkJbVQqkN')]))
6262 }
6363
6464
6565
6666 @Callable(a)
6767 func swapNGNNToTRD () = {
6868 let b = toBase58String(a.caller.bytes)
6969 let c = extract(a.payment)
7070 let d = base58'5NmV5VAhkqormdwvaQjE54yPEkNwSRtcXxhLkJbVQqkN'
7171 if ((c.assetId != d))
7272 then throw("Incorrect asset attached, please send 5NmV5VAhkqormdwvaQjE54yPEkNwSRtcXxhLkJbVQqkN (NGNN).")
7373 else ScriptResult(WriteSet([DataEntry("NGNNToTRD_Swap_Address", b), DataEntry("NGNNToTRD_Swap_Height", height)]), TransferSet([ScriptTransfer(a.caller, ((c.amount / 38) * 100), base58'EekwfLSAkbREneBHrXdZSRAEPvmijq71Nf2GDNqBStz4')]))
7474 }
7575
7676
7777
7878 @Callable(a)
7979 func swapTRDToTN () = {
8080 let b = toBase58String(a.caller.bytes)
8181 let c = extract(a.payment)
8282 let d = base58'EekwfLSAkbREneBHrXdZSRAEPvmijq71Nf2GDNqBStz4'
8383 if ((c.assetId != d))
8484 then throw("Incorrect asset attached, please send EekwfLSAkbREneBHrXdZSRAEPvmijq71Nf2GDNqBStz4 (TRD).")
8585 else ScriptResult(WriteSet([DataEntry("TRDToTN_Swap_Address", b), DataEntry("TRDToTN_Swap_Height", height)]), TransferSet([ScriptTransfer(a.caller, (c.amount * 10), base58'bPWkA3MNyEr1TuDchWgdpqJZhGhfPXj7dJdr3qiW2kD')]))
8686 }
8787
8888
8989
9090 @Callable(a)
9191 func swapTNToTRD () = {
9292 let b = toBase58String(a.caller.bytes)
9393 let c = extract(a.payment)
9494 let d = base58'bPWkA3MNyEr1TuDchWgdpqJZhGhfPXj7dJdr3qiW2kD'
9595 if ((c.assetId != d))
9696 then throw("Incorrect asset attached, please send bPWkA3MNyEr1TuDchWgdpqJZhGhfPXj7dJdr3qiW2kD (TN).")
9797 else ScriptResult(WriteSet([DataEntry("TNToTRD_Swap_Address", b), DataEntry("TNToTRD_Swap_Height", height)]), TransferSet([ScriptTransfer(a.caller, (c.amount / 10), base58'EekwfLSAkbREneBHrXdZSRAEPvmijq71Nf2GDNqBStz4')]))
9898 }
9999
100100
101101
102102 @Callable(a)
103103 func depositTRD () = {
104104 let c = extract(a.payment)
105105 let e = base58'EekwfLSAkbREneBHrXdZSRAEPvmijq71Nf2GDNqBStz4'
106106 if ((c.assetId != e))
107107 then throw("Kindly Deposit Only EekwfLSAkbREneBHrXdZSRAEPvmijq71Nf2GDNqBStz4 (TRD).")
108108 else {
109109 let b = toBase58String(a.caller.bytes)
110110 let f = {
111111 let g = getInteger(this, b)
112112 if ($isInstanceOf(g, "Int"))
113113 then {
114114 let h = g
115115 h
116116 }
117117 else 0
118118 }
119119 let i = (f + c.amount)
120- let j = DataEntry(("Deposit_Height_Of_" + b), height)
121- WriteSet([DataEntry(b, i), j])
120+ let j = DataEntry(b, i)
121+ let k = DataEntry(("Deposit_Height_Of_" + b), height)
122+ WriteSet([j, k])
122123 }
123124 }
124125
125126
126127
127128 @Callable(a)
128-func ClaimUSDN () = {
129+func withdraw (l) = {
129130 let b = toBase58String(a.caller.bytes)
130- let c = extract(a.payment)
131- let k = extract(getInteger(this, b))
132- let d = base58'EekwfLSAkbREneBHrXdZSRAEPvmijq71Nf2GDNqBStz4'
133- let l = ("Deposit_Height_Of_" + b)
134- let m = (height - extract(getInteger(this, l)))
135- let n = ("Blocks_Gap_" + b)
136- let o = DataEntry(n, m)
137- if ((c.assetId != d))
138- then throw("Incorrect asset attached, please send EekwfLSAkbREneBHrXdZSRAEPvmijq71Nf2GDNqBStz4 (TRD).")
139- else ScriptResult(WriteSet([o]), TransferSet([ScriptTransfer(a.caller, ((k / 1000000) * m), base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p')]))
131+ let f = {
132+ let g = getInteger(this, b)
133+ if ($isInstanceOf(g, "Int"))
134+ then {
135+ let h = g
136+ h
137+ }
138+ else 0
139+ }
140+ let i = (f - (l * 1000000))
141+ if ((0 > l))
142+ then throw("Can't withdraw negative TRD amount")
143+ else if ((0 > i))
144+ then throw("Not enough TRD balance")
145+ else ScriptResult(WriteSet([DataEntry(b, i)]), TransferSet([ScriptTransfer(a.caller, (l * 1000000), base58'EekwfLSAkbREneBHrXdZSRAEPvmijq71Nf2GDNqBStz4')]))
140146 }
141147
142148
143-@Verifier(p)
144-func q () = {
145- let g = p
146- sigVerify(p.bodyBytes, p.proofs[0], p.senderPublicKey)
149+@Verifier(m)
150+func n () = {
151+ let g = m
152+ sigVerify(m.bodyBytes, m.proofs[0], m.senderPublicKey)
147153 }
148154

github/deemru/w8io/3ef1775 
42.00 ms