tx · HsUUp1ReSHsakkfUcTNA5kkzjLqJcirj3PAywnoztoYH

3MuQJ2by8GXusfNAEdX1jYW2WMQbjVzwxzX:  -0.01000000 Waves

2023.09.27 14:45 [2773770] smart account 3MuQJ2by8GXusfNAEdX1jYW2WMQbjVzwxzX > SELF 0.00000000 Waves

{ "type": 13, "id": "HsUUp1ReSHsakkfUcTNA5kkzjLqJcirj3PAywnoztoYH", "fee": 1000000, "feeAssetId": null, "timestamp": 1695815185075, "version": 2, "chainId": 84, "sender": "3MuQJ2by8GXusfNAEdX1jYW2WMQbjVzwxzX", "senderPublicKey": "DCZ3si1pk7A23sVSwzZtghP1jZR2YyYEH2WaMxvELct9", "proofs": [ "5BRTx5R1vrxKjFsMX3v48fqdGwCyakokyb22yFnJbHVA38bvGWFzSJyvbJgJAKZkehD9R4k1aAQ4cqpVGiHsvfPJ" ], "script": "base64:BgIqCAISBAoCCAgSBAoCCAESBQoDAgECEgQKAgIBEgUKAwICAhIAEgQKAggYDwARa0ZhY3RvcnlQdWJsaWNLZXkCFCVzX19mYWN0b3J5UHVibGljS2V5ABFrU2VydmljZVB1YmxpY0tleQIUJXNfX3NlcnZpY2VQdWJsaWNLZXkAD2tPd25lclB1YmxpY0tleQISJXNfX293bmVyUHVibGljS2V5ABFrQ3JlYXRvclB1YmxpY0tleQIUJXNfX2NyZWF0b3JQdWJsaWNLZXkADWtCb3RQdWJsaWNLZXkCECVzX19ib3RQdWJsaWNLZXkACWtWZXJpZmllZAIMJXNfX3ZlcmlmaWVkAQh2ZXJpZmllZAAJAQt2YWx1ZU9yRWxzZQIJAJsIAgUEdGhpcwUJa1ZlcmlmaWVkBwAOZmFjdG9yeUFkZHJlc3MJAKcIAQkBEUBleHRyTmF0aXZlKDEwNTIpAgUEdGhpcwURa0ZhY3RvcnlQdWJsaWNLZXkADnNlcnZpY2VBZGRyZXNzCQCnCAEJARFAZXh0ck5hdGl2ZSgxMDUyKQIFDmZhY3RvcnlBZGRyZXNzBRFrU2VydmljZVB1YmxpY0tleQAMb3duZXJBZGRyZXNzCQCnCAEJARFAZXh0ck5hdGl2ZSgxMDUyKQIFBHRoaXMFD2tPd25lclB1YmxpY0tleQELbXVzdEFkZHJlc3MCAWkHYWRkcmVzcwMJAAACCAUBaQZjYWxsZXIFB2FkZHJlc3MGCQEFdGhyb3cAAQhtdXN0VGhpcwEBaQkBC211c3RBZGRyZXNzAgUBaQUEdGhpcwELbXVzdFNlcnZpY2UBAWkJAQttdXN0QWRkcmVzcwIFAWkFDnNlcnZpY2VBZGRyZXNzAQltdXN0T3duZXIBAWkJAQttdXN0QWRkcmVzcwIFAWkFDG93bmVyQWRkcmVzcwELbXVzdEZhY3RvcnkBAWkJAQttdXN0QWRkcmVzcwIFAWkFDmZhY3RvcnlBZGRyZXNzBwFpAQtzdHJpbmdFbnRyeQIDa2V5A3ZhbAMJAQttdXN0U2VydmljZQEFAWkJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQNrZXkFA3ZhbAUDbmlsBQNrZXkJAJQKAgUDbmlsBQR1bml0AWkBDGludGVnZXJFbnRyeQIDa2V5A3ZhbAMJAQttdXN0U2VydmljZQEFAWkJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgUDa2V5BQN2YWwFA25pbAUDa2V5CQCUCgIFA25pbAUEdW5pdAFpAQ10cmFuc2ZlckFzc2V0Aw5yZWNpcGllbnRCeXRlcwZhbW91bnQHYXNzZXRJZAMJAQttdXN0U2VydmljZQEFAWkJAJQKAgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEFDnJlY2lwaWVudEJ5dGVzBQZhbW91bnQFB2Fzc2V0SWQFA25pbAUGYW1vdW50CQCUCgIFA25pbAUEdW5pdAFpAQ10cmFuc2ZlcldhdmVzAg5yZWNpcGllbnRCeXRlcwZhbW91bnQDCQELbXVzdFNlcnZpY2UBBQFpCQCUCgIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBBQ5yZWNpcGllbnRCeXRlcwUGYW1vdW50BQR1bml0BQNuaWwFBmFtb3VudAkAlAoCBQNuaWwFBHVuaXQBaQEEaW5pdAMQZmFjdG9yeVB1YmxpY0tleQ5vd25lclB1YmxpY0tleRBjcmVhdG9yUHVibGljS2V5BAtjaGVja0NhbGxlcgkBCG11c3RUaGlzAQUBaQMJAAACBQtjaGVja0NhbGxlcgULY2hlY2tDYWxsZXIJAJQKAgkAzAgCCQELQmluYXJ5RW50cnkCBRFrRmFjdG9yeVB1YmxpY0tleQUQZmFjdG9yeVB1YmxpY0tleQkAzAgCCQELQmluYXJ5RW50cnkCBQ9rT3duZXJQdWJsaWNLZXkFDm93bmVyUHVibGljS2V5CQDMCAIJAQtCaW5hcnlFbnRyeQIFEWtDcmVhdG9yUHVibGljS2V5BRBjcmVhdG9yUHVibGljS2V5BQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEHYXBwcm92ZQAEC2NoZWNrQ2FsbGVyCQELbXVzdEZhY3RvcnkBBQFpAwkAAAIFC2NoZWNrQ2FsbGVyBQtjaGVja0NhbGxlcgkAlAoCCQDMCAIJAQxCb29sZWFuRW50cnkCBQlrVmVyaWZpZWQGBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEEY2FsbAIIZnVuY3Rpb24EYXJncwQLY2hlY2tDYWxsZXIJAQltdXN0T3duZXIBBQFpAwkAAAIFC2NoZWNrQ2FsbGVyBQtjaGVja0NhbGxlcgQGcmVzdWx0CQD9BwQFDnNlcnZpY2VBZGRyZXNzBQhmdW5jdGlvbgkAzAgCBQRhcmdzBQNuaWwIBQFpCHBheW1lbnRzCQCUCgIFA25pbAUGcmVzdWx0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJ0eAEGdmVyaWZ5AAQHdGVzdG5ldAkAAAIJAMkBAgkAygECCAUEdGhpcwVieXRlcwABAAEBAVQEDGJvdFB1YmxpY0tleQkBEUBleHRyTmF0aXZlKDEwNTIpAgUOZmFjdG9yeUFkZHJlc3MFDWtCb3RQdWJsaWNLZXkEByRtYXRjaDAFAnR4AwkAAQIFByRtYXRjaDACBU9yZGVyCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAABQxib3RQdWJsaWNLZXkDCQABAgUHJG1hdGNoMAIXSW52b2tlU2NyaXB0VHJhbnNhY3Rpb24DCQEIdmVyaWZpZWQABwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleQMJAQEhAQUHdGVzdG5ldAcJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXm2ZHf2", "height": 2773770, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AdfbHKt54m7jJkCh6ENyEiKLWa8SScd7MzWRjYxA5QsR Next: Eb2V6VxfsWYPxZ1bepS1zDAAqbQK8nXwiZecGZ1zoxB Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let kFactoryPublicKey = "%s__factoryPublicKey"
55
66 let kServicePublicKey = "%s__servicePublicKey"
77
88 let kOwnerPublicKey = "%s__ownerPublicKey"
99
1010 let kCreatorPublicKey = "%s__creatorPublicKey"
1111
1212 let kBotPublicKey = "%s__botPublicKey"
1313
1414 let kVerified = "%s__verified"
1515
1616 func verified () = valueOrElse(getBoolean(this, kVerified), false)
1717
1818
1919 let factoryAddress = addressFromPublicKey(getBinaryValue(this, kFactoryPublicKey))
2020
2121 let serviceAddress = addressFromPublicKey(getBinaryValue(factoryAddress, kServicePublicKey))
2222
2323 let ownerAddress = addressFromPublicKey(getBinaryValue(this, kOwnerPublicKey))
2424
2525 func mustAddress (i,address) = if ((i.caller == address))
2626 then true
2727 else throw()
2828
2929
3030 func mustThis (i) = mustAddress(i, this)
3131
3232
3333 func mustService (i) = mustAddress(i, serviceAddress)
3434
3535
3636 func mustOwner (i) = mustAddress(i, ownerAddress)
3737
3838
3939 func mustFactory (i) = mustAddress(i, factoryAddress)
4040
4141
4242 @Callable(i)
4343 func stringEntry (key,val) = if (mustService(i))
4444 then $Tuple2([StringEntry(key, val)], key)
4545 else $Tuple2(nil, unit)
4646
4747
4848
4949 @Callable(i)
5050 func integerEntry (key,val) = if (mustService(i))
5151 then $Tuple2([IntegerEntry(key, val)], key)
5252 else $Tuple2(nil, unit)
5353
5454
5555
5656 @Callable(i)
5757 func transferAsset (recipientBytes,amount,assetId) = if (mustService(i))
5858 then $Tuple2([ScriptTransfer(Address(recipientBytes), amount, assetId)], amount)
5959 else $Tuple2(nil, unit)
6060
6161
6262
6363 @Callable(i)
6464 func transferWaves (recipientBytes,amount) = if (mustService(i))
6565 then $Tuple2([ScriptTransfer(Address(recipientBytes), amount, unit)], amount)
6666 else $Tuple2(nil, unit)
6767
6868
6969
7070 @Callable(i)
7171 func init (factoryPublicKey,ownerPublicKey,creatorPublicKey) = {
7272 let checkCaller = mustThis(i)
7373 if ((checkCaller == checkCaller))
7474 then $Tuple2([BinaryEntry(kFactoryPublicKey, factoryPublicKey), BinaryEntry(kOwnerPublicKey, ownerPublicKey), BinaryEntry(kCreatorPublicKey, creatorPublicKey)], unit)
7575 else throw("Strict value is not equal to itself.")
7676 }
7777
7878
7979
8080 @Callable(i)
8181 func approve () = {
8282 let checkCaller = mustFactory(i)
8383 if ((checkCaller == checkCaller))
8484 then $Tuple2([BooleanEntry(kVerified, true)], unit)
8585 else throw("Strict value is not equal to itself.")
8686 }
8787
8888
8989
9090 @Callable(i)
9191 func call (function,args) = {
9292 let checkCaller = mustOwner(i)
9393 if ((checkCaller == checkCaller))
9494 then {
9595 let result = reentrantInvoke(serviceAddress, function, [args], i.payments)
9696 $Tuple2(nil, result)
9797 }
9898 else throw("Strict value is not equal to itself.")
9999 }
100100
101101
102102 @Verifier(tx)
103103 func verify () = {
104104 let testnet = (take(drop(this.bytes, 1), 1) == base58'2T')
105105 let botPublicKey = getBinaryValue(factoryAddress, kBotPublicKey)
106106 match tx {
107107 case _: Order =>
108108 sigVerify(tx.bodyBytes, tx.proofs[0], botPublicKey)
109109 case _: InvokeScriptTransaction =>
110110 if (verified())
111111 then false
112112 else sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
113113 case _ =>
114114 if (!(testnet))
115115 then false
116116 else sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
117117 }
118118 }
119119

github/deemru/w8io/03bedc9 
25.45 ms