tx · 4hGPKytavtwcYhzDSMcNJBxRCTMskwbvK3BLieUMY7sU

3PHdaP2BLUXFacnqZm6WoFjidvzqZZMbb8j:  -0.01000000 Waves

2023.07.04 18:56 [3717028] smart account 3PHdaP2BLUXFacnqZm6WoFjidvzqZZMbb8j > SELF 0.00000000 Waves

{ "type": 13, "id": "4hGPKytavtwcYhzDSMcNJBxRCTMskwbvK3BLieUMY7sU", "fee": 1000000, "feeAssetId": null, "timestamp": 1688486150234, "version": 2, "chainId": 87, "sender": "3PHdaP2BLUXFacnqZm6WoFjidvzqZZMbb8j", "senderPublicKey": "9LFA81VdbMx4PkgVkqY7mAZt9NqkKxPLH1qdzQbASaC6", "proofs": [ "3jBKvN7Xe3PXL23ApgE2ivRiXrtCMsZqkQGTt1oyUzme6w5NmUjs7dVDkAXQVGtQyyK2MSSJ8hHDeL2At9koZrNc" ], "script": "base64:BgIICAISBAoCAgELAANTRVACAl9fABBjb250cmFjdEZpbGVuYW1lAhNwcm94eV90cmVhc3VyeS5yaWRlAQd3cmFwRXJyAQFzCQCsAgIJAKwCAgUQY29udHJhY3RGaWxlbmFtZQICOiAFAXMBCHRocm93RXJyAQFzCQACAQkBB3dyYXBFcnIBBQFzARFrZXlGYWN0b3J5QWRkcmVzcwAJALkJAgkAzAgCAgIlcwkAzAgCAgdmYWN0b3J5BQNuaWwFA1NFUAETa2V5TWFuYWdlclB1YmxpY0tleQAJALkJAgkAzAgCAgIlcwkAzAgCAhBtYW5hZ2VyUHVibGljS2V5BQNuaWwFA1NFUAAUZmFjdG9yeUFkZHJlc3NPcHRpb24EByRtYXRjaDAJAJ0IAgUEdGhpcwkBEWtleUZhY3RvcnlBZGRyZXNzAAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAJAKYIAQUBcwMJAAECBQckbWF0Y2gwAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IAFGZhY3RvcnlBZGRyZXNzT3JGYWlsCQETdmFsdWVPckVycm9yTWVzc2FnZQIFFGZhY3RvcnlBZGRyZXNzT3B0aW9uCQEHd3JhcEVycgECF2ludmFsaWQgZmFjdG9yeSBhZGRyZXNzAQtvbmx5QWRkcmVzcwIBaQdhZGRyZXNzAwkAAAIIBQFpBmNhbGxlcgUHYWRkcmVzcwYJAQh0aHJvd0VycgECEXBlcm1pc3Npb24gZGVuaWVkAQtvbmx5RmFjdG9yeQEBaQkBC29ubHlBZGRyZXNzAgUBaQUUZmFjdG9yeUFkZHJlc3NPckZhaWwBGWdldE1hbmFnZXJQdWJsaWNLZXlPclVuaXQABAckbWF0Y2gwBRRmYWN0b3J5QWRkcmVzc09wdGlvbgMJAAECBQckbWF0Y2gwAgdBZGRyZXNzBAJmYQUHJG1hdGNoMAQHJG1hdGNoMQkAnQgCBQJmYQkBE2tleU1hbmFnZXJQdWJsaWNLZXkAAwkAAQIFByRtYXRjaDECBlN0cmluZwQDcHViBQckbWF0Y2gxCQDZBAEFA3B1YgUEdW5pdAUEdW5pdAEBaQENdHJhbnNmZXJXYXZlcwIOcmVjaXBpZW50Qnl0ZXMGYW1vdW50BAtjaGVja0NhbGxlcgkBC29ubHlGYWN0b3J5AQUBaQMJAAACBQtjaGVja0NhbGxlcgULY2hlY2tDYWxsZXIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBBQ5yZWNpcGllbnRCeXRlcwUGYW1vdW50BQR1bml0BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnR4AQZ2ZXJpZnkABAlwdWJsaWNLZXkEByRtYXRjaDAJARlnZXRNYW5hZ2VyUHVibGljS2V5T3JVbml0AAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBANwdWIFByRtYXRjaDAFA3B1YggFAnR4D3NlbmRlclB1YmxpY0tleQkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAUJcHVibGljS2V5FfN7tg==", "height": 3717028, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7BK5NEpKKb9KsNjL8JqQC8Q3wm6RtTVWUdtHNubdbBHz Next: 8hTUYr8thpjXjKJPUsF1rrERwbCzZbFsSgbsbD9m3RE7 Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 6 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let SEP = "__"
5+
6+let contractFilename = "proxy_treasury.ride"
7+
8+func wrapErr (s) = ((contractFilename + ": ") + s)
9+
10+
11+func throwErr (s) = throw(wrapErr(s))
12+
13+
14+func keyFactoryAddress () = makeString(["%s", "factory"], SEP)
15+
16+
17+func keyManagerPublicKey () = makeString(["%s", "managerPublicKey"], SEP)
18+
19+
20+let factoryAddressOption = match getString(this, keyFactoryAddress()) {
21+ case s: String =>
22+ addressFromString(s)
23+ case _: Unit =>
24+ unit
25+ case _ =>
26+ throw("Match error")
27+}
28+
29+let factoryAddressOrFail = valueOrErrorMessage(factoryAddressOption, wrapErr("invalid factory address"))
30+
31+func onlyAddress (i,address) = if ((i.caller == address))
32+ then true
33+ else throwErr("permission denied")
34+
35+
36+func onlyFactory (i) = onlyAddress(i, factoryAddressOrFail)
37+
38+
39+func getManagerPublicKeyOrUnit () = match factoryAddressOption {
40+ case fa: Address =>
41+ match getString(fa, keyManagerPublicKey()) {
42+ case pub: String =>
43+ fromBase58String(pub)
44+ case _ =>
45+ unit
46+ }
47+ case _ =>
48+ unit
49+}
50+
51+
52+@Callable(i)
53+func transferWaves (recipientBytes,amount) = {
54+ let checkCaller = onlyFactory(i)
55+ if ((checkCaller == checkCaller))
56+ then [ScriptTransfer(Address(recipientBytes), amount, unit)]
57+ else throw("Strict value is not equal to itself.")
58+ }
59+
60+
61+@Verifier(tx)
62+func verify () = {
63+ let publicKey = match getManagerPublicKeyOrUnit() {
64+ case pub: ByteVector =>
65+ pub
66+ case _ =>
67+ tx.senderPublicKey
68+ }
69+ sigVerify(tx.bodyBytes, tx.proofs[0], publicKey)
70+ }
71+

github/deemru/w8io/6500d08 
25.39 ms