tx · 4yjhaehSSSKwF8CpjdkAqrXRmRPShNM4x8JLWvx3iatG

3NBbFNBed9tcU5AmsJAuExWvgJyNmJxqjWq:  -0.01000000 Waves

2023.06.27 11:12 [2640797] smart account 3NBbFNBed9tcU5AmsJAuExWvgJyNmJxqjWq > SELF 0.00000000 Waves

{ "type": 13, "id": "4yjhaehSSSKwF8CpjdkAqrXRmRPShNM4x8JLWvx3iatG", "fee": 1000000, "feeAssetId": null, "timestamp": 1687853530749, "version": 2, "chainId": 84, "sender": "3NBbFNBed9tcU5AmsJAuExWvgJyNmJxqjWq", "senderPublicKey": "ERewvWFUFQfR1eCnipNAv9n7SdQhof2ESP6PGVjTueLd", "proofs": [ "5BeswQXpjzrcEqUEoqPhoeqsBNiYHyVprNcZCvQbCCd82viKXRRWnwbhTx5UYZJco3hahNvE5hzKxEgxrMvwbAuf" ], "script": "base64:BgIqCAISBAoCAQgSAwoBARIDCgEBEgMKAQESBAoCCAESABIECgIIARIDCgEIBQADYXJyCQDMCAIAAQkAzAgCAAIJAMwIAgADCQDMCAIABAkAzAgCAAUFA25pbAAEYXJyMgkAzAgCAAEJAMwIAgACBQNuaWwBA3N1bQIBYQFiCQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNOM0RuVmZmblV5WnR6Mk1SYms1VTdnaU4xMTJXZW1wTU5kAgZib3Jyb3cJAMwIAgIsMjVGRXFFalJrcUs2eUNraVQ3THo2U0FZejdnVUZDdHhmQ0NobnJWRkQ1QVQJAMwIAgDAhD0FA25pbAUDbmlsAQ9nZXRDdXJyZW50UHJpY2UBCmFzc2V0SWRTdHIDCQAAAgUKYXNzZXRJZFN0cgIFV0FWRVMAAgkAAgECBUVycm9yAQpnZXRCYWxhbmNlAgphc3NldElkU3RyB2FkZHJlc3MDCQAAAgUKYXNzZXRJZFN0cgIFV0FWRVMICQDvBwEFB2FkZHJlc3MJYXZhaWxhYmxlCQDwBwIFB2FkZHJlc3MJANkEAQUKYXNzZXRJZFN0cggBaQENdHJhbnNmZXJUb2tlbgILYXNzZXRBbW91bnQQcmVjaXBpZW50QWRkcmVzcwMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECLG9ubHkgZm9yIGludGVybmFsIHNtYXJ0IGNvbnRyYWN0IGludm9jYXRpb25zCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBHRoaXMFC2Fzc2V0QW1vdW50BQR1bml0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFEHJlY2lwaWVudEFkZHJlc3MCEF9kZXBvc2l0ZWRfV0FWRVMFC2Fzc2V0QW1vdW50BQNuaWwBaQEGbG9uZzJ4AQthc3NldEFtb3VudAQHYWRkcmVzcwkApQgBCAUBaQZjYWxsZXIEDWN1cnJlbnRBbW91bnQJAQpnZXRCYWxhbmNlAgIFV0FWRVMIBQFpBmNhbGxlcgMJAGYCBQ1jdXJyZW50QW1vdW50BQthc3NldEFtb3VudAoBCnJlcGVhdEZ1bmMCBWFjY3VtBG5leHQEDnRyYW5zZmVyUmVzdWx0CQD8BwQFBHRoaXMCDXRyYW5zZmVyVG9rZW4JAMwIAgULYXNzZXRBbW91bnQJAMwIAggFAWkGY2FsbGVyBQNuaWwFA25pbAMJAAACBQ50cmFuc2ZlclJlc3VsdAUOdHJhbnNmZXJSZXN1bHQEDHN1cHBseVJlc3VsdAkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBAiMzTjNEblZmZm5VeVp0ejJNUmJrNVU3Z2lOMTEyV2VtcE1OZAIGc3VwcGx5BQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBHVuaXQFC2Fzc2V0QW1vdW50BQNuaWwDCQAAAgUMc3VwcGx5UmVzdWx0BQxzdXBwbHlSZXN1bHQEDGJvcnJvd1Jlc3VsdAkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBAiMzTjNEblZmZm5VeVp0ejJNUmJrNVU3Z2lOMTEyV2VtcE1OZAIGYm9ycm93CQDMCAICLDI1RkVxRWpSa3FLNnlDa2lUN0x6NlNBWXo3Z1VGQ3R4ZkNDaG5yVkZENUFUCQDMCAIJAGkCCQBoAgULYXNzZXRBbW91bnQJAQ9nZXRDdXJyZW50UHJpY2UBAgVXQVZFUwBkBQNuaWwFA25pbAMJAAACBQxib3Jyb3dSZXN1bHQFDGJvcnJvd1Jlc3VsdAkAZAIFBWFjY3VtBQRuZXh0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBAVhcnJheQkAzAgCBQthc3NldEFtb3VudAkAzAgCBQthc3NldEFtb3VudAUDbmlsBANyZXMKAAIkbAUFYXJyYXkKAAIkcwkAkAMBBQIkbAoABSRhY2MwAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBCnJlcGVhdEZ1bmMCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDIJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgUHYWRkcmVzcwIKX2JvcnJvd2VkXwIsMjVGRXFFalJrcUs2eUNraVQ3THo2U0FZejdnVUZDdHhmQ0NobnJWRkQ1QVQJAGgCBQthc3NldEFtb3VudAkBD2dldEN1cnJlbnRQcmljZQECBVdBVkVTCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgkAaQIJAGgCBQNyZXMJAQ9nZXRDdXJyZW50UHJpY2UBAgVXQVZFUwBkASAP8hwSrOTEPJrsRhqrJaiw7LoHK0bMbYhy8LXikkkBtAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQR0aGlzBQNyZXMFBHVuaXQFA25pbAkAAgECBkVycm9yIQFpAQZib3Jyb3cBC2Fzc2V0QW1vdW50BAdhZGRyZXNzCQClCAEIBQFpBmNhbGxlcgQDcmVzCQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNOM0RuVmZmblV5WnR6Mk1SYms1VTdnaU4xMTJXZW1wTU5kAgZib3Jyb3cJAMwIAgIsMjVGRXFFalJrcUs2eUNraVQ3THo2U0FZejdnVUZDdHhmQ0NobnJWRkQ1QVQJAMwIAgULYXNzZXRBbW91bnQFA25pbAUDbmlsAwkAAAIFA3JlcwUDcmVzCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgULYXNzZXRBbW91bnQBIA/yHBKs5MQ8muxGGqslqLDsugcrRsxtiHLwteKSSQG0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgUHYWRkcmVzcwIKX2JvcnJvd2VkXwIsMjVGRXFFalJrcUs2eUNraVQ3THo2U0FZejdnVUZDdHhmQ0NobnJWRkQ1QVQFC2Fzc2V0QW1vdW50BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEHYm9ycm93MgELYXNzZXRBbW91bnQEB2FkZHJlc3MJAKUIAQgFAWkGY2FsbGVyCgEKcmVwZWF0RnVuYwIFYWNjdW0EbmV4dAQGcmVzdWx0CQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNOM0RuVmZmblV5WnR6Mk1SYms1VTdnaU4xMTJXZW1wTU5kAgZib3Jyb3cJAMwIAgIsMjVGRXFFalJrcUs2eUNraVQ3THo2U0FZejdnVUZDdHhmQ0NobnJWRkQ1QVQJAMwIAgULYXNzZXRBbW91bnQFA25pbAUDbmlsAwkAAAIFBnJlc3VsdAUGcmVzdWx0CQBkAgUFYWNjdW0FBG5leHQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4EBWFycmF5CQDMCAIFC2Fzc2V0QW1vdW50CQDMCAIFC2Fzc2V0QW1vdW50BQNuaWwEA3JlcwoAAiRsBQVhcnJheQoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEKcmVwZWF0RnVuYwIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgMgkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICBQdhZGRyZXNzAgpfYm9ycm93ZWRfAiwyNUZFcUVqUmtxSzZ5Q2tpVDdMejZTQVl6N2dVRkN0eGZDQ2huclZGRDVBVAULYXNzZXRBbW91bnQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQNyZXMBIA/yHBKs5MQ8muxGGqslqLDsugcrRsxtiHLwteKSSQG0BQNuaWwBaQEHYm9ycm93NQIKYXNzZXRJZFN0cgthc3NldEFtb3VudAQHYWRkcmVzcwkApQgBCAUBaQZjYWxsZXIEA3JlcwoAAiRsBQNhcnIKAAIkcwkAkAMBBQIkbAoABSRhY2MwAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBA3N1bQIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgNQkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUDCQAAAgUDcmVzBQNyZXMJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICBQdhZGRyZXNzAgpfYm9ycm93ZWRfBQphc3NldElkU3RyBQthc3NldEFtb3VudAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBB2RlcG9zaXQABAdhZGRyZXNzCQClCAEIBQFpBmNhbGxlcgQDcmVzCQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNOM0RuVmZmblV5WnR6Mk1SYms1VTdnaU4xMTJXZW1wTU5kAgZzdXBwbHkFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdW5pdADAhD0FA25pbAMJAAACBQNyZXMFA3JlcwkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICBQdhZGRyZXNzAgxzdXBwbHlfd2F2ZXMAwIQ9BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEId2l0aGRyYXcCCmFzc2V0SWRTdHILYXNzZXRBbW91bnQEB2FkZHJlc3MJAKUIAQgFAWkGY2FsbGVyBANyZXMJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQIjM04zRG5WZmZuVXladHoyTVJiazVVN2dpTjExMldlbXBNTmQCCHdpdGhkcmF3CQDMCAIFCmFzc2V0SWRTdHIJAMwIAgULYXNzZXRBbW91bnQFA25pbAUDbmlsAwkAAAIFA3JlcwUDcmVzCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgUHYWRkcmVzcwIKX3dpdGhkcmV3XwUKYXNzZXRJZFN0cgULYXNzZXRBbW91bnQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQxjaGVja0JhbGFuY2UBCmFzc2V0SWRTdHIEB2FkZHJlc3MIBQFpBmNhbGxlcgMJAAACBQphc3NldElkU3RyAgVXQVZFUwkAzAgCCQEMSW50ZWdlckVudHJ5AgINV2F2ZXMgQmFsYW5jZQgJAO8HAQUHYWRkcmVzcwlhdmFpbGFibGUFA25pbAkAzAgCCQEMSW50ZWdlckVudHJ5AgINQXNzZXQgQmFsYW5jZQkA8AcCBQdhZGRyZXNzCQDZBAEFCmFzc2V0SWRTdHIFA25pbAECdHgBBnZlcmlmeQAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXk+o2wI", "height": 2640797, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3GRdukLdzBj5FT5SjVzMEBWhxEHUVPfEeuujmqoA4qwX Next: BLkAVQsubnWRZRfXW2ye8WAzFx7G25tMjhJ2mP36hT2T Diff:
OldNewDifferences
1919
2020
2121 @Callable(i)
22+func transferToken (assetAmount,recipientAddress) = if ((i.caller != this))
23+ then throw("only for internal smart contract invocations")
24+ else [ScriptTransfer(this, assetAmount, unit), IntegerEntry((recipientAddress + "_deposited_WAVES"), assetAmount)]
25+
26+
27+
28+@Callable(i)
2229 func long2x (assetAmount) = {
2330 let address = toString(i.caller)
2431 let currentAmount = getBalance("WAVES", i.caller)
2532 if ((currentAmount > assetAmount))
2633 then {
2734 func repeatFunc (accum,next) = {
28- let supplyResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "supply", nil, [AttachedPayment(unit, assetAmount)])
29- if ((supplyResult == supplyResult))
35+ let transferResult = invoke(this, "transferToken", [assetAmount, i.caller], nil)
36+ if ((transferResult == transferResult))
3037 then {
31- let borrowResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", ((assetAmount * getCurrentPrice("WAVES")) / 100)], nil)
32- if ((borrowResult == borrowResult))
33- then (accum + next)
38+ let supplyResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "supply", nil, [AttachedPayment(unit, assetAmount)])
39+ if ((supplyResult == supplyResult))
40+ then {
41+ let borrowResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", ((assetAmount * getCurrentPrice("WAVES")) / 100)], nil)
42+ if ((borrowResult == borrowResult))
43+ then (accum + next)
44+ else throw("Strict value is not equal to itself.")
45+ }
3446 else throw("Strict value is not equal to itself.")
3547 }
3648 else throw("Strict value is not equal to itself.")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let arr = [1, 2, 3, 4, 5]
55
66 let arr2 = [1, 2]
77
88 func sum (a,b) = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", 1000000], nil)
99
1010
1111 func getCurrentPrice (assetIdStr) = if ((assetIdStr == "WAVES"))
1212 then 2
1313 else throw("Error")
1414
1515
1616 func getBalance (assetIdStr,address) = if ((assetIdStr == "WAVES"))
1717 then wavesBalance(address).available
1818 else assetBalance(address, fromBase58String(assetIdStr))
1919
2020
2121 @Callable(i)
22+func transferToken (assetAmount,recipientAddress) = if ((i.caller != this))
23+ then throw("only for internal smart contract invocations")
24+ else [ScriptTransfer(this, assetAmount, unit), IntegerEntry((recipientAddress + "_deposited_WAVES"), assetAmount)]
25+
26+
27+
28+@Callable(i)
2229 func long2x (assetAmount) = {
2330 let address = toString(i.caller)
2431 let currentAmount = getBalance("WAVES", i.caller)
2532 if ((currentAmount > assetAmount))
2633 then {
2734 func repeatFunc (accum,next) = {
28- let supplyResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "supply", nil, [AttachedPayment(unit, assetAmount)])
29- if ((supplyResult == supplyResult))
35+ let transferResult = invoke(this, "transferToken", [assetAmount, i.caller], nil)
36+ if ((transferResult == transferResult))
3037 then {
31- let borrowResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", ((assetAmount * getCurrentPrice("WAVES")) / 100)], nil)
32- if ((borrowResult == borrowResult))
33- then (accum + next)
38+ let supplyResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "supply", nil, [AttachedPayment(unit, assetAmount)])
39+ if ((supplyResult == supplyResult))
40+ then {
41+ let borrowResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", ((assetAmount * getCurrentPrice("WAVES")) / 100)], nil)
42+ if ((borrowResult == borrowResult))
43+ then (accum + next)
44+ else throw("Strict value is not equal to itself.")
45+ }
3446 else throw("Strict value is not equal to itself.")
3547 }
3648 else throw("Strict value is not equal to itself.")
3749 }
3850
3951 let array = [assetAmount, assetAmount]
4052 let res = {
4153 let $l = array
4254 let $s = size($l)
4355 let $acc0 = 0
4456 func $f0_1 ($a,$i) = if (($i >= $s))
4557 then $a
4658 else repeatFunc($a, $l[$i])
4759
4860 func $f0_2 ($a,$i) = if (($i >= $s))
4961 then $a
5062 else throw("List size exceeds 2")
5163
5264 $f0_2($f0_1($f0_1($acc0, 0), 1), 2)
5365 }
5466 [IntegerEntry(((address + "_borrowed_") + "25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT"), (assetAmount * getCurrentPrice("WAVES"))), ScriptTransfer(i.caller, ((res * getCurrentPrice("WAVES")) / 100), base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT'), ScriptTransfer(this, res, unit)]
5567 }
5668 else throw("Error!")
5769 }
5870
5971
6072
6173 @Callable(i)
6274 func borrow (assetAmount) = {
6375 let address = toString(i.caller)
6476 let res = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", assetAmount], nil)
6577 if ((res == res))
6678 then [ScriptTransfer(i.caller, assetAmount, base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT'), IntegerEntry(((address + "_borrowed_") + "25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT"), assetAmount)]
6779 else throw("Strict value is not equal to itself.")
6880 }
6981
7082
7183
7284 @Callable(i)
7385 func borrow2 (assetAmount) = {
7486 let address = toString(i.caller)
7587 func repeatFunc (accum,next) = {
7688 let result = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", assetAmount], nil)
7789 if ((result == result))
7890 then (accum + next)
7991 else throw("Strict value is not equal to itself.")
8092 }
8193
8294 let array = [assetAmount, assetAmount]
8395 let res = {
8496 let $l = array
8597 let $s = size($l)
8698 let $acc0 = 0
8799 func $f0_1 ($a,$i) = if (($i >= $s))
88100 then $a
89101 else repeatFunc($a, $l[$i])
90102
91103 func $f0_2 ($a,$i) = if (($i >= $s))
92104 then $a
93105 else throw("List size exceeds 2")
94106
95107 $f0_2($f0_1($f0_1($acc0, 0), 1), 2)
96108 }
97109 [IntegerEntry(((address + "_borrowed_") + "25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT"), assetAmount), ScriptTransfer(i.caller, res, base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT')]
98110 }
99111
100112
101113
102114 @Callable(i)
103115 func borrow5 (assetIdStr,assetAmount) = {
104116 let address = toString(i.caller)
105117 let res = {
106118 let $l = arr
107119 let $s = size($l)
108120 let $acc0 = 0
109121 func $f0_1 ($a,$i) = if (($i >= $s))
110122 then $a
111123 else sum($a, $l[$i])
112124
113125 func $f0_2 ($a,$i) = if (($i >= $s))
114126 then $a
115127 else throw("List size exceeds 5")
116128
117129 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
118130 }
119131 if ((res == res))
120132 then [IntegerEntry(((address + "_borrowed_") + assetIdStr), assetAmount)]
121133 else throw("Strict value is not equal to itself.")
122134 }
123135
124136
125137
126138 @Callable(i)
127139 func deposit () = {
128140 let address = toString(i.caller)
129141 let res = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "supply", nil, [AttachedPayment(unit, 1000000)])
130142 if ((res == res))
131143 then [IntegerEntry((address + "supply_waves"), 1000000)]
132144 else throw("Strict value is not equal to itself.")
133145 }
134146
135147
136148
137149 @Callable(i)
138150 func withdraw (assetIdStr,assetAmount) = {
139151 let address = toString(i.caller)
140152 let res = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "withdraw", [assetIdStr, assetAmount], nil)
141153 if ((res == res))
142154 then [IntegerEntry(((address + "_withdrew_") + assetIdStr), assetAmount)]
143155 else throw("Strict value is not equal to itself.")
144156 }
145157
146158
147159
148160 @Callable(i)
149161 func checkBalance (assetIdStr) = {
150162 let address = i.caller
151163 if ((assetIdStr == "WAVES"))
152164 then [IntegerEntry("Waves Balance", wavesBalance(address).available)]
153165 else [IntegerEntry("Asset Balance", assetBalance(address, fromBase58String(assetIdStr)))]
154166 }
155167
156168
157169 @Verifier(tx)
158170 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
159171

github/deemru/w8io/169f3d6 
36.10 ms