tx · AXxtCiD5U2kttHXDfgNqG4GEhYMvNRPVtoDH4a3kmwiB

3PG7CHvBatHpChwm8reH74wfEwk1PHc8Rqy:  -0.00300000 Waves

2023.01.08 19:42 [3461740] smart account 3PG7CHvBatHpChwm8reH74wfEwk1PHc8Rqy > SELF 0.00000000 Waves

{ "type": 13, "id": "AXxtCiD5U2kttHXDfgNqG4GEhYMvNRPVtoDH4a3kmwiB", "fee": 300000, "feeAssetId": null, "timestamp": 1673196212187, "version": 2, "chainId": 87, "sender": "3PG7CHvBatHpChwm8reH74wfEwk1PHc8Rqy", "senderPublicKey": "9KXfR1iJDN9MLTf7rgrygpRA3HG53KCgWyxzqk4m25Qd", "proofs": [ "3vuyJhWB8fQJq6AyEVv5weo3S7tenDXNn4SHNwxbWta7xQydTK9hv7MCaa9F3SGZrWLbsGju8hdRYfrzYDa3mq65" ], "script": "base64:BgIGCAISABIACAAZV1hfTFBfV0FWRVNfVVNETl9BU1NFVF9JRAEgXedtbkamxzmxtK4hQ1NqaJeqmQ+fWxX6vGpRDRxJGSAAF1dYX1BPT0xfV0FWRVNfVVNETl9EQVBQCQEHQWRkcmVzcwEBGgFX7UefzUI8k75LIc37An4fyC37loB6w699ABtORVVUUklOT19SRVNUX1JFQURPTkxZX0RBUFAJAQdBZGRyZXNzAQEaAVc2mMwFV8eubgPH9X8mVUOITa4f15p3UlEAFU5FVVRSSU5PX01FVFJJQ1NfREFQUAkBB0FkZHJlc3MBARoBVzjkpo76YXsJPSIs33Rbs+CIsp0VDzoUtgANVVNETl9BU1NFVF9JRAEgtiYpwwT1zlORpA5LdSQvZIxRsfrfr1QpvUjSHSqyqtEBCWFzQW55TGlzdAEBdgQHJG1hdGNoMAUBdgMJAAECBQckbWF0Y2gwAglMaXN0W0FueV0EAWwFByRtYXRjaDAFAWwJAAIBAgQjZXJyAQVhc0ludAEBdgQHJG1hdGNoMAUBdgMJAAECBQckbWF0Y2gwAgNJbnQEAXgFByRtYXRjaDAFAXgEAXQFByRtYXRjaDAJAAIBAgQjZXJyAQVhc1N0cgEBdgQHJG1hdGNoMAUBdgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXgFByRtYXRjaDAFAXgEAXQFByRtYXRjaDAJAAIBAgUjZXJyIAIBaQEHZGVmYXVsdAADCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAgtOb3QgYWxsb3dlZAMDCQEBIQEJAQlpc0RlZmluZWQBCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQGCQECIT0CCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQFDVVTRE5fQVNTRVRfSUQJAAIBAglVU0ROIE9ubHkEBmFtb3VudAgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQED25ldXRyaW5vTWV0cmljcwkBCWFzQW55TGlzdAEJAPwHBAUVTkVVVFJJTk9fTUVUUklDU19EQVBQAhpjYWxjTmV1dGlub01ldHJpY3NSRUFET05MWQUDbmlsBQNuaWwDCQAAAgUPbmV1dHJpbm9NZXRyaWNzBQ9uZXV0cmlub01ldHJpY3MEAkJSCQEFYXNJbnQBCQCRAwIFD25ldXRyaW5vTWV0cmljcwAIAwkAZgIFAkJSAJSRBgMGCQACAQkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBARjYWxsCQEFYXNTdHIBCQD8BwQFG05FVVRSSU5PX1JFU1RfUkVBRE9OTFlfREFQUAIQc3dhcEluZm9SRUFET05MWQkAzAgCCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMFA25pbAUDbmlsAwkAAAIFBGNhbGwFBGNhbGwEEW5ldXRyaW5vX2RhdGFfYXJyCQC1CQIFBGNhbGwCAl9fBBhhbHJlYWR5U3dhcHBlZFVuZGVyTGltaXQJAQVhc0ludAEJAJEDAgURbmV1dHJpbm9fZGF0YV9hcnIACwQVbWF4QXZhaWxhYmxlVG9Td2FwTm93CQEFYXNJbnQBCQCRAwIFEW5ldXRyaW5vX2RhdGFfYXJyAAoDCQECIT0CBRhhbHJlYWR5U3dhcHBlZFVuZGVyTGltaXQAAAkAAgECDkNhbid0IHN3YXAgeWV0BBFhbW91bk9mVXNkblRvU3dhcAMJAGYCBQZhbW91bnQFFW1heEF2YWlsYWJsZVRvU3dhcE5vdwUVbWF4QXZhaWxhYmxlVG9Td2FwTm93BQZhbW91bnQEEnN3YXBVc2RuVG9XYXZlc19TQwkA/AcECQEHQWRkcmVzcwEBGgFXIMKLZnasw8DjnvE/w0VZGqNiPqXal3SKAhNzd2FwTmV1dHJpbm9Ub1dhdmVzBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFDVVTRE5fQVNTRVRfSUQFEWFtb3VuT2ZVc2RuVG9Td2FwBQNuaWwDCQAAAgUSc3dhcFVzZG5Ub1dhdmVzX1NDBRJzd2FwVXNkblRvV2F2ZXNfU0MFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECC0JyIHVuZGVyIDEwCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCndhdmVzVG9VZG4AAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQILTm90IGFsbG93ZWQDCQEJaXNEZWZpbmVkAQgJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkCQACAQIKV0FWRVMgT25seQQGYW1vdW50CAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQFY2FsbDEJAPwHBAUXV1hfUE9PTF9XQVZFU19VU0ROX0RBUFACCXB1dE9uZVRrbgkAzAgCAAEJAMwIAgcFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdW5pdAUGYW1vdW50BQNuaWwDCQAAAgUFY2FsbDEFBWNhbGwxBA5scFRva2VuQmFsYW5jZQkA8AcCBQR0aGlzBRlXWF9MUF9XQVZFU19VU0ROX0FTU0VUX0lEBAVjYWxsMgkA/AcEBRdXWF9QT09MX1dBVkVTX1VTRE5fREFQUAIJZ2V0T25lVGtuCQDMCAIFDVVTRE5fQVNTRVRfSUQJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFGVdYX0xQX1dBVkVTX1VTRE5fQVNTRVRfSUQFDmxwVG9rZW5CYWxhbmNlBQNuaWwDCQAAAgUFY2FsbDIFBWNhbGwyBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnR4AQZ2ZXJpZnkACQDIEwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5iXHTVA==", "height": 3461740, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5sNC95AQijPRZt74SoWkGJwW17S74GgSTvK2WWftFeej Next: HSnK8Z3HMcJJso3NaUzR6nq79TR22KHvZiu1zCZLLibH Diff:
OldNewDifferences
3131 case x: String =>
3232 x
3333 case t =>
34- throw("#err")
34+ throw("#err ")
3535 }
3636
3737
4949 then {
5050 let BR = asInt(neutrinoMetrics[8])
5151 if ((BR > 100500))
52- then {
53- let call = asStr(invoke(NEUTRINO_REST_READONLY_DAPP, "swapInfoREADONLY", [toBase58String(i.caller.bytes)], nil))
54- if ((call == call))
55- then {
56- let neutrino_data_arr = split(call, "__")
57- let alreadySwappedUnderLimit = asInt(neutrino_data_arr[11])
58- let maxAvailableToSwapNow = asInt(neutrino_data_arr[10])
59- if ((alreadySwappedUnderLimit != 0))
60- then throw("Can't swap yet")
61- else {
62- let amounOfUsdnToSwap = if ((amount > maxAvailableToSwapNow))
63- then maxAvailableToSwapNow
64- else amount
65- let swapUsdnToWaves_SC = invoke(Address(base58'3P4v7QaMk6us7PdxSuoR5LmZmemv5ruD6oj'), "swapNeutrinoToWaves", nil, [AttachedPayment(USDN_ASSET_ID, amounOfUsdnToSwap)])
66- if ((swapUsdnToWaves_SC == swapUsdnToWaves_SC))
67- then nil
68- else throw("Strict value is not equal to itself.")
69- }
70- }
71- else throw("Strict value is not equal to itself.")
72- }
52+ then if (true)
53+ then throw(toBase58String(i.caller.bytes))
54+ else {
55+ let call = asStr(invoke(NEUTRINO_REST_READONLY_DAPP, "swapInfoREADONLY", [toBase58String(i.caller.bytes)], nil))
56+ if ((call == call))
57+ then {
58+ let neutrino_data_arr = split(call, "__")
59+ let alreadySwappedUnderLimit = asInt(neutrino_data_arr[11])
60+ let maxAvailableToSwapNow = asInt(neutrino_data_arr[10])
61+ if ((alreadySwappedUnderLimit != 0))
62+ then throw("Can't swap yet")
63+ else {
64+ let amounOfUsdnToSwap = if ((amount > maxAvailableToSwapNow))
65+ then maxAvailableToSwapNow
66+ else amount
67+ let swapUsdnToWaves_SC = invoke(Address(base58'3P4v7QaMk6us7PdxSuoR5LmZmemv5ruD6oj'), "swapNeutrinoToWaves", nil, [AttachedPayment(USDN_ASSET_ID, amounOfUsdnToSwap)])
68+ if ((swapUsdnToWaves_SC == swapUsdnToWaves_SC))
69+ then nil
70+ else throw("Strict value is not equal to itself.")
71+ }
72+ }
73+ else throw("Strict value is not equal to itself.")
74+ }
7375 else throw("Br under 10")
7476 }
7577 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 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 USDN_ASSET_ID = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
1313
1414 func asAnyList (v) = match v {
1515 case l: List[Any] =>
1616 l
1717 case _ =>
1818 throw("#err")
1919 }
2020
2121
2222 func asInt (v) = match v {
2323 case x: Int =>
2424 x
2525 case t =>
2626 throw("#err")
2727 }
2828
2929
3030 func asStr (v) = match v {
3131 case x: String =>
3232 x
3333 case t =>
34- throw("#err")
34+ throw("#err ")
3535 }
3636
3737
3838 @Callable(i)
3939 func default () = if ((i.caller != this))
4040 then throw("Not allowed")
4141 else if (if (!(isDefined(i.payments[0].assetId)))
4242 then true
4343 else (i.payments[0].assetId != USDN_ASSET_ID))
4444 then throw("USDN Only")
4545 else {
4646 let amount = i.payments[0].amount
4747 let neutrinoMetrics = asAnyList(invoke(NEUTRINO_METRICS_DAPP, "calcNeutinoMetricsREADONLY", nil, nil))
4848 if ((neutrinoMetrics == neutrinoMetrics))
4949 then {
5050 let BR = asInt(neutrinoMetrics[8])
5151 if ((BR > 100500))
52- then {
53- let call = asStr(invoke(NEUTRINO_REST_READONLY_DAPP, "swapInfoREADONLY", [toBase58String(i.caller.bytes)], nil))
54- if ((call == call))
55- then {
56- let neutrino_data_arr = split(call, "__")
57- let alreadySwappedUnderLimit = asInt(neutrino_data_arr[11])
58- let maxAvailableToSwapNow = asInt(neutrino_data_arr[10])
59- if ((alreadySwappedUnderLimit != 0))
60- then throw("Can't swap yet")
61- else {
62- let amounOfUsdnToSwap = if ((amount > maxAvailableToSwapNow))
63- then maxAvailableToSwapNow
64- else amount
65- let swapUsdnToWaves_SC = invoke(Address(base58'3P4v7QaMk6us7PdxSuoR5LmZmemv5ruD6oj'), "swapNeutrinoToWaves", nil, [AttachedPayment(USDN_ASSET_ID, amounOfUsdnToSwap)])
66- if ((swapUsdnToWaves_SC == swapUsdnToWaves_SC))
67- then nil
68- else throw("Strict value is not equal to itself.")
69- }
70- }
71- else throw("Strict value is not equal to itself.")
72- }
52+ then if (true)
53+ then throw(toBase58String(i.caller.bytes))
54+ else {
55+ let call = asStr(invoke(NEUTRINO_REST_READONLY_DAPP, "swapInfoREADONLY", [toBase58String(i.caller.bytes)], nil))
56+ if ((call == call))
57+ then {
58+ let neutrino_data_arr = split(call, "__")
59+ let alreadySwappedUnderLimit = asInt(neutrino_data_arr[11])
60+ let maxAvailableToSwapNow = asInt(neutrino_data_arr[10])
61+ if ((alreadySwappedUnderLimit != 0))
62+ then throw("Can't swap yet")
63+ else {
64+ let amounOfUsdnToSwap = if ((amount > maxAvailableToSwapNow))
65+ then maxAvailableToSwapNow
66+ else amount
67+ let swapUsdnToWaves_SC = invoke(Address(base58'3P4v7QaMk6us7PdxSuoR5LmZmemv5ruD6oj'), "swapNeutrinoToWaves", nil, [AttachedPayment(USDN_ASSET_ID, amounOfUsdnToSwap)])
68+ if ((swapUsdnToWaves_SC == swapUsdnToWaves_SC))
69+ then nil
70+ else throw("Strict value is not equal to itself.")
71+ }
72+ }
73+ else throw("Strict value is not equal to itself.")
74+ }
7375 else throw("Br under 10")
7476 }
7577 else throw("Strict value is not equal to itself.")
7678 }
7779
7880
7981
8082 @Callable(i)
8183 func wavesToUdn () = if ((i.caller != this))
8284 then throw("Not allowed")
8385 else if (isDefined(i.payments[0].assetId))
8486 then throw("WAVES Only")
8587 else {
8688 let amount = i.payments[0].amount
8789 let call1 = invoke(WX_POOL_WAVES_USDN_DAPP, "putOneTkn", [1, false], [AttachedPayment(unit, amount)])
8890 if ((call1 == call1))
8991 then {
9092 let lpTokenBalance = assetBalance(this, WX_LP_WAVES_USDN_ASSET_ID)
9193 let call2 = invoke(WX_POOL_WAVES_USDN_DAPP, "getOneTkn", [USDN_ASSET_ID, 1], [AttachedPayment(WX_LP_WAVES_USDN_ASSET_ID, lpTokenBalance)])
9294 if ((call2 == call2))
9395 then nil
9496 else throw("Strict value is not equal to itself.")
9597 }
9698 else throw("Strict value is not equal to itself.")
9799 }
98100
99101
100102 @Verifier(tx)
101103 func verify () = sigVerify_128Kb(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
102104

github/deemru/w8io/3ef1775 
43.11 ms