tx · B61NsM2LhKBSU36wXvVVABFLrQRefJLUhC3ETXyGT2Bi

3NA2sejUzEcL7Gg8WfhrcqxP22fHk2SS9pK:  -0.00700000 Waves

2022.08.27 23:16 [2203351] smart account 3NA2sejUzEcL7Gg8WfhrcqxP22fHk2SS9pK > SELF 0.00000000 Waves

{ "type": 13, "id": "B61NsM2LhKBSU36wXvVVABFLrQRefJLUhC3ETXyGT2Bi", "fee": 700000, "feeAssetId": null, "timestamp": 1661631407349, "version": 2, "chainId": 84, "sender": "3NA2sejUzEcL7Gg8WfhrcqxP22fHk2SS9pK", "senderPublicKey": "HMzDczZUThMMhE2Grm1ZmpN3QNZ9N7CUCYnsqh4utSDJ", "proofs": [ "3UjfkWT8mRonzmmBXb7swKCJVjxdEQCWNd8mAP1ie6iqcL8qgYZGUDKMUUBUaHsDCT58BcoMxXpwX6awrKBp2ykD" ], "script": "base64:BgIYCAISABIAEgMKAQESAwoBARIAEgASABIABgAEdXNkbgEg11KRGPRfT6VehNuJvBkobHB7OMalzc+gLp7N2ofv42AABHVzZGMBIPQcuTcYg4l4Uh6IaJaLWyiuNgmUbeQfgPZEel3eCXgMAAxhZG1pbl93YWxsZXQCIzNOM0RDbmdqaWRpdmtKYlRKd0ZURXZiWVJUZmZDV1ZCTENMAA5hbGZhcmtfdGVzdG5ldAAFAAp2aXJlc19kYXBwARoBVHjn3floRCovnhXY1SHCQGibEg7rsYrFrAENdHJ5R2V0SW50ZWdlcgEDa2V5BAckbWF0Y2gwCQCaCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWIFByRtYXRjaDAFAWIAAAgBaQEPYnV5X3VzZG5fdGlja2V0AAMJAQIhPQIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUEdXNkbgkAAgECH1BsZWFzZSBkZXBvc2l0IFVTRC1OIHRva2VuIG9ubHkEC3VzZXJfY3JlZGl0CQENdHJ5R2V0SW50ZWdlcgEJAKwCAgkArAICAgV1c2RuXwkApQgBCAUBaQxvcmlnaW5DYWxsZXICB19jcmVkaXQEDmRlcG9zaXRfYW1vdW50CAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQPbmV3X3VzZXJfY3JlZGl0CQBkAgULdXNlcl9jcmVkaXQFDmRlcG9zaXRfYW1vdW50BAphbGxfY3JlZGl0CQENdHJ5R2V0SW50ZWdlcgECD3VzZG5fYWxsX2NyZWRpdAQObmV3X2FsbF9jcmVkaXQJAGQCBQphbGxfY3JlZGl0BQ5kZXBvc2l0X2Ftb3VudAQRdHJhbnNhY3Rpb25fYmxvY2sEByRtYXRjaDAJAOkHAQgFAWkNdHJhbnNhY3Rpb25JZAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEJAAIBAhJFcnJvciBibG9jayBudW1iZXIEA3JlcwkA/AcECQEHQWRkcmVzcwEFCnZpcmVzX2RhcHACCnVzZE5fc3Rha2UFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdXNkbgUOZGVwb3NpdF9hbW91bnQFA25pbAMJAAACBQNyZXMFA3JlcwQJdmlyZXNfcmVzBAckbWF0Y2gwBQNyZXMDCQABAgUHJG1hdGNoMAIJTGlzdFtBbnldBAFyBQckbWF0Y2gwBQFyCQEFdGhyb3cAAwkAAAIFCXZpcmVzX3JlcwUJdmlyZXNfcmVzCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgIFdXNkbl8JAKUIAQgFAWkMb3JpZ2luQ2FsbGVyAgdfY3JlZGl0BQ9uZXdfdXNlcl9jcmVkaXQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgV1c2RuXwkApQgBCAUBaQxvcmlnaW5DYWxsZXICBl9ibG9jawURdHJhbnNhY3Rpb25fYmxvY2sJAMwIAgkBDEludGVnZXJFbnRyeQICD3VzZG5fYWxsX2NyZWRpdAUObmV3X2FsbF9jcmVkaXQJAMwIAgkBDEludGVnZXJFbnRyeQICDnVzZG5fYWxsX2Jsb2NrBRF0cmFuc2FjdGlvbl9ibG9jawUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBD2J1eV91c2RjX3RpY2tldAADCQECIT0CCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQFBHVzZGMJAAIBAh9QbGVhc2UgZGVwb3NpdCBVU0QtTiB0b2tlbiBvbmx5BAt1c2VyX2NyZWRpdAkBDXRyeUdldEludGVnZXIBCQCsAgIJAKwCAgIFdXNkY18JAKUIAQgFAWkMb3JpZ2luQ2FsbGVyAgdfY3JlZGl0BA5kZXBvc2l0X2Ftb3VudAgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQED25ld191c2VyX2NyZWRpdAkAZAIFC3VzZXJfY3JlZGl0BQ5kZXBvc2l0X2Ftb3VudAQKYWxsX2NyZWRpdAkBDXRyeUdldEludGVnZXIBAg91c2RjX2FsbF9jcmVkaXQEDm5ld19hbGxfY3JlZGl0CQBkAgUKYWxsX2NyZWRpdAUOZGVwb3NpdF9hbW91bnQEEXRyYW5zYWN0aW9uX2Jsb2NrBAckbWF0Y2gwCQDpBwEIBQFpDXRyYW5zYWN0aW9uSWQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhCQACAQISRXJyb3IgYmxvY2sgbnVtYmVyBANyZXMJAPwHBAkBB0FkZHJlc3MBBQp2aXJlc19kYXBwAgp1c2RDX3N0YWtlBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBHVzZGMFDmRlcG9zaXRfYW1vdW50BQNuaWwDCQAAAgUDcmVzBQNyZXMECXZpcmVzX3JlcwQHJG1hdGNoMAUDcmVzAwkAAQIFByRtYXRjaDACCUxpc3RbQW55XQQBcgUHJG1hdGNoMAUBcgkAAgECF0luY29ycmVjdCBpbnZva2UgcmVzdWx0AwkAAAIFCXZpcmVzX3JlcwUJdmlyZXNfcmVzCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgIFdXNkY18JAKUIAQgFAWkMb3JpZ2luQ2FsbGVyAgdfY3JlZGl0BQ9uZXdfdXNlcl9jcmVkaXQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgV1c2RjXwkApQgBCAUBaQxvcmlnaW5DYWxsZXICBl9ibG9jawURdHJhbnNhY3Rpb25fYmxvY2sJAMwIAgkBDEludGVnZXJFbnRyeQICD3VzZGNfYWxsX2NyZWRpdAUObmV3X2FsbF9jcmVkaXQJAMwIAgkBDEludGVnZXJFbnRyeQICDnVzZGNfYWxsX2Jsb2NrBRF0cmFuc2FjdGlvbl9ibG9jawUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBEHNlbGxfdXNkbl90aWNrZXQBBmFtb3VudAQLdXNlcl9jcmVkaXQJAQ10cnlHZXRJbnRlZ2VyAQkArAICCQCsAgICBXVzZG5fCQClCAEIBQFpDG9yaWdpbkNhbGxlcgIHX2NyZWRpdAMJAGYCBQZhbW91bnQFC3VzZXJfY3JlZGl0CQACAQkArAICAj5zb3JyeSB5b3UgY2FuJ3Qgd2l0aGRyYXcgdGhpcyBhbW91bnQsIGJlY2F1c2UgdT15b3UgaGF2ZSBvbmx5IAkApAMBBQt1c2VyX2NyZWRpdAQPbmV3X3VzZXJfY3JlZGl0CQBlAgULdXNlcl9jcmVkaXQFBmFtb3VudAQKYWxsX2NyZWRpdAkBDXRyeUdldEludGVnZXIBAg91c2RuX2FsbF9jcmVkaXQEDm5ld19hbGxfY3JlZGl0CQBlAgUKYWxsX2NyZWRpdAUGYW1vdW50BBF0cmFuc2FjdGlvbl9ibG9jawQHJG1hdGNoMAkA6QcBCAUBaQ10cmFuc2FjdGlvbklkAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQkAAgECEkVycm9yIGJsb2NrIG51bWJlcgQDcmVzCQD8BwQJAQdBZGRyZXNzAQUKdmlyZXNfZGFwcAIQdXNkTl9jYW5jZWxTdGFrZQkAzAgCBQZhbW91bnQFA25pbAUDbmlsAwkAAAIFA3JlcwUDcmVzBAl2aXJlc19yZXMEByRtYXRjaDAFA3JlcwMJAAECBQckbWF0Y2gwAglMaXN0W0FueV0EAXIFByRtYXRjaDAFAXIJAAIBAhdJbmNvcnJlY3QgaW52b2tlIHJlc3VsdAMJAAACBQl2aXJlc19yZXMFCXZpcmVzX3JlcwkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgICBXVzZG5fCQClCAEIBQFpDG9yaWdpbkNhbGxlcgIHX2NyZWRpdAUPbmV3X3VzZXJfY3JlZGl0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgIFdXNkbl8JAKUIAQgFAWkMb3JpZ2luQ2FsbGVyAgZfYmxvY2sFEXRyYW5zYWN0aW9uX2Jsb2NrCQDMCAIJAQxJbnRlZ2VyRW50cnkCAg91c2RuX2FsbF9jcmVkaXQFDm5ld19hbGxfY3JlZGl0CQDMCAIJAQxJbnRlZ2VyRW50cnkCAg51c2RuX2FsbF9ibG9jawURdHJhbnNhY3Rpb25fYmxvY2sFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARBzZWxsX3VzZGNfdGlja2V0AQZhbW91bnQEC3VzZXJfY3JlZGl0CQENdHJ5R2V0SW50ZWdlcgEJAKwCAgkArAICAgV1c2RjXwkApQgBCAUBaQxvcmlnaW5DYWxsZXICB19jcmVkaXQDCQBmAgUGYW1vdW50BQt1c2VyX2NyZWRpdAkAAgEJAKwCAgI+c29ycnkgeW91IGNhbid0IHdpdGhkcmF3IHRoaXMgYW1vdW50LCBiZWNhdXNlIHU9eW91IGhhdmUgb25seSAJAKQDAQULdXNlcl9jcmVkaXQED25ld191c2VyX2NyZWRpdAkAZQIFC3VzZXJfY3JlZGl0BQZhbW91bnQECmFsbF9jcmVkaXQJAQ10cnlHZXRJbnRlZ2VyAQIPdXNkY19hbGxfY3JlZGl0BA5uZXdfYWxsX2NyZWRpdAkAZQIFCmFsbF9jcmVkaXQFBmFtb3VudAQRdHJhbnNhY3Rpb25fYmxvY2sEByRtYXRjaDAJAOkHAQgFAWkNdHJhbnNhY3Rpb25JZAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEJAAIBAhJFcnJvciBibG9jayBudW1iZXIEA3JlcwkA/AcECQEHQWRkcmVzcwEFCnZpcmVzX2RhcHACEHVzZENfY2FuY2VsU3Rha2UJAMwIAgUGYW1vdW50BQNuaWwFA25pbAMJAAACBQNyZXMFA3JlcwQJdmlyZXNfcmVzBAckbWF0Y2gwBQNyZXMDCQABAgUHJG1hdGNoMAIJTGlzdFtBbnldBAFyBQckbWF0Y2gwBQFyCQACAQIXSW5jb3JyZWN0IGludm9rZSByZXN1bHQDCQAAAgUJdmlyZXNfcmVzBQl2aXJlc19yZXMJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgV1c2RjXwkApQgBCAUBaQxvcmlnaW5DYWxsZXICB19jcmVkaXQFD25ld191c2VyX2NyZWRpdAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgICBXVzZGNfCQClCAEIBQFpDG9yaWdpbkNhbGxlcgIGX2Jsb2NrBRF0cmFuc2FjdGlvbl9ibG9jawkAzAgCCQEMSW50ZWdlckVudHJ5AgIPdXNkY19hbGxfY3JlZGl0BQ5uZXdfYWxsX2NyZWRpdAkAzAgCCQEMSW50ZWdlckVudHJ5AgIOdXNkY19hbGxfYmxvY2sFEXRyYW5zYWN0aW9uX2Jsb2NrBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEXdXNkbl9jYWxjX3Byb2ZpdF9hbW91bnQAAwkBAiE9AgkApQgBCAUBaQxvcmlnaW5DYWxsZXIFDGFkbWluX3dhbGxldAkAAgECMFNvcnJ5ISB5b3UgYXJlIG5vdCBhbGxvd2VkIHRvIHVzZSB0aGlzIGZ1bmFjdGlvbgQWdXNkbl9wcm9maXRfbGFzdF9ibG9jawkBDXRyeUdldEludGVnZXIBAhZ1c2RuX3Byb2ZpdF9sYXN0X2Jsb2NrBBd1c2RuX3Byb2ZpdF9sYXN0X2Ftb3VudAkBDXRyeUdldEludGVnZXIBAhd1c2RuX3Byb2ZpdF9sYXN0X2Ftb3VudAQRdHJhbnNhY3Rpb25fYmxvY2sEByRtYXRjaDAJAOkHAQgFAWkNdHJhbnNhY3Rpb25JZAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEJAAIBAhJFcnJvciBibG9jayBudW1iZXIEBmFsZmFyawkAZQIFEXRyYW5zYWN0aW9uX2Jsb2NrBRZ1c2RuX3Byb2ZpdF9sYXN0X2Jsb2NrAwkAZgIFDmFsZmFya190ZXN0bmV0BQZhbGZhcmsJAAIBCQCsAgIJAKwCAgIXUGxlYXNlIHRyeSBhZ2FpbiBhZnRlciAJAKQDAQkAZQIFDmFsZmFya190ZXN0bmV0BQZhbGZhcmsCBiBibG9jawQMdXNkbl9iYWxhbmNlCQDwBwIFBHRoaXMFBHVzZG4JAMwIAgkBDEludGVnZXJFbnRyeQICFnVzZG5fcHJvZml0X2xhc3RfYmxvY2sFEXRyYW5zYWN0aW9uX2Jsb2NrCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhd1c2RuX3Byb2ZpdF9sYXN0X2Ftb3VudAUMdXNkbl9iYWxhbmNlBQNuaWwBaQEXdXNkbl9zZW5kX3Byb2ZpdF9hbW91bnQABBd1c2RuX3Byb2ZpdF9sYXN0X2Ftb3VudAkBDXRyeUdldEludGVnZXIBAhd1c2RuX3Byb2ZpdF9sYXN0X2Ftb3VudAMJAGcCAAAFF3VzZG5fcHJvZml0X2xhc3RfYW1vdW50CQACAQkArAICAhx5b3UgZG9udCBoYXZlIHByb2ZpdCBhbW91bnQgCQCkAwEFF3VzZG5fcHJvZml0X2xhc3RfYW1vdW50BAh0cmFuc2ZlcgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQUMYWRtaW5fd2FsbGV0BRd1c2RuX3Byb2ZpdF9sYXN0X2Ftb3VudAUEdXNkbgkAzAgCBQh0cmFuc2ZlcgUDbmlsAWkBF3VzZGNfY2FsY19wcm9maXRfYW1vdW50AAMJAQIhPQIJAKUIAQgFAWkMb3JpZ2luQ2FsbGVyBQxhZG1pbl93YWxsZXQJAAIBAjBTb3JyeSEgeW91IGFyZSBub3QgYWxsb3dlZCB0byB1c2UgdGhpcyBmdW5hY3Rpb24EFnVzZGNfcHJvZml0X2xhc3RfYmxvY2sJAQ10cnlHZXRJbnRlZ2VyAQIWdXNkY19wcm9maXRfbGFzdF9ibG9jawQXdXNkY19wcm9maXRfbGFzdF9hbW91bnQJAQ10cnlHZXRJbnRlZ2VyAQIXdXNkY19wcm9maXRfbGFzdF9hbW91bnQEEXRyYW5zYWN0aW9uX2Jsb2NrBAckbWF0Y2gwCQDpBwEIBQFpDXRyYW5zYWN0aW9uSWQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhCQACAQISRXJyb3IgYmxvY2sgbnVtYmVyBAZhbGZhcmsJAGUCBRF0cmFuc2FjdGlvbl9ibG9jawUWdXNkY19wcm9maXRfbGFzdF9ibG9jawMJAGYCBQ5hbGZhcmtfdGVzdG5ldAUGYWxmYXJrCQACAQkArAICCQCsAgICF1BsZWFzZSB0cnkgYWdhaW4gYWZ0ZXIgCQCkAwEJAGUCBQ5hbGZhcmtfdGVzdG5ldAUGYWxmYXJrAgYgYmxvY2sEDHVzZGNfYmFsYW5jZQkA8AcCBQR0aGlzBQR1c2RjCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhZ1c2RjX3Byb2ZpdF9sYXN0X2Jsb2NrBRF0cmFuc2FjdGlvbl9ibG9jawkAzAgCCQEMSW50ZWdlckVudHJ5AgIXdXNkY19wcm9maXRfbGFzdF9hbW91bnQFDHVzZGNfYmFsYW5jZQUDbmlsAWkBF3VzZGNfc2VuZF9wcm9maXRfYW1vdW50AAQXdXNkY19wcm9maXRfbGFzdF9hbW91bnQJAQ10cnlHZXRJbnRlZ2VyAQIXdXNkY19wcm9maXRfbGFzdF9hbW91bnQDCQBnAgAABRd1c2RjX3Byb2ZpdF9sYXN0X2Ftb3VudAkAAgEJAKwCAgIceW91IGRvbnQgaGF2ZSBwcm9maXQgYW1vdW50IAkApAMBBRd1c2RjX3Byb2ZpdF9sYXN0X2Ftb3VudAQIdHJhbnNmZXIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFDGFkbWluX3dhbGxldAUXdXNkY19wcm9maXRfbGFzdF9hbW91bnQFBHVzZGMJAMwIAgUIdHJhbnNmZXIFA25pbAECdHgBBnZlcmlmeQAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXktXhFB", "height": 2203351, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BdxWrYCnJJezNwhL7WGAjXUKWAWLuV23ZzPPHkUHNjpf Next: GHUr75suPFacRdHFdTxxUrGdvcRBUCgi7Z7QfdfSAdCL Diff:
OldNewDifferences
3232 let n = f("usdn_all_credit")
3333 let o = (n + l)
3434 let p = {
35- let h = lastBlock.height
35+ let h = transactionHeightById(j.transactionId)
3636 if ($isInstanceOf(h, "Int"))
3737 then {
3838 let q = h
3939 q
4040 }
41- else throw("Error! with blochchain height")
41+ else throw("Error block number")
4242 }
4343 let r = invoke(Address(e), "usdN_stake", nil, [AttachedPayment(a, l)])
4444 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)]
45+ then {
46+ let s = {
47+ let h = r
48+ if ($isInstanceOf(h, "List[Any]"))
49+ then {
50+ let t = h
51+ t
52+ }
53+ else throw()
54+ }
55+ if ((s == s))
56+ 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)]
57+ else throw("Strict value is not equal to itself.")
58+ }
4659 else throw("Strict value is not equal to itself.")
4760 }
4861
5871 let n = f("usdc_all_credit")
5972 let o = (n + l)
6073 let p = {
61- let h = lastBlock.height
74+ let h = transactionHeightById(j.transactionId)
6275 if ($isInstanceOf(h, "Int"))
6376 then {
6477 let q = h
6881 }
6982 let r = invoke(Address(e), "usdC_stake", nil, [AttachedPayment(b, l)])
7083 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)]
84+ then {
85+ let s = {
86+ let h = r
87+ if ($isInstanceOf(h, "List[Any]"))
88+ then {
89+ let t = h
90+ t
91+ }
92+ else throw("Incorrect invoke result")
93+ }
94+ if ((s == s))
95+ 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)]
96+ else throw("Strict value is not equal to itself.")
97+ }
7298 else throw("Strict value is not equal to itself.")
7399 }
74100
75101
76102
77103 @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- }
104+func sell_usdn_ticket (u) = {
88105 let k = f((("usdn_" + toString(j.originCaller)) + "_credit"))
89- if ((t > k))
106+ if ((u > k))
90107 then throw(("sorry you can't withdraw this amount, because u=you have only " + toString(k)))
91108 else {
92- let m = (k - t)
109+ let m = (k - u)
93110 let n = f("usdn_all_credit")
94- let o = (n - t)
111+ let o = (n - u)
95112 let p = {
96- let h = lastBlock.height
113+ let h = transactionHeightById(j.transactionId)
97114 if ($isInstanceOf(h, "Int"))
98115 then {
99116 let q = h
101118 }
102119 else throw("Error block number")
103120 }
104- let r = invoke(Address(e), "usdN_cancelStake", [t], nil)
121+ let r = invoke(Address(e), "usdN_cancelStake", [u], nil)
105122 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)]
123+ then {
124+ let s = {
125+ let h = r
126+ if ($isInstanceOf(h, "List[Any]"))
127+ then {
128+ let t = h
129+ t
130+ }
131+ else throw("Incorrect invoke result")
132+ }
133+ if ((s == s))
134+ 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)]
135+ else throw("Strict value is not equal to itself.")
136+ }
107137 else throw("Strict value is not equal to itself.")
108138 }
109139 }
111141
112142
113143 @Callable(j)
114-func sell_usdc_ticket (t) = {
144+func sell_usdc_ticket (u) = {
115145 let k = f((("usdc_" + toString(j.originCaller)) + "_credit"))
116- if ((t > k))
146+ if ((u > k))
117147 then throw(("sorry you can't withdraw this amount, because u=you have only " + toString(k)))
118148 else {
119- let m = (k - t)
149+ let m = (k - u)
120150 let n = f("usdc_all_credit")
121- let o = (n - t)
151+ let o = (n - u)
122152 let p = {
123- let h = lastBlock.height
153+ let h = transactionHeightById(j.transactionId)
124154 if ($isInstanceOf(h, "Int"))
125155 then {
126156 let q = h
128158 }
129159 else throw("Error block number")
130160 }
131- let r = invoke(Address(e), "usdC_cancelStake", [t], nil)
161+ let r = invoke(Address(e), "usdC_cancelStake", [u], nil)
132162 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)]
163+ then {
164+ let s = {
165+ let h = r
166+ if ($isInstanceOf(h, "List[Any]"))
167+ then {
168+ let t = h
169+ t
170+ }
171+ else throw("Incorrect invoke result")
172+ }
173+ if ((s == s))
174+ 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)]
175+ else throw("Strict value is not equal to itself.")
176+ }
134177 else throw("Strict value is not equal to itself.")
135178 }
136179 }
144187 let v = f("usdn_profit_last_block")
145188 let w = f("usdn_profit_last_amount")
146189 let p = {
147- let h = lastBlock.height
190+ let h = transactionHeightById(j.transactionId)
148191 if ($isInstanceOf(h, "Int"))
149192 then {
150193 let q = h
170213 then throw(("you dont have profit amount " + toString(w)))
171214 else {
172215 let z = ScriptTransfer(addressFromStringValue(c), w, a)
173-[IntegerEntry("usdn_profit_last_amount", 0), z]
216+[z]
174217 }
175218 }
176219
183226 let A = f("usdc_profit_last_block")
184227 let B = f("usdc_profit_last_amount")
185228 let p = {
186- let h = lastBlock.height
229+ let h = transactionHeightById(j.transactionId)
187230 if ($isInstanceOf(h, "Int"))
188231 then {
189232 let q = h
209252 then throw(("you dont have profit amount " + toString(B)))
210253 else {
211254 let z = ScriptTransfer(addressFromStringValue(c), B, b)
212-[IntegerEntry("usdn_profit_last_amount", 0), z]
255+[z]
213256 }
214257 }
215258
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'FVXgJ86erBw5GAMeAw1CnYXwQn48BFAEAhRyHPUjbMQB'
55
66 let b = base58'HRut8ESAGXxwvsKJky1V96qRtqyXQd4Apq4GY7TE5yGP'
77
88 let c = "3N3DCngjidivkJbTJwFTEvbYRTffCWVBLCL"
99
1010 let d = 5
1111
1212 let e = base58'3MzwNdM8LQZEPXq3d4uXvxeZGpBwVQXs9RD'
1313
1414 func f (g) = {
1515 let h = getInteger(this, g)
1616 if ($isInstanceOf(h, "Int"))
1717 then {
1818 let i = h
1919 i
2020 }
2121 else 0
2222 }
2323
2424
2525 @Callable(j)
2626 func buy_usdn_ticket () = if ((j.payments[0].assetId != a))
2727 then throw("Please deposit USD-N token only")
2828 else {
2929 let k = f((("usdn_" + toString(j.originCaller)) + "_credit"))
3030 let l = j.payments[0].amount
3131 let m = (k + l)
3232 let n = f("usdn_all_credit")
3333 let o = (n + l)
3434 let p = {
35- let h = lastBlock.height
35+ let h = transactionHeightById(j.transactionId)
3636 if ($isInstanceOf(h, "Int"))
3737 then {
3838 let q = h
3939 q
4040 }
41- else throw("Error! with blochchain height")
41+ else throw("Error block number")
4242 }
4343 let r = invoke(Address(e), "usdN_stake", nil, [AttachedPayment(a, l)])
4444 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)]
45+ then {
46+ let s = {
47+ let h = r
48+ if ($isInstanceOf(h, "List[Any]"))
49+ then {
50+ let t = h
51+ t
52+ }
53+ else throw()
54+ }
55+ if ((s == s))
56+ 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)]
57+ else throw("Strict value is not equal to itself.")
58+ }
4659 else throw("Strict value is not equal to itself.")
4760 }
4861
4962
5063
5164 @Callable(j)
5265 func buy_usdc_ticket () = if ((j.payments[0].assetId != b))
5366 then throw("Please deposit USD-N token only")
5467 else {
5568 let k = f((("usdc_" + toString(j.originCaller)) + "_credit"))
5669 let l = j.payments[0].amount
5770 let m = (k + l)
5871 let n = f("usdc_all_credit")
5972 let o = (n + l)
6073 let p = {
61- let h = lastBlock.height
74+ let h = transactionHeightById(j.transactionId)
6275 if ($isInstanceOf(h, "Int"))
6376 then {
6477 let q = h
6578 q
6679 }
6780 else throw("Error block number")
6881 }
6982 let r = invoke(Address(e), "usdC_stake", nil, [AttachedPayment(b, l)])
7083 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)]
84+ then {
85+ let s = {
86+ let h = r
87+ if ($isInstanceOf(h, "List[Any]"))
88+ then {
89+ let t = h
90+ t
91+ }
92+ else throw("Incorrect invoke result")
93+ }
94+ if ((s == s))
95+ 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)]
96+ else throw("Strict value is not equal to itself.")
97+ }
7298 else throw("Strict value is not equal to itself.")
7399 }
74100
75101
76102
77103 @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- }
104+func sell_usdn_ticket (u) = {
88105 let k = f((("usdn_" + toString(j.originCaller)) + "_credit"))
89- if ((t > k))
106+ if ((u > k))
90107 then throw(("sorry you can't withdraw this amount, because u=you have only " + toString(k)))
91108 else {
92- let m = (k - t)
109+ let m = (k - u)
93110 let n = f("usdn_all_credit")
94- let o = (n - t)
111+ let o = (n - u)
95112 let p = {
96- let h = lastBlock.height
113+ let h = transactionHeightById(j.transactionId)
97114 if ($isInstanceOf(h, "Int"))
98115 then {
99116 let q = h
100117 q
101118 }
102119 else throw("Error block number")
103120 }
104- let r = invoke(Address(e), "usdN_cancelStake", [t], nil)
121+ let r = invoke(Address(e), "usdN_cancelStake", [u], nil)
105122 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)]
123+ then {
124+ let s = {
125+ let h = r
126+ if ($isInstanceOf(h, "List[Any]"))
127+ then {
128+ let t = h
129+ t
130+ }
131+ else throw("Incorrect invoke result")
132+ }
133+ if ((s == s))
134+ 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)]
135+ else throw("Strict value is not equal to itself.")
136+ }
107137 else throw("Strict value is not equal to itself.")
108138 }
109139 }
110140
111141
112142
113143 @Callable(j)
114-func sell_usdc_ticket (t) = {
144+func sell_usdc_ticket (u) = {
115145 let k = f((("usdc_" + toString(j.originCaller)) + "_credit"))
116- if ((t > k))
146+ if ((u > k))
117147 then throw(("sorry you can't withdraw this amount, because u=you have only " + toString(k)))
118148 else {
119- let m = (k - t)
149+ let m = (k - u)
120150 let n = f("usdc_all_credit")
121- let o = (n - t)
151+ let o = (n - u)
122152 let p = {
123- let h = lastBlock.height
153+ let h = transactionHeightById(j.transactionId)
124154 if ($isInstanceOf(h, "Int"))
125155 then {
126156 let q = h
127157 q
128158 }
129159 else throw("Error block number")
130160 }
131- let r = invoke(Address(e), "usdC_cancelStake", [t], nil)
161+ let r = invoke(Address(e), "usdC_cancelStake", [u], nil)
132162 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)]
163+ then {
164+ let s = {
165+ let h = r
166+ if ($isInstanceOf(h, "List[Any]"))
167+ then {
168+ let t = h
169+ t
170+ }
171+ else throw("Incorrect invoke result")
172+ }
173+ if ((s == s))
174+ 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)]
175+ else throw("Strict value is not equal to itself.")
176+ }
134177 else throw("Strict value is not equal to itself.")
135178 }
136179 }
137180
138181
139182
140183 @Callable(j)
141184 func usdn_calc_profit_amount () = if ((toString(j.originCaller) != c))
142185 then throw("Sorry! you are not allowed to use this funaction")
143186 else {
144187 let v = f("usdn_profit_last_block")
145188 let w = f("usdn_profit_last_amount")
146189 let p = {
147- let h = lastBlock.height
190+ let h = transactionHeightById(j.transactionId)
148191 if ($isInstanceOf(h, "Int"))
149192 then {
150193 let q = h
151194 q
152195 }
153196 else throw("Error block number")
154197 }
155198 let x = (p - v)
156199 if ((d > x))
157200 then throw((("Please try again after " + toString((d - x))) + " block"))
158201 else {
159202 let y = assetBalance(this, a)
160203 [IntegerEntry("usdn_profit_last_block", p), IntegerEntry("usdn_profit_last_amount", y)]
161204 }
162205 }
163206
164207
165208
166209 @Callable(j)
167210 func usdn_send_profit_amount () = {
168211 let w = f("usdn_profit_last_amount")
169212 if ((0 >= w))
170213 then throw(("you dont have profit amount " + toString(w)))
171214 else {
172215 let z = ScriptTransfer(addressFromStringValue(c), w, a)
173-[IntegerEntry("usdn_profit_last_amount", 0), z]
216+[z]
174217 }
175218 }
176219
177220
178221
179222 @Callable(j)
180223 func usdc_calc_profit_amount () = if ((toString(j.originCaller) != c))
181224 then throw("Sorry! you are not allowed to use this funaction")
182225 else {
183226 let A = f("usdc_profit_last_block")
184227 let B = f("usdc_profit_last_amount")
185228 let p = {
186- let h = lastBlock.height
229+ let h = transactionHeightById(j.transactionId)
187230 if ($isInstanceOf(h, "Int"))
188231 then {
189232 let q = h
190233 q
191234 }
192235 else throw("Error block number")
193236 }
194237 let x = (p - A)
195238 if ((d > x))
196239 then throw((("Please try again after " + toString((d - x))) + " block"))
197240 else {
198241 let C = assetBalance(this, b)
199242 [IntegerEntry("usdc_profit_last_block", p), IntegerEntry("usdc_profit_last_amount", C)]
200243 }
201244 }
202245
203246
204247
205248 @Callable(j)
206249 func usdc_send_profit_amount () = {
207250 let B = f("usdc_profit_last_amount")
208251 if ((0 >= B))
209252 then throw(("you dont have profit amount " + toString(B)))
210253 else {
211254 let z = ScriptTransfer(addressFromStringValue(c), B, b)
212-[IntegerEntry("usdn_profit_last_amount", 0), z]
255+[z]
213256 }
214257 }
215258
216259
217260 @Verifier(D)
218261 func E () = sigVerify(D.bodyBytes, D.proofs[0], D.senderPublicKey)
219262

github/deemru/w8io/169f3d6 
46.58 ms