tx · CHxxqpdozBKGNrorHNXLLJV7gsBvLum7LWeNSfeHdPmF

3MzwNdM8LQZEPXq3d4uXvxeZGpBwVQXs9RD:  -0.00600000 Waves

2022.08.26 15:26 [2201447] smart account 3MzwNdM8LQZEPXq3d4uXvxeZGpBwVQXs9RD > SELF 0.00000000 Waves

{ "type": 13, "id": "CHxxqpdozBKGNrorHNXLLJV7gsBvLum7LWeNSfeHdPmF", "fee": 600000, "feeAssetId": null, "timestamp": 1661516814218, "version": 2, "chainId": 84, "sender": "3MzwNdM8LQZEPXq3d4uXvxeZGpBwVQXs9RD", "senderPublicKey": "G4H6mB4yX5B1YAf6cKk4TteRS3NbLVrZ2i45DJGqqwLV", "proofs": [ "22jfqqazFbqF3p9mykQfumpeRbjksGhcR3Z9Cq3QS8J3iwHKRq3idMge2SEJz64GZqfBg1RCdrKKLEQ7715VMs61" ], "script": "base64:BgIYCAISABIAEgMKAQESAwoBARIAEgASABIABgAEdXNkbgEg11KRGPRfT6VehNuJvBkobHB7OMalzc+gLp7N2ofv42AABHVzZGMBIPQcuTcYg4l4Uh6IaJaLWyiuNgmUbeQfgPZEel3eCXgMAAxhZG1pbl93YWxsZXQCIzNOM0RDbmdqaWRpdmtKYlRKd0ZURXZiWVJUZmZDV1ZCTENMAA5hbGZhcmtfdGVzdG5ldAAFAAp2aXJlc19kYXBwARoBVHjn3floRCovnhXY1SHCQGibEg7rsYrFrAENdHJ5R2V0SW50ZWdlcgEDa2V5BAckbWF0Y2gwCQCaCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWIFByRtYXRjaDAFAWIAAAgBaQEPYnV5X3VzZG5fdGlja2V0AAMJAQIhPQIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUEdXNkbgkAAgECH1BsZWFzZSBkZXBvc2l0IFVTRC1OIHRva2VuIG9ubHkEC3VzZXJfY3JlZGl0CQENdHJ5R2V0SW50ZWdlcgEJAKwCAgkArAICAgV1c2RuXwkApQgBCAUBaQxvcmlnaW5DYWxsZXICB19jcmVkaXQEDmRlcG9zaXRfYW1vdW50CAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQPbmV3X3VzZXJfY3JlZGl0CQBkAgULdXNlcl9jcmVkaXQFDmRlcG9zaXRfYW1vdW50BAphbGxfY3JlZGl0CQENdHJ5R2V0SW50ZWdlcgECD3VzZG5fYWxsX2NyZWRpdAQObmV3X2FsbF9jcmVkaXQJAGQCBQphbGxfY3JlZGl0BQ5kZXBvc2l0X2Ftb3VudAQRdHJhbnNhY3Rpb25fYmxvY2sEByRtYXRjaDAIBQlsYXN0QmxvY2sGaGVpZ2h0AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQkAAgECHUVycm9yISB3aXRoIGJsb2NoY2hhaW4gaGVpZ2h0BANyZXMJAPwHBAkBB0FkZHJlc3MBBQp2aXJlc19kYXBwAgp1c2ROX3N0YWtlBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBHVzZG4FDmRlcG9zaXRfYW1vdW50BQNuaWwDCQAAAgUDcmVzBQNyZXMJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgV1c2RuXwkApQgBCAUBaQxvcmlnaW5DYWxsZXICB19jcmVkaXQFD25ld191c2VyX2NyZWRpdAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgICBXVzZG5fCQClCAEIBQFpDG9yaWdpbkNhbGxlcgIGX2Jsb2NrBRF0cmFuc2FjdGlvbl9ibG9jawkAzAgCCQEMSW50ZWdlckVudHJ5AgIPdXNkbl9hbGxfY3JlZGl0BQ5uZXdfYWxsX2NyZWRpdAkAzAgCCQEMSW50ZWdlckVudHJ5AgIOdXNkbl9hbGxfYmxvY2sFEXRyYW5zYWN0aW9uX2Jsb2NrBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEPYnV5X3VzZGNfdGlja2V0AAMJAQIhPQIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUEdXNkYwkAAgECH1BsZWFzZSBkZXBvc2l0IFVTRC1OIHRva2VuIG9ubHkEC3VzZXJfY3JlZGl0CQENdHJ5R2V0SW50ZWdlcgEJAKwCAgkArAICAgV1c2RjXwkApQgBCAUBaQxvcmlnaW5DYWxsZXICB19jcmVkaXQEDmRlcG9zaXRfYW1vdW50CAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQPbmV3X3VzZXJfY3JlZGl0CQBkAgULdXNlcl9jcmVkaXQFDmRlcG9zaXRfYW1vdW50BAphbGxfY3JlZGl0CQENdHJ5R2V0SW50ZWdlcgECD3VzZGNfYWxsX2NyZWRpdAQObmV3X2FsbF9jcmVkaXQJAGQCBQphbGxfY3JlZGl0BQ5kZXBvc2l0X2Ftb3VudAQRdHJhbnNhY3Rpb25fYmxvY2sEByRtYXRjaDAIBQlsYXN0QmxvY2sGaGVpZ2h0AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQkAAgECEkVycm9yIGJsb2NrIG51bWJlcgQDcmVzCQD8BwQJAQdBZGRyZXNzAQUKdmlyZXNfZGFwcAIKdXNkQ19zdGFrZQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQR1c2RjBQ5kZXBvc2l0X2Ftb3VudAUDbmlsAwkAAAIFA3JlcwUDcmVzCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgIFdXNkY18JAKUIAQgFAWkMb3JpZ2luQ2FsbGVyAgdfY3JlZGl0BQ9uZXdfdXNlcl9jcmVkaXQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgV1c2RjXwkApQgBCAUBaQxvcmlnaW5DYWxsZXICBl9ibG9jawURdHJhbnNhY3Rpb25fYmxvY2sJAMwIAgkBDEludGVnZXJFbnRyeQICD3VzZGNfYWxsX2NyZWRpdAUObmV3X2FsbF9jcmVkaXQJAMwIAgkBDEludGVnZXJFbnRyeQICDnVzZGNfYWxsX2Jsb2NrBRF0cmFuc2FjdGlvbl9ibG9jawUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBEHNlbGxfdXNkbl90aWNrZXQBC3VzZXJfYW1vdW50BAZhbW91bnQEByRtYXRjaDAFC3VzZXJfYW1vdW50AwkAAQIFByRtYXRjaDACA0ludAQDaW50BQckbWF0Y2gwBQNpbnQAAAQLdXNlcl9jcmVkaXQJAQ10cnlHZXRJbnRlZ2VyAQkArAICCQCsAgICBXVzZG5fCQClCAEIBQFpDG9yaWdpbkNhbGxlcgIHX2NyZWRpdAMJAGYCBQZhbW91bnQFC3VzZXJfY3JlZGl0CQACAQkArAICAj5zb3JyeSB5b3UgY2FuJ3Qgd2l0aGRyYXcgdGhpcyBhbW91bnQsIGJlY2F1c2UgdT15b3UgaGF2ZSBvbmx5IAkApAMBBQt1c2VyX2NyZWRpdAQPbmV3X3VzZXJfY3JlZGl0CQBlAgULdXNlcl9jcmVkaXQFBmFtb3VudAQKYWxsX2NyZWRpdAkBDXRyeUdldEludGVnZXIBAg91c2RuX2FsbF9jcmVkaXQEDm5ld19hbGxfY3JlZGl0CQBlAgUKYWxsX2NyZWRpdAUGYW1vdW50BBF0cmFuc2FjdGlvbl9ibG9jawQHJG1hdGNoMAgFCWxhc3RCbG9jawZoZWlnaHQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhCQACAQISRXJyb3IgYmxvY2sgbnVtYmVyBANyZXMJAPwHBAkBB0FkZHJlc3MBBQp2aXJlc19kYXBwAhB1c2ROX2NhbmNlbFN0YWtlCQDMCAIFBmFtb3VudAUDbmlsBQNuaWwDCQAAAgUDcmVzBQNyZXMJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgV1c2RuXwkApQgBCAUBaQxvcmlnaW5DYWxsZXICB19jcmVkaXQFD25ld191c2VyX2NyZWRpdAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgICBXVzZG5fCQClCAEIBQFpDG9yaWdpbkNhbGxlcgIGX2Jsb2NrBRF0cmFuc2FjdGlvbl9ibG9jawkAzAgCCQEMSW50ZWdlckVudHJ5AgIPdXNkbl9hbGxfY3JlZGl0BQ5uZXdfYWxsX2NyZWRpdAkAzAgCCQEMSW50ZWdlckVudHJ5AgIOdXNkbl9hbGxfYmxvY2sFEXRyYW5zYWN0aW9uX2Jsb2NrBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEQc2VsbF91c2RjX3RpY2tldAEGYW1vdW50BAt1c2VyX2NyZWRpdAkBDXRyeUdldEludGVnZXIBCQCsAgIJAKwCAgIFdXNkY18JAKUIAQgFAWkMb3JpZ2luQ2FsbGVyAgdfY3JlZGl0AwkAZgIFBmFtb3VudAULdXNlcl9jcmVkaXQJAAIBCQCsAgICPnNvcnJ5IHlvdSBjYW4ndCB3aXRoZHJhdyB0aGlzIGFtb3VudCwgYmVjYXVzZSB1PXlvdSBoYXZlIG9ubHkgCQCkAwEFC3VzZXJfY3JlZGl0BA9uZXdfdXNlcl9jcmVkaXQJAGUCBQt1c2VyX2NyZWRpdAUGYW1vdW50BAphbGxfY3JlZGl0CQENdHJ5R2V0SW50ZWdlcgECD3VzZGNfYWxsX2NyZWRpdAQObmV3X2FsbF9jcmVkaXQJAGUCBQphbGxfY3JlZGl0BQZhbW91bnQEEXRyYW5zYWN0aW9uX2Jsb2NrBAckbWF0Y2gwCAUJbGFzdEJsb2NrBmhlaWdodAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEJAAIBAhJFcnJvciBibG9jayBudW1iZXIEA3JlcwkA/AcECQEHQWRkcmVzcwEFCnZpcmVzX2RhcHACEHVzZENfY2FuY2VsU3Rha2UJAMwIAgUGYW1vdW50BQNuaWwFA25pbAMJAAACBQNyZXMFA3JlcwkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgICBXVzZGNfCQClCAEIBQFpDG9yaWdpbkNhbGxlcgIHX2NyZWRpdAUPbmV3X3VzZXJfY3JlZGl0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgIFdXNkY18JAKUIAQgFAWkMb3JpZ2luQ2FsbGVyAgZfYmxvY2sFEXRyYW5zYWN0aW9uX2Jsb2NrCQDMCAIJAQxJbnRlZ2VyRW50cnkCAg91c2RjX2FsbF9jcmVkaXQFDm5ld19hbGxfY3JlZGl0CQDMCAIJAQxJbnRlZ2VyRW50cnkCAg51c2RjX2FsbF9ibG9jawURdHJhbnNhY3Rpb25fYmxvY2sFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARd1c2RuX2NhbGNfcHJvZml0X2Ftb3VudAADCQECIT0CCQClCAEIBQFpDG9yaWdpbkNhbGxlcgUMYWRtaW5fd2FsbGV0CQACAQIwU29ycnkhIHlvdSBhcmUgbm90IGFsbG93ZWQgdG8gdXNlIHRoaXMgZnVuYWN0aW9uBBZ1c2RuX3Byb2ZpdF9sYXN0X2Jsb2NrCQENdHJ5R2V0SW50ZWdlcgECFnVzZG5fcHJvZml0X2xhc3RfYmxvY2sEF3VzZG5fcHJvZml0X2xhc3RfYW1vdW50CQENdHJ5R2V0SW50ZWdlcgECF3VzZG5fcHJvZml0X2xhc3RfYW1vdW50BBF0cmFuc2FjdGlvbl9ibG9jawQHJG1hdGNoMAgFCWxhc3RCbG9jawZoZWlnaHQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhCQACAQISRXJyb3IgYmxvY2sgbnVtYmVyBAZhbGZhcmsJAGUCBRF0cmFuc2FjdGlvbl9ibG9jawUWdXNkbl9wcm9maXRfbGFzdF9ibG9jawMJAGYCBQ5hbGZhcmtfdGVzdG5ldAUGYWxmYXJrCQACAQkArAICCQCsAgICF1BsZWFzZSB0cnkgYWdhaW4gYWZ0ZXIgCQCkAwEJAGUCBQ5hbGZhcmtfdGVzdG5ldAUGYWxmYXJrAgYgYmxvY2sEDHVzZG5fYmFsYW5jZQkA8AcCBQR0aGlzBQR1c2RuCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhZ1c2RuX3Byb2ZpdF9sYXN0X2Jsb2NrBRF0cmFuc2FjdGlvbl9ibG9jawkAzAgCCQEMSW50ZWdlckVudHJ5AgIXdXNkbl9wcm9maXRfbGFzdF9hbW91bnQFDHVzZG5fYmFsYW5jZQUDbmlsAWkBF3VzZG5fc2VuZF9wcm9maXRfYW1vdW50AAQXdXNkbl9wcm9maXRfbGFzdF9hbW91bnQJAQ10cnlHZXRJbnRlZ2VyAQIXdXNkbl9wcm9maXRfbGFzdF9hbW91bnQDCQBnAgAABRd1c2RuX3Byb2ZpdF9sYXN0X2Ftb3VudAkAAgEJAKwCAgIceW91IGRvbnQgaGF2ZSBwcm9maXQgYW1vdW50IAkApAMBBRd1c2RuX3Byb2ZpdF9sYXN0X2Ftb3VudAQIdHJhbnNmZXIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFDGFkbWluX3dhbGxldAUXdXNkbl9wcm9maXRfbGFzdF9hbW91bnQFBHVzZG4JAMwIAgUIdHJhbnNmZXIFA25pbAFpARd1c2RjX2NhbGNfcHJvZml0X2Ftb3VudAADCQECIT0CCQClCAEIBQFpDG9yaWdpbkNhbGxlcgUMYWRtaW5fd2FsbGV0CQACAQIwU29ycnkhIHlvdSBhcmUgbm90IGFsbG93ZWQgdG8gdXNlIHRoaXMgZnVuYWN0aW9uBBZ1c2RjX3Byb2ZpdF9sYXN0X2Jsb2NrCQENdHJ5R2V0SW50ZWdlcgECFnVzZGNfcHJvZml0X2xhc3RfYmxvY2sEF3VzZGNfcHJvZml0X2xhc3RfYW1vdW50CQENdHJ5R2V0SW50ZWdlcgECF3VzZGNfcHJvZml0X2xhc3RfYW1vdW50BBF0cmFuc2FjdGlvbl9ibG9jawQHJG1hdGNoMAgFCWxhc3RCbG9jawZoZWlnaHQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhCQACAQISRXJyb3IgYmxvY2sgbnVtYmVyBAZhbGZhcmsJAGUCBRF0cmFuc2FjdGlvbl9ibG9jawUWdXNkY19wcm9maXRfbGFzdF9ibG9jawMJAGYCBQ5hbGZhcmtfdGVzdG5ldAUGYWxmYXJrCQACAQkArAICCQCsAgICF1BsZWFzZSB0cnkgYWdhaW4gYWZ0ZXIgCQCkAwEJAGUCBQ5hbGZhcmtfdGVzdG5ldAUGYWxmYXJrAgYgYmxvY2sEDHVzZGNfYmFsYW5jZQkA8AcCBQR0aGlzBQR1c2RjCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhZ1c2RjX3Byb2ZpdF9sYXN0X2Jsb2NrBRF0cmFuc2FjdGlvbl9ibG9jawkAzAgCCQEMSW50ZWdlckVudHJ5AgIXdXNkY19wcm9maXRfbGFzdF9hbW91bnQFDHVzZGNfYmFsYW5jZQUDbmlsAWkBF3VzZGNfc2VuZF9wcm9maXRfYW1vdW50AAQXdXNkY19wcm9maXRfbGFzdF9hbW91bnQJAQ10cnlHZXRJbnRlZ2VyAQIXdXNkY19wcm9maXRfbGFzdF9hbW91bnQDCQBnAgAABRd1c2RjX3Byb2ZpdF9sYXN0X2Ftb3VudAkAAgEJAKwCAgIceW91IGRvbnQgaGF2ZSBwcm9maXQgYW1vdW50IAkApAMBBRd1c2RjX3Byb2ZpdF9sYXN0X2Ftb3VudAQIdHJhbnNmZXIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFDGFkbWluX3dhbGxldAUXdXNkY19wcm9maXRfbGFzdF9hbW91bnQFBHVzZGMJAMwIAgUIdHJhbnNmZXIFA25pbAECdHgBBnZlcmlmeQAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXnGi7Rf", "height": 2201447, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4qsRq1eXL1Yyxdm6A2zEBPpQKuH6r4Fj5duxcGkZ5c9D Next: 4jJukCVwFuVQSdn7GHjdg6chkXogS7bvrgdndVuQgJRp Full:
OldNewDifferences
1-{-# STDLIB_VERSION 5 #-}
1+{-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'FVXgJ86erBw5GAMeAw1CnYXwQn48BFAEAhRyHPUjbMQB'
55
66 let b = base58'HRut8ESAGXxwvsKJky1V96qRtqyXQd4Apq4GY7TE5yGP'
77
8-@Callable(c)
9-func usdN_stake () = if ((c.payments[0].assetId != a))
10- then throw("unexpected asset")
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")
1128 else {
12- let d = valueOrElse(getInteger(this, toString(c.originCaller)), 0)
13-[IntegerEntry(toString(c.originCaller), (d + c.payments[0].amount))]
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
36+ if ($isInstanceOf(h, "Int"))
37+ then {
38+ let q = h
39+ q
40+ }
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.")
1447 }
1548
1649
1750
18-@Callable(c)
19-func usdN_cancelStake (e) = if ((getIntegerValue(this, toString(c.caller)) >= e))
20- then [ScriptTransfer(c.caller, e, a)]
21- else throw("too big amount")
22-
23-
24-
25-@Callable(c)
26-func usdC_stake () = if ((c.payments[0].assetId != b))
27- then throw("unexpected asset")
51+@Callable(j)
52+func buy_usdc_ticket () = if ((j.payments[0].assetId != b))
53+ then throw("Please deposit USD-N token only")
2854 else {
29- let d = valueOrElse(getInteger(this, toString(c.originCaller)), 0)
30-[IntegerEntry(toString(c.originCaller), (d + c.payments[0].amount))]
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.")
3173 }
3274
3375
3476
35-@Callable(c)
36-func usdC_cancelStake (e) = if ((getIntegerValue(this, toString(c.caller)) >= e))
37- then [ScriptTransfer(c.caller, e, b)]
38- else throw("too big amount")
77+@Callable(j)
78+func sell_usdn_ticket (s) = {
79+ let t = {
80+ let h = s
81+ if ($isInstanceOf(h, "Int"))
82+ then {
83+ let u = h
84+ u
85+ }
86+ else 0
87+ }
88+ let k = f((("usdn_" + toString(j.originCaller)) + "_credit"))
89+ if ((t > k))
90+ then throw(("sorry you can't withdraw this amount, because u=you have only " + toString(k)))
91+ else {
92+ let m = (k - t)
93+ let n = f("usdn_all_credit")
94+ let o = (n - t)
95+ let p = {
96+ let h = lastBlock.height
97+ if ($isInstanceOf(h, "Int"))
98+ then {
99+ let q = h
100+ q
101+ }
102+ else throw("Error block number")
103+ }
104+ let r = invoke(Address(e), "usdN_cancelStake", [t], nil)
105+ if ((r == r))
106+ 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)]
107+ else throw("Strict value is not equal to itself.")
108+ }
109+ }
39110
111+
112+
113+@Callable(j)
114+func sell_usdc_ticket (t) = {
115+ let k = f((("usdc_" + toString(j.originCaller)) + "_credit"))
116+ if ((t > k))
117+ then throw(("sorry you can't withdraw this amount, because u=you have only " + toString(k)))
118+ else {
119+ let m = (k - t)
120+ let n = f("usdc_all_credit")
121+ let o = (n - t)
122+ let p = {
123+ let h = lastBlock.height
124+ if ($isInstanceOf(h, "Int"))
125+ then {
126+ let q = h
127+ q
128+ }
129+ else throw("Error block number")
130+ }
131+ let r = invoke(Address(e), "usdC_cancelStake", [t], nil)
132+ if ((r == r))
133+ 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)]
134+ else throw("Strict value is not equal to itself.")
135+ }
136+ }
137+
138+
139+
140+@Callable(j)
141+func usdn_calc_profit_amount () = if ((toString(j.originCaller) != c))
142+ then throw("Sorry! you are not allowed to use this funaction")
143+ else {
144+ let v = f("usdn_profit_last_block")
145+ let w = f("usdn_profit_last_amount")
146+ let p = {
147+ let h = lastBlock.height
148+ if ($isInstanceOf(h, "Int"))
149+ then {
150+ let q = h
151+ q
152+ }
153+ else throw("Error block number")
154+ }
155+ let x = (p - v)
156+ if ((d > x))
157+ then throw((("Please try again after " + toString((d - x))) + " block"))
158+ else {
159+ let y = assetBalance(this, a)
160+[IntegerEntry("usdn_profit_last_block", p), IntegerEntry("usdn_profit_last_amount", y)]
161+ }
162+ }
163+
164+
165+
166+@Callable(j)
167+func usdn_send_profit_amount () = {
168+ let w = f("usdn_profit_last_amount")
169+ if ((0 >= w))
170+ then throw(("you dont have profit amount " + toString(w)))
171+ else {
172+ let z = ScriptTransfer(addressFromStringValue(c), w, a)
173+[z]
174+ }
175+ }
176+
177+
178+
179+@Callable(j)
180+func usdc_calc_profit_amount () = if ((toString(j.originCaller) != c))
181+ then throw("Sorry! you are not allowed to use this funaction")
182+ else {
183+ let A = f("usdc_profit_last_block")
184+ let B = f("usdc_profit_last_amount")
185+ let p = {
186+ let h = lastBlock.height
187+ if ($isInstanceOf(h, "Int"))
188+ then {
189+ let q = h
190+ q
191+ }
192+ else throw("Error block number")
193+ }
194+ let x = (p - A)
195+ if ((d > x))
196+ then throw((("Please try again after " + toString((d - x))) + " block"))
197+ else {
198+ let C = assetBalance(this, b)
199+[IntegerEntry("usdc_profit_last_block", p), IntegerEntry("usdc_profit_last_amount", C)]
200+ }
201+ }
202+
203+
204+
205+@Callable(j)
206+func usdc_send_profit_amount () = {
207+ let B = f("usdc_profit_last_amount")
208+ if ((0 >= B))
209+ then throw(("you dont have profit amount " + toString(B)))
210+ else {
211+ let z = ScriptTransfer(addressFromStringValue(c), B, b)
212+[z]
213+ }
214+ }
215+
216+
217+@Verifier(D)
218+func E () = sigVerify(D.bodyBytes, D.proofs[0], D.senderPublicKey)
40219

github/deemru/w8io/026f985 
26.33 ms