tx · Gx8bdrWvwMTFU9rGfBs79yE7t1U4mJhGNyXpZGPgFvAJ

3PCUJBpMXtqYKxMiDtKcTeEQcKukfMeoctR:  -0.01400000 Waves

2021.10.07 13:00 [2800670] smart account 3PCUJBpMXtqYKxMiDtKcTeEQcKukfMeoctR > SELF 0.00000000 Waves

{ "type": 13, "id": "Gx8bdrWvwMTFU9rGfBs79yE7t1U4mJhGNyXpZGPgFvAJ", "fee": 1400000, "feeAssetId": null, "timestamp": 1633600893983, "version": 2, "chainId": 87, "sender": "3PCUJBpMXtqYKxMiDtKcTeEQcKukfMeoctR", "senderPublicKey": "HkhM1YChRvLycTwNa1tmzYCRGFQsFjSmFwad9krdRUYo", "proofs": [ "F9fisBsQaKBLButH75RwJ3Cfm6TFjaiqsLnLSNY6SamGhY64F76TXUm3hhTmRc3jAbbQnQ8qjUJCKPgPSQ1dPrR" ], "script": "base64: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", "height": 2800670, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 967ACe153KHiEZK8Uo6Kao3BAczh5EodB6tyf3uf4brf Next: DKq1aBtCCp5sS8VuGhxnhDDQ19bqzC9sArCbRP3JMxmb Diff:
OldNewDifferences
55
66 let btcPathTokens = [base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS', unit, base58'C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS']
77
8+let usdtPathContracts = [Address(base58'3PPH7x7iqobW5ziyiRCic19rQqKr6nPYaK1'), Address(base58'3PEeJQRJT4v4XvSUBPmxhdWKz439nae7KtQ')]
9+
10+let usdtPathTokens = [base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ', base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p', base58'C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS']
11+
12+let ethPathContracts = [Address(base58'3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm'), Address(base58'3PEeJQRJT4v4XvSUBPmxhdWKz439nae7KtQ')]
13+
14+let ethPathTokens = [base58'474jTeYx2r2Va35794tCScAXWJG9hU2HcgxzMowaZUnu', base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p', base58'C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS']
15+
816 func getPath (assetId) = if ((assetId == base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS'))
917 then $Tuple2(btcPathContracts, btcPathTokens)
10- else throw("incorrect asset attached to payment")
18+ else if ((assetId == base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ'))
19+ then $Tuple2(usdtPathContracts, usdtPathTokens)
20+ else if ((assetId == base58'474jTeYx2r2Va35794tCScAXWJG9hU2HcgxzMowaZUnu'))
21+ then $Tuple2(ethPathContracts, ethPathTokens)
22+ else throw("incorrect asset attached to payment")
1123
1224
1325 func getBalance (assetId) = match assetId {
2335 let pmt = i.payments[0]
2436 let asset1Amount = pmt.amount
2537 let assetId = value(pmt.assetId)
26- let $t0860910 = getPath(assetId)
27- let pathContracts = $t0860910._1
28- let pathAssets = $t0860910._2
38+ let $t017341784 = getPath(assetId)
39+ let pathContracts = $t017341784._1
40+ let pathAssets = $t017341784._2
2941 let balance2Before = getBalance(pathAssets[1])
3042 if ((balance2Before == balance2Before))
3143 then {
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let btcPathContracts = [Address(base58'3P8FVZgAJUAq32UEZtTw84qS4zLqEREiEiP'), Address(base58'3PNVFWopwCD9CgGXkpYWEY94oQ5XCAEXBmQ')]
55
66 let btcPathTokens = [base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS', unit, base58'C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS']
77
8+let usdtPathContracts = [Address(base58'3PPH7x7iqobW5ziyiRCic19rQqKr6nPYaK1'), Address(base58'3PEeJQRJT4v4XvSUBPmxhdWKz439nae7KtQ')]
9+
10+let usdtPathTokens = [base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ', base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p', base58'C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS']
11+
12+let ethPathContracts = [Address(base58'3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm'), Address(base58'3PEeJQRJT4v4XvSUBPmxhdWKz439nae7KtQ')]
13+
14+let ethPathTokens = [base58'474jTeYx2r2Va35794tCScAXWJG9hU2HcgxzMowaZUnu', base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p', base58'C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS']
15+
816 func getPath (assetId) = if ((assetId == base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS'))
917 then $Tuple2(btcPathContracts, btcPathTokens)
10- else throw("incorrect asset attached to payment")
18+ else if ((assetId == base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ'))
19+ then $Tuple2(usdtPathContracts, usdtPathTokens)
20+ else if ((assetId == base58'474jTeYx2r2Va35794tCScAXWJG9hU2HcgxzMowaZUnu'))
21+ then $Tuple2(ethPathContracts, ethPathTokens)
22+ else throw("incorrect asset attached to payment")
1123
1224
1325 func getBalance (assetId) = match assetId {
1426 case x: Unit =>
1527 wavesBalance(this).available
1628 case _ =>
1729 assetBalance(this, value(assetId))
1830 }
1931
2032
2133 @Callable(i)
2234 func buyEgg () = {
2335 let pmt = i.payments[0]
2436 let asset1Amount = pmt.amount
2537 let assetId = value(pmt.assetId)
26- let $t0860910 = getPath(assetId)
27- let pathContracts = $t0860910._1
28- let pathAssets = $t0860910._2
38+ let $t017341784 = getPath(assetId)
39+ let pathContracts = $t017341784._1
40+ let pathAssets = $t017341784._2
2941 let balance2Before = getBalance(pathAssets[1])
3042 if ((balance2Before == balance2Before))
3143 then {
3244 let i1 = invoke(pathContracts[0], "exchange", [1], [AttachedPayment(pathAssets[0], asset1Amount)])
3345 if ((i1 == i1))
3446 then {
3547 let balance2After = getBalance(pathAssets[1])
3648 if ((balance2After == balance2After))
3749 then {
3850 let asset2Amount = (balance2After - balance2Before)
3951 let balance3Before = getBalance(pathAssets[2])
4052 if ((balance3Before == balance3Before))
4153 then {
4254 let i2 = invoke(pathContracts[1], "exchange", [1], [AttachedPayment(pathAssets[1], asset2Amount)])
4355 if ((i2 == i2))
4456 then {
4557 let balance3After = getBalance(pathAssets[2])
4658 if ((balance3After == balance3After))
4759 then {
4860 let asset3Amount = (balance3After - balance3Before)
4961 [ScriptTransfer(i.caller, asset3Amount, pathAssets[2])]
5062 }
5163 else throw("Strict value is not equal to itself.")
5264 }
5365 else throw("Strict value is not equal to itself.")
5466 }
5567 else throw("Strict value is not equal to itself.")
5668 }
5769 else throw("Strict value is not equal to itself.")
5870 }
5971 else throw("Strict value is not equal to itself.")
6072 }
6173 else throw("Strict value is not equal to itself.")
6274 }
6375
6476
6577 @Verifier(tx)
6678 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
6779

github/deemru/w8io/3ef1775 
43.56 ms