tx · AdwDJQZ48vFJWXcdSRyVwGuY4cpNcBNQygckbyVaTybc

3PG7CHvBatHpChwm8reH74wfEwk1PHc8Rqy:  -0.01000000 Waves

2023.05.02 05:11 [3625140] smart account 3PG7CHvBatHpChwm8reH74wfEwk1PHc8Rqy > SELF 0.00000000 Waves

{ "type": 13, "id": "AdwDJQZ48vFJWXcdSRyVwGuY4cpNcBNQygckbyVaTybc", "fee": 1000000, "feeAssetId": null, "timestamp": 1682993474757, "version": 2, "chainId": 87, "sender": "3PG7CHvBatHpChwm8reH74wfEwk1PHc8Rqy", "senderPublicKey": "9KXfR1iJDN9MLTf7rgrygpRA3HG53KCgWyxzqk4m25Qd", "proofs": [ "NXabfTPwh8rz8gCuDrhg9yqEiTrQTqmZ59LxYfn9YHvmQqST6kTKZ4u2vFpCQJJyyip7zW6HHA17vwbqe6MneUD" ], "script": "base64:BgLqBAgCEgMKAQESBAoCCAEiG05FVVRSSU5PX1JFU1RfUkVBRE9OTFlfREFQUCIVTkVVVFJJTk9fTUVUUklDU19EQVBQIg1ORVVUUklOT19NQUlOIg9ORVVUUklOT19PUkFDTEUiEE5FVVRSSU5PX0ZBQ1RPUlkiDVVTRE5fQVNTRVRfSUQiC1dYX0FTU0VUX0lEIg5WSVJFU19BU1NFVF9JRCILQk9SUk9XX0RBUFAiDFdYX1NXQVBfREFQUCIJYXNBbnlMaXN0IgF2IgckbWF0Y2gwIgFsIgVhc0ludCIBeCIBdCIFYXNTdHIiE2ZpbmFsaXplV2F2ZXNUb1VzZG4iAWkiBHR4aWQiBUluZGV4IgN3YmIiBHd4YmIiA3ZiYiIEZGF0YSIIZGF0YV9hcnIiDHN3YXBGaW5hbGl6ZSIDd2JhIgR3eGJhIgN2YmEiBmFtb3VudCIFY2FsbDEiCGFtb3VudFd4IgVjYWxsMiILYW1vdW50VmlyZXMiBWNhbGwzIhFmaW5hbGl6ZVdhdmVzT25seSIBYSIPbmV1dHJpbm9NZXRyaWNzIgJCUiIEY2FsbCIRbmV1dHJpbm9fZGF0YV9hcnIiGGFscmVhZHlTd2FwcGVkVW5kZXJMaW1pdCIVbWF4QXZhaWxhYmxlVG9Td2FwTm93IhFhbW91bk9mVXNkblRvU3dhcCIGYm9ycm93IhJzd2FwVXNkblRvV2F2ZXNfU0MiFGJhbGFuY2VfdW5sb2NrX2Jsb2NrIgVpbmRleCIcd3hPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZCICdHgiBnZlcmlmeQ8AAWEJAQdBZGRyZXNzAQEaAVc2mMwFV8eubgPH9X8mVUOITa4f15p3UlEAAWIJAQdBZGRyZXNzAQEaAVc45KaO+mF7CT0iLN90W7PgiLKdFQ86FLYAAWMJAQdBZGRyZXNzAQEaAVdwBGKmR5vprVZolMvvhYwwgiAomggUlrIAAWQJAQdBZGRyZXNzAQEaAVcjs60SXJOkyuw5/k9G1s1WTS37EPtjmHoAAWUJAQdBZGRyZXNzAQEaAVd4W96KvlEqrosx6m8TkCW+9Km4orsJAkEAAWYBILYmKcME9c5TkaQOS3UkL2SMUbH6369UKb1I0h0qsqrRAAFnASCTARyrqcduJVfOZp5xtr2qa/g86FgLKu7ZoE67PNwUsQABaAEguNriNwFicF+aqFuyGQy9D8Nlr3UGtlgt3QeTVqndqZcAAWkJAQdBZGRyZXNzAQEaAVcU3JJZoA9M3cfagw1Midl0Q2S2hgj44ncAAWoJAQdBZGRyZXNzAQEaAVcuKjU1sQ238Xk+4bdG0J50Uk17MdCDrgYBAWsBAWwEAW0FAWwDCQABAgUBbQIJTGlzdFtBbnldBAFuBQFtBQFuCQACAQIEI2VycgEBbwEBbAQBbQUBbAMJAAECBQFtAgNJbnQEAXAFAW0FAXAEAXEFAW0JAAIBAgQjZXJyAQFyAQFsBAFtBQFsAwkAAQIFAW0CBlN0cmluZwQBcAUBbQUBcAQBcQUBbQkAAgECBCNlcnIBAXMDAXQBdQF2AwkBAiE9AggFAXQGY2FsbGVyBQR0aGlzCQACAQILTm90IGFsbG93ZWQEAXcICQDvBwEFBHRoaXMJYXZhaWxhYmxlAwkAAAIFAXcFAXcEAXgJAPAHAgUEdGhpcwUBZwMJAAACBQF4BQF4BAF5CQDwBwIFBHRoaXMFAWgDCQAAAgUBeQUBeQQBegkBEUBleHRyTmF0aXZlKDEwNTgpAQkArAICCQCsAgICBXN3YXBfBQF1AghfUEVORElORwQBQQkAtQkCBQF6AgFfBAFCCQD8BwQFAWMCCHdpdGhkcmF3CQDMCAIJAKUIAQUEdGhpcwkAzAgCBQF2CQDMCAIFAXUFA25pbAUDbmlsAwkAAAIFAUIFAUIEAUMICQDvBwEFBHRoaXMJYXZhaWxhYmxlAwkAAAIFAUMFAUMEAUQJAPAHAgUEdGhpcwUBZwMJAAACBQFEBQFEBAFFCQDwBwIFBHRoaXMFAWgDCQAAAgUBRQUBRQQBRgkAZQIFAUMFAXcDCQBnAgAABQFGCQACAQIPTm90aGluZyB0byBzd2FwBAFHCQD8BwQFAWoCBHN3YXAJAMwIAgABCQDMCAIJANgEAQUBZgkAzAgCCQClCAEFBHRoaXMFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdW5pdAkAZQIFAUYAwIQ9BQNuaWwDCQAAAgUBRwUBRwQBSAkAZQIFAUQFAXgDCQBnAgAABQFICQACAQIPTm90aGluZyB0byBzd2FwBAFJCQD8BwQFAWoCBHN3YXAJAMwIAgABCQDMCAIJANgEAQUBZgkAzAgCCQClCAEFBHRoaXMFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUBZwUBSAUDbmlsAwkAAAIFAUkFAUkDBgkAAgECCXN3YXAgMiBvawQBSgkAZQIFAUUFAXkDCQBnAgAABQFKCQACAQIPTm90aGluZyB0byBzd2FwBAFLCQD8BwQFAWoCBHN3YXAJAMwIAgABCQDMCAIJANgEAQUBZgkAzAgCCQClCAEFBHRoaXMFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUBaAUBSgUDbmlsAwkAAAIFAUsFAUsJAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICCQCsAgICBXN3YXBfBQF1AghfUEVORElORwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIFc3dhcF8FAXUCCV9GSU5JU0hFRAUBegkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQFpCQELdmFsdWVPckVsc2UCCQC2CQEJAJEDAgUBQQADAAAFAWYFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgEBTAMBdAF1AXYDCQECIT0CCAUBdAZjYWxsZXIFBHRoaXMJAAIBAgtOb3QgYWxsb3dlZAQBegkBEUBleHRyTmF0aXZlKDEwNTgpAQkArAICCQCsAgICBXN3YXBfBQF1AghfUEVORElORwQBQQkAtQkCBQF6AgFfBAFCCQD8BwQFAWMCCHdpdGhkcmF3CQDMCAIJAKUIAQUEdGhpcwkAzAgCBQF2CQDMCAIFAXUFA25pbAUDbmlsAwkAAAIFAUIFAUIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICCQCsAgICBXN3YXBfBQF1AghfUEVORElORwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIFc3dhcF8FAXUCCV9GSU5JU0hFRAUBegUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAgF0AQt1c2RuVG9XYXZlcwEBTQMJAQIhPQIIBQF0BmNhbGxlcgUEdGhpcwkAAgECC05vdCBhbGxvd2VkBAFGBQFNBAF1CQDYBAEIBQF0DXRyYW5zYWN0aW9uSWQEAU4JAQFrAQkA/AcEBQFiAhpjYWxjTmV1dGlub01ldHJpY3NSRUFET05MWQUDbmlsBQNuaWwDCQAAAgUBTgUBTgQBTwkBAW8BCQCRAwIFAU4ACAQBUAkBAXIBCQD8BwQFAWECEHN3YXBJbmZvUkVBRE9OTFkJAMwIAgIjM1BHN0NIdkJhdEhwQ2h3bThyZUg3NHdmRXdrMVBIYzhScXkFA25pbAUDbmlsAwkAAAIFAVAFAVAEAVEJALUJAgUBUAICX18EAVIJAQFvAQkAtgkBCQCRAwIFAVEACwQBUwkBAW8BCQC2CQEJAJEDAgUBUQAKAwkBAiE9AgUBUgAACQACAQIOQ2FuJ3Qgc3dhcCB5ZXQEAVQDCQBmAgUBRgUBUwUBUwUBRgQBVQkA/AcEBQFpAgZib3Jyb3cJAMwIAgUBVAUDbmlsBQNuaWwDCQAAAgUBVQUBVQQBVgkA/AcEBQFjAhRzd2FwTmV1dHJpbm9Ub0Jhc2tldAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQFmBQFUBQNuaWwDCQAAAgUBVgUBVgQBVwkBEUBleHRyTmF0aXZlKDEwNTApAgUBYwkArAICAhViYWxhbmNlX3VubG9ja19ibG9ja18JAKUIAQUEdGhpcwQBWAkAZAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFAWQCC3ByaWNlX2luZGV4AAEJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBXN3YXBfBQF1AghfUEVORElORwkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKQDAQUBWAIBXwkApAMBBQZoZWlnaHQCAV8FAXUCAV8JAKQDAQUBVAIBXwkApAMBBQFXBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BdAEIZmluYWxpemUCAXUBdgMJAQIhPQIIBQF0BmNhbGxlcgUEdGhpcwkAAgECC05vdCBhbGxvd2VkBAFZCQERQGV4dHJOYXRpdmUoMTA1MSkCBQFlAh4lc19fb25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWQDBQFZCQEBTAMFAXQFAXUFAXYJAQFzAwUBdAUBdQUBdgEBWgECYWEACQDIEwMIBQFaCWJvZHlCeXRlcwkAkQMCCAUBWgZwcm9vZnMAAAgFAVoPc2VuZGVyUHVibGljS2V5vVmXmA==", "height": 3625140, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2XXyCaZEsn8UiYznMoRtC3EvwTJjyGMQcmrUBSBPVV57 Next: B4TSfjtYYfCKjLoAeFthkUmnGfub79egniNNw5ZnKaMS Diff:
OldNewDifferences
7777 else {
7878 let call1 = invoke(WX_SWAP_DAPP, "swap", [1, toBase58String(USDN_ASSET_ID), toString(this)], [AttachedPayment(unit, (amount - 1000000))])
7979 if ((call1 == call1))
80- then if (true)
81- then throw("swap 1 ok")
82- else {
83- let amountWx = (wxba - wxbb)
84- if ((0 >= amountWx))
85- then throw("Nothing to swap")
86- else {
87- let call2 = invoke(WX_SWAP_DAPP, "swap", [1, toBase58String(USDN_ASSET_ID), toString(this)], [AttachedPayment(WX_ASSET_ID, amountWx)])
88- if ((call2 == call2))
89- then {
80+ then {
81+ let amountWx = (wxba - wxbb)
82+ if ((0 >= amountWx))
83+ then throw("Nothing to swap")
84+ else {
85+ let call2 = invoke(WX_SWAP_DAPP, "swap", [1, toBase58String(USDN_ASSET_ID), toString(this)], [AttachedPayment(WX_ASSET_ID, amountWx)])
86+ if ((call2 == call2))
87+ then if (true)
88+ then throw("swap 2 ok")
89+ else {
9090 let amountVires = (vba - vbb)
9191 if ((0 >= amountVires))
9292 then throw("Nothing to swap")
9797 else throw("Strict value is not equal to itself.")
9898 }
9999 }
100- else throw("Strict value is not equal to itself.")
101- }
102- }
100+ else throw("Strict value is not equal to itself.")
101+ }
102+ }
103103 else throw("Strict value is not equal to itself.")
104104 }
105105 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let NEUTRINO_REST_READONLY_DAPP = Address(base58'3P6uaG88jjcLYZQrvJHLWPbFFRnChnAzmcU')
55
66 let NEUTRINO_METRICS_DAPP = Address(base58'3P77iUusNwMMzWFdC8f7bftwpHyG1PBs1gq')
77
88 let NEUTRINO_MAIN = Address(base58'3PC9BfRwJWWiw9AREE2B3eWzCks3CYtg4yo')
99
1010 let NEUTRINO_ORACLE = Address(base58'3P5Bfd58PPfNvBM2Hy8QfbcDqMeNtzg7KfP')
1111
1212 let NEUTRINO_FACTORY = Address(base58'3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv')
1313
1414 let USDN_ASSET_ID = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
1515
1616 let WX_ASSET_ID = base58'Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on'
1717
1818 let VIRES_ASSET_ID = base58'DSbbhLsSTeDg5Lsiufk2Aneh3DjVqJuPr2M9uU1gwy5p'
1919
2020 let BORROW_DAPP = Address(base58'3P3qCUfvbDUjRnjrfM5XFMrXrzxxiad94Ez')
2121
2222 let WX_SWAP_DAPP = Address(base58'3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93')
2323
2424 func asAnyList (v) = match v {
2525 case l: List[Any] =>
2626 l
2727 case _ =>
2828 throw("#err")
2929 }
3030
3131
3232 func asInt (v) = match v {
3333 case x: Int =>
3434 x
3535 case t =>
3636 throw("#err")
3737 }
3838
3939
4040 func asStr (v) = match v {
4141 case x: String =>
4242 x
4343 case t =>
4444 throw("#err")
4545 }
4646
4747
4848 func finalizeWavesToUsdn (i,txid,Index) = if ((i.caller != this))
4949 then throw("Not allowed")
5050 else {
5151 let wbb = wavesBalance(this).available
5252 if ((wbb == wbb))
5353 then {
5454 let wxbb = assetBalance(this, WX_ASSET_ID)
5555 if ((wxbb == wxbb))
5656 then {
5757 let vbb = assetBalance(this, VIRES_ASSET_ID)
5858 if ((vbb == vbb))
5959 then {
6060 let data = getStringValue((("swap_" + txid) + "_PENDING"))
6161 let data_arr = split(data, "_")
6262 let swapFinalize = invoke(NEUTRINO_MAIN, "withdraw", [toString(this), Index, txid], nil)
6363 if ((swapFinalize == swapFinalize))
6464 then {
6565 let wba = wavesBalance(this).available
6666 if ((wba == wba))
6767 then {
6868 let wxba = assetBalance(this, WX_ASSET_ID)
6969 if ((wxba == wxba))
7070 then {
7171 let vba = assetBalance(this, VIRES_ASSET_ID)
7272 if ((vba == vba))
7373 then {
7474 let amount = (wba - wbb)
7575 if ((0 >= amount))
7676 then throw("Nothing to swap")
7777 else {
7878 let call1 = invoke(WX_SWAP_DAPP, "swap", [1, toBase58String(USDN_ASSET_ID), toString(this)], [AttachedPayment(unit, (amount - 1000000))])
7979 if ((call1 == call1))
80- then if (true)
81- then throw("swap 1 ok")
82- else {
83- let amountWx = (wxba - wxbb)
84- if ((0 >= amountWx))
85- then throw("Nothing to swap")
86- else {
87- let call2 = invoke(WX_SWAP_DAPP, "swap", [1, toBase58String(USDN_ASSET_ID), toString(this)], [AttachedPayment(WX_ASSET_ID, amountWx)])
88- if ((call2 == call2))
89- then {
80+ then {
81+ let amountWx = (wxba - wxbb)
82+ if ((0 >= amountWx))
83+ then throw("Nothing to swap")
84+ else {
85+ let call2 = invoke(WX_SWAP_DAPP, "swap", [1, toBase58String(USDN_ASSET_ID), toString(this)], [AttachedPayment(WX_ASSET_ID, amountWx)])
86+ if ((call2 == call2))
87+ then if (true)
88+ then throw("swap 2 ok")
89+ else {
9090 let amountVires = (vba - vbb)
9191 if ((0 >= amountVires))
9292 then throw("Nothing to swap")
9393 else {
9494 let call3 = invoke(WX_SWAP_DAPP, "swap", [1, toBase58String(USDN_ASSET_ID), toString(this)], [AttachedPayment(VIRES_ASSET_ID, amountVires)])
9595 if ((call3 == call3))
9696 then [DeleteEntry((("swap_" + txid) + "_PENDING")), StringEntry((("swap_" + txid) + "_FINISHED"), data), ScriptTransfer(BORROW_DAPP, valueOrElse(parseInt(data_arr[3]), 0), USDN_ASSET_ID)]
9797 else throw("Strict value is not equal to itself.")
9898 }
9999 }
100- else throw("Strict value is not equal to itself.")
101- }
102- }
100+ else throw("Strict value is not equal to itself.")
101+ }
102+ }
103103 else throw("Strict value is not equal to itself.")
104104 }
105105 }
106106 else throw("Strict value is not equal to itself.")
107107 }
108108 else throw("Strict value is not equal to itself.")
109109 }
110110 else throw("Strict value is not equal to itself.")
111111 }
112112 else throw("Strict value is not equal to itself.")
113113 }
114114 else throw("Strict value is not equal to itself.")
115115 }
116116 else throw("Strict value is not equal to itself.")
117117 }
118118 else throw("Strict value is not equal to itself.")
119119 }
120120
121121
122122 func finalizeWavesOnly (i,txid,Index) = if ((i.caller != this))
123123 then throw("Not allowed")
124124 else {
125125 let data = getStringValue((("swap_" + txid) + "_PENDING"))
126126 let data_arr = split(data, "_")
127127 let swapFinalize = invoke(NEUTRINO_MAIN, "withdraw", [toString(this), Index, txid], nil)
128128 if ((swapFinalize == swapFinalize))
129129 then [DeleteEntry((("swap_" + txid) + "_PENDING")), StringEntry((("swap_" + txid) + "_FINISHED"), data)]
130130 else throw("Strict value is not equal to itself.")
131131 }
132132
133133
134134 @Callable(i)
135135 func usdnToWaves (a) = if ((i.caller != this))
136136 then throw("Not allowed")
137137 else {
138138 let amount = a
139139 let txid = toBase58String(i.transactionId)
140140 let neutrinoMetrics = asAnyList(invoke(NEUTRINO_METRICS_DAPP, "calcNeutinoMetricsREADONLY", nil, nil))
141141 if ((neutrinoMetrics == neutrinoMetrics))
142142 then {
143143 let BR = asInt(neutrinoMetrics[8])
144144 let call = asStr(invoke(NEUTRINO_REST_READONLY_DAPP, "swapInfoREADONLY", ["3PG7CHvBatHpChwm8reH74wfEwk1PHc8Rqy"], nil))
145145 if ((call == call))
146146 then {
147147 let neutrino_data_arr = split(call, "__")
148148 let alreadySwappedUnderLimit = asInt(parseInt(neutrino_data_arr[11]))
149149 let maxAvailableToSwapNow = asInt(parseInt(neutrino_data_arr[10]))
150150 if ((alreadySwappedUnderLimit != 0))
151151 then throw("Can't swap yet")
152152 else {
153153 let amounOfUsdnToSwap = if ((amount > maxAvailableToSwapNow))
154154 then maxAvailableToSwapNow
155155 else amount
156156 let borrow = invoke(BORROW_DAPP, "borrow", [amounOfUsdnToSwap], nil)
157157 if ((borrow == borrow))
158158 then {
159159 let swapUsdnToWaves_SC = invoke(NEUTRINO_MAIN, "swapNeutrinoToBasket", nil, [AttachedPayment(USDN_ASSET_ID, amounOfUsdnToSwap)])
160160 if ((swapUsdnToWaves_SC == swapUsdnToWaves_SC))
161161 then {
162162 let balance_unlock_block = getIntegerValue(NEUTRINO_MAIN, ("balance_unlock_block_" + toString(this)))
163163 let index = (getIntegerValue(NEUTRINO_ORACLE, "price_index") + 1)
164164 [StringEntry((("swap_" + txid) + "_PENDING"), ((((((((toString(index) + "_") + toString(height)) + "_") + txid) + "_") + toString(amounOfUsdnToSwap)) + "_") + toString(balance_unlock_block)))]
165165 }
166166 else throw("Strict value is not equal to itself.")
167167 }
168168 else throw("Strict value is not equal to itself.")
169169 }
170170 }
171171 else throw("Strict value is not equal to itself.")
172172 }
173173 else throw("Strict value is not equal to itself.")
174174 }
175175
176176
177177
178178 @Callable(i)
179179 func finalize (txid,Index) = if ((i.caller != this))
180180 then throw("Not allowed")
181181 else {
182182 let wxOneTokenOperationsDisabled = getBooleanValue(NEUTRINO_FACTORY, "%s__oneTokenOperationsDisabled")
183183 if (wxOneTokenOperationsDisabled)
184184 then finalizeWavesOnly(i, txid, Index)
185185 else finalizeWavesToUsdn(i, txid, Index)
186186 }
187187
188188
189189 @Verifier(tx)
190190 func verify () = sigVerify_128Kb(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
191191

github/deemru/w8io/3ef1775 
80.70 ms