tx · 4xUQjh14G5Ac6zsRHHjCZ8V5bSFGxpNf66RSSk8AqAdH

3N9J3wuPH3fe1vTsLwJSticprdzZWXzZtMb:  -0.01500000 Waves

2022.06.08 13:14 [2087257] smart account 3N9J3wuPH3fe1vTsLwJSticprdzZWXzZtMb > SELF 0.00000000 Waves

{ "type": 13, "id": "4xUQjh14G5Ac6zsRHHjCZ8V5bSFGxpNf66RSSk8AqAdH", "fee": 1500000, "feeAssetId": null, "timestamp": 1654683250223, "version": 2, "chainId": 84, "sender": "3N9J3wuPH3fe1vTsLwJSticprdzZWXzZtMb", "senderPublicKey": "6YTEFQ5JhfL8TsLSjyXNG4TVYq2Jmu3nkmXvxD1Nj5mn", "proofs": [ "3y2xinCh5xnu6w1b7EzTQjopP3d5wSNe3TQVWwQB2ervdVMtfw2QRu6tvZdEFBkfu5UZp3t8rajcQqvyqcc1EWKs" ], "script": "base64:AAIFAAAAAAAAACwIAhIGCgQIAggCEggKBgICAQICAhIHCgUCAgECAhIDCgEIEgMKAQgSAwoBCAAAABYAAAAAEGtleUxvY2tSZWNpcGllbnQCAAAAA19scgAAAAANa2V5TG9ja0Ftb3VudAIAAAADX2xhAAAAABJrZXlMb2NrRGVzdGluYXRpb24CAAAAA19sZAAAAAASa2V5TG9ja0Fzc2V0U291cmNlAgAAAARfbGFzAAAAAAprZXlWZXJzaW9uAgAAAAJfdgAAAAAJa2V5QnJpZGdlAgAAAAJfYgAAAAAJa2V5T3JhY2xlAgAAAAJfbwAAAAAIa2V5QWRtaW4CAAAAAl9hAAAAAAlrZXlVbmxvY2sCAAAAAl91AAAAAA9lcnJVbmF1dGhvcml6ZWQCAAAADHVuYXV0aG9yaXplZAAAAAAQZXJyVW5pbml0aWFsaXplZAIAAAANdW5pbml0aWFsaXplZAAAAAATZXJySW52YWxpZFNpZ25hdHVyZQIAAAARaW52YWxpZCBzaWduYXR1cmUAAAAAEWVyckFscmVhZHlDbGFpbWVkAgAAAAdjbGFpbWVkAAAAABBlcnJBbHJlYWR5TG9ja2VkAgAAAAZsb2NrZWQAAAAAEGVyckludmFsaWRMb2NrSWQCAAAADmludmFsaWQgbG9ja0lkAAAAAApjaGFpbldhdmVzAgAAAAhWMEZXUlE9PQEAAAAMYXNzZXJ0Q2FsbGVyAAAAAgAAAAFpAAAAA2tleQQAAAAHJG1hdGNoMAkABCEAAAABBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAACkJ5dGVWZWN0b3IEAAAACWF1dGhvcml0eQUAAAAHJG1hdGNoMAMJAQAAAAIhPQAAAAIFAAAACWF1dGhvcml0eQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwkAAAIAAAABBQAAAA9lcnJVbmF1dGhvcml6ZWQFAAAABHVuaXQJAAACAAAAAQUAAAAQZXJyVW5pbml0aWFsaXplZAEAAAAWYXNzZXJ0Q2FsbGVySXNDb250cmFjdAAAAAEAAAABaQMJAQAAAAIhPQAAAAIIBQAAAAR0aGlzAAAABWJ5dGVzCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzCQAAAgAAAAEFAAAAD2VyclVuYXV0aG9y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bW91bnQJAARMAAAAAgUAAAANbG9ja1NvdXJjZVN0cgkABEwAAAACCQACWgAAAAEFAAAAFXRva2VuU291cmNlQW5kQWRkcmVzcwkABEwAAAACBQAAAApjaGFpbldhdmVzBQAAAANuaWwCAAAAAV8EAAAABGhhc2gJAAH1AAAAAQkAAZsAAAABBQAAAAdtZXNzYWdlBAAAAAxyZWNvdmVyZWRLZXkJAAOEAAAAAgUAAAAEaGFzaAUAAAAJc2lnbmF0dXJlAwkBAAAAAiE9AAAAAgUAAAAMcmVjb3ZlcmVkS2V5CQEAAAARQGV4dHJOYXRpdmUoMTA1NykAAAABBQAAAAlrZXlPcmFjbGUJAAACAAAAAQUAAAATZXJySW52YWxpZFNpZ25hdHVyZQkABRQAAAACCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAl1bmxvY2tLZXkGBQAAAANuaWwGCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAKY3JlYXRlTG9jawAAAAUAAAAGbG9ja0lkAAAACXJlY2lwaWVudAAAAAZhbW91bnQAAAAPbG9ja0Rlc3RpbmF0aW9uAAAAFWFzc2V0U291cmNlQW5kQWRkcmVzcwQAAAAJbG9ja0lkU3RyCQACWgAAAAEFAAAABmxvY2tJZAQAAAAQbG9ja1JlY2lwaWVudEtleQkAASwAAAACBQAAAAlsb2NrSWRTdHIFAAAAEGtleUxvY2tSZWNpcGllbnQEAAAAC2NoZWNrQ2FsbGVyCQEAAAAUYXNzZXJ0Q2FsbGVySXNCcmlkZ2UAAAABBQAAAAFpAwkAAAAAAAACBQAAAAtjaGVja0NhbGxlcgUAAAALY2hlY2tDYWxsZXIEAAAAC2NoZWNrTG9ja0lkCQEAAAARYXNzZXJ0VmFsaWRMb2NrSWQAAAABBQAAAAZsb2NrSWQDCQAAAAAAAAIFAAAAC2NoZWNrTG9ja0lkBQAAAAtjaGVja0xvY2tJZAQAAAAJY2hlY2tMb2NrCQEAAAATYXNzZXJ0TG9ja05vdEV4aXN0cwAAAAEFAAAAEGxvY2tSZWNpcGllbnRLZXkDCQAAAAAAAAIFAAAACWNoZWNrTG9jawUAAAAJY2hlY2tMb2NrCQAETAAAAAIJAQAAAAtCaW5hcnlFbnRyeQAAAAIJAAEsAAAAAgUAAAAJbG9ja0lkU3RyBQAAABBrZXlMb2NrUmVjaXBpZW50BQAAAAlyZWNpcGllbnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAJbG9ja0lkU3RyBQAAAA1rZXlMb2NrQW1vdW50BQAAAAZhbW91bnQJAARMAAAAAgkBAAAAC0JpbmFyeUVudHJ5AAAAAgkAASwAAAACBQAAAAlsb2NrSWRTdHIFAAAAEmtleUxvY2tEZXN0aW5hdGlvbgUAAAAPbG9ja0Rlc3RpbmF0aW9uCQAETAAAAAIJAQAAAAtCaW5hcnlFbnRyeQAAAAIJAAEsAAAAAgUAAAAJbG9ja0lkU3RyBQAAABJrZXlMb2NrQXNzZXRTb3VyY2UFAAAAFWFzc2V0U291cmNlQW5kQWRkcmVzcwUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAACHNldEFkbWluAAAAAQAAAAhuZXdBZG1pbgQAAAALY2hlY2tDYWxsZXIJAQAAABNhc3NlcnRDYWxsZXJJc0FkbWluAAAAAQUAAAABaQMJAAAAAAAAAgUAAAALY2hlY2tDYWxsZXIFAAAAC2NoZWNrQ2FsbGVyCQAETAAAAAIJAQAAAAtCaW5hcnlFbnRyeQAAAAIFAAAACGtleUFkbWluCAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAIbmV3QWRtaW4AAAAFYnl0ZXMFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAJc2V0T3JhY2xlAAAAAQAAAAluZXdPcmFjbGUEAAAAC2NoZWNrQ2FsbGVyCQEAAAATYXNzZXJ0Q2FsbGVySXNBZG1pbgAAAAEFAAAAAWkDCQAAAAAAAAIFAAAAC2NoZWNrQ2FsbGVyBQAAAAtjaGVja0NhbGxlcgkABEwAAAACCQEAAAALQmluYXJ5RW50cnkAAAACBQAAAAlrZXlPcmFjbGUICQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAAluZXdPcmFjbGUAAAAFYnl0ZXMFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAJc2V0QnJpZGdlAAAAAQAAAAluZXdCcmlkZ2UEAAAAC2NoZWNrQ2FsbGVyCQEAAAATYXNzZXJ0Q2FsbGVySXNBZG1pbgAAAAEFAAAAAWkDCQAAAAAAAAIFAAAAC2NoZWNrQ2FsbGVyBQAAAAtjaGVja0NhbGxlcgkABEwAAAACCQEAAAALQmluYXJ5RW50cnkAAAACBQAAAAlrZXlCcmlkZ2UICQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAAluZXdCcmlkZ2UAAAAFYnl0ZXMFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAAAzbSFWA==", "height": 2087257, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CaTH2KLxnsnSEcHNRfFAjhm1B8QW1m1NgV75nRAu2FAB Next: none Diff:
OldNewDifferences
4343 }
4444
4545
46+func assertCallerIsContract (i) = if ((this.bytes != i.caller.bytes))
47+ then throw(errUnauthorized)
48+ else unit
49+
50+
4651 func assertCallerIsBridge (i) = assertCaller(i, keyBridge)
4752
4853
6873
6974
7075 @Callable(i)
71-func init (admin,version,bridge,oracle) = if (isDefined(getBinary(keyAdmin)))
72- then throw(errUnauthorized)
73- else [BinaryEntry(keyVersion, version), BinaryEntry(keyBridge, bridge), BinaryEntry(keyOracle, oracle), BinaryEntry(keyAdmin, admin)]
76+func init (admin,version,bridge,oracle) = {
77+ let callerCheck = assertCallerIsContract(i)
78+ if ((callerCheck == callerCheck))
79+ then if (isDefined(getBinary(keyAdmin)))
80+ then throw(errUnauthorized)
81+ else [BinaryEntry(keyVersion, version), BinaryEntry(keyBridge, addressFromStringValue(bridge).bytes), BinaryEntry(keyOracle, oracle), BinaryEntry(keyAdmin, addressFromStringValue(admin).bytes)]
82+ else throw("Strict value is not equal to itself.")
83+ }
7484
7585
7686
129139 func setAdmin (newAdmin) = {
130140 let checkCaller = assertCallerIsAdmin(i)
131141 if ((checkCaller == checkCaller))
132- then [BinaryEntry(keyAdmin, newAdmin)]
142+ then [BinaryEntry(keyAdmin, addressFromStringValue(newAdmin).bytes)]
133143 else throw("Strict value is not equal to itself.")
134144 }
135145
139149 func setOracle (newOracle) = {
140150 let checkCaller = assertCallerIsAdmin(i)
141151 if ((checkCaller == checkCaller))
142- then [BinaryEntry(keyOracle, newOracle)]
152+ then [BinaryEntry(keyOracle, addressFromStringValue(newOracle).bytes)]
143153 else throw("Strict value is not equal to itself.")
144154 }
145155
149159 func setBridge (newBridge) = {
150160 let checkCaller = assertCallerIsAdmin(i)
151161 if ((checkCaller == checkCaller))
152- then [BinaryEntry(keyBridge, newBridge)]
162+ then [BinaryEntry(keyBridge, addressFromStringValue(newBridge).bytes)]
153163 else throw("Strict value is not equal to itself.")
154164 }
155165
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let keyLockRecipient = "_lr"
55
66 let keyLockAmount = "_la"
77
88 let keyLockDestination = "_ld"
99
1010 let keyLockAssetSource = "_las"
1111
1212 let keyVersion = "_v"
1313
1414 let keyBridge = "_b"
1515
1616 let keyOracle = "_o"
1717
1818 let keyAdmin = "_a"
1919
2020 let keyUnlock = "_u"
2121
2222 let errUnauthorized = "unauthorized"
2323
2424 let errUninitialized = "uninitialized"
2525
2626 let errInvalidSignature = "invalid signature"
2727
2828 let errAlreadyClaimed = "claimed"
2929
3030 let errAlreadyLocked = "locked"
3131
3232 let errInvalidLockId = "invalid lockId"
3333
3434 let chainWaves = "V0FWRQ=="
3535
3636 func assertCaller (i,key) = match getBinary(key) {
3737 case authority: ByteVector =>
3838 if ((authority != i.caller.bytes))
3939 then throw(errUnauthorized)
4040 else unit
4141 case _ =>
4242 throw(errUninitialized)
4343 }
4444
4545
46+func assertCallerIsContract (i) = if ((this.bytes != i.caller.bytes))
47+ then throw(errUnauthorized)
48+ else unit
49+
50+
4651 func assertCallerIsBridge (i) = assertCaller(i, keyBridge)
4752
4853
4954 func assertCallerIsAdmin (i) = assertCaller(i, keyAdmin)
5055
5156
5257 func assertValidLockId (lockId) = {
5358 let version = valueOrErrorMessage(getBinary(keyVersion), errUninitialized)
5459 if (if ((size(lockId) != 16))
5560 then true
5661 else (take(lockId, 1) != version))
5762 then throw(errInvalidLockId)
5863 else unit
5964 }
6065
6166
6267 func assertLockNotExists (lockRecipientKey) = match getBinary(lockRecipientKey) {
6368 case t: ByteVector =>
6469 throw(errAlreadyLocked)
6570 case _ =>
6671 unit
6772 }
6873
6974
7075 @Callable(i)
71-func init (admin,version,bridge,oracle) = if (isDefined(getBinary(keyAdmin)))
72- then throw(errUnauthorized)
73- else [BinaryEntry(keyVersion, version), BinaryEntry(keyBridge, bridge), BinaryEntry(keyOracle, oracle), BinaryEntry(keyAdmin, admin)]
76+func init (admin,version,bridge,oracle) = {
77+ let callerCheck = assertCallerIsContract(i)
78+ if ((callerCheck == callerCheck))
79+ then if (isDefined(getBinary(keyAdmin)))
80+ then throw(errUnauthorized)
81+ else [BinaryEntry(keyVersion, version), BinaryEntry(keyBridge, addressFromStringValue(bridge).bytes), BinaryEntry(keyOracle, oracle), BinaryEntry(keyAdmin, addressFromStringValue(admin).bytes)]
82+ else throw("Strict value is not equal to itself.")
83+ }
7484
7585
7686
7787 @Callable(i)
7888 func createUnlock (lockId,recipient,amount,lockSource,tokenSourceAndAddress,signature) = {
7989 let checkLockId = assertValidLockId(lockId)
8090 if ((checkLockId == checkLockId))
8191 then {
8292 let checkCaller = assertCallerIsBridge(i)
8393 if ((checkCaller == checkCaller))
8494 then {
8595 let lockIdStr = toBase64String(lockId)
8696 let lockSourceStr = toBase64String(lockSource)
8797 let unlockKey = (((lockSourceStr + "_") + lockIdStr) + keyUnlock)
8898 if (isDefined(getBoolean(unlockKey)))
8999 then throw(errAlreadyClaimed)
90100 else {
91101 let message = makeString([lockIdStr, toBase64String(recipient), toString(amount), lockSourceStr, toBase64String(tokenSourceAndAddress), chainWaves], "_")
92102 let hash = keccak256(toBytes(message))
93103 let recoveredKey = ecrecover(hash, signature)
94104 if ((recoveredKey != getBinaryValue(keyOracle)))
95105 then throw(errInvalidSignature)
96106 else $Tuple2([BooleanEntry(unlockKey, true)], true)
97107 }
98108 }
99109 else throw("Strict value is not equal to itself.")
100110 }
101111 else throw("Strict value is not equal to itself.")
102112 }
103113
104114
105115
106116 @Callable(i)
107117 func createLock (lockId,recipient,amount,lockDestination,assetSourceAndAddress) = {
108118 let lockIdStr = toBase64String(lockId)
109119 let lockRecipientKey = (lockIdStr + keyLockRecipient)
110120 let checkCaller = assertCallerIsBridge(i)
111121 if ((checkCaller == checkCaller))
112122 then {
113123 let checkLockId = assertValidLockId(lockId)
114124 if ((checkLockId == checkLockId))
115125 then {
116126 let checkLock = assertLockNotExists(lockRecipientKey)
117127 if ((checkLock == checkLock))
118128 then [BinaryEntry((lockIdStr + keyLockRecipient), recipient), IntegerEntry((lockIdStr + keyLockAmount), amount), BinaryEntry((lockIdStr + keyLockDestination), lockDestination), BinaryEntry((lockIdStr + keyLockAssetSource), assetSourceAndAddress)]
119129 else throw("Strict value is not equal to itself.")
120130 }
121131 else throw("Strict value is not equal to itself.")
122132 }
123133 else throw("Strict value is not equal to itself.")
124134 }
125135
126136
127137
128138 @Callable(i)
129139 func setAdmin (newAdmin) = {
130140 let checkCaller = assertCallerIsAdmin(i)
131141 if ((checkCaller == checkCaller))
132- then [BinaryEntry(keyAdmin, newAdmin)]
142+ then [BinaryEntry(keyAdmin, addressFromStringValue(newAdmin).bytes)]
133143 else throw("Strict value is not equal to itself.")
134144 }
135145
136146
137147
138148 @Callable(i)
139149 func setOracle (newOracle) = {
140150 let checkCaller = assertCallerIsAdmin(i)
141151 if ((checkCaller == checkCaller))
142- then [BinaryEntry(keyOracle, newOracle)]
152+ then [BinaryEntry(keyOracle, addressFromStringValue(newOracle).bytes)]
143153 else throw("Strict value is not equal to itself.")
144154 }
145155
146156
147157
148158 @Callable(i)
149159 func setBridge (newBridge) = {
150160 let checkCaller = assertCallerIsAdmin(i)
151161 if ((checkCaller == checkCaller))
152- then [BinaryEntry(keyBridge, newBridge)]
162+ then [BinaryEntry(keyBridge, addressFromStringValue(newBridge).bytes)]
153163 else throw("Strict value is not equal to itself.")
154164 }
155165
156166

github/deemru/w8io/3ef1775 
58.96 ms