tx · 4vZoXHtN76uUHJyFZJvCskfduHkgAxqz1h5ZYMj7LAaW

3PCUJBpMXtqYKxMiDtKcTeEQcKukfMeoctR:  -0.01400000 Waves

2021.10.07 13:17 [2800681] smart account 3PCUJBpMXtqYKxMiDtKcTeEQcKukfMeoctR > SELF 0.00000000 Waves

{ "type": 13, "id": "4vZoXHtN76uUHJyFZJvCskfduHkgAxqz1h5ZYMj7LAaW", "fee": 1400000, "feeAssetId": null, "timestamp": 1633601819041, "version": 2, "chainId": 87, "sender": "3PCUJBpMXtqYKxMiDtKcTeEQcKukfMeoctR", "senderPublicKey": "HkhM1YChRvLycTwNa1tmzYCRGFQsFjSmFwad9krdRUYo", "proofs": [ "zTgC6oU4wWy2NDbHokWaH7gbq9HwLYmXFpWL57DzK5aniY8wpRDBGaBe5Me781JGM9iNWB7RADyzWRBUjWyKSt5" ], "script": "base64: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", "height": 2800681, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DKq1aBtCCp5sS8VuGhxnhDDQ19bqzC9sArCbRP3JMxmb Next: 39K3qrimKfatij12oq8WKPvBy1EurFT9cFctwWwKAuU2 Diff:
OldNewDifferences
6565 let contract2Version = getString(pathContracts[0], "version")
6666 let args2 = if ((contractVersion == "1.0.0"))
6767 then [1]
68- else [1, 1]
68+ else [1, asset2Amount]
6969 let i2 = invoke(pathContracts[1], "exchange", args2, [AttachedPayment(pathAssets[1], asset2Amount)])
7070 if ((i2 == i2))
7171 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
88 let usdtPathContracts = [Address(base58'3PPH7x7iqobW5ziyiRCic19rQqKr6nPYaK1'), Address(base58'3PEeJQRJT4v4XvSUBPmxhdWKz439nae7KtQ')]
99
1010 let usdtPathTokens = [base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ', base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p', base58'C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS']
1111
1212 let ethPathContracts = [Address(base58'3PNEC4YKqZiMMytFrYRVtpW2ujvi3aGXRPm'), Address(base58'3PEeJQRJT4v4XvSUBPmxhdWKz439nae7KtQ')]
1313
1414 let ethPathTokens = [base58'474jTeYx2r2Va35794tCScAXWJG9hU2HcgxzMowaZUnu', base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p', base58'C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS']
1515
1616 func getPath (assetId) = if ((assetId == base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS'))
1717 then $Tuple2(btcPathContracts, btcPathTokens)
1818 else if ((assetId == base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ'))
1919 then $Tuple2(usdtPathContracts, usdtPathTokens)
2020 else if ((assetId == base58'474jTeYx2r2Va35794tCScAXWJG9hU2HcgxzMowaZUnu'))
2121 then $Tuple2(ethPathContracts, ethPathTokens)
2222 else throw("incorrect asset attached to payment")
2323
2424
2525 func getBalance (assetId) = match assetId {
2626 case x: Unit =>
2727 wavesBalance(this).available
2828 case _ =>
2929 assetBalance(this, value(assetId))
3030 }
3131
3232
3333 @Callable(i)
3434 func buyEgg () = {
3535 func getInvocationArgs (contractAddress) = {
3636 let contractVersion = getString(contractAddress, "version")
3737 if ((contractVersion == "1.0.0"))
3838 then [1]
3939 else [1, 1]
4040 }
4141
4242 let pmt = i.payments[0]
4343 let asset1Amount = pmt.amount
4444 let assetId = value(pmt.assetId)
4545 let $t019251975 = getPath(assetId)
4646 let pathContracts = $t019251975._1
4747 let pathAssets = $t019251975._2
4848 let balance2Before = getBalance(pathAssets[1])
4949 if ((balance2Before == balance2Before))
5050 then {
5151 let contractVersion = getString(pathContracts[0], "version")
5252 let args = if ((contractVersion == "1.0.0"))
5353 then [1]
5454 else [1, 1]
5555 let i1 = invoke(pathContracts[0], "exchange", args, [AttachedPayment(pathAssets[0], asset1Amount)])
5656 if ((i1 == i1))
5757 then {
5858 let balance2After = getBalance(pathAssets[1])
5959 if ((balance2After == balance2After))
6060 then {
6161 let asset2Amount = (balance2After - balance2Before)
6262 let balance3Before = getBalance(pathAssets[2])
6363 if ((balance3Before == balance3Before))
6464 then {
6565 let contract2Version = getString(pathContracts[0], "version")
6666 let args2 = if ((contractVersion == "1.0.0"))
6767 then [1]
68- else [1, 1]
68+ else [1, asset2Amount]
6969 let i2 = invoke(pathContracts[1], "exchange", args2, [AttachedPayment(pathAssets[1], asset2Amount)])
7070 if ((i2 == i2))
7171 then {
7272 let balance3After = getBalance(pathAssets[2])
7373 if ((balance3After == balance3After))
7474 then {
7575 let asset3Amount = (balance3After - balance3Before)
7676 [ScriptTransfer(i.caller, asset3Amount, pathAssets[2])]
7777 }
7878 else throw("Strict value is not equal to itself.")
7979 }
8080 else throw("Strict value is not equal to itself.")
8181 }
8282 else throw("Strict value is not equal to itself.")
8383 }
8484 else throw("Strict value is not equal to itself.")
8585 }
8686 else throw("Strict value is not equal to itself.")
8787 }
8888 else throw("Strict value is not equal to itself.")
8989 }
9090
9191
9292 @Verifier(tx)
9393 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
9494

github/deemru/w8io/3ef1775 
36.21 ms