tx · 3zqTEmDVfoJL732etE7PvRNSbaZspPpWYavLMu9d1ACU

3PG7CHvBatHpChwm8reH74wfEwk1PHc8Rqy:  -0.01000000 Waves

2023.01.13 15:42 [3468688] smart account 3PG7CHvBatHpChwm8reH74wfEwk1PHc8Rqy > SELF 0.00000000 Waves

{ "type": 13, "id": "3zqTEmDVfoJL732etE7PvRNSbaZspPpWYavLMu9d1ACU", "fee": 1000000, "feeAssetId": null, "timestamp": 1673613775881, "version": 2, "chainId": 87, "sender": "3PG7CHvBatHpChwm8reH74wfEwk1PHc8Rqy", "senderPublicKey": "9KXfR1iJDN9MLTf7rgrygpRA3HG53KCgWyxzqk4m25Qd", "proofs": [ "4rKJGo6hKqKmUj2gtJcstVfLTCY4j22k83Dho7BqPKuc3BDLtxmeWbbeddZk1feFizQCY4BKYtHECUL2JN8WpLEh" ], "script": "base64:BgIMCAISAwoBARIDCgEICgAZV1hfTFBfV0FWRVNfVVNETl9BU1NFVF9JRAEgXedtbkamxzmxtK4hQ1NqaJeqmQ+fWxX6vGpRDRxJGSAAF1dYX1BPT0xfV0FWRVNfVVNETl9EQVBQCQEHQWRkcmVzcwEBGgFX7UefzUI8k75LIc37An4fyC37loB6w699ABtORVVUUklOT19SRVNUX1JFQURPTkxZX0RBUFAJAQdBZGRyZXNzAQEaAVc2mMwFV8eubgPH9X8mVUOITa4f15p3UlEAFU5FVVRSSU5PX01FVFJJQ1NfREFQUAkBB0FkZHJlc3MBARoBVzjkpo76YXsJPSIs33Rbs+CIsp0VDzoUtgANTkVVVFJJTk9fTUFJTgkBB0FkZHJlc3MBARoBV3AEYqZHm+mtVmiUy++FjDCCICiaCBSWsgAPTkVVVFJJTk9fT1JBQ0xFCQEHQWRkcmVzcwEBGgFXI7OtElyTpMrsOf5PRtbNVk0t+xD7Y5h6AA1VU0ROX0FTU0VUX0lEASC2JinDBPXOU5GkDkt1JC9kjFGx+t+vVCm9SNIdKrKq0QEJYXNBbnlMaXN0AQF2BAckbWF0Y2gwBQF2AwkAAQIFByRtYXRjaDACCUxpc3RbQW55XQQBbAUHJG1hdGNoMAUBbAkAAgECBCNlcnIBBWFzSW50AQF2BAckbWF0Y2gwBQF2AwkAAQIFByRtYXRjaDACA0ludAQBeAUHJG1hdGNoMAUBeAQBdAUHJG1hdGNoMAkAAgECBCNlcnIBBWFzU3RyAQF2BAckbWF0Y2gwBQF2AwkAAQIFByRtYXRjaDACBlN0cmluZwQBeAUHJG1hdGNoMAUBeAQBdAUHJG1hdGNoMAkAAgECBCNlcnICAWkBC3VzZG5Ub1dhdmVzAQFhAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQILTm90IGFsbG93ZWQEBmFtb3VudAUBYQQEdHhpZAkA2AQBCAUBaQ10cmFuc2FjdGlvbklkBA9uZXV0cmlub01ldHJpY3MJAQlhc0FueUxpc3QBCQD8BwQFFU5FVVRSSU5PX01FVFJJQ1NfREFQUAIaY2FsY05ldXRpbm9NZXRyaWNzUkVBRE9OTFkFA25pbAUDbmlsAwkAAAIFD25ldXRyaW5vTWV0cmljcwUPbmV1dHJpbm9NZXRyaWNzBAJCUgkBBWFzSW50AQkAkQMCBQ9uZXV0cmlub01ldHJpY3MACAMJAGYCBQJCUgCUkQYEBGNhbGwJAQVhc1N0cgEJAPwHBAUbTkVVVFJJTk9fUkVTVF9SRUFET05MWV9EQVBQAhBzd2FwSW5mb1JFQURPTkxZCQDMCAICIzNQRzdDSHZCYXRIcENod204cmVINzR3ZkV3azFQSGM4UnF5BQNuaWwFA25pbAMJAAACBQRjYWxsBQRjYWxsBBFuZXV0cmlub19kYXRhX2FycgkAtQkCBQRjYWxsAgJfXwQYYWxyZWFkeVN3YXBwZWRVbmRlckxpbWl0CQEFYXNJbnQBCQC2CQEJAJEDAgURbmV1dHJpbm9fZGF0YV9hcnIACwQVbWF4QXZhaWxhYmxlVG9Td2FwTm93CQEFYXNJbnQBCQC2CQEJAJEDAgURbmV1dHJpbm9fZGF0YV9hcnIACgMJAQIhPQIFGGFscmVhZHlTd2FwcGVkVW5kZXJMaW1pdAAACQACAQIOQ2FuJ3Qgc3dhcCB5ZXQEEWFtb3VuT2ZVc2RuVG9Td2FwAwkAZgIFBmFtb3VudAUVbWF4QXZhaWxhYmxlVG9Td2FwTm93BRVtYXhBdmFpbGFibGVUb1N3YXBOb3cFBmFtb3VudAQSc3dhcFVzZG5Ub1dhdmVzX1NDCQD8BwQFDU5FVVRSSU5PX01BSU4CE3N3YXBOZXV0cmlub1RvV2F2ZXMFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUNVVNETl9BU1NFVF9JRAURYW1vdW5PZlVzZG5Ub1N3YXAFA25pbAMJAAACBRJzd2FwVXNkblRvV2F2ZXNfU0MFEnN3YXBVc2RuVG9XYXZlc19TQwkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICAgZpbmRleF8FBHR4aWQJAGQCCQERQGV4dHJOYXRpdmUoMTA1MCkCBQ9ORVVUUklOT19PUkFDTEUCC3ByaWNlX2luZGV4AAEFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECC0JyIHVuZGVyIDEwCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBC3dhdmVzVG9Vc2RuAQR0eGlkAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQILTm90IGFsbG93ZWQDBgkAAgEJAKwCAgIGaW5kZXhfBQR0eGlkBAN3YmIICQDvBwEFBHRoaXMJYXZhaWxhYmxlAwkAAAIFA3diYgUDd2JiBAxzd2FwRmluYWxpemUJAPwHBAUNTkVVVFJJTk9fTUFJTgIId2l0aGRyYXcJAMwIAgkApQgBBQR0aGlzCQDMCAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMJAKwCAgIGaW5kZXhfBQR0eGlkCQDMCAIFBHR4aWQFA25pbAUDbmlsAwkAAAIFDHN3YXBGaW5hbGl6ZQUMc3dhcEZpbmFsaXplBAN3YmEICQDvBwEFBHRoaXMJYXZhaWxhYmxlAwkAAAIFA3diYQUDd2JhBAZhbW91bnQJAGUCBQN3YmEFA3diYgMJAGcCAAAFBmFtb3VudAkAAgECD05vdGhpbmcgdG8gc3dhcAQFY2FsbDEJAPwHBAUXV1hfUE9PTF9XQVZFU19VU0ROX0RBUFACCXB1dE9uZVRrbgkAzAgCAAEJAMwIAgcFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdW5pdAUGYW1vdW50BQNuaWwDCQAAAgUFY2FsbDEFBWNhbGwxBA5scFRva2VuQmFsYW5jZQkA8AcCBQR0aGlzBRlXWF9MUF9XQVZFU19VU0ROX0FTU0VUX0lEBAVjYWxsMgkA/AcEBRdXWF9QT09MX1dBVkVTX1VTRE5fREFQUAIJZ2V0T25lVGtuCQDMCAIJANgEAQUNVVNETl9BU1NFVF9JRAkAzAgCAAEFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUZV1hfTFBfV0FWRVNfVVNETl9BU1NFVF9JRAUObHBUb2tlbkJhbGFuY2UFA25pbAMJAAACBQVjYWxsMgUFY2FsbDIFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECdHgBBnZlcmlmeQAJAMgTAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXmEq+Wi", "height": 3468688, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8zU3NXPoR4z7yZxqgvTUQspFkwBddjUzTjAGJJd2PKVA Next: BmhYhHSJAdCedEbjBC7MLUM58hcqoaTPD5B79REYVzV6 Diff:
OldNewDifferences
8181 @Callable(i)
8282 func wavesToUsdn (txid) = if ((i.caller != this))
8383 then throw("Not allowed")
84- else {
85- let wbb = wavesBalance(this).available
86- if ((wbb == wbb))
87- then if (true)
88- then throw(("index_" + txid))
89- else {
84+ else if (true)
85+ then throw(("index_" + txid))
86+ else {
87+ let wbb = wavesBalance(this).available
88+ if ((wbb == wbb))
89+ then {
9090 let swapFinalize = invoke(NEUTRINO_MAIN, "withdraw", [toString(this), getIntegerValue(this, ("index_" + txid)), txid], nil)
9191 if ((swapFinalize == swapFinalize))
9292 then {
113113 }
114114 else throw("Strict value is not equal to itself.")
115115 }
116- else throw("Strict value is not equal to itself.")
117- }
116+ else throw("Strict value is not equal to itself.")
117+ }
118118
119119
120120 @Verifier(tx)
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 USDN_ASSET_ID = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
1717
1818 func asAnyList (v) = match v {
1919 case l: List[Any] =>
2020 l
2121 case _ =>
2222 throw("#err")
2323 }
2424
2525
2626 func asInt (v) = match v {
2727 case x: Int =>
2828 x
2929 case t =>
3030 throw("#err")
3131 }
3232
3333
3434 func asStr (v) = match v {
3535 case x: String =>
3636 x
3737 case t =>
3838 throw("#err")
3939 }
4040
4141
4242 @Callable(i)
4343 func usdnToWaves (a) = if ((i.caller != this))
4444 then throw("Not allowed")
4545 else {
4646 let amount = a
4747 let txid = toBase58String(i.transactionId)
4848 let neutrinoMetrics = asAnyList(invoke(NEUTRINO_METRICS_DAPP, "calcNeutinoMetricsREADONLY", nil, nil))
4949 if ((neutrinoMetrics == neutrinoMetrics))
5050 then {
5151 let BR = asInt(neutrinoMetrics[8])
5252 if ((BR > 100500))
5353 then {
5454 let call = asStr(invoke(NEUTRINO_REST_READONLY_DAPP, "swapInfoREADONLY", ["3PG7CHvBatHpChwm8reH74wfEwk1PHc8Rqy"], nil))
5555 if ((call == call))
5656 then {
5757 let neutrino_data_arr = split(call, "__")
5858 let alreadySwappedUnderLimit = asInt(parseInt(neutrino_data_arr[11]))
5959 let maxAvailableToSwapNow = asInt(parseInt(neutrino_data_arr[10]))
6060 if ((alreadySwappedUnderLimit != 0))
6161 then throw("Can't swap yet")
6262 else {
6363 let amounOfUsdnToSwap = if ((amount > maxAvailableToSwapNow))
6464 then maxAvailableToSwapNow
6565 else amount
6666 let swapUsdnToWaves_SC = invoke(NEUTRINO_MAIN, "swapNeutrinoToWaves", nil, [AttachedPayment(USDN_ASSET_ID, amounOfUsdnToSwap)])
6767 if ((swapUsdnToWaves_SC == swapUsdnToWaves_SC))
6868 then [IntegerEntry(("index_" + txid), (getIntegerValue(NEUTRINO_ORACLE, "price_index") + 1))]
6969 else throw("Strict value is not equal to itself.")
7070 }
7171 }
7272 else throw("Strict value is not equal to itself.")
7373 }
7474 else throw("Br under 10")
7575 }
7676 else throw("Strict value is not equal to itself.")
7777 }
7878
7979
8080
8181 @Callable(i)
8282 func wavesToUsdn (txid) = if ((i.caller != this))
8383 then throw("Not allowed")
84- else {
85- let wbb = wavesBalance(this).available
86- if ((wbb == wbb))
87- then if (true)
88- then throw(("index_" + txid))
89- else {
84+ else if (true)
85+ then throw(("index_" + txid))
86+ else {
87+ let wbb = wavesBalance(this).available
88+ if ((wbb == wbb))
89+ then {
9090 let swapFinalize = invoke(NEUTRINO_MAIN, "withdraw", [toString(this), getIntegerValue(this, ("index_" + txid)), txid], nil)
9191 if ((swapFinalize == swapFinalize))
9292 then {
9393 let wba = wavesBalance(this).available
9494 if ((wba == wba))
9595 then {
9696 let amount = (wba - wbb)
9797 if ((0 >= amount))
9898 then throw("Nothing to swap")
9999 else {
100100 let call1 = invoke(WX_POOL_WAVES_USDN_DAPP, "putOneTkn", [1, false], [AttachedPayment(unit, amount)])
101101 if ((call1 == call1))
102102 then {
103103 let lpTokenBalance = assetBalance(this, WX_LP_WAVES_USDN_ASSET_ID)
104104 let call2 = invoke(WX_POOL_WAVES_USDN_DAPP, "getOneTkn", [toBase58String(USDN_ASSET_ID), 1], [AttachedPayment(WX_LP_WAVES_USDN_ASSET_ID, lpTokenBalance)])
105105 if ((call2 == call2))
106106 then nil
107107 else throw("Strict value is not equal to itself.")
108108 }
109109 else throw("Strict value is not equal to itself.")
110110 }
111111 }
112112 else throw("Strict value is not equal to itself.")
113113 }
114114 else throw("Strict value is not equal to itself.")
115115 }
116- else throw("Strict value is not equal to itself.")
117- }
116+ else throw("Strict value is not equal to itself.")
117+ }
118118
119119
120120 @Verifier(tx)
121121 func verify () = sigVerify_128Kb(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
122122

github/deemru/w8io/3ef1775 
61.88 ms