Transaction executed successfully

Transaction Details

Inspect execution, participants, message data, gas usage, events and raw transaction data.

Transaction hash
FCBE0F2C75F38E5CFD802B059890503895E88E122B8754E963B78B686984984A

Transaction overview

Status
Success
Execution completed
Block
#50851
Included in block
Message Type
m_addpkg
Primary message

Execution summary

TX INDEX
0
Position in block
GAS WANTED
60,000,000
Requested gas limit
GAS USED
19,567,429
Gas consumed
FEE
600000ugnot
Transaction fee

Participants

Sender
Package / Realm
Not available
Memo
None

Message

Message #1
m_addpkg
Caller
Arguments
g1w93f099t4pp9jamyghp88p60fvkg39dxz2qzrc10000000ugnot

Execution log

msg:0,success:true,log:,events:[]

Events

No events emitted by this transaction.

Raw encoded transaction

CsFqCgwvdm0ubV9hZGRwa2cSsGoKKGcxdzkzZjA5OXQ0cHA5amFteWdocDg4cDYwZnZrZzM5ZHh6MnF6cmMS9GkKBWdlbXM1Ejxnbm8ubGFuZC9yL2cxdzkzZjA5OXQ0cHA5amFteWdocDg4cDYwZnZrZzM5ZHh6MnF6cmMvZ2VtczUvdjEaYwoLZ25vbW9kLnRvbWwSVG1vZHVsZSA9ICJnbm8ubGFuZC9yL2cxdzkzZjA5OXQ0cHA5amFteWdocDg4cDYwZnZrZzM5ZHh6MnF6cmMvZ2VtczUvdjEiCmdubyA9ICIwLjkiChqjaAoGdjEuZ25vEphoLy8gUGFja2FnZSBnZW1zNSAoZGVwbG95ZWQgYXQgLi4uL2dlbXM1L3YxIC0tIGdubydzIG93biAvdk4gY29udmVudGlvbgovLyByZXF1aXJlcyB0aGUgcGFja2FnZSBuYW1lIHRvIG1hdGNoIHRoZSBzZWdtZW50IGJlZm9yZSB0aGUgc3VmZml4KQovLyBpcyB0aGUgbWludC1tZWNoYW5pY3MgaGFsZiBvZiB0aGUgR2VtcyBzcGxpdC1yZWFsbSBkZXNpZ246IHRyYWl0Ci8vIGFzc2VtYmx5LCBvbi1jaGFpbiBTVkcgcmVuZGVyaW5nLCBhbmQgY2hhaW4tcm9zdGVyIG1hbmFnZW1lbnQgbGl2ZQovLyBoZXJlIGFuZCBjYW4gYmUgcmVkZXBsb3llZCBhbmQgcmUtYXBwcm92ZWQgYXQgd2lsbCwgd2l0aCB6ZXJvCi8vIGhvbGRlciBtaWdyYXRpb24sIGJlY2F1c2Ugb3duZXJzaGlwLCBwcmljaW5nLCBkaXNjb3VudHMsIHJveWFsdHksCi8vIEFORCB0cmFpdC11bmlxdWVuZXNzIGhpc3RvcnkgYWxsIGxpdmUgcGVybWFuZW50bHkgaW4gLi4vc3RhYmxlCi8vIGluc3RlYWQuIE5vIHJldmVhbCBkZWxheTogYSBtaW50J3MgcmVhbCBtZXRhZGF0YSBpcyB2aXNpYmxlCi8vIGltbWVkaWF0ZWx5LgpwYWNrYWdlIGdlbXM1CgppbXBvcnQgKAoJImNoYWluIgoJImNoYWluL2JhbmtlciIKCXJ1bnRpbWUgImNoYWluL3J1bnRpbWUiCgl1bnNhZmVyZWFsbSAiY2hhaW4vcnVudGltZS91bnNhZmUiCgkiY3J5cHRvL3NoYTI1NiIKCSJlbmNvZGluZy9iYXNlNjQiCgkic3RyaW5ncyIKCglnZW1zYXJ0ICJnbm8ubGFuZC9wL2cxN2NqeW01ZTloaHdzNDZsdDYzMjlwdjJndHgyYXkwNTAzaGdlbXMvZ2Vtc2FydDIiCglncmM3MjEgImduby5sYW5kL3AvZzFnbjZ0MHE5d2Vud2hkZGE0N3JrcnBmZDYza2N4anZ5cDdlcXdrdS9ncmM3MjF2MiIKCXN0YWJsZSAiZ25vLmxhbmQvci9nMXc5M2YwOTl0NHBwOWphbXlnaHA4OHA2MGZ2a2czOWR4ejJxenJjL2dlbXM1L3N0YWJsZSIKCSJnbm8ubGFuZC9wL250L3NlcWlkL3YwIgoJImduby5sYW5kL3AvbnQvdWZtdC92MCIKKQoKdmFyICgKCS8vIGNvbGxlY3Rpb25Pd25lckhlcmUgYWRtaW5pc3RlcnMgbWludCBtZWNoYW5pY3MgKHJvc3RlcnMsCgkvLyBtaW50aW5nLW9wZW4sIHdhbGxldCBjYXApIC0tIHByaWNpbmcvZGlzY291bnQvcm95YWx0eQoJLy8gYWRtaW5pc3RyYXRpb24gbGl2ZXMgb24gLi4vc3RhYmxlIGFuZCAuLi8uLi9nZW1zNC9jYW1wYWlnbgoJLy8gaW5zdGVhZC4gU2FtZSBhZGRyZXNzIGFzIHN0YWJsZSdzIG93biBjb2xsZWN0aW9uT3duZXI7IGtlcHQgYXMgYQoJLy8gcGxhaW4gbG9jYWwgY29uc3RhbnQgaGVyZSByYXRoZXIgdGhhbiBhIGNyb3NzLXJlYWxtIHJlYWQgb24KCS8vIGV2ZXJ5IGFzc2VydE93bmVyIGNhbGwuCgljb2xsZWN0aW9uT3duZXJIZXJlIGFkZHJlc3MgPSAiZzF3OTNmMDk5dDRwcDlqYW15Z2hwODhwNjBmdmtnMzlkeHoycXpyYyIKCgkvLyBtaW50aW5nT3BlbiBpcyB0aGUgb3duZXIncyBraWxsIHN3aXRjaCBvbiBuZXcgbWludHMuIE1pcnJvcmVkIHRvCgkvLyBzdGFibGUgdmlhIFJlcG9ydE1pbnRpbmdPcGVuIG9uIGV2ZXJ5IGNoYW5nZSAoc2VlIHRoYXQgZnVuY3Rpb24ncwoJLy8gb3duIGRvYyBjb21tZW50KSBwdXJlbHkgc28gc3RhYmxlJ3MgUmVuZGVyKCkgY2FuIHNob3cgaXQuCgltaW50aW5nT3BlbiA9IHRydWUKCgkvLyBtYXhNaW50c1BlcldhbGxldCBjYXBzIGhvdyBtYW55IHRva2VucyBhIHNpbmdsZSByZWNpcGllbnQgbWF5CgkvLyByZWNlaXZlIC0tIDAgbWVhbnMgdW5saW1pdGVkLiBNaXJyb3JlZCB0byBzdGFibGUgdmlhCgkvLyBSZXBvcnRNYXhNaW50c1BlcldhbGxldCBvbiBldmVyeSBjaGFuZ2UuIEFjdHVhbCBwZXItd2FsbGV0IGNvdW50cwoJLy8gYXJlIHRyYWNrZWQgb24gc3RhYmxlIG5vdyAoc3RhYmxlLk1pbnRzQnlXYWxsZXQpLCBub3QgaGVyZS4KCW1heE1pbnRzUGVyV2FsbGV0IGludDY0ID0gMwoKCW5leHRJRCBzZXFpZC5JRAopCgovLyB0cmFpdFByZXNldCBpcyBvbmUgdG9rZW4ncyBzbWFsbCB0cmFpdCBzZWxlY3Rpb24gZm9yIHRoZQovLyBhc3NlbWJsZWQtb24tcmVhZCBwYXRoIC0tIGhvbGRzIGp1c3QgZW5vdWdoIGZvciBnZW1zYXJ0IHRvCi8vIHJlY29uc3RydWN0IHRoZSBmdWxsIGltYWdlIGF0IG1pbnQgdGltZS4KdHlwZSB0cmFpdFByZXNldCBzdHJ1Y3QgewoJQ2hhaW4gICAgc3RyaW5nCglTaGFwZUlkeCBpbnQKCUNvbG9ySWR4IGludAoJTWV0YWwgICAgc3RyaW5nCglBY3RpdmUgICBib29sCn0KCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIE1pbnRpbmcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoKLy8gTWludEFzc2VtYmxlZCBpcyB0aGUgY29sbGVjdGlvbidzIG9ubHkgbWludCBwYXRoOiBhc3NlbWJsZXMgYSBmcmVzaAovLyByYW5kb20gKGNoYWluLCBzaGFwZSwgY29sb3IsIG1ldGFsLCBhY3RpdmUpIGNvbWJpbmF0aW9uLCB2ZXJpZmllcwovLyBwYXltZW50IGFnYWluc3QgLi4vc3RhYmxlJ3MgZGlzY291bnQtYWRqdXN0ZWQgcHJpY2UgZm9yIHRoZSBjYWxsZXIKLy8gKHN0YWJsZSBjaGVja3MgaXRzIG93biBwZXJtYW5lbnQgd2hpdGVsaXN0LCB0aGVuIC4uLy4uL2dlbXM0L2NhbXBhaWduJ3MKLy8gdGVtcG9yYXJ5IGRpc2NvdW50IGxpc3QpLCB0aGVuIHJlY29yZHMgdGhlIG1pbnQgb24gLi4vc3RhYmxlICh0aGUKLy8gb25seSBwbGFjZSBvd25lcnNoaXAsIHByaWNpbmcsIEFORCB0cmFpdC11bmlxdWVuZXNzIGhpc3RvcnkKLy8gYWN0dWFsbHkgbGl2ZSkuCmZ1bmMgTWludEFzc2VtYmxlZChjdXIgcmVhbG0sIHRvIGFkZHJlc3MpIGdyYzcyMS5Ub2tlbklEIHsKCWlmICFtaW50aW5nT3BlbiB7CgkJcGFuaWMoIm1pbnRpbmcgaXMgY2xvc2VkIikKCX0KCWlmIG1heE1pbnRzUGVyV2FsbGV0ID4gMCAmJiBjYWxsZXJBZGRyZXNzKCkgIT0gY29sbGVjdGlvbk93bmVySGVyZSAmJiBzdGFibGUuTWludHNCeVdhbGxldCh0bykgPj0gbWF4TWludHNQZXJXYWxsZXQgewoJCXBhbmljKHVmbXQuU3ByaW50Zigid2FsbGV0ICVzIGhhcyBhbHJlYWR5IHJlYWNoZWQgdGhlICVkLW1pbnQgbGltaXQgZm9yIHRoaXMgY29sbGVjdGlvbiIsIHRvLlN0cmluZygpLCBtYXhNaW50c1BlcldhbGxldCkpCgl9CgoJLy8gUGF5bWVudCBjaGVjayBpcyBJTkxJTkVEIGhlcmUgKG5vdCBmYWN0b3JlZCBpbnRvIGEgaGVscGVyKSBmb3IgdGhlCgkvLyBzYW1lIHJlYXNvbiBpdCB3YXMgaW5saW5lZCBpbiB0aGUgb3JpZ2luYWwgc2luZ2xlLXJlYWxtIGRlc2lnbjoKCS8vIGNoYWluL3J1bnRpbWUuQXNzZXJ0T3JpZ2luQ2FsbCBjb3VudHMgcmVhbCBjYWxsIGZyYW1lcyBiZXR3ZWVuIHRoZQoJLy8gb3JpZ2luIE1zZ0NhbGwgYW5kIGl0c2VsZiwgYW5kIGEgc2VwYXJhdGUgaGVscGVyIGZ1bmN0aW9uIGFkZHMKCS8vIGV4YWN0bHkgb25lIGhvcCB0b28gbWFueS4gVGhpcyByZWFsbSBpcyB0aGUgZGlyZWN0IHRhcmdldCBvZiB0aGUKCS8vIG9yaWdpbiBjYWxsICh0aGUgdXNlciBjYWxscyBNaW50QXNzZW1ibGVkIGRpcmVjdGx5LCB3aGljaCB0aGVuCgkvLyBjYWxscyBzdGFibGUuUmVjb3JkTWludCkgc28gdGhlIGZyYW1lLXNlbnNpdGl2ZSBjaGVja3MgYmVsb25nCgkvLyBoZXJlLCBub3QgaW4gc3RhYmxlLgoJLy8KCS8vIHJlcXVpcmVkUHJpY2UgY29tZXMgZnJvbSBzdGFibGUuRWZmZWN0aXZlUHJpY2UgLS0gYSBwbGFpbgoJLy8gY3Jvc3MtcmVhbG0gUkVBRCAobm8gY3VyIG5lZWRlZCksIHNvIGNhbGxpbmcgaXQgYWRkcyBubyBmcmFtZQoJLy8gYmVmb3JlIEFzc2VydE9yaWdpbkNhbGwgYmVsb3cuCgljYWxsZXIgOj0gY2FsbGVyQWRkcmVzcygpCglyZXF1aXJlZFByaWNlIDo9IHN0YWJsZS5FZmZlY3RpdmVQcmljZShjYWxsZXIpCglpZiByZXF1aXJlZFByaWNlICE9IDAgewoJCXJ1bnRpbWUuQXNzZXJ0T3JpZ2luQ2FsbCgpCgkJaWYgIXVuc2FmZXJlYWxtLlByZXZpb3VzUmVhbG0oKS5Jc1VzZXJDYWxsKCkgewoJCQlwYW5pYygicGF5bWVudCB2ZXJpZmljYXRpb24gcmVxdWlyZXMgYSBkaXJlY3QgdXNlciBjYWxsIikKCQl9CgkJZ290IDo9IHVuc2FmZXJlYWxtLk9yaWdpblNlbmQoKS5BbW91bnRPZigidWdub3QiKQoJCWlmIGdvdCAhPSByZXF1aXJlZFByaWNlIHsKCQkJcGFuaWModWZtdC5TcHJpbnRmKCJwYXltZW50IHJlcXVpcmVkOiBleGFjdGx5ICVkIHVnbm90LCBnb3QgJWQiLCByZXF1aXJlZFByaWNlLCBnb3QpKQoJCX0KCQkvLyBGb3J3YXJkZWQgc3RyYWlnaHQgdG8gc3RhYmxlJ3MgcmVnaXN0ZXJlZCBvd25lciwgc2FtZQoJCS8vIGF1dG8tZm9yd2FyZCBwYXR0ZXJuIHRoZSBvcmlnaW5hbCBzaW5nbGUtcmVhbG0gZGVzaWduIHVzZWQuCgkJYiA6PSBiYW5rZXIuTmV3QmFua2VyKGJhbmtlci5CYW5rZXJUeXBlUmVhbG1TZW5kLCBjdXIpCgkJYi5TZW5kQ29pbnMoY3VyLkFkZHJlc3MoKSwgc3RhYmxlLk93bmVyKCksIGNoYWluLkNvaW5ze3tEZW5vbTogInVnbm90IiwgQW1vdW50OiBnb3R9fSkKCX0KCgl0cCwgY29tYm9LZXkgOj0gYXNzZW1ibGVVbmlxdWVUcmFpdHMoKQoKCXRpZCA6PSBncmM3MjEuVG9rZW5JRChuZXh0SUQuU3RyaW5nKCkpCgltZXRhZGF0YSA6PSBhc3NlbWJsZWRNZXRhZGF0YSh0aWQsIHRwKQoKCS8vIFRoZSBhY3R1YWwgbWludCArIHN0b3JhZ2Ugd3JpdGUgKyB1bmlxdWVuZXNzIHJlc2VydmF0aW9uIGhhcHBlbnMKCS8vIG9uIHN0YWJsZSwgYXRvbWljYWxseSAtLSB0aGlzIGlzIHRoZSB2ZXJzaW9uLWdhdGUgYm91bmRhcnkgdGhlCgkvLyB3aG9sZSBzcGxpdCBleGlzdHMgdG8gcHJvdmUuIGNyb3NzKGN1cikgcmVxdWlyZWQ6IGNhbGxpbmcgQU5PVEhFUgoJLy8gcmVhbG0ncyBjcm9zc2luZyBmdW5jdGlvbiBuZWVkcyBpdCwgbm90IGJhcmUgY3VyLiBjYWxsZXIgaXMKCS8vIHBhc3NlZCBhcyB0aGUgc2VwYXJhdGUgcGF5ZXIgYXJnIC0tIFJlY29yZE1pbnQgc3BlbmRzIGEKCS8vIGNhbXBhaWduIGRpc2NvdW50IHVzZSAoaWYgYW55KSBhZ2FpbnN0IFdIT0VWRVIgUEFJRCwgd2hpY2ggaXMKCS8vIGNhbGxlciwgbm90IG5lY2Vzc2FyaWx5IHRoZSBtaW50IHJlY2lwaWVudCB0by4KCXN0YWJsZS5SZWNvcmRNaW50KGNyb3NzKGN1ciksIHRvLCBjYWxsZXIsIHRpZCwgbWV0YWRhdGEsIGNvbWJvS2V5KQoKCW5leHRJRC5OZXh0KCkKCglyZXR1cm4gdGlkCn0KCi8vIGFzc2VtYmxlZE1ldGFkYXRhIHJlbmRlcnMgdHAncyBmdWxsIG1ldGFkYXRhIGJ5IGNhbGxpbmcgZ2Vtc2FydCdzCi8vIG9uLWNoYWluIGdlbmVyYXRvciAtLSBubyByZXZlYWwgc3RlcCBpbiB0aGlzIGJ1aWxkLCBzbyB0aGlzIHJ1bnMgYXQKLy8gbWludCB0aW1lIGFuZCB0aGUgcmVzdWx0IGlzIHZpc2libGUgaW1tZWRpYXRlbHkuCmZ1bmMgYXNzZW1ibGVkTWV0YWRhdGEodGlkIGdyYzcyMS5Ub2tlbklELCB0cCB0cmFpdFByZXNldCkgZ3JjNzIxLk1ldGFkYXRhIHsKCXN2Zywgc3RvbmUsIF8sIGNvbG9yTmFtZSA6PSBnZW1zYXJ0LlJlbmRlclRva2VuU1ZHKHRwLkNoYWluLCB0cC5NZXRhbCwgdHAuU2hhcGVJZHgsIHRwLkNvbG9ySWR4LCB0cC5BY3RpdmUsIHRpZC5TdHJpbmcoKSkKCXNoYXBlTmFtZSA6PSBnZW1zYXJ0LlNoYXBlTmFtZXNbdHAuU2hhcGVJZHhdCglpZiBzdG9uZSA9PSAiUGVhcmwiIHsKCQlzaGFwZU5hbWUgPSBnZW1zYXJ0LlBlYXJsU2hhcGVOYW1lc1t0cC5TaGFwZUlkeF0KCX0KCWltYWdlIDo9ICJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LCIgKyBiYXNlNjQuU3RkRW5jb2RpbmcuRW5jb2RlVG9TdHJpbmcoW11ieXRlKHN2ZykpCglzdGF0dXMgOj0gIlN1bnNldCIKCWlmIHRwLkFjdGl2ZSB7CgkJc3RhdHVzID0gIkFjdGl2ZSIKCX0KCWF0dHJzIDo9IFtdZ3JjNzIxLlRyYWl0ewoJCXtUcmFpdFR5cGU6ICJDaGFpbiIsIFZhbHVlOiB0cC5DaGFpbiArICIgQ2hhaW4ifSwKCQl7VHJhaXRUeXBlOiAiU3RvbmUiLCBWYWx1ZTogc3RvbmV9LAoJCXtUcmFpdFR5cGU6ICJTaGFwZSIsIFZhbHVlOiBzaGFwZU5hbWV9LAoJCXtUcmFpdFR5cGU6ICJDb2xvciIsIFZhbHVlOiBjb2xvck5hbWV9LAoJCXtUcmFpdFR5cGU6ICJNZXRhbCIsIFZhbHVlOiB0cC5NZXRhbCArICIgUmluZyJ9LAoJCXtUcmFpdFR5cGU6ICJTdGF0dXMiLCBWYWx1ZTogc3RhdHVzfSwKCX0KCXJldHVybiBncmM3MjEuTWV0YWRhdGF7CgkJTmFtZTogICAgICAgICAgICBnZW1EaXNwbGF5TmFtZShjb2xvck5hbWUsIHN0b25lLCBzaGFwZU5hbWUsIHRwLk1ldGFsLCB0cC5DaGFpbiksCgkJRGVzY3JpcHRpb246ICAgICB1Zm10LlNwcmludGYoIkEgJXMgJXMgc2V0IGluICVzLCBtaW50ZWQgb24gJXMuIiwgY29sb3JOYW1lLCBzaGFwZU5hbWUsIHRwLk1ldGFsLCB0cC5DaGFpbiksCgkJSW1hZ2U6ICAgICAgICAgICBpbWFnZSwKCQlCYWNrZ3JvdW5kQ29sb3I6ICIwYTBiMTAiLAoJCUF0dHJpYnV0ZXM6ICAgICAgYXR0cnMsCgl9Cn0KCmZ1bmMgZ2VtRGlzcGxheU5hbWUoY29sb3JOYW1lLCBzdG9uZSwgc2hhcGUsIG1ldGFsLCBjaGFpbiBzdHJpbmcpIHN0cmluZyB7CglraW5kIDo9IHN0b25lCglpZiBraW5kID09ICIiIHx8IGtpbmQgPT0gIk5vdCBTZXQiIHsKCQlraW5kID0gIkdlbSIKCX0KCXJldHVybiBjb2xvck5hbWUgKyAiICIgKyBraW5kICsgIiAiICsgc2hhcGUgKyAiIC0tICIgKyBtZXRhbCArICIgUmluZyAtICIgKyBjaGFpbiArICIgQ2hhaW4iCn0KCmZ1bmMgdHJhaXRDb21ib0tleShjaGFpbk5hbWUgc3RyaW5nLCBzaGFwZUlkeCwgY29sb3JJZHggaW50LCBtZXRhbCBzdHJpbmcsIGFjdGl2ZSBib29sKSBzdHJpbmcgewoJcmV0dXJuIHVmbXQuU3ByaW50ZigiJXN8JWR8JWR8JXN8JXQiLCBjaGFpbk5hbWUsIHNoYXBlSWR4LCBjb2xvcklkeCwgbWV0YWwsIGFjdGl2ZSkKfQoKY29uc3QgYWN0aXZlUHJvYmFiaWxpdHkgPSAwLjIKCnR5cGUgcHJuZyBzdHJ1Y3QgewoJc2VlZCBzdHJpbmcKCW4gICAgaW50Cn0KCmZ1bmMgbmV3UFJORyhzZWVkIHN0cmluZykgKnBybmcgeyByZXR1cm4gJnBybmd7c2VlZDogc2VlZH0gfQoKZnVuYyAocCAqcHJuZykgbmV4dCgpIHVpbnQ2NCB7CglwLm4rKwoJbWF0ZXJpYWwgOj0gdWZtdC5TcHJpbnRmKCIlczolZCIsIHAuc2VlZCwgcC5uKQoJc3VtIDo9IHNoYTI1Ni5TdW0yNTYoW11ieXRlKG1hdGVyaWFsKSkKCXZhciB2IHVpbnQ2NAoJZm9yIGkgOj0gMDsgaSA8IDg7IGkrKyB7CgkJdiA9IHY8PDggfCB1aW50NjQoc3VtW2ldKQoJfQoJcmV0dXJuIHYKfQoKZnVuYyAocCAqcHJuZykgZmxvYXRJbihsbywgaGkgZmxvYXQ2NCkgZmxvYXQ2NCB7CglmcmFjIDo9IGZsb2F0NjQocC5uZXh0KCklMTAwMDAwMCkgLyAxMDAwMDAwLjAKCXJldHVybiBsbyArIGZyYWMqKGhpLWxvKQp9CgpmdW5jIChwICpwcm5nKSBpbnRuKG4gaW50KSBpbnQgewoJaWYgbiA8PSAxIHsKCQlyZXR1cm4gMAoJfQoJcmV0dXJuIGludChwLm5leHQoKSAlIHVpbnQ2NChuKSkKfQoKZnVuYyByYW5kb21UcmFpdFByZXNldChhdHRlbXB0IGludCkgdHJhaXRQcmVzZXQgewoJbWF0ZXJpYWwgOj0gdWZtdC5TcHJpbnRmKCJhc3NlbWJsZTolZDolZDolczolZCIsCgkJcnVudGltZS5DaGFpbkhlaWdodCgpLCB1aW50NjQobmV4dElEKSwgY2FsbGVyQWRkcmVzcygpLlN0cmluZygpLCBhdHRlbXB0KQoJcm5kIDo9IG5ld1BSTkcobWF0ZXJpYWwpCgoJY2hhaW5OYW1lIDo9IGNoYWluUm9zdGVyW3JuZC5pbnRuKGxlbihjaGFpblJvc3RlcikpXQoJc3RvbmUgOj0gZ2Vtc2FydC5TdG9uZUZvckNoYWluKGNoYWluTmFtZSkKCWNvbG9ySWR4IDo9IHJuZC5pbnRuKGdlbXNhcnQuQ29sb3JQYWxldHRlU2l6ZShzdG9uZSkpCglzaGFwZUNvdW50IDo9IGxlbihnZW1zYXJ0LlNoYXBlTmFtZXMpCglpZiBzdG9uZSA9PSAiUGVhcmwiIHsKCQlzaGFwZUNvdW50ID0gbGVuKGdlbXNhcnQuUGVhcmxTaGFwZU5hbWVzKQoJfQoJc2hhcGVJZHggOj0gcm5kLmludG4oc2hhcGVDb3VudCkKCW1ldGFsIDo9IGdlbXNhcnQuTWV0YWxOYW1lc1tybmQuaW50bihsZW4oZ2Vtc2FydC5NZXRhbE5hbWVzKSldCglhY3RpdmVEcmF3IDo9IHJuZC5mbG9hdEluKDAsIDEpIDwgYWN0aXZlUHJvYmFiaWxpdHkKCWFjdGl2ZSA6PSBjaGFpbk5hbWUgPT0gIk1BSU5ORVQiIHx8IGFjdGl2ZURyYXcKCglyZXR1cm4gdHJhaXRQcmVzZXR7CgkJQ2hhaW46ICAgIGNoYWluTmFtZSwKCQlTaGFwZUlkeDogc2hhcGVJZHgsCgkJQ29sb3JJZHg6IGNvbG9ySWR4LAoJCU1ldGFsOiAgICBtZXRhbCwKCQlBY3RpdmU6ICAgYWN0aXZlLAoJfQp9Cgpjb25zdCBtYXhBc3NlbWJsZUF0dGVtcHRzID0gMjAwCgovLyBhc3NlbWJsZVVuaXF1ZVRyYWl0cyBkcmF3cyBjYW5kaWRhdGVzIGFuZCBwcmUtY2hlY2tzIGVhY2ggYWdhaW5zdAovLyBzdGFibGUuSXNUcmFpdENvbWJvQXZhaWxhYmxlIChhIGNyb3NzLXJlYWxtIFJFQUQgLS0gdW5pcXVlbmVzcwovLyBoaXN0b3J5IGxpdmVzIG9uIHN0YWJsZSBub3csIHNlZSB0aGF0IHBhY2thZ2UncyBvd24gZG9jIGNvbW1lbnQpLgovLyBUaGlzIGlzIGEgcHJlLWNoZWNrLCBub3QgdGhlIGF1dGhvcml0YXRpdmUgb25lOiBzdGFibGUuUmVjb3JkTWludAovLyByZS1jaGVja3MgYW5kIHJlc2VydmVzIGF0b21pY2FsbHkgd2l0aCB0aGUgYWN0dWFsIG1pbnQuIE5vIHJhY2UgaXMKLy8gcG9zc2libGUgYmV0d2VlbiB0aGUgdHdvIHdpdGhpbiB0aGUgc2FtZSBjYWxsIC0tIGduby5sYW5kIGV4ZWN1dGVzCi8vIG9uZSB0cmFuc2FjdGlvbiBhdCBhIHRpbWUsIHNvIG5vdGhpbmcgZWxzZSBjYW4gcnVuIGJldHdlZW4gdGhpcwovLyBjaGVjayBhbmQgUmVjb3JkTWludCdzIG93bi4KZnVuYyBhc3NlbWJsZVVuaXF1ZVRyYWl0cygpICh0cmFpdFByZXNldCwgc3RyaW5nKSB7Cglmb3IgYXR0ZW1wdCA6PSAwOyBhdHRlbXB0IDwgbWF4QXNzZW1ibGVBdHRlbXB0czsgYXR0ZW1wdCsrIHsKCQl0cCA6PSByYW5kb21UcmFpdFByZXNldChhdHRlbXB0KQoJCWtleSA6PSB0cmFpdENvbWJvS2V5KHRwLkNoYWluLCB0cC5TaGFwZUlkeCwgdHAuQ29sb3JJZHgsIHRwLk1ldGFsLCB0cC5BY3RpdmUpCgkJaWYgc3RhYmxlLklzVHJhaXRDb21ib0F2YWlsYWJsZShrZXkpIHsKCQkJcmV0dXJuIHRwLCBrZXkKCQl9Cgl9CglwYW5pYygiY291bGQgbm90IGZpbmQgYW4gdW51c2VkIHRyYWl0IGNvbWJpbmF0aW9uIGFmdGVyIG1hbnkgYXR0ZW1wdHMgLS0gdGhlIGNvbGxlY3Rpb24gbWF5IGJlIGZ1bGx5IG1pbnRlZCIpCn0KCmZ1bmMgSXNUcmFpdENvbWJvQXZhaWxhYmxlKGNoYWluTmFtZSBzdHJpbmcsIHNoYXBlSWR4LCBjb2xvcklkeCBpbnQsIG1ldGFsIHN0cmluZywgYWN0aXZlIGJvb2wpIGJvb2wgewoJa2V5IDo9IHRyYWl0Q29tYm9LZXkoY2hhaW5OYW1lLCBzaGFwZUlkeCwgY29sb3JJZHgsIG1ldGFsLCBhY3RpdmUpCglyZXR1cm4gc3RhYmxlLklzVHJhaXRDb21ib0F2YWlsYWJsZShrZXkpCn0KCmZ1bmMgTWF4VW5pcXVlVHJhaXRDb21ib3MoKSBpbnQ2NCB7Cgl2YXIgdG90YWwgaW50NjQKCWZvciBfLCBjaGFpbk5hbWUgOj0gcmFuZ2UgY2hhaW5Sb3N0ZXIgewoJCXN0b25lIDo9IGdlbXNhcnQuU3RvbmVGb3JDaGFpbihjaGFpbk5hbWUpCgkJc2hhcGVDb3VudCA6PSBsZW4oZ2Vtc2FydC5TaGFwZU5hbWVzKQoJCWlmIHN0b25lID09ICJQZWFybCIgewoJCQlzaGFwZUNvdW50ID0gbGVuKGdlbXNhcnQuUGVhcmxTaGFwZU5hbWVzKQoJCX0KCQl0b3RhbCArPSBpbnQ2NChnZW1zYXJ0LkNvbG9yUGFsZXR0ZVNpemUoc3RvbmUpKSAqIGludDY0KHNoYXBlQ291bnQpCgl9CglyZXR1cm4gdG90YWwgKiBpbnQ2NChsZW4oZ2Vtc2FydC5NZXRhbE5hbWVzKSkgKiAyCn0KCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENoYWluIHJvc3RlciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgp2YXIgY2hhaW5Sb3N0ZXIgPSBbXXN0cmluZ3sKCSJURVNULTEiLCAiVEVTVC0yIiwgIlRFU1QtMyIsICJURVNULTQiLCAiVEVTVC01IiwgIlRFU1QtNiIsICJURVNULTciLAoJIlRFU1QtOCIsICJURVNULTkiLCAiVEVTVC0xMCIsICJURVNULTExIiwgIlRFU1QtMTIiLCAiVEVTVC0xMyIsCgkiVE9QQVotMSIsICJTQVBQSElSRS0xIiwgIlBFQVJMLTEiLCAiQkVUQU5FVCIsCn0KCmZ1bmMgQWRkQ2hhaW4oY3VyIHJlYWxtLCBjaGFpbk5hbWUgc3RyaW5nKSB7Cglhc3NlcnRPd25lcigpCglpZiBjaGFpbk5hbWUgPT0gIiIgewoJCXBhbmljKCJjaGFpbiBuYW1lIG11c3Qgbm90IGJlIGVtcHR5IikKCX0KCWZvciBfLCBjIDo9IHJhbmdlIGNoYWluUm9zdGVyIHsKCQlpZiBjID09IGNoYWluTmFtZSB7CgkJCXBhbmljKCJjaGFpbiBhbHJlYWR5IGluIHRoZSByb3N0ZXIiKQoJCX0KCX0KCWNoYWluUm9zdGVyID0gYXBwZW5kKGNoYWluUm9zdGVyLCBjaGFpbk5hbWUpCn0KCmZ1bmMgQ2hhaW5Sb3N0ZXJTaXplKCkgaW50NjQgeyByZXR1cm4gaW50NjQobGVuKGNoYWluUm9zdGVyKSkgfQpmdW5jIENoYWluUm9zdGVyQ1NWKCkgc3RyaW5nIHsgcmV0dXJuIHN0cmluZ3MuSm9pbihjaGFpblJvc3RlciwgIjsiKSB9CgovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFN0b25lL2NvbG9yIGV4dGVuc2liaWxpdHkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgpmdW5jIFNldFN0b25lRm9yQ2hhaW4oY3VyIHJlYWxtLCBjaGFpbk5hbWUsIHN0b25lIHN0cmluZykgewoJYXNzZXJ0T3duZXIoKQoJaWYgc3RvbmUgPT0gIiIgewoJCXBhbmljKCJzdG9uZSBtdXN0IG5vdCBiZSBlbXB0eSIpCgl9CglnZW1zYXJ0LlNldFN0b25lRm9yQ2hhaW4oY2hhaW5OYW1lLCBzdG9uZSkKfQoKZnVuYyBBZGRTdG9uZUNvbG9yKGN1ciByZWFsbSwgc3RvbmUsIGhleCwgbmFtZSBzdHJpbmcpIHsKCWFzc2VydE93bmVyKCkKCWlmIHN0b25lID09ICIiIHx8IGhleCA9PSAiIiB8fCBuYW1lID09ICIiIHsKCQlwYW5pYygic3RvbmUsIGhleCwgYW5kIG5hbWUgbXVzdCBub3QgYmUgZW1wdHkiKQoJfQoJZ2Vtc2FydC5BZGRTdG9uZUNvbG9yKHN0b25lLCBoZXgsIG5hbWUpCn0KCmZ1bmMgTWV0YWxUb25lSGV4KG1ldGFsTmFtZSBzdHJpbmcpIHN0cmluZyAgeyByZXR1cm4gZ2Vtc2FydC5NZXRhbFRvbmVIZXgobWV0YWxOYW1lKSB9CmZ1bmMgU3RvbmVGb3JDaGFpbihjaGFpbk5hbWUgc3RyaW5nKSBzdHJpbmcgeyByZXR1cm4gZ2Vtc2FydC5TdG9uZUZvckNoYWluKGNoYWluTmFtZSkgfQpmdW5jIENvbG9yUGFsZXR0ZVNpemUoc3RvbmUgc3RyaW5nKSBpbnQ2NCAgIHsgcmV0dXJuIGludDY0KGdlbXNhcnQuQ29sb3JQYWxldHRlU2l6ZShzdG9uZSkpIH0KZnVuYyBTdG9uZU5hbWVzKCkgc3RyaW5nICAgICAgICAgICAgICAgICAgICB7IHJldHVybiBnZW1zYXJ0LlN0b25lTmFtZXNDU1YoKSB9CmZ1bmMgQ29sb3JQYWxldHRlQ1NWKHN0b25lIHN0cmluZykgc3RyaW5nICAgeyByZXR1cm4gZ2Vtc2FydC5Db2xvclBhbGV0dGVDU1Yoc3RvbmUpIH0KCmZ1bmMgU2hhcGVOYW1lc0ZvclN0b25lKHN0b25lIHN0cmluZykgc3RyaW5nIHsKCW5hbWVzIDo9IGdlbXNhcnQuU2hhcGVOYW1lcwoJaWYgc3RvbmUgPT0gIlBlYXJsIiB7CgkJbmFtZXMgPSBnZW1zYXJ0LlBlYXJsU2hhcGVOYW1lcwoJfQoJcmV0dXJuIHN0cmluZ3MuSm9pbihuYW1lcywgIjsiKQp9CgovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBPd25lciBjb250cm9scyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoKZnVuYyBjYWxsZXJBZGRyZXNzKCkgYWRkcmVzcyB7CglyZXR1cm4gdW5zYWZlcmVhbG0uUHJldmlvdXNSZWFsbSgpLkFkZHJlc3MoKQp9CgpmdW5jIGFzc2VydE93bmVyKCkgewoJaWYgY2FsbGVyQWRkcmVzcygpICE9IGNvbGxlY3Rpb25Pd25lckhlcmUgewoJCXBhbmljKCJ1bmF1dGhvcml6ZWQ6IGNhbGxlciBpcyBub3QgdGhlIGNvbGxlY3Rpb24gb3duZXIiKQoJfQp9CgpmdW5jIE1pbnRpbmdPcGVuKCkgYm9vbCB7IHJldHVybiBtaW50aW5nT3BlbiB9CgovLyBTZXRNaW50aW5nT3BlbiBhbHNvIG1pcnJvcnMgdGhlIG5ldyB2YWx1ZSB0byBzdGFibGUgKFJlcG9ydE1pbnRpbmdPcGVuCi8vIC0tIHZlcnNpb24tZ2F0ZWQgdGhlIHNhbWUgd2F5IFJlY29yZE1pbnQgaXMpIHB1cmVseSBzbyBzdGFibGUncwovLyBSZW5kZXIoKSBjYW4gc2hvdyBpdCB3aXRob3V0IGEgY2lyY3VsYXIgaW1wb3J0IGJhY2sgdG8gdGhpcyBwYWNrYWdlLgpmdW5jIFNldE1pbnRpbmdPcGVuKGN1ciByZWFsbSwgb3BlbiBib29sKSB7Cglhc3NlcnRPd25lcigpCgltaW50aW5nT3BlbiA9IG9wZW4KCXN0YWJsZS5SZXBvcnRNaW50aW5nT3Blbihjcm9zcyhjdXIpLCBvcGVuKQp9CgpmdW5jIE1heE1pbnRzUGVyV2FsbGV0KCkgaW50NjQgeyByZXR1cm4gbWF4TWludHNQZXJXYWxsZXQgfQoKZnVuYyBTZXRNYXhNaW50c1BlcldhbGxldChjdXIgcmVhbG0sIG1heCBpbnQ2NCkgewoJYXNzZXJ0T3duZXIoKQoJaWYgbWF4IDwgMCB7CgkJcGFuaWMoIm1heCBtdXN0IGJlIG5vbi1uZWdhdGl2ZSAoMCA9IHVubGltaXRlZCkiKQoJfQoJbWF4TWludHNQZXJXYWxsZXQgPSBtYXgKCXN0YWJsZS5SZXBvcnRNYXhNaW50c1BlcldhbGxldChjcm9zcyhjdXIpLCBtYXgpCn0KCi8vIE1pbnRzQnlXYWxsZXQgcmVhZHMgdGhlIHJlYWwsIGF1dGhvcml0YXRpdmUgY291bnQgZnJvbSBzdGFibGUgKG1pbnQKLy8gY291bnRzIGxpdmUgdGhlcmUgbm93LCBzZWUgdGhhdCBwYWNrYWdlJ3Mgb3duIGRvYyBjb21tZW50KSAtLSBrZXB0Ci8vIGhlcmUgdG9vIHNvIGNhbGxlcnMvdG9vbGluZyB0aGF0IGFscmVhZHkga25vdyB0aGlzIHJlYWxtJ3Mgb3duCi8vIHBrZ3BhdGggZG9uJ3QgbmVlZCB0byBrbm93IHN0YWJsZSdzLgpmdW5jIE1pbnRzQnlXYWxsZXQob3duZXIgYWRkcmVzcykgaW50NjQgewoJcmV0dXJuIHN0YWJsZS5NaW50c0J5V2FsbGV0KG93bmVyKQp9CgovLyBXaXRoZHJhd0Z1bmRzIHN3ZWVwcyB0aGlzIHJlYWxtJ3Mgb3duIGJhbGFuY2UgdG8gc3RhYmxlJ3MgcmVnaXN0ZXJlZAovLyBvd25lciAtLSBub3JtYWxseSBuZWFyLXplcm8sIHNpbmNlIE1pbnRBc3NlbWJsZWQgZm9yd2FyZHMgcGF5bWVudAovLyBkaXJlY3RseSwgYnV0IHRoaXMgZXhpc3RzIGZvciBhbnl0aGluZyB0aGF0IHJlYWNoZXMgdGhpcyByZWFsbSdzCi8vIGJhbGFuY2Ugc29tZSBvdGhlciB3YXkgKGEgc3RyYXkgZGlyZWN0IHNlbmQpLgpmdW5jIFdpdGhkcmF3RnVuZHMoY3VyIHJlYWxtLCBhbW91bnRVZ25vdCBpbnQ2NCkgewoJYXNzZXJ0T3duZXIoKQoJaWYgYW1vdW50VWdub3QgPD0gMCB7CgkJcGFuaWMoImFtb3VudCBtdXN0IGJlIHBvc2l0aXZlIikKCX0KCWIgOj0gYmFua2VyLk5ld0JhbmtlcihiYW5rZXIuQmFua2VyVHlwZVJlYWxtU2VuZCwgY3VyKQoJYi5TZW5kQ29pbnMoY3VyLkFkZHJlc3MoKSwgc3RhYmxlLk93bmVyKCksIGNoYWluLkNvaW5ze3tEZW5vbTogInVnbm90IiwgQW1vdW50OiBhbW91bnRVZ25vdH19KQp9CiIiChMvZ25vLk1lbVBhY2thZ2VUeXBlEgsKCU1QVXNlckFsbCINMTAwMDAwMDB1Z25vdBISCICcnDkSCzYwMDAwMHVnbm90GqgBCjoKEy90bS5QdWJLZXlTZWNwMjU2azESIwohAwzldVywlpaWxabFMIA3RXWK4SCj/tSrrZNHKds5VY3tEkCtx6JQCgysyOoqbmYfMADdNxOJ95PTyllZBfZg8aQzUXSocnN8y8BxyQ1JjX1YBHZ+MBOfTmUCYZXJ5BUzXIk9GihnMXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcWx1dXhl

Raw transaction data

Raw JSON data