tx · 9qFyH1iCB7gRXMTsPDxshbdCeCQUacT1za4xfV7amU2e 3PJFu8MmVa2rSVGM48wdLm4jhLznEgu6XSe: -0.00200000 Waves 2022.11.25 15:18 [3398058] smart account 3PJFu8MmVa2rSVGM48wdLm4jhLznEgu6XSe > SELF 0.00000000 Waves
{ "type": 13, "id": "9qFyH1iCB7gRXMTsPDxshbdCeCQUacT1za4xfV7amU2e", "fee": 200000, "feeAssetId": null, "timestamp": 1669378692665, "version": 1, "sender": "3PJFu8MmVa2rSVGM48wdLm4jhLznEgu6XSe", "senderPublicKey": "5k59JsDv4Nh9KgnBQFfggScT4ce5vtoDmzQwivD8hgpc", "proofs": [ "2VU2UhpNPCBhfeCCrrSsF7TKbgTqBQzc9exBv7tuXLhZPXkNcCNQaPs7t8B6FSod3wjJUeDJBaXJ5qjyDTWPHeSo" ], "script": "base64:BgIRCAISBAoCCAgSAwoBCBIAEgAIARB3cml0ZUNvbnN0U3RyaW5nAgNrZXkFdmFsdWUDCQEBIQEJAQlpc0RlZmluZWQBCQCdCAIFBHRoaXMFA2tleQkBC1N0cmluZ0VudHJ5AgUDa2V5BQV2YWx1ZQkAAgEJAKwCAgIVYWxyZWFkeSBpbml0aWFsaXplZDogBQNrZXkAEHVzZG5Bc3NldElkU3RvcmUCC3VzZG5Bc3NldElkABJ1c2RuTFBBc3NldElkU3RvcmUCDXVzZG5MUEFzc2V0SWQAC2NvbmZpZ1N0b3JlAgZjb25maWcAC3VzZG5Bc3NldElkCQDZBAEJARFAZXh0ck5hdGl2ZSgxMDU4KQEFEHVzZG5Bc3NldElkU3RvcmUADXVzZG5MUEFzc2V0SWQJANkEAQkBEUBleHRyTmF0aXZlKDEwNTgpAQUSdXNkbkxQQXNzZXRJZFN0b3JlAA1jb25maWdBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzBQtjb25maWdTdG9yZQEHdGhyb3dJZgIJY29uZGl0aW9uBWVycm9yAwUJY29uZGl0aW9uCQACAQUFZXJyb3IGBAFpAQRpbml0AgR1c2RuA2NmZwMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECEm9ubHkgc2VsZiBjYW4gaW5pdAQJbHBUb2tlbklkCQDCCAUCCFZWVVNETkxQAhRWaXJlcyBWZXN0ZWQgVVNETiBMUAAAAAYGCQDMCAIFCWxwVG9rZW5JZAkAzAgCCQEQd3JpdGVDb25zdFN0cmluZwIFEHVzZG5Bc3NldElkU3RvcmUFBHVzZG4JAMwIAgkBEHdyaXRlQ29uc3RTdHJpbmcCBRJ1c2RuTFBBc3NldElkU3RvcmUJANgEAQkAuAgBBQlscFRva2VuSWQJAMwIAgkBEHdyaXRlQ29uc3RTdHJpbmcCBQtjb25maWdTdG9yZQUDY2ZnBQNuaWwBaQEGbWludFRvAQdhZGRyZXNzBAZjaGVja3MJAQd0aHJvd0lmAgkBAiE9AgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQCCXVzZG4gb25seQULdXNkbkFzc2V0SWQCEnVzZG4gb25seSBhY2NlcHRlZAMJAAACBQZjaGVja3MFBmNoZWNrcwQGYW1vdW50CAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAkAzAgCCQEHUmVpc3N1ZQMFDXVzZG5MUEFzc2V0SWQFBmFtb3VudAYJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQUHYWRkcmVzcwUGYW1vdW50BQ11c2RuTFBBc3NldElkBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEGcmVkZWVtAAkAAgECD25vdCBpbXBsZW1lbnRlZAFpAQZpbXBvcnQABAZjaGVja3MDCQEHdGhyb3dJZgIJAQIhPQIJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAggJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkAgx1c2RuIGxwIG9ubHkFDXVzZG5MUEFzc2V0SWQCFnZ2dXNkbmxwIG9ubHkgYWNjZXB0ZWQJAQd0aHJvd0lmAgkAZgIJAQt2YWx1ZU9yRWxzZQIJAJoIAgUNY29uZmlnQWRkcmVzcwITbWluX2ltcG9ydF92dnVzZG5scAkAaAIJAGgCCQBoAgBkAOgHAOgHAOgHCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAIUbGVzcyB0aGFuIG1pbiBhbW91bnQHAwkAAAIFBmNoZWNrcwUGY2hlY2tzCQACAQIPbm90IGltcGxlbWVudGVkCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAMMOBM4=", "chainId": 87, "height": 3398058, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 94askssZKP4paZXxNBuBnZLRNJEkJuLjp4QZoPRZvTJ7 Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 6 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | func writeConstString (key,value) = if (!(isDefined(getString(this, key)))) | |
5 | + | then StringEntry(key, value) | |
6 | + | else throw(("already initialized: " + key)) | |
7 | + | ||
8 | + | ||
9 | + | let usdnAssetIdStore = "usdnAssetId" | |
10 | + | ||
11 | + | let usdnLPAssetIdStore = "usdnLPAssetId" | |
12 | + | ||
13 | + | let configStore = "config" | |
14 | + | ||
15 | + | let usdnAssetId = fromBase58String(getStringValue(usdnAssetIdStore)) | |
16 | + | ||
17 | + | let usdnLPAssetId = fromBase58String(getStringValue(usdnLPAssetIdStore)) | |
18 | + | ||
19 | + | let configAddress = addressFromStringValue(getStringValue(this, configStore)) | |
20 | + | ||
21 | + | func throwIf (condition,error) = if (condition) | |
22 | + | then throw(error) | |
23 | + | else true | |
24 | + | ||
25 | + | ||
26 | + | @Callable(i) | |
27 | + | func init (usdn,cfg) = if ((i.caller != this)) | |
28 | + | then throw("only self can init") | |
29 | + | else { | |
30 | + | let lpTokenId = Issue("VVUSDNLP", "Vires Vested USDN LP", 0, 6, true) | |
31 | + | [lpTokenId, writeConstString(usdnAssetIdStore, usdn), writeConstString(usdnLPAssetIdStore, toBase58String(calculateAssetId(lpTokenId))), writeConstString(configStore, cfg)] | |
32 | + | } | |
33 | + | ||
34 | + | ||
35 | + | ||
36 | + | @Callable(i) | |
37 | + | func mintTo (address) = { | |
38 | + | let checks = throwIf((valueOrErrorMessage(i.payments[0].assetId, "usdn only") != usdnAssetId), "usdn only accepted") | |
39 | + | if ((checks == checks)) | |
40 | + | then { | |
41 | + | let amount = i.payments[0].amount | |
42 | + | [Reissue(usdnLPAssetId, amount, true), ScriptTransfer(addressFromStringValue(address), amount, usdnLPAssetId)] | |
43 | + | } | |
44 | + | else throw("Strict value is not equal to itself.") | |
45 | + | } | |
46 | + | ||
47 | + | ||
48 | + | ||
49 | + | @Callable(i) | |
50 | + | func redeem () = throw("not implemented") | |
51 | + | ||
52 | + | ||
53 | + | ||
54 | + | @Callable(i) | |
55 | + | func import () = { | |
56 | + | let checks = if (throwIf((valueOrErrorMessage(i.payments[0].assetId, "usdn lp only") != usdnLPAssetId), "vvusdnlp only accepted")) | |
57 | + | then throwIf((valueOrElse(getInteger(configAddress, "min_import_vvusdnlp"), (((100 * 1000) * 1000) * 1000)) > i.payments[0].amount), "less than min amount") | |
58 | + | else false | |
59 | + | if ((checks == checks)) | |
60 | + | then throw("not implemented") | |
61 | + | else throw("Strict value is not equal to itself.") | |
62 | + | } | |
63 | + | ||
64 | + |
github/deemru/w8io/3ef1775 21.68 ms ◑