tx · HeA63T717DPsDfv8SPRecGWyY5eVE2uc9fV9rJ6pKjbT

3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy:  -1.40000000 Waves

2020.10.10 17:13 [1214576] smart asset 3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy > SELF 0.00000000 D-BTC

{ "type": 15, "id": "HeA63T717DPsDfv8SPRecGWyY5eVE2uc9fV9rJ6pKjbT", "fee": 140000000, "feeAssetId": null, "timestamp": 1602339222669, "version": 2, "chainId": 84, "sender": "3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy", "senderPublicKey": "57EFni8M1XesEurFh3c4jnpLExP2PCPd5TRrwMjePAT4", "proofs": [ "2GXkummRiUX7hYrEXd3VrWksx5tXgZ29VjQD19RhuZpAucGLgdxkmDJdUdXyeAao74bsA1qBexn4iJnS7jdq166t" ], "assetId": "FjTB2DdymTfpYbCCdcFwoRbHQnEhQD11CUm6nAF7P1UD", "script": "base64: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aWVudCBpcyBpbiBLWUMgcGVuZGluZyBzdGF0dXMuIFlvdSBjYW5ub3QgdHJhbnNmZXIgdGhpcyBTbWFydEFzc2V0AwkAAAAAAAACBQAAAAZpc1VzZXIAAAAAAAAAAZMJAAACAAAAAQIAAAA8VGhlIHJlY2lwaWVudCBpcyBiYW5uZWQuIFlvdSBjYW5ub3QgdHJhbnNmZXIgdGhpcyBTbWFydEFzc2V0CQAAAgAAAAECAAAAFFVuZGVmaW5lZCBzaXR1YXRpb24hAwkAAAAAAAACBQAAAARkYXRhAAAAAAAAAAACAwkBAAAACWlzRGVmaW5lZAAAAAEFAAAABmlzVXNlcgMJAAAAAAAAAgUAAAAGaXNVc2VyAAAAAAAAAAABAwkAAGcAAAACBQAAAAltYXhBbW91bnQFAAAABmFtb3VudAQAAAAHJG1hdGNoMQUAAAAQaXNzdWVUcmFuc2FjdGlvbgMJAAABAAAAAgUAAAAHJG1hdGNoMQIAAAAQSXNzdWVUcmFuc2FjdGlvbgQAAAAHaXNzdWVUeAUAAAAHJG1hdGNoMQQAAAANaXNzdWVyQWRkcmVzcwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQgFAAAAB2lzc3VlVHgAAAAPc2VuZGVyUHVibGljS2V5BAAAAAd0YXhTaXplCQEAAAAHZXh0cmFjdAAAAAEJAAQaAAAAAgUAAAANaXNzdWVyQWRkcmVzcwkAAlgAAAABBQAAAAdhc3NldElkAwkAAAAAAAACBQAAAA5maXJzdFJlY2lwaWVudAUAAAANaXNzdWVyQWRkcmVzcwkAAGcAAAACBQAAAAtmaXJzdEFtb3VudAkAAGgAAAACCQAAaQAAAAIIBQAAAANtdHQAAAALdG90YWxBbW91bnQAAAAAAAAAAGQFAAAAB3RheFNpemUHBwkAAAIAAAABAgAAAD5DYW5ub3QgdHJhbnNmZXIgcGxlYXNlIHZlcmlmeSB5b3VyIGFjb3VudC4gQW1vdW50IGlzIHRvbyBtdWNoIQMJAAAAAAAAAgUAAAAGaXNVc2VyAAAAAAAAAAAACQAAAgAAAAECAAAAS1RoZSByZWNpcGllbnQgaXMgaW4gS1lDIHBlbmRpbmcgc3RhdHVzLiBZb3UgY2Fubm90IHRyYW5zZmVyIHRoaXMgU21hcnRBc3NldAMJAAAAAAAAAgUAAAAGaXNVc2VyAAAAAAAAAAACBAAAAAckbWF0Y2gxBQAAABBpc3N1ZVRyYW5zYWN0aW9uAwkAAAEAAAACBQAAAAckbWF0Y2gxAgAAABBJc3N1ZVRyYW5zYWN0aW9uBAAAAAdpc3N1ZVR4BQAAAAckbWF0Y2gxBAAAAA1pc3N1ZXJBZGRyZXNzCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABCAUAAAAHaXNzdWVUeAAAAA9zZW5kZXJQdWJsaWNLZXkEAAAAB3RheFNpemUJAQAAAAdleHRyYWN0AAAAAQkABBoAAAACBQAAAA1pc3N1ZXJBZGRyZXNzCQACWAAAAAEFAAAAB2Fzc2V0SWQDCQAAAAAAAAIFAAAADmZpcnN0UmVjaXBpZW50BQAAAA1pc3N1ZXJBZGRyZXNzCQAAZwAAAAIFAAAAC2ZpcnN0QW1vdW50CQAAaAAAAAIJAABpAAAAAggFAAAAA210dAAAAAt0b3RhbEFtb3VudAAAAAAAAAAAZAUAAAAHdGF4U2l6ZQcHAwkAAAAAAAACBQAAAAZpc1VzZXIAAAAAAAAAAZMJAAACAAAAAQIAAAA8VGhlIHJlY2lwaWVudCBpcyBiYW5uZWQuIFlvdSBjYW5ub3QgdHJhbnNmZXIgdGhpcyBTbWFydEFzc2V0CQAAAgAAAAECAAAAFFVuZGVmaW5lZCBzaXR1YXRpb24hCQAAAgAAAAECAAAAO1RoZSByZWNpcGllbnQgaXMgbm90IGF1dGhvcml6ZWQgdG8gcG9zc2VzcyB0aGlzIFNtYXJ0QXNzZXQhAwkAAAAAAAACBQAAAARkYXRhAAAAAAAAAAGTCQAAAgAAAAECAAAAH1lvdXIgYWNvdW50IGhhcyBiZWVuIHN1c3BlbmRlZCEJAAACAAAAAQIAAAAUVW5kZWZpbmVkIHNpdHVhdGlvbiEDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAE0V4Y2hhbmdlVHJhbnNhY3Rpb24EAAAAAmV4BQAAAAckbWF0Y2gwBwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAPQnVyblRyYW5zYWN0aW9uBAAAAAFiBQAAAAckbWF0Y2gwBwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAZU2V0QXNzZXRTY3JpcHRUcmFuc2FjdGlvbgQAAAAGc2NyaXB0BQAAAAckbWF0Y2gwAwkAAAAAAAACCAUAAAAGc2NyaXB0AAAABnNlbmRlcgUAAAAFYWRtaW4GCQAAAgAAAAECAAAAFkFkbWluIG9wZXJhdGlvbiBvbmx5Li4GzSiFMA==", "height": 1214576, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8pppPERomyKw43KKRvyLQ5Ke8xBei4x9x4XsQjMMZVuU Next: BTyBTnJZTndWF4Txd7UCWqp1wvBFndnxC7Q7K76R9wG1 Diff:
OldNewDifferences
6060 let firstAmount = mtt.transfers[0].amount
6161 let issueTransaction = transactionById(assetId)
6262 let isUser = getInteger(admin, toBase58String(addressFromRecipient(secondRecipient).bytes))
63- if ((transferCount > 2))
64- then throw("not allowed")
65- else if (!(isDefined(data)))
66- then throw("You are not a registered member. You cannot transfer this SmartAsset!")
67- else if ((data == 0))
68- then throw("KYC Pending. You cannot transfer this SmartAsset")
69- else if ((data == 1))
70- then if ((firstRecipient != gateway))
71- then false
72- else if ((isUser == 1))
73- then if ((maxAmount >= amount))
74- then match issueTransaction {
75- case issueTx: IssueTransaction =>
76- let issuerAddress = addressFromPublicKey(issueTx.senderPublicKey)
77- let taxSize = extract(getInteger(issuerAddress, toBase58String(assetId)))
78- if ((firstRecipient == issuerAddress))
79- then (firstAmount >= ((mtt.totalAmount / 100) * taxSize))
80- else false
81- case _ =>
82- false
83- }
84- else throw("Cannot transfer please verify your acount. Amount is too much!")
85- else if ((isUser == 0))
86- then throw("The recipient is in KYC pending status. You cannot transfer this SmartAsset")
87- else if ((isUser == 2))
88- then if ((maxAmount >= amount))
89- then match issueTransaction {
90- case issueTx: IssueTransaction =>
91- let issuerAddress = addressFromPublicKey(issueTx.senderPublicKey)
92- let taxSize = extract(getInteger(issuerAddress, toBase58String(assetId)))
93- if ((firstRecipient == issuerAddress))
94- then (firstAmount >= ((mtt.totalAmount / 100) * taxSize))
95- else false
96- case _ =>
97- false
98- }
99- else throw("Cannot transfer please verify your acount. Amount is too much!")
100- else if ((isUser == 403))
101- then throw("The recipient is banned. You cannot transfer this SmartAsset")
102- else throw("Undefined situation!")
103- else if ((data == 2))
104- then if (isDefined(isUser))
105- then if ((isUser == 1))
63+ if (isDefined(isUser))
64+ then false
65+ else if ((transferCount > 2))
66+ then throw("not allowed")
67+ else if (!(isDefined(data)))
68+ then throw("You are not a registered member. You cannot transfer this SmartAsset!")
69+ else if ((data == 0))
70+ then throw("KYC Pending. You cannot transfer this SmartAsset")
71+ else if ((data == 1))
72+ then if ((firstRecipient != gateway))
73+ then throw("First recipient must be the issuer")
74+ else if (if ((isUser == 1))
75+ then true
76+ else (isUser == 2))
10677 then if ((maxAmount >= amount))
10778 then match issueTransaction {
10879 case issueTx: IssueTransaction =>
11788 else throw("Cannot transfer please verify your acount. Amount is too much!")
11889 else if ((isUser == 0))
11990 then throw("The recipient is in KYC pending status. You cannot transfer this SmartAsset")
120- else if ((isUser == 2))
91+ else if ((isUser == 403))
92+ then throw("The recipient is banned. You cannot transfer this SmartAsset")
93+ else throw("Undefined situation!")
94+ else if ((data == 2))
95+ then if (isDefined(isUser))
96+ then if ((isUser == 1))
97+ then if ((maxAmount >= amount))
12198 then match issueTransaction {
12299 case issueTx: IssueTransaction =>
123100 let issuerAddress = addressFromPublicKey(issueTx.senderPublicKey)
128105 case _ =>
129106 false
130107 }
131- else if ((isUser == 403))
132- then throw("The recipient is banned. You cannot transfer this SmartAsset")
133- else throw("Undefined situation!")
134- else throw("The recipient is not authorized to possess this SmartAsset!")
135- else if ((data == 403))
136- then throw("Your acount has been suspended!")
137- else throw("Undefined situation!")
108+ else throw("Cannot transfer please verify your acount. Amount is too much!")
109+ else if ((isUser == 0))
110+ then throw("The recipient is in KYC pending status. You cannot transfer this SmartAsset")
111+ else if ((isUser == 2))
112+ then match issueTransaction {
113+ case issueTx: IssueTransaction =>
114+ let issuerAddress = addressFromPublicKey(issueTx.senderPublicKey)
115+ let taxSize = extract(getInteger(issuerAddress, toBase58String(assetId)))
116+ if ((firstRecipient == issuerAddress))
117+ then (firstAmount >= ((mtt.totalAmount / 100) * taxSize))
118+ else false
119+ case _ =>
120+ false
121+ }
122+ else if ((isUser == 403))
123+ then throw("The recipient is banned. You cannot transfer this SmartAsset")
124+ else throw("Undefined situation!")
125+ else throw("The recipient is not authorized to possess this SmartAsset!")
126+ else if ((data == 403))
127+ then throw("Your acount has been suspended!")
128+ else throw("Undefined situation!")
138129 case ex: ExchangeTransaction =>
139130 false
140131 case b: BurnTransaction =>
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 2 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let admin = Address(base58'3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy')
44 let gateway = Address(base58'3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy')
55 let banned = 403
66 let KYCVer1 = 1
77 let KYCVer2 = 2
88 let KYCPending = 0
99 let maxAmount = 100000000
1010 match tx {
1111 case t: TransferTransaction =>
1212 let data = getInteger(admin, toBase58String(t.sender.bytes))
1313 let amount = t.amount
1414 let assetId = extract(t.assetId)
1515 let isUser = getInteger(admin, toBase58String(addressFromRecipient(t.recipient).bytes))
1616 if (!(isDefined(data)))
1717 then throw("You are not a registered member. You cannot transfer this SmartAsset!")
1818 else if ((data == 0))
1919 then throw("KYC Pending. You cannot transfer this SmartAsset")
2020 else if ((data == 1))
2121 then if ((t.recipient == gateway))
2222 then true
2323 else if ((isUser == 1))
2424 then if ((maxAmount >= amount))
2525 then true
2626 else throw("Cannot transfer please verify your acount. Amount is too much!")
2727 else if ((isUser == 0))
2828 then throw("The recipient is in KYC pending status. You cannot transfer this SmartAsset")
2929 else if ((isUser == 2))
3030 then if ((maxAmount >= amount))
3131 then true
3232 else throw("Cannot transfer please verify your acount. Amount is too much!")
3333 else if ((isUser == 403))
3434 then throw("The recipient is banned. You cannot transfer this SmartAsset")
3535 else throw("Undefined situation!")
3636 else if ((data == 2))
3737 then if (isDefined(isUser))
3838 then if ((isUser == 1))
3939 then if ((maxAmount >= amount))
4040 then true
4141 else throw("Cannot transfer please verify your acount. Amount is too much!")
4242 else if ((isUser == 0))
4343 then throw("The recipient is in KYC pending status. You cannot transfer this SmartAsset")
4444 else if ((isUser == 2))
4545 then true
4646 else if ((isUser == 403))
4747 then throw("The recipient is banned. You cannot transfer this SmartAsset")
4848 else throw("Undefined situation!")
4949 else throw("The recipient is not authorized to possess this SmartAsset!")
5050 else if ((data == 403))
5151 then throw("Your acount has been suspended!")
5252 else throw("Undefined situation!")
5353 case mtt: MassTransferTransaction =>
5454 let data = getInteger(admin, toBase58String(mtt.sender.bytes))
5555 let amount = mtt.totalAmount
5656 let assetId = extract(mtt.assetId)
5757 let transferCount = mtt.transferCount
5858 let firstRecipient = mtt.transfers[0].recipient
5959 let secondRecipient = mtt.transfers[1].recipient
6060 let firstAmount = mtt.transfers[0].amount
6161 let issueTransaction = transactionById(assetId)
6262 let isUser = getInteger(admin, toBase58String(addressFromRecipient(secondRecipient).bytes))
63- if ((transferCount > 2))
64- then throw("not allowed")
65- else if (!(isDefined(data)))
66- then throw("You are not a registered member. You cannot transfer this SmartAsset!")
67- else if ((data == 0))
68- then throw("KYC Pending. You cannot transfer this SmartAsset")
69- else if ((data == 1))
70- then if ((firstRecipient != gateway))
71- then false
72- else if ((isUser == 1))
73- then if ((maxAmount >= amount))
74- then match issueTransaction {
75- case issueTx: IssueTransaction =>
76- let issuerAddress = addressFromPublicKey(issueTx.senderPublicKey)
77- let taxSize = extract(getInteger(issuerAddress, toBase58String(assetId)))
78- if ((firstRecipient == issuerAddress))
79- then (firstAmount >= ((mtt.totalAmount / 100) * taxSize))
80- else false
81- case _ =>
82- false
83- }
84- else throw("Cannot transfer please verify your acount. Amount is too much!")
85- else if ((isUser == 0))
86- then throw("The recipient is in KYC pending status. You cannot transfer this SmartAsset")
87- else if ((isUser == 2))
88- then if ((maxAmount >= amount))
89- then match issueTransaction {
90- case issueTx: IssueTransaction =>
91- let issuerAddress = addressFromPublicKey(issueTx.senderPublicKey)
92- let taxSize = extract(getInteger(issuerAddress, toBase58String(assetId)))
93- if ((firstRecipient == issuerAddress))
94- then (firstAmount >= ((mtt.totalAmount / 100) * taxSize))
95- else false
96- case _ =>
97- false
98- }
99- else throw("Cannot transfer please verify your acount. Amount is too much!")
100- else if ((isUser == 403))
101- then throw("The recipient is banned. You cannot transfer this SmartAsset")
102- else throw("Undefined situation!")
103- else if ((data == 2))
104- then if (isDefined(isUser))
105- then if ((isUser == 1))
63+ if (isDefined(isUser))
64+ then false
65+ else if ((transferCount > 2))
66+ then throw("not allowed")
67+ else if (!(isDefined(data)))
68+ then throw("You are not a registered member. You cannot transfer this SmartAsset!")
69+ else if ((data == 0))
70+ then throw("KYC Pending. You cannot transfer this SmartAsset")
71+ else if ((data == 1))
72+ then if ((firstRecipient != gateway))
73+ then throw("First recipient must be the issuer")
74+ else if (if ((isUser == 1))
75+ then true
76+ else (isUser == 2))
10677 then if ((maxAmount >= amount))
10778 then match issueTransaction {
10879 case issueTx: IssueTransaction =>
10980 let issuerAddress = addressFromPublicKey(issueTx.senderPublicKey)
11081 let taxSize = extract(getInteger(issuerAddress, toBase58String(assetId)))
11182 if ((firstRecipient == issuerAddress))
11283 then (firstAmount >= ((mtt.totalAmount / 100) * taxSize))
11384 else false
11485 case _ =>
11586 false
11687 }
11788 else throw("Cannot transfer please verify your acount. Amount is too much!")
11889 else if ((isUser == 0))
11990 then throw("The recipient is in KYC pending status. You cannot transfer this SmartAsset")
120- else if ((isUser == 2))
91+ else if ((isUser == 403))
92+ then throw("The recipient is banned. You cannot transfer this SmartAsset")
93+ else throw("Undefined situation!")
94+ else if ((data == 2))
95+ then if (isDefined(isUser))
96+ then if ((isUser == 1))
97+ then if ((maxAmount >= amount))
12198 then match issueTransaction {
12299 case issueTx: IssueTransaction =>
123100 let issuerAddress = addressFromPublicKey(issueTx.senderPublicKey)
124101 let taxSize = extract(getInteger(issuerAddress, toBase58String(assetId)))
125102 if ((firstRecipient == issuerAddress))
126103 then (firstAmount >= ((mtt.totalAmount / 100) * taxSize))
127104 else false
128105 case _ =>
129106 false
130107 }
131- else if ((isUser == 403))
132- then throw("The recipient is banned. You cannot transfer this SmartAsset")
133- else throw("Undefined situation!")
134- else throw("The recipient is not authorized to possess this SmartAsset!")
135- else if ((data == 403))
136- then throw("Your acount has been suspended!")
137- else throw("Undefined situation!")
108+ else throw("Cannot transfer please verify your acount. Amount is too much!")
109+ else if ((isUser == 0))
110+ then throw("The recipient is in KYC pending status. You cannot transfer this SmartAsset")
111+ else if ((isUser == 2))
112+ then match issueTransaction {
113+ case issueTx: IssueTransaction =>
114+ let issuerAddress = addressFromPublicKey(issueTx.senderPublicKey)
115+ let taxSize = extract(getInteger(issuerAddress, toBase58String(assetId)))
116+ if ((firstRecipient == issuerAddress))
117+ then (firstAmount >= ((mtt.totalAmount / 100) * taxSize))
118+ else false
119+ case _ =>
120+ false
121+ }
122+ else if ((isUser == 403))
123+ then throw("The recipient is banned. You cannot transfer this SmartAsset")
124+ else throw("Undefined situation!")
125+ else throw("The recipient is not authorized to possess this SmartAsset!")
126+ else if ((data == 403))
127+ then throw("Your acount has been suspended!")
128+ else throw("Undefined situation!")
138129 case ex: ExchangeTransaction =>
139130 false
140131 case b: BurnTransaction =>
141132 false
142133 case script: SetAssetScriptTransaction =>
143134 if ((script.sender == admin))
144135 then true
145136 else throw("Admin operation only..")
146137 case _ =>
147138 true
148139 }

github/deemru/w8io/6500d08 
41.14 ms