tx · E5LmmHMfXY9bchycWQ64mbHat3EX8nXBJw2KjNesLx2u

3NBNKJTqCGbPCDw1A86tAH3oLjFfhAmUYKW:  -0.00600000 Waves

2022.08.26 15:07 [2201427] smart account 3NBNKJTqCGbPCDw1A86tAH3oLjFfhAmUYKW > SELF 0.00000000 Waves

{ "type": 13, "id": "E5LmmHMfXY9bchycWQ64mbHat3EX8nXBJw2KjNesLx2u", "fee": 600000, "feeAssetId": null, "timestamp": 1661515713475, "version": 2, "chainId": 84, "sender": "3NBNKJTqCGbPCDw1A86tAH3oLjFfhAmUYKW", "senderPublicKey": "5KgB1ZojKX7qznjw2mAXoU9asTrLAHv5nEvk36suSN3c", "proofs": [ "RaVuqdcZYETkyVceCVtmujUKizrJ7oXdqnEUdNqHqaCci6kUxQJf8hzaJTZ1ZZAp3d6zCsD5xKSY5CTWSFxUtb2" ], "script": "base64:BgIYCAISABIAEgMKAQESAwoBARIAEgASABIABgAEdXNkbgEg11KRGPRfT6VehNuJvBkobHB7OMalzc+gLp7N2ofv42AABHVzZGMBIPQcuTcYg4l4Uh6IaJaLWyiuNgmUbeQfgPZEel3eCXgMAAxhZG1pbl93YWxsZXQCIzNOM0RDbmdqaWRpdmtKYlRKd0ZURXZiWVJUZmZDV1ZCTENMAA5hbGZhcmtfdGVzdG5ldAAFAAp2aXJlc19kYXBwARoBVHjn3floRCovnhXY1SHCQGibEg7rsYrFrAENdHJ5R2V0SW50ZWdlcgEDa2V5BAckbWF0Y2gwCQCaCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWIFByRtYXRjaDAFAWIAAAgBaQEPYnV5X3VzZG5fdGlja2V0AAMJAQIhPQIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUEdXNkbgkAAgECH1BsZWFzZSBkZXBvc2l0IFVTRC1OIHRva2VuIG9ubHkEC3VzZXJfY3JlZGl0CQENdHJ5R2V0SW50ZWdlcgEJAKwCAgkArAICAgV1c2RuXwkApQgBCAUBaQxvcmlnaW5DYWxsZXICB19jcmVkaXQEDmRlcG9zaXRfYW1vdW50CAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQPbmV3X3VzZXJfY3JlZGl0CQBkAgULdXNlcl9jcmVkaXQFDmRlcG9zaXRfYW1vdW50BAphbGxfY3JlZGl0CQENdHJ5R2V0SW50ZWdlcgECD3VzZG5fYWxsX2NyZWRpdAQObmV3X2FsbF9jcmVkaXQJAGQCBQphbGxfY3JlZGl0BQ5kZXBvc2l0X2Ftb3VudAQRdHJhbnNhY3Rpb25fYmxvY2sEByRtYXRjaDAIBQlsYXN0QmxvY2sGaGVpZ2h0AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQkAAgECHUVycm9yISB3aXRoIGJsb2NoY2hhaW4gaGVpZ2h0BANyZXMJAPwHBAkBB0FkZHJlc3MBBQp2aXJlc19kYXBwAgp1c2ROX3N0YWtlBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBHVzZG4FDmRlcG9zaXRfYW1vdW50BQNuaWwDCQAAAgUDcmVzBQNyZXMJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgV1c2RuXwkApQgBCAUBaQxvcmlnaW5DYWxsZXICB19jcmVkaXQFD25ld191c2VyX2NyZWRpdAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgICBXVzZG5fCQClCAEIBQFpDG9yaWdpbkNhbGxlcgIGX2Jsb2NrBRF0cmFuc2FjdGlvbl9ibG9jawkAzAgCCQEMSW50ZWdlckVudHJ5AgIPdXNkbl9hbGxfY3JlZGl0BQ5uZXdfYWxsX2NyZWRpdAkAzAgCCQEMSW50ZWdlckVudHJ5AgIOdXNkbl9hbGxfYmxvY2sFEXRyYW5zYWN0aW9uX2Jsb2NrBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEPYnV5X3VzZGNfdGlja2V0AAMJAQIhPQIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUEdXNkYwkAAgECH1BsZWFzZSBkZXBvc2l0IFVTRC1OIHRva2VuIG9ubHkEC3VzZXJfY3JlZGl0CQENdHJ5R2V0SW50ZWdlcgEJAKwCAgkArAICAgV1c2RjXwkApQgBCAUBaQxvcmlnaW5DYWxsZXICB19jcmVkaXQEDmRlcG9zaXRfYW1vdW50CAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQPbmV3X3VzZXJfY3JlZGl0CQBkAgULdXNlcl9jcmVkaXQFDmRlcG9zaXRfYW1vdW50BAphbGxfY3JlZGl0CQENdHJ5R2V0SW50ZWdlcgECD3VzZGNfYWxsX2NyZWRpdAQObmV3X2FsbF9jcmVkaXQJAGQCBQphbGxfY3JlZGl0BQ5kZXBvc2l0X2Ftb3VudAQRdHJhbnNhY3Rpb25fYmxvY2sEByRtYXRjaDAIBQlsYXN0QmxvY2sGaGVpZ2h0AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQkAAgECEkVycm9yIGJsb2NrIG51bWJlcgQDcmVzCQD8BwQJAQdBZGRyZXNzAQUKdmlyZXNfZGFwcAIKdXNkQ19zdGFrZQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQR1c2RjBQ5kZXBvc2l0X2Ftb3VudAUDbmlsAwkAAAIFA3JlcwUDcmVzCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgIFdXNkY18JAKUIAQgFAWkMb3JpZ2luQ2FsbGVyAgdfY3JlZGl0BQ9uZXdfdXNlcl9jcmVkaXQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgV1c2RjXwkApQgBCAUBaQxvcmlnaW5DYWxsZXICBl9ibG9jawURdHJhbnNhY3Rpb25fYmxvY2sJAMwIAgkBDEludGVnZXJFbnRyeQICD3VzZGNfYWxsX2NyZWRpdAUObmV3X2FsbF9jcmVkaXQJAMwIAgkBDEludGVnZXJFbnRyeQICDnVzZGNfYWxsX2Jsb2NrBRF0cmFuc2FjdGlvbl9ibG9jawUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBEHNlbGxfdXNkbl90aWNrZXQBBmFtb3VudAQLdXNlcl9jcmVkaXQJAQ10cnlHZXRJbnRlZ2VyAQkArAICCQCsAgICBXVzZG5fCQClCAEIBQFpDG9yaWdpbkNhbGxlcgIHX2NyZWRpdAMJAGYCBQZhbW91bnQFC3VzZXJfY3JlZGl0CQACAQkArAICAj5zb3JyeSB5b3UgY2FuJ3Qgd2l0aGRyYXcgdGhpcyBhbW91bnQsIGJlY2F1c2UgdT15b3UgaGF2ZSBvbmx5IAkApAMBBQt1c2VyX2NyZWRpdAQPbmV3X3VzZXJfY3JlZGl0CQBlAgULdXNlcl9jcmVkaXQFBmFtb3VudAQKYWxsX2NyZWRpdAkBDXRyeUdldEludGVnZXIBAg91c2RuX2FsbF9jcmVkaXQEDm5ld19hbGxfY3JlZGl0CQBlAgUKYWxsX2NyZWRpdAUGYW1vdW50BBF0cmFuc2FjdGlvbl9ibG9jawQHJG1hdGNoMAgFCWxhc3RCbG9jawZoZWlnaHQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhCQACAQISRXJyb3IgYmxvY2sgbnVtYmVyBANyZXMJAPwHBAkBB0FkZHJlc3MBBQp2aXJlc19kYXBwAhB1c2ROX2NhbmNlbFN0YWtlCQDMCAIFBmFtb3VudAUDbmlsBQNuaWwDCQAAAgUDcmVzBQNyZXMJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgV1c2RuXwkApQgBCAUBaQxvcmlnaW5DYWxsZXICB19jcmVkaXQFD25ld191c2VyX2NyZWRpdAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgICBXVzZG5fCQClCAEIBQFpDG9yaWdpbkNhbGxlcgIGX2Jsb2NrBRF0cmFuc2FjdGlvbl9ibG9jawkAzAgCCQEMSW50ZWdlckVudHJ5AgIPdXNkbl9hbGxfY3JlZGl0BQ5uZXdfYWxsX2NyZWRpdAkAzAgCCQEMSW50ZWdlckVudHJ5AgIOdXNkbl9hbGxfYmxvY2sFEXRyYW5zYWN0aW9uX2Jsb2NrBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEQc2VsbF91c2RjX3RpY2tldAEGYW1vdW50BAt1c2VyX2NyZWRpdAkBDXRyeUdldEludGVnZXIBCQCsAgIJAKwCAgIFdXNkY18JAKUIAQgFAWkMb3JpZ2luQ2FsbGVyAgdfY3JlZGl0AwkAZgIFBmFtb3VudAULdXNlcl9jcmVkaXQJAAIBCQCsAgICPnNvcnJ5IHlvdSBjYW4ndCB3aXRoZHJhdyB0aGlzIGFtb3VudCwgYmVjYXVzZSB1PXlvdSBoYXZlIG9ubHkgCQCkAwEFC3VzZXJfY3JlZGl0BA9uZXdfdXNlcl9jcmVkaXQJAGUCBQt1c2VyX2NyZWRpdAUGYW1vdW50BAphbGxfY3JlZGl0CQENdHJ5R2V0SW50ZWdlcgECD3VzZGNfYWxsX2NyZWRpdAQObmV3X2FsbF9jcmVkaXQJAGUCBQphbGxfY3JlZGl0BQZhbW91bnQEEXRyYW5zYWN0aW9uX2Jsb2NrBAckbWF0Y2gwCAUJbGFzdEJsb2NrBmhlaWdodAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEJAAIBAhJFcnJvciBibG9jayBudW1iZXIEA3JlcwkA/AcECQEHQWRkcmVzcwEFCnZpcmVzX2RhcHACEHVzZENfY2FuY2VsU3Rha2UJAMwIAgUGYW1vdW50BQNuaWwFA25pbAMJAAACBQNyZXMFA3JlcwkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgICBXVzZGNfCQClCAEIBQFpDG9yaWdpbkNhbGxlcgIHX2NyZWRpdAUPbmV3X3VzZXJfY3JlZGl0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgIFdXNkY18JAKUIAQgFAWkMb3JpZ2luQ2FsbGVyAgZfYmxvY2sFEXRyYW5zYWN0aW9uX2Jsb2NrCQDMCAIJAQxJbnRlZ2VyRW50cnkCAg91c2RjX2FsbF9jcmVkaXQFDm5ld19hbGxfY3JlZGl0CQDMCAIJAQxJbnRlZ2VyRW50cnkCAg51c2RjX2FsbF9ibG9jawURdHJhbnNhY3Rpb25fYmxvY2sFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARd1c2RuX2NhbGNfcHJvZml0X2Ftb3VudAADCQECIT0CCQClCAEIBQFpDG9yaWdpbkNhbGxlcgUMYWRtaW5fd2FsbGV0CQACAQIwU29ycnkhIHlvdSBhcmUgbm90IGFsbG93ZWQgdG8gdXNlIHRoaXMgZnVuYWN0aW9uBBZ1c2RuX3Byb2ZpdF9sYXN0X2Jsb2NrCQENdHJ5R2V0SW50ZWdlcgECFnVzZG5fcHJvZml0X2xhc3RfYmxvY2sEF3VzZG5fcHJvZml0X2xhc3RfYW1vdW50CQENdHJ5R2V0SW50ZWdlcgECF3VzZG5fcHJvZml0X2xhc3RfYW1vdW50BBF0cmFuc2FjdGlvbl9ibG9jawQHJG1hdGNoMAgFCWxhc3RCbG9jawZoZWlnaHQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhCQACAQISRXJyb3IgYmxvY2sgbnVtYmVyBAZhbGZhcmsJAGUCBRF0cmFuc2FjdGlvbl9ibG9jawUWdXNkbl9wcm9maXRfbGFzdF9ibG9jawMJAGYCBQ5hbGZhcmtfdGVzdG5ldAUGYWxmYXJrCQACAQkArAICCQCsAgICF1BsZWFzZSB0cnkgYWdhaW4gYWZ0ZXIgCQCkAwEJAGUCBQ5hbGZhcmtfdGVzdG5ldAUGYWxmYXJrAgYgYmxvY2sEDHVzZG5fYmFsYW5jZQkA8AcCBQR0aGlzBQR1c2RuCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhZ1c2RuX3Byb2ZpdF9sYXN0X2Jsb2NrBRF0cmFuc2FjdGlvbl9ibG9jawkAzAgCCQEMSW50ZWdlckVudHJ5AgIXdXNkbl9wcm9maXRfbGFzdF9hbW91bnQFDHVzZG5fYmFsYW5jZQUDbmlsAWkBF3VzZG5fc2VuZF9wcm9maXRfYW1vdW50AAQXdXNkbl9wcm9maXRfbGFzdF9hbW91bnQJAQ10cnlHZXRJbnRlZ2VyAQIXdXNkbl9wcm9maXRfbGFzdF9hbW91bnQDCQBnAgAABRd1c2RuX3Byb2ZpdF9sYXN0X2Ftb3VudAkAAgEJAKwCAgIceW91IGRvbnQgaGF2ZSBwcm9maXQgYW1vdW50IAkApAMBBRd1c2RuX3Byb2ZpdF9sYXN0X2Ftb3VudAQIdHJhbnNmZXIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFDGFkbWluX3dhbGxldAUXdXNkbl9wcm9maXRfbGFzdF9hbW91bnQFBHVzZG4JAMwIAgUIdHJhbnNmZXIFA25pbAFpARd1c2RjX2NhbGNfcHJvZml0X2Ftb3VudAADCQECIT0CCQClCAEIBQFpDG9yaWdpbkNhbGxlcgUMYWRtaW5fd2FsbGV0CQACAQIwU29ycnkhIHlvdSBhcmUgbm90IGFsbG93ZWQgdG8gdXNlIHRoaXMgZnVuYWN0aW9uBBZ1c2RjX3Byb2ZpdF9sYXN0X2Jsb2NrCQENdHJ5R2V0SW50ZWdlcgECFnVzZGNfcHJvZml0X2xhc3RfYmxvY2sEF3VzZGNfcHJvZml0X2xhc3RfYW1vdW50CQENdHJ5R2V0SW50ZWdlcgECF3VzZGNfcHJvZml0X2xhc3RfYW1vdW50BBF0cmFuc2FjdGlvbl9ibG9jawQHJG1hdGNoMAgFCWxhc3RCbG9jawZoZWlnaHQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhCQACAQISRXJyb3IgYmxvY2sgbnVtYmVyBAZhbGZhcmsJAGUCBRF0cmFuc2FjdGlvbl9ibG9jawUWdXNkY19wcm9maXRfbGFzdF9ibG9jawMJAGYCBQ5hbGZhcmtfdGVzdG5ldAUGYWxmYXJrCQACAQkArAICCQCsAgICF1BsZWFzZSB0cnkgYWdhaW4gYWZ0ZXIgCQCkAwEJAGUCBQ5hbGZhcmtfdGVzdG5ldAUGYWxmYXJrAgYgYmxvY2sEDHVzZGNfYmFsYW5jZQkA8AcCBQR0aGlzBQR1c2RjCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhZ1c2RjX3Byb2ZpdF9sYXN0X2Jsb2NrBRF0cmFuc2FjdGlvbl9ibG9jawkAzAgCCQEMSW50ZWdlckVudHJ5AgIXdXNkY19wcm9maXRfbGFzdF9hbW91bnQFDHVzZGNfYmFsYW5jZQUDbmlsAWkBF3VzZGNfc2VuZF9wcm9maXRfYW1vdW50AAQXdXNkY19wcm9maXRfbGFzdF9hbW91bnQJAQ10cnlHZXRJbnRlZ2VyAQIXdXNkY19wcm9maXRfbGFzdF9hbW91bnQDCQBnAgAABRd1c2RjX3Byb2ZpdF9sYXN0X2Ftb3VudAkAAgEJAKwCAgIceW91IGRvbnQgaGF2ZSBwcm9maXQgYW1vdW50IAkApAMBBRd1c2RjX3Byb2ZpdF9sYXN0X2Ftb3VudAQIdHJhbnNmZXIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFDGFkbWluX3dhbGxldAUXdXNkY19wcm9maXRfbGFzdF9hbW91bnQFBHVzZGMJAMwIAgUIdHJhbnNmZXIFA25pbAECdHgBBnZlcmlmeQAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXkc3W8u", "height": 2201427, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GWLoK45ZhADBuUDJfue2rxuiio1ogG9DUQ3UifCGvtXo Next: 6KRJvR4qcEFmVvFEF6YB6P47xL1X8GX5WWG7YsKropwU Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = base58'3NBNKJTqCGbPCDw1A86tAH3oLjFfhAmUYKW'
4+let a = base58'FVXgJ86erBw5GAMeAw1CnYXwQn48BFAEAhRyHPUjbMQB'
55
6-@Callable(b)
7-func freeWaves (c) = if ((c > 200000000))
8- then throw("the max amount is 2 waves")
6+let b = base58'HRut8ESAGXxwvsKJky1V96qRtqyXQd4Apq4GY7TE5yGP'
7+
8+let c = "3N3DCngjidivkJbTJwFTEvbYRTffCWVBLCL"
9+
10+let d = 5
11+
12+let e = base58'3MzwNdM8LQZEPXq3d4uXvxeZGpBwVQXs9RD'
13+
14+func f (g) = {
15+ let h = getInteger(this, g)
16+ if ($isInstanceOf(h, "Int"))
17+ then {
18+ let i = h
19+ i
20+ }
21+ else 0
22+ }
23+
24+
25+@Callable(j)
26+func buy_usdn_ticket () = if ((j.payments[0].assetId != a))
27+ then throw("Please deposit USD-N token only")
928 else {
10- let d = b.caller
11- let e = (toString(d) + "_WAVES")
12- let f = getInteger(this, e)
13- let g = {
14- let h = f
29+ let k = f((("usdn_" + toString(j.originCaller)) + "_credit"))
30+ let l = j.payments[0].amount
31+ let m = (k + l)
32+ let n = f("usdn_all_credit")
33+ let o = (n + l)
34+ let p = {
35+ let h = lastBlock.height
1536 if ($isInstanceOf(h, "Int"))
1637 then {
17- let i = h
18- (i + 0)
38+ let q = h
39+ q
1940 }
20- else if ($isInstanceOf(h, "Unit"))
41+ else throw("Error! with blochchain height")
42+ }
43+ let r = invoke(Address(e), "usdN_stake", nil, [AttachedPayment(a, l)])
44+ if ((r == r))
45+ then [IntegerEntry((("usdn_" + toString(j.originCaller)) + "_credit"), m), IntegerEntry((("usdn_" + toString(j.originCaller)) + "_block"), p), IntegerEntry("usdn_all_credit", o), IntegerEntry("usdn_all_block", p)]
46+ else throw("Strict value is not equal to itself.")
47+ }
48+
49+
50+
51+@Callable(j)
52+func buy_usdc_ticket () = if ((j.payments[0].assetId != b))
53+ then throw("Please deposit USD-N token only")
54+ else {
55+ let k = f((("usdc_" + toString(j.originCaller)) + "_credit"))
56+ let l = j.payments[0].amount
57+ let m = (k + l)
58+ let n = f("usdc_all_credit")
59+ let o = (n + l)
60+ let p = {
61+ let h = lastBlock.height
62+ if ($isInstanceOf(h, "Int"))
63+ then {
64+ let q = h
65+ q
66+ }
67+ else throw("Error block number")
68+ }
69+ let r = invoke(Address(e), "usdC_stake", nil, [AttachedPayment(b, l)])
70+ if ((r == r))
71+ then [IntegerEntry((("usdc_" + toString(j.originCaller)) + "_credit"), m), IntegerEntry((("usdc_" + toString(j.originCaller)) + "_block"), p), IntegerEntry("usdc_all_credit", o), IntegerEntry("usdc_all_block", p)]
72+ else throw("Strict value is not equal to itself.")
73+ }
74+
75+
76+
77+@Callable(j)
78+func sell_usdn_ticket (s) = {
79+ let k = f((("usdn_" + toString(j.originCaller)) + "_credit"))
80+ if ((s > k))
81+ then throw(("sorry you can't withdraw this amount, because u=you have only " + toString(k)))
82+ else {
83+ let m = (k - s)
84+ let n = f("usdn_all_credit")
85+ let o = (n - s)
86+ let p = {
87+ let h = lastBlock.height
88+ if ($isInstanceOf(h, "Int"))
2189 then {
22- let j = h
23- 0
90+ let q = h
91+ q
2492 }
25- else 0
93+ else throw("Error block number")
94+ }
95+ let r = invoke(Address(e), "usdN_cancelStake", [s], nil)
96+ if ((r == r))
97+ then [IntegerEntry((("usdn_" + toString(j.originCaller)) + "_credit"), m), IntegerEntry((("usdn_" + toString(j.originCaller)) + "_block"), p), IntegerEntry("usdn_all_credit", o), IntegerEntry("usdn_all_block", p)]
98+ else throw("Strict value is not equal to itself.")
2699 }
27- if ((g > 2000000000))
28- then throw("the max amount to withdraw is 10 waves")
100+ }
101+
102+
103+
104+@Callable(j)
105+func sell_usdc_ticket (s) = {
106+ let k = f((("usdc_" + toString(j.originCaller)) + "_credit"))
107+ if ((s > k))
108+ then throw(("sorry you can't withdraw this amount, because u=you have only " + toString(k)))
109+ else {
110+ let m = (k - s)
111+ let n = f("usdc_all_credit")
112+ let o = (n - s)
113+ let p = {
114+ let h = lastBlock.height
115+ if ($isInstanceOf(h, "Int"))
116+ then {
117+ let q = h
118+ q
119+ }
120+ else throw("Error block number")
121+ }
122+ let r = invoke(Address(e), "usdC_cancelStake", [s], nil)
123+ if ((r == r))
124+ then [IntegerEntry((("usdc_" + toString(j.originCaller)) + "_credit"), m), IntegerEntry((("usdc_" + toString(j.originCaller)) + "_block"), p), IntegerEntry("usdc_all_credit", o), IntegerEntry("usdc_all_block", p)]
125+ else throw("Strict value is not equal to itself.")
126+ }
127+ }
128+
129+
130+
131+@Callable(j)
132+func usdn_calc_profit_amount () = if ((toString(j.originCaller) != c))
133+ then throw("Sorry! you are not allowed to use this funaction")
134+ else {
135+ let t = f("usdn_profit_last_block")
136+ let u = f("usdn_profit_last_amount")
137+ let p = {
138+ let h = lastBlock.height
139+ if ($isInstanceOf(h, "Int"))
140+ then {
141+ let q = h
142+ q
143+ }
144+ else throw("Error block number")
145+ }
146+ let v = (p - t)
147+ if ((d > v))
148+ then throw((("Please try again after " + toString((d - v))) + " block"))
29149 else {
30- let k = (g + c)
31- let l = IntegerEntry(e, k)
32- let m = ScriptTransfer(b.caller, c, unit)
33-[m, l]
150+ let w = assetBalance(this, a)
151+[IntegerEntry("usdn_profit_last_block", p), IntegerEntry("usdn_profit_last_amount", w)]
34152 }
35153 }
36154
155+
156+
157+@Callable(j)
158+func usdn_send_profit_amount () = {
159+ let u = f("usdn_profit_last_amount")
160+ if ((0 >= u))
161+ then throw(("you dont have profit amount " + toString(u)))
162+ else {
163+ let x = ScriptTransfer(addressFromStringValue(c), u, a)
164+[x]
165+ }
166+ }
167+
168+
169+
170+@Callable(j)
171+func usdc_calc_profit_amount () = if ((toString(j.originCaller) != c))
172+ then throw("Sorry! you are not allowed to use this funaction")
173+ else {
174+ let y = f("usdc_profit_last_block")
175+ let z = f("usdc_profit_last_amount")
176+ let p = {
177+ let h = lastBlock.height
178+ if ($isInstanceOf(h, "Int"))
179+ then {
180+ let q = h
181+ q
182+ }
183+ else throw("Error block number")
184+ }
185+ let v = (p - y)
186+ if ((d > v))
187+ then throw((("Please try again after " + toString((d - v))) + " block"))
188+ else {
189+ let A = assetBalance(this, b)
190+[IntegerEntry("usdc_profit_last_block", p), IntegerEntry("usdc_profit_last_amount", A)]
191+ }
192+ }
193+
194+
195+
196+@Callable(j)
197+func usdc_send_profit_amount () = {
198+ let z = f("usdc_profit_last_amount")
199+ if ((0 >= z))
200+ then throw(("you dont have profit amount " + toString(z)))
201+ else {
202+ let x = ScriptTransfer(addressFromStringValue(c), z, b)
203+[x]
204+ }
205+ }
206+
207+
208+@Verifier(B)
209+func C () = sigVerify(B.bodyBytes, B.proofs[0], B.senderPublicKey)
37210

github/deemru/w8io/169f3d6 
31.24 ms