tx · 56tNdHq18eseLx3zmG7xDRoRGPY68xnDuzYByV3QxTbP

3PG7CHvBatHpChwm8reH74wfEwk1PHc8Rqy:  -0.01000000 Waves

2023.01.17 05:36 [3473820] smart account 3PG7CHvBatHpChwm8reH74wfEwk1PHc8Rqy > SELF 0.00000000 Waves

{ "type": 13, "id": "56tNdHq18eseLx3zmG7xDRoRGPY68xnDuzYByV3QxTbP", "fee": 1000000, "feeAssetId": null, "timestamp": 1673922977476, "version": 2, "chainId": 87, "sender": "3PG7CHvBatHpChwm8reH74wfEwk1PHc8Rqy", "senderPublicKey": "9KXfR1iJDN9MLTf7rgrygpRA3HG53KCgWyxzqk4m25Qd", "proofs": [ "2RFsDpLVMoJ1uJCBJ5eeqxA5unUTQzcunqY3okjabrrR5p7iGwtd5RhPSu9YcfFtP44EPG7VsFHDMyZdfvoQyXom" ], "script": "base64:BgINCAISAwoBARIECgIIAQ0AGVdYX0xQX1dBVkVTX1VTRE5fQVNTRVRfSUQBIF3nbW5Gpsc5sbSuIUNTamiXqpkPn1sV+rxqUQ0cSRkgABdXWF9QT09MX1dBVkVTX1VTRE5fREFQUAkBB0FkZHJlc3MBARoBV+1Hn81CPJO+SyHN+wJ+H8gt+5aAesOvfQAbTkVVVFJJTk9fUkVTVF9SRUFET05MWV9EQVBQCQEHQWRkcmVzcwEBGgFXNpjMBVfHrm4Dx/V/JlVDiE2uH9ead1JRABVORVVUUklOT19NRVRSSUNTX0RBUFAJAQdBZGRyZXNzAQEaAVc45KaO+mF7CT0iLN90W7PgiLKdFQ86FLYADU5FVVRSSU5PX01BSU4JAQdBZGRyZXNzAQEaAVdwBGKmR5vprVZolMvvhYwwgiAomggUlrIAD05FVVRSSU5PX09SQUNMRQkBB0FkZHJlc3MBARoBVyOzrRJck6TK7Dn+T0bWzVZNLfsQ+2OYegAQTkVVVFJJTk9fRkFDVE9SWQkBB0FkZHJlc3MBARoBV3hb3oq+USquizHqbxOQJb70qbiiuwkCQQANVVNETl9BU1NFVF9JRAEgtiYpwwT1zlORpA5LdSQvZIxRsfrfr1QpvUjSHSqyqtEBCWFzQW55TGlzdAEBdgQHJG1hdGNoMAUBdgMJAAECBQckbWF0Y2gwAglMaXN0W0FueV0EAWwFByRtYXRjaDAFAWwJAAIBAgQjZXJyAQVhc0ludAEBdgQHJG1hdGNoMAUBdgMJAAECBQckbWF0Y2gwAgNJbnQEAXgFByRtYXRjaDAFAXgEAXQFByRtYXRjaDAJAAIBAgQjZXJyAQVhc1N0cgEBdgQHJG1hdGNoMAUBdgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXgFByRtYXRjaDAFAXgEAXQFByRtYXRjaDAJAAIBAgQjZXJyARNmaW5hbGl6ZVdhdmVzVG9Vc2RuAwFpBHR4aWQFSW5kZXgDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAgtOb3QgYWxsb3dlZAQDd2JiCAkA7wcBBQR0aGlzCWF2YWlsYWJsZQMJAAACBQN3YmIFA3diYgQEZGF0YQkBEUBleHRyTmF0aXZlKDEwNTgpAQkArAICCQCsAgICBXN3YXBfBQR0eGlkAghfUEVORElORwQMc3dhcEZpbmFsaXplCQD8BwQFDU5FVVRSSU5PX01BSU4CCHdpdGhkcmF3CQDMCAIJAKUIAQUEdGhpcwkAzAgCBQVJbmRleAkAzAgCBQR0eGlkBQNuaWwFA25pbAMJAAACBQxzd2FwRmluYWxpemUFDHN3YXBGaW5hbGl6ZQQDd2JhCAkA7wcBBQR0aGlzCWF2YWlsYWJsZQMJAAACBQN3YmEFA3diYQQGYW1vdW50CQBlAgUDd2JhBQN3YmIDCQBnAgAABQZhbW91bnQJAAIBAg9Ob3RoaW5nIHRvIHN3YXAEBWNhbGwxCQD8BwQFF1dYX1BPT0xfV0FWRVNfVVNETl9EQVBQAglwdXRPbmVUa24JAMwIAgABCQDMCAIHBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBHVuaXQFBmFtb3VudAUDbmlsAwkAAAIFBWNhbGwxBQVjYWxsMQQObHBUb2tlbkJhbGFuY2UJAPAHAgUEdGhpcwUZV1hfTFBfV0FWRVNfVVNETl9BU1NFVF9JRAQFY2FsbDIJAPwHBAUXV1hfUE9PTF9XQVZFU19VU0ROX0RBUFACCWdldE9uZVRrbgkAzAgCCQDYBAEFDVVTRE5fQVNTRVRfSUQJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFGVdYX0xQX1dBVkVTX1VTRE5fQVNTRVRfSUQFDmxwVG9rZW5CYWxhbmNlBQNuaWwDCQAAAgUFY2FsbDIFBWNhbGwyCQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgkArAICAgVzd2FwXwUEdHhpZAIIX1BFTkRJTkcJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBXN3YXBfBQR0eGlkAglfRklOSVNIRUQFBGRhdGEFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgERZmluYWxpemVXYXZlc09ubHkDAWkEdHhpZAVJbmRleAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECC05vdCBhbGxvd2VkBARkYXRhCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzCQCsAgIJAKwCAgIFc3dhcF8FBHR4aWQCCF9QRU5ESU5HBAxzd2FwRmluYWxpemUJAPwHBAUNTkVVVFJJTk9fTUFJTgIId2l0aGRyYXcJAMwIAgkApQgBBQR0aGlzCQDMCAIFBUluZGV4CQDMCAIFBHR4aWQFA25pbAUDbmlsAwkAAAIFDHN3YXBGaW5hbGl6ZQUMc3dhcEZpbmFsaXplCQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgkArAICAgVzd2FwXwUEdHhpZAIIX1BFTkRJTkcJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBXN3YXBfBQR0eGlkAglfRklOSVNIRUQFBGRhdGEFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgIBaQELdXNkblRvV2F2ZXMBAWEDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAgtOb3QgYWxsb3dlZAQGYW1vdW50BQFhBAR0eGlkCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQED25ldXRyaW5vTWV0cmljcwkBCWFzQW55TGlzdAEJAPwHBAUVTkVVVFJJTk9fTUVUUklDU19EQVBQAhpjYWxjTmV1dGlub01ldHJpY3NSRUFET05MWQUDbmlsBQNuaWwDCQAAAgUPbmV1dHJpbm9NZXRyaWNzBQ9uZXV0cmlub01ldHJpY3MEAkJSCQEFYXNJbnQBCQCRAwIFD25ldXRyaW5vTWV0cmljcwAIAwkAZgIFAkJSAJSRBgQEY2FsbAkBBWFzU3RyAQkA/AcEBRtORVVUUklOT19SRVNUX1JFQURPTkxZX0RBUFACEHN3YXBJbmZvUkVBRE9OTFkJAMwIAgIjM1BHN0NIdkJhdEhwQ2h3bThyZUg3NHdmRXdrMVBIYzhScXkFA25pbAUDbmlsAwkAAAIFBGNhbGwFBGNhbGwEEW5ldXRyaW5vX2RhdGFfYXJyCQC1CQIFBGNhbGwCAl9fBBhhbHJlYWR5U3dhcHBlZFVuZGVyTGltaXQJAQVhc0ludAEJALYJAQkAkQMCBRFuZXV0cmlub19kYXRhX2FycgALBBVtYXhBdmFpbGFibGVUb1N3YXBOb3cJAQVhc0ludAEJALYJAQkAkQMCBRFuZXV0cmlub19kYXRhX2FycgAKAwkBAiE9AgUYYWxyZWFkeVN3YXBwZWRVbmRlckxpbWl0AAAJAAIBAg5DYW4ndCBzd2FwIHlldAQRYW1vdW5PZlVzZG5Ub1N3YXADCQBmAgUGYW1vdW50BRVtYXhBdmFpbGFibGVUb1N3YXBOb3cFFW1heEF2YWlsYWJsZVRvU3dhcE5vdwUGYW1vdW50BBJzd2FwVXNkblRvV2F2ZXNfU0MJAPwHBAUNTkVVVFJJTk9fTUFJTgITc3dhcE5ldXRyaW5vVG9XYXZlcwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQ1VU0ROX0FTU0VUX0lEBRFhbW91bk9mVXNkblRvU3dhcAUDbmlsAwkAAAIFEnN3YXBVc2RuVG9XYXZlc19TQwUSc3dhcFVzZG5Ub1dhdmVzX1NDBBRiYWxhbmNlX3VubG9ja19ibG9jawkBEUBleHRyTmF0aXZlKDEwNTApAgUNTkVVVFJJTk9fTUFJTgkArAICAhViYWxhbmNlX3VubG9ja19ibG9ja18JAKUIAQUEdGhpcwQFaW5kZXgJAGQCCQERQGV4dHJOYXRpdmUoMTA1MCkCBQ9ORVVUUklOT19PUkFDTEUCC3ByaWNlX2luZGV4AAEJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBXN3YXBfBQR0eGlkAghfUEVORElORwkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKQDAQUFaW5kZXgCAV8JAKQDAQUGaGVpZ2h0AgFfBQR0eGlkAgFfCQCkAwEFEWFtb3VuT2ZVc2RuVG9Td2FwAgFfCQCkAwEFFGJhbGFuY2VfdW5sb2NrX2Jsb2NrBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAgtCciB1bmRlciAxMAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQhmaW5hbGl6ZQIEdHhpZAVJbmRleAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECC05vdCBhbGxvd2VkBBx3eE9uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkCQERQGV4dHJOYXRpdmUoMTA1MSkCBRBORVVUUklOT19GQUNUT1JZAh4lc19fb25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWQDBRx3eE9uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkCQERZmluYWxpemVXYXZlc09ubHkDBQFpBQR0eGlkBQVJbmRleAkBE2ZpbmFsaXplV2F2ZXNUb1VzZG4DBQFpBQR0eGlkBQVJbmRleAECdHgBBnZlcmlmeQAJAMgTAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXnFW69m", "height": 3473820, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5yB2ERAoPXaKNDyvFfJxodAAxVE3upvyPvqMkEsGm9QL Next: ApiGC1aQyjDFWVcHzhTi4HT7jJh2ogL3MKENgBmjKoF Diff:
OldNewDifferences
138138 else {
139139 let wxOneTokenOperationsDisabled = getBooleanValue(NEUTRINO_FACTORY, "%s__oneTokenOperationsDisabled")
140140 if (wxOneTokenOperationsDisabled)
141- then throw("wxOneTokenOperationsDisabled disabled")
142- else if (wxOneTokenOperationsDisabled)
143- then finalizeWavesOnly(i, txid, Index)
144- else finalizeWavesToUsdn(i, txid, Index)
141+ then finalizeWavesOnly(i, txid, Index)
142+ else finalizeWavesToUsdn(i, txid, Index)
145143 }
146144
147145
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let WX_LP_WAVES_USDN_ASSET_ID = base58'7KZbJrVopwJhkdwbe1eFDBbex4dkY63MxjTNjqXtrzj1'
55
66 let WX_POOL_WAVES_USDN_DAPP = Address(base58'3PPZWgFNRKHLvM51pwS934C8VZ7d2F4Z58g')
77
88 let NEUTRINO_REST_READONLY_DAPP = Address(base58'3P6uaG88jjcLYZQrvJHLWPbFFRnChnAzmcU')
99
1010 let NEUTRINO_METRICS_DAPP = Address(base58'3P77iUusNwMMzWFdC8f7bftwpHyG1PBs1gq')
1111
1212 let NEUTRINO_MAIN = Address(base58'3PC9BfRwJWWiw9AREE2B3eWzCks3CYtg4yo')
1313
1414 let NEUTRINO_ORACLE = Address(base58'3P5Bfd58PPfNvBM2Hy8QfbcDqMeNtzg7KfP')
1515
1616 let NEUTRINO_FACTORY = Address(base58'3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv')
1717
1818 let USDN_ASSET_ID = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
1919
2020 func asAnyList (v) = match v {
2121 case l: List[Any] =>
2222 l
2323 case _ =>
2424 throw("#err")
2525 }
2626
2727
2828 func asInt (v) = match v {
2929 case x: Int =>
3030 x
3131 case t =>
3232 throw("#err")
3333 }
3434
3535
3636 func asStr (v) = match v {
3737 case x: String =>
3838 x
3939 case t =>
4040 throw("#err")
4141 }
4242
4343
4444 func finalizeWavesToUsdn (i,txid,Index) = if ((i.caller != this))
4545 then throw("Not allowed")
4646 else {
4747 let wbb = wavesBalance(this).available
4848 if ((wbb == wbb))
4949 then {
5050 let data = getStringValue((("swap_" + txid) + "_PENDING"))
5151 let swapFinalize = invoke(NEUTRINO_MAIN, "withdraw", [toString(this), Index, txid], nil)
5252 if ((swapFinalize == swapFinalize))
5353 then {
5454 let wba = wavesBalance(this).available
5555 if ((wba == wba))
5656 then {
5757 let amount = (wba - wbb)
5858 if ((0 >= amount))
5959 then throw("Nothing to swap")
6060 else {
6161 let call1 = invoke(WX_POOL_WAVES_USDN_DAPP, "putOneTkn", [1, false], [AttachedPayment(unit, amount)])
6262 if ((call1 == call1))
6363 then {
6464 let lpTokenBalance = assetBalance(this, WX_LP_WAVES_USDN_ASSET_ID)
6565 let call2 = invoke(WX_POOL_WAVES_USDN_DAPP, "getOneTkn", [toBase58String(USDN_ASSET_ID), 1], [AttachedPayment(WX_LP_WAVES_USDN_ASSET_ID, lpTokenBalance)])
6666 if ((call2 == call2))
6767 then [DeleteEntry((("swap_" + txid) + "_PENDING")), StringEntry((("swap_" + txid) + "_FINISHED"), data)]
6868 else throw("Strict value is not equal to itself.")
6969 }
7070 else throw("Strict value is not equal to itself.")
7171 }
7272 }
7373 else throw("Strict value is not equal to itself.")
7474 }
7575 else throw("Strict value is not equal to itself.")
7676 }
7777 else throw("Strict value is not equal to itself.")
7878 }
7979
8080
8181 func finalizeWavesOnly (i,txid,Index) = if ((i.caller != this))
8282 then throw("Not allowed")
8383 else {
8484 let data = getStringValue(this, (("swap_" + txid) + "_PENDING"))
8585 let swapFinalize = invoke(NEUTRINO_MAIN, "withdraw", [toString(this), Index, txid], nil)
8686 if ((swapFinalize == swapFinalize))
8787 then [DeleteEntry((("swap_" + txid) + "_PENDING")), StringEntry((("swap_" + txid) + "_FINISHED"), data)]
8888 else throw("Strict value is not equal to itself.")
8989 }
9090
9191
9292 @Callable(i)
9393 func usdnToWaves (a) = if ((i.caller != this))
9494 then throw("Not allowed")
9595 else {
9696 let amount = a
9797 let txid = toBase58String(i.transactionId)
9898 let neutrinoMetrics = asAnyList(invoke(NEUTRINO_METRICS_DAPP, "calcNeutinoMetricsREADONLY", nil, nil))
9999 if ((neutrinoMetrics == neutrinoMetrics))
100100 then {
101101 let BR = asInt(neutrinoMetrics[8])
102102 if ((BR > 100500))
103103 then {
104104 let call = asStr(invoke(NEUTRINO_REST_READONLY_DAPP, "swapInfoREADONLY", ["3PG7CHvBatHpChwm8reH74wfEwk1PHc8Rqy"], nil))
105105 if ((call == call))
106106 then {
107107 let neutrino_data_arr = split(call, "__")
108108 let alreadySwappedUnderLimit = asInt(parseInt(neutrino_data_arr[11]))
109109 let maxAvailableToSwapNow = asInt(parseInt(neutrino_data_arr[10]))
110110 if ((alreadySwappedUnderLimit != 0))
111111 then throw("Can't swap yet")
112112 else {
113113 let amounOfUsdnToSwap = if ((amount > maxAvailableToSwapNow))
114114 then maxAvailableToSwapNow
115115 else amount
116116 let swapUsdnToWaves_SC = invoke(NEUTRINO_MAIN, "swapNeutrinoToWaves", nil, [AttachedPayment(USDN_ASSET_ID, amounOfUsdnToSwap)])
117117 if ((swapUsdnToWaves_SC == swapUsdnToWaves_SC))
118118 then {
119119 let balance_unlock_block = getIntegerValue(NEUTRINO_MAIN, ("balance_unlock_block_" + toString(this)))
120120 let index = (getIntegerValue(NEUTRINO_ORACLE, "price_index") + 1)
121121 [StringEntry((("swap_" + txid) + "_PENDING"), ((((((((toString(index) + "_") + toString(height)) + "_") + txid) + "_") + toString(amounOfUsdnToSwap)) + "_") + toString(balance_unlock_block)))]
122122 }
123123 else throw("Strict value is not equal to itself.")
124124 }
125125 }
126126 else throw("Strict value is not equal to itself.")
127127 }
128128 else throw("Br under 10")
129129 }
130130 else throw("Strict value is not equal to itself.")
131131 }
132132
133133
134134
135135 @Callable(i)
136136 func finalize (txid,Index) = if ((i.caller != this))
137137 then throw("Not allowed")
138138 else {
139139 let wxOneTokenOperationsDisabled = getBooleanValue(NEUTRINO_FACTORY, "%s__oneTokenOperationsDisabled")
140140 if (wxOneTokenOperationsDisabled)
141- then throw("wxOneTokenOperationsDisabled disabled")
142- else if (wxOneTokenOperationsDisabled)
143- then finalizeWavesOnly(i, txid, Index)
144- else finalizeWavesToUsdn(i, txid, Index)
141+ then finalizeWavesOnly(i, txid, Index)
142+ else finalizeWavesToUsdn(i, txid, Index)
145143 }
146144
147145
148146 @Verifier(tx)
149147 func verify () = sigVerify_128Kb(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
150148

github/deemru/w8io/3ef1775 
53.77 ms