tx · 7AiGwpzVvd2ipodrrpBR5SWpXtK7tQpVcaaT4R4tFKPa

3MzFYxmuFCZMtDM4xzqBHW6m3ZvNoX4Xe8T:  -0.01400000 Waves

2021.06.07 10:12 [1559627] smart account 3MzFYxmuFCZMtDM4xzqBHW6m3ZvNoX4Xe8T > SELF 0.00000000 Waves

{ "type": 13, "id": "7AiGwpzVvd2ipodrrpBR5SWpXtK7tQpVcaaT4R4tFKPa", "fee": 1400000, "feeAssetId": null, "timestamp": 1623049969362, "version": 2, "chainId": 84, "sender": "3MzFYxmuFCZMtDM4xzqBHW6m3ZvNoX4Xe8T", "senderPublicKey": "6BmCmWEkmyL4KtpmLBbW1T5EDSyu6WhDBx9wy8xedgxJ", "proofs": [ "FDQuczcEkpgoVVoT3UWfGWaTZyfGKGLb4jddfbDQTvn6ihVhucDNSD3rgC1ZHwEc9SH8CSRCtUTXLf4seCbstNE" ], "script": "base64:AAIEAAAAAAAAAAYIAhIAEgAAAAAAAAAAAgAAAAFpAQAAAAlpc3N1ZWdvbGQAAAAABAAAAANwbXQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAACmN1cnJlbnRLZXkJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAALR29sZEFzc2V0SUQBAAAAIDhOuDKCPjY5LEKrNcJWSPLR+DRIrzbrjIXMuB7syGHCBAAAAAtVU0RUQXNzZXRJRAEAAAAg7W6ezmGUnP3O5hqSHS3e4uYtkMJNmB8HvATDD5acfHEEAAAAEFByaWNlUGVyR3JhbUdvbGQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAB0dBVS9VU0QEAAAADU5ld0dvbGRUb1VzZXIJAABrAAAAAwAAAAAAAA9CQAgFAAAAA3BtdAAAAAZhbW91bnQFAAAAEFByaWNlUGVyR3JhbUdvbGQEAAAAElByZXZpb3VzSXNzdWVkR29sZAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAASVG90YWxfSXNzdWVkX0dvbGQ6BAAAAA9Ub3RhbElzc3VlZEdvbGQJAABkAAAAAgUAAAASUHJldmlvdXNJc3N1ZWRHb2xkBQAAAA1OZXdHb2xkVG9Vc2VyBAAAABhQcmV2aW91c0dvbGRSZXNlcnZlVmFsdWUJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAG1RvdGFsX0dvbGRfUmVzZXJ2ZV9Jbl9VU0RUOgQAAAAQR29sZFJlc2VydmVWYWx1ZQkAAGQAAAACBQAAABhQcmV2aW91c0dvbGRSZXNlcnZlVmFsdWUIBQAAAANwbXQAAAAGYW1vdW50BAAAABdQcmV2aW91c0dvbGRCYWNrdXBQcmljZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAAaR29sZF9CYWNrdXBfVmFsdWVfSW5fVVNEVDoEAAAAD0dvbGRCYWNrdXBQcmljZQkAAGsAAAADAAAAAAAAD0JABQAAABBHb2xkUmVzZXJ2ZVZhbHVlBQAAAA9Ub3RhbElzc3VlZEdvbGQDCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAAC1VTRFRBc3NldElECQAAAgAAAAECAAAAYkluY29ycmVjdCBhc3NldCBhdHRhY2hlZCwgcGxlYXNlIGF0dGFjaCBVU0RUIEFzc2V0SUQgR3lxVFlEZWEzRFdCYUF5UXM1UzV1SDIyMjN1Y0VMWUZhekpwWkxDZk16blUuAwkAAGYAAAACAAAAAAAAD0JACAUAAAADcG10AAAABmFtb3VudAkAAAIAAAABAgAAADFQbGVhc2UgQXR0YWNoIG1pbmltdW0gMSBVU0RUIFRvIElzc3VlIEdvbGQgQXNzZXQuCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABJUb3RhbF9Jc3N1ZWRfR29sZDoFAAAAD1RvdGFsSXNzdWVkR29sZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAUR29sZF9SZXNlcnZlX0Ftb3VudDoFAAAAD1RvdGFsSXNzdWVkR29sZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAbVG90YWxfR29sZF9SZXNlcnZlX0luX1VTRFQ6BQAAABBHb2xkUmVzZXJ2ZVZhbHVlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABpHb2xkX0JhY2t1cF9WYWx1ZV9Jbl9VU0RUOgUAAAAPR29sZEJhY2t1cFByaWNlCQAETAAAAAIJAQAAAAdSZWlzc3VlAAAAAwUAAAALR29sZEFzc2V0SUQFAAAADU5ld0dvbGRUb1VzZXIGCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAANTmV3R29sZFRvVXNlcgUAAAALR29sZEFzc2V0SUQFAAAAA25pbAAAAAFpAQAAAA1MaXF1aWRhdGVnb2xkAAAAAAQAAAADcG10CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAApjdXJyZW50S2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAC0dvbGRBc3NldElEAQAAACA4Trgygj42OSxCqzXCVkjy0fg0SK8264yFzLge7MhhwgQAAAALVVNEVEFzc2V0SUQBAAAAIO1uns5hlJz9zuYakh0t3uLmLZDCTZgfB7wEww+WnHxxBAAAABBQcmljZVBlckdyYW1Hb2xkCQAD8AAAAAIFAAAABHRoaXMFAAAAC0dvbGRBc3NldElEBAAAAA1OZXdHb2xkVG9Vc2VyCQAAawAAAAMAAAAAAAAPQkAIBQAAAANwbXQAAAAGYW1vdW50BQAAABBQcmljZVBlckdyYW1Hb2xkBAAAABJQcmV2aW91c0lzc3VlZEdvbGQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAElRvdGFsX0lzc3VlZF9Hb2xkOgQAAAAPVG90YWxJc3N1ZWRHb2xkCQAAZAAAAAIFAAAAElByZXZpb3VzSXNzdWVkR29sZAUAAAANTmV3R29sZFRvVXNlcgMJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAHYXNzZXRJZAUAAAALVVNEVEFzc2V0SUQJAAACAAAAAQIAAABiSW5jb3JyZWN0IGFzc2V0IGF0dGFjaGVkLCBwbGVhc2UgYXR0YWNoIFVTRFQgQXNzZXRJRCBHeXFUWURlYTNEV0JhQXlRczVTNXVIMjIyM3VjRUxZRmF6SnBaTENmTXpuVS4DCQAAZgAAAAIAAAAAAAAPQkAIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAAMVBsZWFzZSBBdHRhY2ggbWluaW11bSAxIFVTRFQgVG8gSXNzdWUgR29sZCBBc3NldC4JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAElRvdGFsX0lzc3VlZF9Hb2xkOgUAAAAPVG90YWxJc3N1ZWRHb2xkCQAETAAAAAIJAQAAAAdSZWlzc3VlAAAAAwUAAAALR29sZEFzc2V0SUQFAAAADU5ld0dvbGRUb1VzZXIGCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAANTmV3R29sZFRvVXNlcgUAAAALR29sZEFzc2V0SUQFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5IMy16w==", "height": 1559627, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7G45gxUQ3eJWUBj4wrfTHXie6Lsr89yw9PB8DfeqcjGe Next: 3dnbJpTteJoBnPMdjQZVvSmiqG16crmawEqtFBDirrGr Diff:
OldNewDifferences
1010 let GoldAssetID = base58'4noTADz7TX4HmjkCMpJAzkfuR6BKxDsSCzp3XJNZAcgy'
1111 let USDTAssetID = base58'GyqTYDea3DWBaAyQs5S5uH2223ucELYFazJpZLCfMznU'
1212 let PricePerGramGold = getIntegerValue(this, "GAU/USD")
13+ let NewGoldToUser = fraction(1000000, pmt.amount, PricePerGramGold)
14+ let PreviousIssuedGold = getIntegerValue(this, "Total_Issued_Gold:")
15+ let TotalIssuedGold = (PreviousIssuedGold + NewGoldToUser)
16+ let PreviousGoldReserveValue = getIntegerValue(this, "Total_Gold_Reserve_In_USDT:")
17+ let GoldReserveValue = (PreviousGoldReserveValue + pmt.amount)
18+ let PreviousGoldBackupPrice = getIntegerValue(this, "Gold_Backup_Value_In_USDT:")
19+ let GoldBackupPrice = fraction(1000000, GoldReserveValue, TotalIssuedGold)
20+ if ((pmt.assetId != USDTAssetID))
21+ then throw("Incorrect asset attached, please attach USDT AssetID GyqTYDea3DWBaAyQs5S5uH2223ucELYFazJpZLCfMznU.")
22+ else if ((1000000 > pmt.amount))
23+ then throw("Please Attach minimum 1 USDT To Issue Gold Asset.")
24+ else [IntegerEntry("Total_Issued_Gold:", TotalIssuedGold), IntegerEntry("Gold_Reserve_Amount:", TotalIssuedGold), IntegerEntry("Total_Gold_Reserve_In_USDT:", GoldReserveValue), IntegerEntry("Gold_Backup_Value_In_USDT:", GoldBackupPrice), Reissue(GoldAssetID, NewGoldToUser, true), ScriptTransfer(i.caller, NewGoldToUser, GoldAssetID)]
25+ }
26+
27+
28+
29+@Callable(i)
30+func Liquidategold () = {
31+ let pmt = value(i.payments[0])
32+ let currentKey = toBase58String(i.caller.bytes)
33+ let GoldAssetID = base58'4noTADz7TX4HmjkCMpJAzkfuR6BKxDsSCzp3XJNZAcgy'
34+ let USDTAssetID = base58'GyqTYDea3DWBaAyQs5S5uH2223ucELYFazJpZLCfMznU'
35+ let PricePerGramGold = assetBalance(this, GoldAssetID)
1336 let NewGoldToUser = fraction(1000000, pmt.amount, PricePerGramGold)
1437 let PreviousIssuedGold = getIntegerValue(this, "Total_Issued_Gold:")
1538 let TotalIssuedGold = (PreviousIssuedGold + NewGoldToUser)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44
55
66 @Callable(i)
77 func issuegold () = {
88 let pmt = value(i.payments[0])
99 let currentKey = toBase58String(i.caller.bytes)
1010 let GoldAssetID = base58'4noTADz7TX4HmjkCMpJAzkfuR6BKxDsSCzp3XJNZAcgy'
1111 let USDTAssetID = base58'GyqTYDea3DWBaAyQs5S5uH2223ucELYFazJpZLCfMznU'
1212 let PricePerGramGold = getIntegerValue(this, "GAU/USD")
13+ let NewGoldToUser = fraction(1000000, pmt.amount, PricePerGramGold)
14+ let PreviousIssuedGold = getIntegerValue(this, "Total_Issued_Gold:")
15+ let TotalIssuedGold = (PreviousIssuedGold + NewGoldToUser)
16+ let PreviousGoldReserveValue = getIntegerValue(this, "Total_Gold_Reserve_In_USDT:")
17+ let GoldReserveValue = (PreviousGoldReserveValue + pmt.amount)
18+ let PreviousGoldBackupPrice = getIntegerValue(this, "Gold_Backup_Value_In_USDT:")
19+ let GoldBackupPrice = fraction(1000000, GoldReserveValue, TotalIssuedGold)
20+ if ((pmt.assetId != USDTAssetID))
21+ then throw("Incorrect asset attached, please attach USDT AssetID GyqTYDea3DWBaAyQs5S5uH2223ucELYFazJpZLCfMznU.")
22+ else if ((1000000 > pmt.amount))
23+ then throw("Please Attach minimum 1 USDT To Issue Gold Asset.")
24+ else [IntegerEntry("Total_Issued_Gold:", TotalIssuedGold), IntegerEntry("Gold_Reserve_Amount:", TotalIssuedGold), IntegerEntry("Total_Gold_Reserve_In_USDT:", GoldReserveValue), IntegerEntry("Gold_Backup_Value_In_USDT:", GoldBackupPrice), Reissue(GoldAssetID, NewGoldToUser, true), ScriptTransfer(i.caller, NewGoldToUser, GoldAssetID)]
25+ }
26+
27+
28+
29+@Callable(i)
30+func Liquidategold () = {
31+ let pmt = value(i.payments[0])
32+ let currentKey = toBase58String(i.caller.bytes)
33+ let GoldAssetID = base58'4noTADz7TX4HmjkCMpJAzkfuR6BKxDsSCzp3XJNZAcgy'
34+ let USDTAssetID = base58'GyqTYDea3DWBaAyQs5S5uH2223ucELYFazJpZLCfMznU'
35+ let PricePerGramGold = assetBalance(this, GoldAssetID)
1336 let NewGoldToUser = fraction(1000000, pmt.amount, PricePerGramGold)
1437 let PreviousIssuedGold = getIntegerValue(this, "Total_Issued_Gold:")
1538 let TotalIssuedGold = (PreviousIssuedGold + NewGoldToUser)
1639 if ((pmt.assetId != USDTAssetID))
1740 then throw("Incorrect asset attached, please attach USDT AssetID GyqTYDea3DWBaAyQs5S5uH2223ucELYFazJpZLCfMznU.")
1841 else if ((1000000 > pmt.amount))
1942 then throw("Please Attach minimum 1 USDT To Issue Gold Asset.")
2043 else [IntegerEntry("Total_Issued_Gold:", TotalIssuedGold), Reissue(GoldAssetID, NewGoldToUser, true), ScriptTransfer(i.caller, NewGoldToUser, GoldAssetID)]
2144 }
2245
2346
2447 @Verifier(tx)
2548 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
2649

github/deemru/w8io/169f3d6 
112.15 ms