tx · 9M1GXMg4vyPxSh3KdzRGASDfAR1PQ28mwuN7njpwWBj6

3NBbFNBed9tcU5AmsJAuExWvgJyNmJxqjWq:  -0.01000000 Waves

2023.09.10 01:32 [2748457] smart account 3NBbFNBed9tcU5AmsJAuExWvgJyNmJxqjWq > SELF 0.00000000 Waves

{ "type": 13, "id": "9M1GXMg4vyPxSh3KdzRGASDfAR1PQ28mwuN7njpwWBj6", "fee": 1000000, "feeAssetId": null, "timestamp": 1694298783744, "version": 2, "chainId": 84, "sender": "3NBbFNBed9tcU5AmsJAuExWvgJyNmJxqjWq", "senderPublicKey": "ERewvWFUFQfR1eCnipNAv9n7SdQhof2ESP6PGVjTueLd", "proofs": [ "RP71KJ3S9R5kuhvWLJARZ4BdMa1diF8PrjHa142Ch61DqLWhuZyy8TTuS1Hnqzko4HPnjLxTGjzBkbEZLbzHNVe" ], "script": "base64:BgILCAISABIAEgMKAQEHAAZ1c2RuSWQBIA/yHBKs5MQ8muxGGqslqLDsugcrRsxtiHLwteKSSQG0AA53YXZlczJMVG9rZW5JZAEg5M0p6rvBF5U2UTZL5Gl9iE5RU627hhSF/AmO2XdvzrEADHB1enpsZUxlbmRTQwIjM04zRG5WZmZuVXladHoyTVJiazVVN2dpTjExMldlbXBNTmQAEGZha2VQdXp6bGVTd2FwU0MCIzNNczhmcWJYTTRSaG1NNkNQVHI0NGhVd0hlMkNDbVZDZlZBAA51c2RuQWRkcmVzc1N0cgIsMjVGRXFFalJrcUs2eUNraVQ3THo2U0FZejdnVUZDdHhmQ0NobnJWRkQ1QVQAD3dhdmVzMkxUb2tlblN0cgIsR1E5UU5WTEdmWVNiTlo0ZFM4TlJ5dkdHRUxaTDRzV1BLaVZqODhDVjFySkwBDXRyeUdldEludGVnZXIBA2tleQQHJG1hdGNoMAkAmggCBQR0aGlzBQNrZXkDCQABAgUHJG1hdGNoMAIDSW50BAFiBQckbWF0Y2gwBQFiAAADAWkBCW1pbnRMb25nMgADAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwABBgkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50AAAJAAIBAiExIHBheW1lbnQgaGFzIHRvIGJlIGF0dGFjaGVkIG1pbnQEDWZpcnN0QW1vdW50SW4ICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BAhjYWxsZXJJZAkApQgBCAUBaQZjYWxsZXIEF2ZpcnN0U3dhcHBlZFdhdmVzQW1vdW50CQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQEFEGZha2VQdXp6bGVTd2FwU0MCC3N3YXBUb1dhdmVzCQDMCAIJAKUIAQgFAWkGY2FsbGVyCQDMCAIFDWZpcnN0QW1vdW50SW4FA25pbAUDbmlsAwkAAAIFF2ZpcnN0U3dhcHBlZFdhdmVzQW1vdW50BRdmaXJzdFN3YXBwZWRXYXZlc0Ftb3VudAQHJG1hdGNoMAUXZmlyc3RTd2FwcGVkV2F2ZXNBbW91bnQDCQABAgUHJG1hdGNoMAIDSW50BBdmaXJzdFN3YXBwZWRBbW91bnRWYWx1ZQUHJG1hdGNoMAQZZmlyc3REZXBvc2l0ZWRXYXZlc0Ftb3VudAkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBBQxwdXp6bGVMZW5kU0MCBnN1cHBseQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQR1bml0BRdmaXJzdFN3YXBwZWRBbW91bnRWYWx1ZQUDbmlsAwkAAAIFGWZpcnN0RGVwb3NpdGVkV2F2ZXNBbW91bnQFGWZpcnN0RGVwb3NpdGVkV2F2ZXNBbW91bnQEDmxpc3RQZXJjZW50YWdlCQDMCAIA8KIECQDMCAIA6P4CCQDMCAIA/IsCCQDMCAIAyrsBCQDMCAIAp4MBBQNuaWwKAQpyZXBlYXRGdW5jAgVhY2N1bQRuZXh0BAxib3Jyb3dlZFVzZG4JAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQUMcHV6emxlTGVuZFNDAgZib3Jyb3cJAMwIAgUOdXNkbkFkZHJlc3NTdHIJAMwIAgkAaQIJAGgCBQ1maXJzdEFtb3VudEluBQVhY2N1bQCgjQYFA25pbAUDbmlsAwkAAAIFDGJvcnJvd2VkVXNkbgUMYm9ycm93ZWRVc2RuBA1zd2FwcGVkQW1vdW50CQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQEFEGZha2VQdXp6bGVTd2FwU0MCC3N3YXBUb1dhdmVzCQDMCAIJAKUIAQgFAWkGY2FsbGVyCQDMCAIJAGkCCQBoAgUXZmlyc3RTd2FwcGVkQW1vdW50VmFsdWUFBWFjY3VtAKCNBgUDbmlsBQNuaWwDCQAAAgUNc3dhcHBlZEFtb3VudAUNc3dhcHBlZEFtb3VudAQHJG1hdGNoMQUNc3dhcHBlZEFtb3VudAMJAAECBQckbWF0Y2gxAgNJbnQEEnN3YXBwZWRBbW91bnRWYWx1ZQUHJG1hdGNoMQQOZGVwb3NpdGVkV2F2ZXMJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQUMcHV6emxlTGVuZFNDAgZzdXBwbHkFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdW5pdAUSc3dhcHBlZEFtb3VudFZhbHVlBQNuaWwDCQAAAgUOZGVwb3NpdGVkV2F2ZXMFDmRlcG9zaXRlZFdhdmVzCQBkAgkAaQIJAGgCBRdmaXJzdFN3YXBwZWRBbW91bnRWYWx1ZQUFYWNjdW0AoI0GCQBpAgkAaAIFF2ZpcnN0U3dhcHBlZEFtb3VudFZhbHVlBQRuZXh0AKCNBgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECF0luY29ycmVjdCBpbnZva2UgcmVzdWx0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBANyZXMKAAIkbAUObGlzdFBlcmNlbnRhZ2UKAAIkcwkAkAMBBQIkbAoABSRhY2MwAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBCnJlcGVhdEZ1bmMCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDUJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUDcmVzBQ53YXZlczJMVG9rZW5JZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIXSW5jb3JyZWN0IGludm9rZSByZXN1bHQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEObWludExvbmcyX3Rlc3QAAwMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQYJAAACCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAAACQACAQIhMSBwYXltZW50IGhhcyB0byBiZSBhdHRhY2hlZCBtaW50BA1maXJzdEFtb3VudEluCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQIY2FsbGVySWQJAKUIAQgFAWkGY2FsbGVyBBdmaXJzdFN3YXBwZWRXYXZlc0Ftb3VudAkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBBRBmYWtlUHV6emxlU3dhcFNDAgtzd2FwVG9XYXZlcwkAzAgCCQClCAEIBQFpBmNhbGxlcgkAzAgCBQ1maXJzdEFtb3VudEluBQNuaWwFA25pbAMJAAACBRdmaXJzdFN3YXBwZWRXYXZlc0Ftb3VudAUXZmlyc3RTd2FwcGVkV2F2ZXNBbW91bnQEByRtYXRjaDAFF2ZpcnN0U3dhcHBlZFdhdmVzQW1vdW50AwkAAQIFByRtYXRjaDACA0ludAQXZmlyc3RTd2FwcGVkQW1vdW50VmFsdWUFByRtYXRjaDAEGWZpcnN0RGVwb3NpdGVkV2F2ZXNBbW91bnQJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQUMcHV6emxlTGVuZFNDAgZzdXBwbHkFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdW5pdAUXZmlyc3RTd2FwcGVkQW1vdW50VmFsdWUFA25pbAMJAAACBRlmaXJzdERlcG9zaXRlZFdhdmVzQW1vdW50BRlmaXJzdERlcG9zaXRlZFdhdmVzQW1vdW50BA5saXN0UGVyY2VudGFnZQkAzAgCAEYJAMwIAgAxCQDMCAIAIgkAzAgCABgJAMwIAgARBQNuaWwKAQpyZXBlYXRGdW5jAgVhY2N1bQRuZXh0CQBkAgUFYWNjdW0FBG5leHQEA3JlcwoAAiRsBQ5saXN0UGVyY2VudGFnZQoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEKcmVwZWF0RnVuYwIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgNQkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUJAMwIAgkBDEludGVnZXJFbnRyeQICA3JlcwUDcmVzCQDMCAIJAQxJbnRlZ2VyRW50cnkCAg1maXJzdEFtb3VudEluBQ1maXJzdEFtb3VudEluCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhdmaXJzdFN3YXBwZWRBbW91bnRWYWx1ZQUXZmlyc3RTd2FwcGVkQW1vdW50VmFsdWUJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyCQBpAgkAaAIFF2ZpcnN0U3dhcHBlZEFtb3VudFZhbHVlBQNyZXMAZAUOd2F2ZXMyTFRva2VuSWQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECF0luY29ycmVjdCBpbnZva2UgcmVzdWx0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBBnJlZGVlbQELd2F2ZXNBbW91bnQEC3VzZXJBZGRyZXNzCQClCAEIBQFpBmNhbGxlcgQScmVkZWVtZWRVU0ROQW1vdW50CQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQEFEGZha2VQdXp6bGVTd2FwU0MCCnN3YXBUb1VTRE4JAMwIAgULd2F2ZXNBbW91bnQJAMwIAgULdXNlckFkZHJlc3MFA25pbAUDbmlsAwkAAAIFEnJlZGVlbWVkVVNETkFtb3VudAUScmVkZWVtZWRVU0ROQW1vdW50BAckbWF0Y2gwBRJyZWRlZW1lZFVTRE5BbW91bnQDCQABAgUHJG1hdGNoMAIDSW50BBNyZWRlZW1lZEFtb3VudFZhbHVlBQckbWF0Y2gwCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFC3VzZXJBZGRyZXNzAglfcmVkZWVtZWQFE3JlZGVlbWVkQW1vdW50VmFsdWUFA25pbAkAAgECF0luY29ycmVjdCBpbnZva2UgcmVzdWx0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJ0eAEGdmVyaWZ5AAkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleUi1saA=", "height": 2748457, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: H8KncYLXbT6sF5h718WNjdkEsqhaeRLE2B94V466wpT5 Next: 9r13MP4p7h4LYk5QQeuiHMJKmQ4TNUan2fkA8BJL98Q Diff:
OldNewDifferences
9898 if ((firstDepositedWavesAmount == firstDepositedWavesAmount))
9999 then {
100100 let listPercentage = [70, 49, 34, 24, 17]
101- func repeatFunc (accum,next) = {
102- let borrowedUsdn = invoke(addressFromStringValue(puzzleLendSC), "borrow", [usdnAddressStr, ((firstAmountIn * accum) / 100)], nil)
103- if ((borrowedUsdn == borrowedUsdn))
104- then {
105- let swappedAmount = invoke(addressFromStringValue(fakePuzzleSwapSC), "swapToWaves", [toString(i.caller), ((firstSwappedAmountValue * accum) / 100)], nil)
106- if ((swappedAmount == swappedAmount))
107- then (accum + next)
108- else throw("Strict value is not equal to itself.")
109- }
110- else throw("Strict value is not equal to itself.")
111- }
101+ func repeatFunc (accum,next) = (accum + next)
112102
113103 let res = {
114104 let $l = listPercentage
124114
125115 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
126116 }
127-[IntegerEntry("res", res), IntegerEntry("firstAmountIn", firstAmountIn), IntegerEntry("firstSwappedAmountValue", firstSwappedAmountValue)]
117+[IntegerEntry("res", res), IntegerEntry("firstAmountIn", firstAmountIn), IntegerEntry("firstSwappedAmountValue", firstSwappedAmountValue), ScriptTransfer(i.caller, ((firstSwappedAmountValue * res) / 100), waves2LTokenId)]
128118 }
129119 else throw("Strict value is not equal to itself.")
130120 case _ =>
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let usdnId = base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT'
55
66 let waves2LTokenId = base58'GQ9QNVLGfYSbNZ4dS8NRyvGGELZL4sWPKiVj88CV1rJL'
77
88 let puzzleLendSC = "3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"
99
1010 let fakePuzzleSwapSC = "3Ms8fqbXM4RhmM6CPTr44hUwHe2CCmVCfVA"
1111
1212 let usdnAddressStr = "25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT"
1313
1414 let waves2LTokenStr = "GQ9QNVLGfYSbNZ4dS8NRyvGGELZL4sWPKiVj88CV1rJL"
1515
1616 func tryGetInteger (key) = match getInteger(this, key) {
1717 case b: Int =>
1818 b
1919 case _ =>
2020 0
2121 }
2222
2323
2424 @Callable(i)
2525 func mintLong2 () = if (if ((size(i.payments) != 1))
2626 then true
2727 else (i.payments[0].amount == 0))
2828 then throw("1 payment has to be attached mint")
2929 else {
3030 let firstAmountIn = i.payments[0].amount
3131 let callerId = toString(i.caller)
3232 let firstSwappedWavesAmount = invoke(addressFromStringValue(fakePuzzleSwapSC), "swapToWaves", [toString(i.caller), firstAmountIn], nil)
3333 if ((firstSwappedWavesAmount == firstSwappedWavesAmount))
3434 then match firstSwappedWavesAmount {
3535 case firstSwappedAmountValue: Int =>
3636 let firstDepositedWavesAmount = invoke(addressFromStringValue(puzzleLendSC), "supply", nil, [AttachedPayment(unit, firstSwappedAmountValue)])
3737 if ((firstDepositedWavesAmount == firstDepositedWavesAmount))
3838 then {
3939 let listPercentage = [70000, 49000, 34300, 24010, 16807]
4040 func repeatFunc (accum,next) = {
4141 let borrowedUsdn = invoke(addressFromStringValue(puzzleLendSC), "borrow", [usdnAddressStr, ((firstAmountIn * accum) / 100000)], nil)
4242 if ((borrowedUsdn == borrowedUsdn))
4343 then {
4444 let swappedAmount = invoke(addressFromStringValue(fakePuzzleSwapSC), "swapToWaves", [toString(i.caller), ((firstSwappedAmountValue * accum) / 100000)], nil)
4545 if ((swappedAmount == swappedAmount))
4646 then match swappedAmount {
4747 case swappedAmountValue: Int =>
4848 let depositedWaves = invoke(addressFromStringValue(puzzleLendSC), "supply", nil, [AttachedPayment(unit, swappedAmountValue)])
4949 if ((depositedWaves == depositedWaves))
5050 then (((firstSwappedAmountValue * accum) / 100000) + ((firstSwappedAmountValue * next) / 100000))
5151 else throw("Strict value is not equal to itself.")
5252 case _ =>
5353 throw("Incorrect invoke result")
5454 }
5555 else throw("Strict value is not equal to itself.")
5656 }
5757 else throw("Strict value is not equal to itself.")
5858 }
5959
6060 let res = {
6161 let $l = listPercentage
6262 let $s = size($l)
6363 let $acc0 = 0
6464 func $f0_1 ($a,$i) = if (($i >= $s))
6565 then $a
6666 else repeatFunc($a, $l[$i])
6767
6868 func $f0_2 ($a,$i) = if (($i >= $s))
6969 then $a
7070 else throw("List size exceeds 5")
7171
7272 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
7373 }
7474 [ScriptTransfer(i.caller, res, waves2LTokenId)]
7575 }
7676 else throw("Strict value is not equal to itself.")
7777 case _ =>
7878 throw("Incorrect invoke result")
7979 }
8080 else throw("Strict value is not equal to itself.")
8181 }
8282
8383
8484
8585 @Callable(i)
8686 func mintLong2_test () = if (if ((size(i.payments) != 1))
8787 then true
8888 else (i.payments[0].amount == 0))
8989 then throw("1 payment has to be attached mint")
9090 else {
9191 let firstAmountIn = i.payments[0].amount
9292 let callerId = toString(i.caller)
9393 let firstSwappedWavesAmount = invoke(addressFromStringValue(fakePuzzleSwapSC), "swapToWaves", [toString(i.caller), firstAmountIn], nil)
9494 if ((firstSwappedWavesAmount == firstSwappedWavesAmount))
9595 then match firstSwappedWavesAmount {
9696 case firstSwappedAmountValue: Int =>
9797 let firstDepositedWavesAmount = invoke(addressFromStringValue(puzzleLendSC), "supply", nil, [AttachedPayment(unit, firstSwappedAmountValue)])
9898 if ((firstDepositedWavesAmount == firstDepositedWavesAmount))
9999 then {
100100 let listPercentage = [70, 49, 34, 24, 17]
101- func repeatFunc (accum,next) = {
102- let borrowedUsdn = invoke(addressFromStringValue(puzzleLendSC), "borrow", [usdnAddressStr, ((firstAmountIn * accum) / 100)], nil)
103- if ((borrowedUsdn == borrowedUsdn))
104- then {
105- let swappedAmount = invoke(addressFromStringValue(fakePuzzleSwapSC), "swapToWaves", [toString(i.caller), ((firstSwappedAmountValue * accum) / 100)], nil)
106- if ((swappedAmount == swappedAmount))
107- then (accum + next)
108- else throw("Strict value is not equal to itself.")
109- }
110- else throw("Strict value is not equal to itself.")
111- }
101+ func repeatFunc (accum,next) = (accum + next)
112102
113103 let res = {
114104 let $l = listPercentage
115105 let $s = size($l)
116106 let $acc0 = 0
117107 func $f0_1 ($a,$i) = if (($i >= $s))
118108 then $a
119109 else repeatFunc($a, $l[$i])
120110
121111 func $f0_2 ($a,$i) = if (($i >= $s))
122112 then $a
123113 else throw("List size exceeds 5")
124114
125115 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
126116 }
127-[IntegerEntry("res", res), IntegerEntry("firstAmountIn", firstAmountIn), IntegerEntry("firstSwappedAmountValue", firstSwappedAmountValue)]
117+[IntegerEntry("res", res), IntegerEntry("firstAmountIn", firstAmountIn), IntegerEntry("firstSwappedAmountValue", firstSwappedAmountValue), ScriptTransfer(i.caller, ((firstSwappedAmountValue * res) / 100), waves2LTokenId)]
128118 }
129119 else throw("Strict value is not equal to itself.")
130120 case _ =>
131121 throw("Incorrect invoke result")
132122 }
133123 else throw("Strict value is not equal to itself.")
134124 }
135125
136126
137127
138128 @Callable(i)
139129 func redeem (wavesAmount) = {
140130 let userAddress = toString(i.caller)
141131 let redeemedUSDNAmount = invoke(addressFromStringValue(fakePuzzleSwapSC), "swapToUSDN", [wavesAmount, userAddress], nil)
142132 if ((redeemedUSDNAmount == redeemedUSDNAmount))
143133 then match redeemedUSDNAmount {
144134 case redeemedAmountValue: Int =>
145135 [IntegerEntry((userAddress + "_redeemed"), redeemedAmountValue)]
146136 case _ =>
147137 throw("Incorrect invoke result")
148138 }
149139 else throw("Strict value is not equal to itself.")
150140 }
151141
152142
153143 @Verifier(tx)
154144 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
155145

github/deemru/w8io/873ac7e 
55.11 ms