tx · 7zoqQCYzxjNN1aMeDiqoEuBRwYoiQCq3wCxiUJJwQAF3

3NBbFNBed9tcU5AmsJAuExWvgJyNmJxqjWq:  -0.01000000 Waves

2023.09.10 01:30 [2748456] smart account 3NBbFNBed9tcU5AmsJAuExWvgJyNmJxqjWq > SELF 0.00000000 Waves

{ "type": 13, "id": "7zoqQCYzxjNN1aMeDiqoEuBRwYoiQCq3wCxiUJJwQAF3", "fee": 1000000, "feeAssetId": null, "timestamp": 1694298654526, "version": 2, "chainId": 84, "sender": "3NBbFNBed9tcU5AmsJAuExWvgJyNmJxqjWq", "senderPublicKey": "ERewvWFUFQfR1eCnipNAv9n7SdQhof2ESP6PGVjTueLd", "proofs": [ "8U9w9TSM7iWjRLzFBgE3bPkabEj2b2Y4LtYya9thdsJnK3JKZwQ2NRfv3naNNcbehUeeCgbouMWn3oK48ecphqa" ], "script": "base64:BgILCAISABIAEgMKAQEHAAZ1c2RuSWQBIA/yHBKs5MQ8muxGGqslqLDsugcrRsxtiHLwteKSSQG0AA53YXZlczJMVG9rZW5JZAEg5M0p6rvBF5U2UTZL5Gl9iE5RU627hhSF/AmO2XdvzrEADHB1enpsZUxlbmRTQwIjM04zRG5WZmZuVXladHoyTVJiazVVN2dpTjExMldlbXBNTmQAEGZha2VQdXp6bGVTd2FwU0MCIzNNczhmcWJYTTRSaG1NNkNQVHI0NGhVd0hlMkNDbVZDZlZBAA51c2RuQWRkcmVzc1N0cgIsMjVGRXFFalJrcUs2eUNraVQ3THo2U0FZejdnVUZDdHhmQ0NobnJWRkQ1QVQAD3dhdmVzMkxUb2tlblN0cgIsR1E5UU5WTEdmWVNiTlo0ZFM4TlJ5dkdHRUxaTDRzV1BLaVZqODhDVjFySkwBDXRyeUdldEludGVnZXIBA2tleQQHJG1hdGNoMAkAmggCBQR0aGlzBQNrZXkDCQABAgUHJG1hdGNoMAIDSW50BAFiBQckbWF0Y2gwBQFiAAADAWkBCW1pbnRMb25nMgADAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwABBgkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50AAAJAAIBAiExIHBheW1lbnQgaGFzIHRvIGJlIGF0dGFjaGVkIG1pbnQEDWZpcnN0QW1vdW50SW4ICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BAhjYWxsZXJJZAkApQgBCAUBaQZjYWxsZXIEF2ZpcnN0U3dhcHBlZFdhdmVzQW1vdW50CQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQEFEGZha2VQdXp6bGVTd2FwU0MCC3N3YXBUb1dhdmVzCQDMCAIJAKUIAQgFAWkGY2FsbGVyCQDMCAIFDWZpcnN0QW1vdW50SW4FA25pbAUDbmlsAwkAAAIFF2ZpcnN0U3dhcHBlZFdhdmVzQW1vdW50BRdmaXJzdFN3YXBwZWRXYXZlc0Ftb3VudAQHJG1hdGNoMAUXZmlyc3RTd2FwcGVkV2F2ZXNBbW91bnQDCQABAgUHJG1hdGNoMAIDSW50BBdmaXJzdFN3YXBwZWRBbW91bnRWYWx1ZQUHJG1hdGNoMAQZZmlyc3REZXBvc2l0ZWRXYXZlc0Ftb3VudAkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBBQxwdXp6bGVMZW5kU0MCBnN1cHBseQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQR1bml0BRdmaXJzdFN3YXBwZWRBbW91bnRWYWx1ZQUDbmlsAwkAAAIFGWZpcnN0RGVwb3NpdGVkV2F2ZXNBbW91bnQFGWZpcnN0RGVwb3NpdGVkV2F2ZXNBbW91bnQEDmxpc3RQZXJjZW50YWdlCQDMCAIA8KIECQDMCAIA6P4CCQDMCAIA/IsCCQDMCAIAyrsBCQDMCAIAp4MBBQNuaWwKAQpyZXBlYXRGdW5jAgVhY2N1bQRuZXh0BAxib3Jyb3dlZFVzZG4JAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQUMcHV6emxlTGVuZFNDAgZib3Jyb3cJAMwIAgUOdXNkbkFkZHJlc3NTdHIJAMwIAgkAaQIJAGgCBQ1maXJzdEFtb3VudEluBQVhY2N1bQCgjQYFA25pbAUDbmlsAwkAAAIFDGJvcnJvd2VkVXNkbgUMYm9ycm93ZWRVc2RuBA1zd2FwcGVkQW1vdW50CQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQEFEGZha2VQdXp6bGVTd2FwU0MCC3N3YXBUb1dhdmVzCQDMCAIJAKUIAQgFAWkGY2FsbGVyCQDMCAIJAGkCCQBoAgUXZmlyc3RTd2FwcGVkQW1vdW50VmFsdWUFBWFjY3VtAKCNBgUDbmlsBQNuaWwDCQAAAgUNc3dhcHBlZEFtb3VudAUNc3dhcHBlZEFtb3VudAQHJG1hdGNoMQUNc3dhcHBlZEFtb3VudAMJAAECBQckbWF0Y2gxAgNJbnQEEnN3YXBwZWRBbW91bnRWYWx1ZQUHJG1hdGNoMQQOZGVwb3NpdGVkV2F2ZXMJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQUMcHV6emxlTGVuZFNDAgZzdXBwbHkFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdW5pdAUSc3dhcHBlZEFtb3VudFZhbHVlBQNuaWwDCQAAAgUOZGVwb3NpdGVkV2F2ZXMFDmRlcG9zaXRlZFdhdmVzCQBkAgkAaQIJAGgCBRdmaXJzdFN3YXBwZWRBbW91bnRWYWx1ZQUFYWNjdW0AoI0GCQBpAgkAaAIFF2ZpcnN0U3dhcHBlZEFtb3VudFZhbHVlBQRuZXh0AKCNBgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECF0luY29ycmVjdCBpbnZva2UgcmVzdWx0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBANyZXMKAAIkbAUObGlzdFBlcmNlbnRhZ2UKAAIkcwkAkAMBBQIkbAoABSRhY2MwAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBCnJlcGVhdEZ1bmMCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDUJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUDcmVzBQ53YXZlczJMVG9rZW5JZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIXSW5jb3JyZWN0IGludm9rZSByZXN1bHQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEObWludExvbmcyX3Rlc3QAAwMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQYJAAACCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAAACQACAQIhMSBwYXltZW50IGhhcyB0byBiZSBhdHRhY2hlZCBtaW50BA1maXJzdEFtb3VudEluCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQIY2FsbGVySWQJAKUIAQgFAWkGY2FsbGVyBBdmaXJzdFN3YXBwZWRXYXZlc0Ftb3VudAkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBBRBmYWtlUHV6emxlU3dhcFNDAgtzd2FwVG9XYXZlcwkAzAgCCQClCAEIBQFpBmNhbGxlcgkAzAgCBQ1maXJzdEFtb3VudEluBQNuaWwFA25pbAMJAAACBRdmaXJzdFN3YXBwZWRXYXZlc0Ftb3VudAUXZmlyc3RTd2FwcGVkV2F2ZXNBbW91bnQEByRtYXRjaDAFF2ZpcnN0U3dhcHBlZFdhdmVzQW1vdW50AwkAAQIFByRtYXRjaDACA0ludAQXZmlyc3RTd2FwcGVkQW1vdW50VmFsdWUFByRtYXRjaDAEGWZpcnN0RGVwb3NpdGVkV2F2ZXNBbW91bnQJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQUMcHV6emxlTGVuZFNDAgZzdXBwbHkFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdW5pdAUXZmlyc3RTd2FwcGVkQW1vdW50VmFsdWUFA25pbAMJAAACBRlmaXJzdERlcG9zaXRlZFdhdmVzQW1vdW50BRlmaXJzdERlcG9zaXRlZFdhdmVzQW1vdW50BA5saXN0UGVyY2VudGFnZQkAzAgCAEYJAMwIAgAxCQDMCAIAIgkAzAgCABgJAMwIAgARBQNuaWwKAQpyZXBlYXRGdW5jAgVhY2N1bQRuZXh0BAxib3Jyb3dlZFVzZG4JAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQUMcHV6emxlTGVuZFNDAgZib3Jyb3cJAMwIAgUOdXNkbkFkZHJlc3NTdHIJAMwIAgkAaQIJAGgCBQ1maXJzdEFtb3VudEluBQVhY2N1bQBkBQNuaWwFA25pbAMJAAACBQxib3Jyb3dlZFVzZG4FDGJvcnJvd2VkVXNkbgQNc3dhcHBlZEFtb3VudAkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBBRBmYWtlUHV6emxlU3dhcFNDAgtzd2FwVG9XYXZlcwkAzAgCCQClCAEIBQFpBmNhbGxlcgkAzAgCCQBpAgkAaAIFF2ZpcnN0U3dhcHBlZEFtb3VudFZhbHVlBQVhY2N1bQBkBQNuaWwFA25pbAMJAAACBQ1zd2FwcGVkQW1vdW50BQ1zd2FwcGVkQW1vdW50CQBkAgUFYWNjdW0FBG5leHQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4EA3JlcwoAAiRsBQ5saXN0UGVyY2VudGFnZQoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEKcmVwZWF0RnVuYwIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgNQkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUJAMwIAgkBDEludGVnZXJFbnRyeQICDWZpcnN0QW1vdW50SW4FDWZpcnN0QW1vdW50SW4JAMwIAgkBDEludGVnZXJFbnRyeQICF2ZpcnN0U3dhcHBlZEFtb3VudFZhbHVlBRdmaXJzdFN3YXBwZWRBbW91bnRWYWx1ZQkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIJAGkCCQBoAgUXZmlyc3RTd2FwcGVkQW1vdW50VmFsdWUFA3JlcwBkBQ53YXZlczJMVG9rZW5JZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIXSW5jb3JyZWN0IGludm9rZSByZXN1bHQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEGcmVkZWVtAQt3YXZlc0Ftb3VudAQLdXNlckFkZHJlc3MJAKUIAQgFAWkGY2FsbGVyBBJyZWRlZW1lZFVTRE5BbW91bnQJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQUQZmFrZVB1enpsZVN3YXBTQwIKc3dhcFRvVVNETgkAzAgCBQt3YXZlc0Ftb3VudAkAzAgCBQt1c2VyQWRkcmVzcwUDbmlsBQNuaWwDCQAAAgUScmVkZWVtZWRVU0ROQW1vdW50BRJyZWRlZW1lZFVTRE5BbW91bnQEByRtYXRjaDAFEnJlZGVlbWVkVVNETkFtb3VudAMJAAECBQckbWF0Y2gwAgNJbnQEE3JlZGVlbWVkQW1vdW50VmFsdWUFByRtYXRjaDAJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgULdXNlckFkZHJlc3MCCV9yZWRlZW1lZAUTcmVkZWVtZWRBbW91bnRWYWx1ZQUDbmlsCQACAQIXSW5jb3JyZWN0IGludm9rZSByZXN1bHQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnR4AQZ2ZXJpZnkACQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5abNxwA==", "height": 2748456, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CMG6yhjgHvo69ESQ923nkp63xi6ZZCwpAqDjCeDcpLES Next: H8KncYLXbT6sF5h718WNjdkEsqhaeRLE2B94V466wpT5 Diff:
OldNewDifferences
124124
125125 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
126126 }
127-[IntegerEntry("firstAmountIn", firstAmountIn), IntegerEntry("firstSwappedAmountValue", firstSwappedAmountValue)]
127+[IntegerEntry("firstAmountIn", firstAmountIn), IntegerEntry("firstSwappedAmountValue", firstSwappedAmountValue), ScriptTransfer(i.caller, ((firstSwappedAmountValue * res) / 100), waves2LTokenId)]
128128 }
129129 else throw("Strict value is not equal to itself.")
130130 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]
101101 func repeatFunc (accum,next) = {
102102 let borrowedUsdn = invoke(addressFromStringValue(puzzleLendSC), "borrow", [usdnAddressStr, ((firstAmountIn * accum) / 100)], nil)
103103 if ((borrowedUsdn == borrowedUsdn))
104104 then {
105105 let swappedAmount = invoke(addressFromStringValue(fakePuzzleSwapSC), "swapToWaves", [toString(i.caller), ((firstSwappedAmountValue * accum) / 100)], nil)
106106 if ((swappedAmount == swappedAmount))
107107 then (accum + next)
108108 else throw("Strict value is not equal to itself.")
109109 }
110110 else throw("Strict value is not equal to itself.")
111111 }
112112
113113 let res = {
114114 let $l = listPercentage
115115 let $s = size($l)
116116 let $acc0 = 0
117117 func $f0_1 ($a,$i) = if (($i >= $s))
118118 then $a
119119 else repeatFunc($a, $l[$i])
120120
121121 func $f0_2 ($a,$i) = if (($i >= $s))
122122 then $a
123123 else throw("List size exceeds 5")
124124
125125 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
126126 }
127-[IntegerEntry("firstAmountIn", firstAmountIn), IntegerEntry("firstSwappedAmountValue", firstSwappedAmountValue)]
127+[IntegerEntry("firstAmountIn", firstAmountIn), IntegerEntry("firstSwappedAmountValue", firstSwappedAmountValue), ScriptTransfer(i.caller, ((firstSwappedAmountValue * res) / 100), waves2LTokenId)]
128128 }
129129 else throw("Strict value is not equal to itself.")
130130 case _ =>
131131 throw("Incorrect invoke result")
132132 }
133133 else throw("Strict value is not equal to itself.")
134134 }
135135
136136
137137
138138 @Callable(i)
139139 func redeem (wavesAmount) = {
140140 let userAddress = toString(i.caller)
141141 let redeemedUSDNAmount = invoke(addressFromStringValue(fakePuzzleSwapSC), "swapToUSDN", [wavesAmount, userAddress], nil)
142142 if ((redeemedUSDNAmount == redeemedUSDNAmount))
143143 then match redeemedUSDNAmount {
144144 case redeemedAmountValue: Int =>
145145 [IntegerEntry((userAddress + "_redeemed"), redeemedAmountValue)]
146146 case _ =>
147147 throw("Incorrect invoke result")
148148 }
149149 else throw("Strict value is not equal to itself.")
150150 }
151151
152152
153153 @Verifier(tx)
154154 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
155155

github/deemru/w8io/873ac7e 
30.74 ms