Contract 0x5dfb2a810f14236D91509C9144344a26aEe729b1

 

Contract Overview

Balance:
0 MATIC

MATIC Value:
$0.00

Token:
 
Txn Hash
Method
Block
From
To
Value [Txn Fee]
0x1a77ff633b59f43ba265f6d46cbb1453bd29bada6345644917f83675bcfdfa30Update_valset426335082023-05-13 0:19:5318 days 15 hrs ago0x1031ce0bd817fa020dcd3e0ba48641eba6f38a46 IN  0x5dfb2a810f14236d91509c9144344a26aee729b10 MATIC0.045953366003243.633214417
0x83d2fcc8b2d55ee332de6c2e63b1971db9a17498ef643ce64a925945e5ef22bcUpdate_valset426320342023-05-12 23:26:4318 days 16 hrs ago0x939aa4e7c80cccf276a8441edde42b594f9107d7 IN  0x5dfb2a810f14236d91509c9144344a26aee729b10 MATIC0.052871002361286.448808397
0xfd5b3b6b45d699c00abd20fe2c88e16f90853c8b94003bacc996561bfc3b5b5fUpdate_valset426316272023-05-12 23:11:5218 days 16 hrs ago0x1031ce0bd817fa020dcd3e0ba48641eba6f38a46 IN  0x5dfb2a810f14236d91509c9144344a26aee729b10 MATIC0.043580931792235.897760658
0x5d1042787999dcfa073059fe97003f908c23b73dd50dbd9247229f89274c0c01Update_valset426306352023-05-12 22:36:1618 days 17 hrs ago0xd8d68e40669535f32872326feda4fd000e4f4a80 IN  0x5dfb2a810f14236d91509c9144344a26aee729b10 MATIC0.028936612424 148.596346918
0x43465628d4b6592260c3cce6b7abb9dc34e802815d92ba84a1a290ecc3092b03Update_valset426294782023-05-12 21:55:1818 days 17 hrs ago0xa19352dfcb5dd75971d536c98d6b20bf35ea8252 IN  0x5dfb2a810f14236d91509c9144344a26aee729b10 MATIC0.02706417285 143.758022601
0xc69f955880fbe5cae56eb6e23a4b98fa167707227b6b100208b6279986749c3dUpdate_valset426288102023-05-12 21:31:3718 days 18 hrs ago0x939aa4e7c80cccf276a8441edde42b594f9107d7 IN  0x5dfb2a810f14236d91509c9144344a26aee729b10 MATIC0.053316510301289.420742281
0x777f60476124fe62832e9d9c6c5475d118af92f4299afb05ac8c609d3762bc46Update_valset426281992023-05-12 21:09:5918 days 18 hrs ago0x1031ce0bd817fa020dcd3e0ba48641eba6f38a46 IN  0x5dfb2a810f14236d91509c9144344a26aee729b10 MATIC0.043278593449229.150946176
0x322fa589ac2b615349ee3520b93b1f52902f203c561e78785de9caba216df365Update_valset426273392023-05-12 20:38:5918 days 18 hrs ago0xb76421ba4383ae72b42469b65100365b07a0f06e IN  0x5dfb2a810f14236d91509c9144344a26aee729b10 MATIC0.031880548811169.36298097
0x5eeec5da802cc81785d12d8c4781a2cde81a123a041567ef5a807bf0ba037f28Update_valset426235792023-05-12 18:25:0018 days 21 hrs ago0x9970ccf224f9957acc333d591b50ba2669c2f758 IN  0x5dfb2a810f14236d91509c9144344a26aee729b10 MATIC0.069430412802375.839925526
0x3cfaf9341890668ad12b3bb871e5d643d64b9aeabd95a26dd45b282d174f1ea9Update_valset426212202023-05-12 16:56:4918 days 22 hrs ago0x939aa4e7c80cccf276a8441edde42b594f9107d7 IN  0x5dfb2a810f14236d91509c9144344a26aee729b10 MATIC0.04638552149244.250021014
0x2690c6d517a7397c965c2b302fdca2f0a49c5f4328bafd7e8be6fec329ff1df9Update_valset426201732023-05-12 16:18:0018 days 23 hrs ago0x9970ccf224f9957acc333d591b50ba2669c2f758 IN  0x5dfb2a810f14236d91509c9144344a26aee729b10 MATIC0.061320543635335.73439131
0xb5df2e1dba3c81a76f6deb3d9f096eb9a2838ef5ad04bccecda301d6ead464e0Update_valset426197482023-05-12 16:01:1818 days 23 hrs ago0xa19352dfcb5dd75971d536c98d6b20bf35ea8252 IN  0x5dfb2a810f14236d91509c9144344a26aee729b10 MATIC0.038885402663 207.702306222
0xf28aaf53231c81bf7e9cdf7d9a324d16fe3d036f6c0bdbe57feed9a805e2f696Update_valset426193102023-05-12 15:45:3618 days 23 hrs ago0x939aa4e7c80cccf276a8441edde42b594f9107d7 IN  0x5dfb2a810f14236d91509c9144344a26aee729b10 MATIC0.059195793262318.637262016
0x38a0d0461c595bc5c0ab643d9fa75e992048fe849207485aef17f3c0deae342cUpdate_valset426188372023-05-12 15:27:1619 days 11 mins ago0xd8d68e40669535f32872326feda4fd000e4f4a80 IN  0x5dfb2a810f14236d91509c9144344a26aee729b10 MATIC0.035077212461 176.649993008
0x7d4ed554904bdc0af5ae59954f58ebff731494c7e1261320b3a2621a79e58f21Update_valset426181762023-05-12 15:03:0419 days 35 mins ago0x9970ccf224f9957acc333d591b50ba2669c2f758 IN  0x5dfb2a810f14236d91509c9144344a26aee729b10 MATIC0.073928160814401.011970528
0xd227a5fc884bae533ec9f82f463422c165930bd4e4b907de4301d1298df1dbb0Update_valset426175002023-05-12 14:37:1519 days 1 hr ago0xed2966f308bfed3bdcb4d329b2cf44cf354b437b IN  0x5dfb2a810f14236d91509c9144344a26aee729b10 MATIC0.04927270862261.281404914
0xb8be0aa5fa5ed88785ac13fdf6a2a6971a727da0fd897b98ad7bdc7bc8072effUpdate_valset426171132023-05-12 14:22:2919 days 1 hr ago0xa19352dfcb5dd75971d536c98d6b20bf35ea8252 IN  0x5dfb2a810f14236d91509c9144344a26aee729b10 MATIC0.038305487341 208.83346604
0xb297abc2aba04e45b0942bbf1dedb07663f6f7faf74983d96bc92c36afa6788bUpdate_valset426166142023-05-12 14:02:0619 days 1 hr ago0xac1f41ac934652fbd7c04cd8c368a2fe3aaa146e IN  0x5dfb2a810f14236d91509c9144344a26aee729b10 MATIC0.070858575542362.83213194
0x77b5c5f1a0112c1784f3c65583677feb0d281ca456f370c1ab16627322a4dfc9Update_valset426144912023-05-12 12:39:4219 days 2 hrs ago0xb76421ba4383ae72b42469b65100365b07a0f06e IN  0x5dfb2a810f14236d91509c9144344a26aee729b10 MATIC0.044974489805226.843720965
0x3aae6b46b651737935ffb569659e2744e2ff9b7f32b0ae456f0518738ed661e5Update_valset426134852023-05-12 12:04:0419 days 3 hrs ago0xac1f41ac934652fbd7c04cd8c368a2fe3aaa146e IN  0x5dfb2a810f14236d91509c9144344a26aee729b10 MATIC0.046312498936250.356778009
0x5cfe135daf49e26be7c679ecc0b783c2cdddbb3cae16579d2f6699b0e0dd17d9Update_valset426128692023-05-12 11:42:1619 days 3 hrs ago0xd8d68e40669535f32872326feda4fd000e4f4a80 IN  0x5dfb2a810f14236d91509c9144344a26aee729b10 MATIC0.032373388058 169.294747333
0xd34fa2655774e263eb7bfa700099fcae0d63dd2ca747954f53a64452dae76734Update_valset426115722023-05-12 10:56:1719 days 4 hrs ago0xa19352dfcb5dd75971d536c98d6b20bf35ea8252 IN  0x5dfb2a810f14236d91509c9144344a26aee729b10 MATIC0.032946610229 173.756211194
0xb9017f8f32ecbb24c4f0acfbfb09ace925bac8d2f54bd1d555b2a91181c7b230Update_valset426096962023-05-12 9:49:1819 days 5 hrs ago0xd8d68e40669535f32872326feda4fd000e4f4a80 IN  0x5dfb2a810f14236d91509c9144344a26aee729b10 MATIC0.028861783318 156.671895899
0x0b8b42f3387bb635c99890648df697f86cc11c0fe3b6b90679d485599df47ff5Update_valset426086932023-05-12 9:13:1519 days 6 hrs ago0xed2966f308bfed3bdcb4d329b2cf44cf354b437b IN  0x5dfb2a810f14236d91509c9144344a26aee729b10 MATIC0.188389949385993.193569129
0xc730ff2cd802b88f55b5321d783a030ee8188f770385014bcfd9270e2f166a77Update_valset426078832023-05-12 8:44:2019 days 6 hrs ago0xd8d68e40669535f32872326feda4fd000e4f4a80 IN  0x5dfb2a810f14236d91509c9144344a26aee729b10 MATIC0.031744214684 168.987035852
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Vyper_contract

Compiler Version
vyper:0.3.3

Optimization Enabled:
N/A

Other Settings:
, Apache-2.0 license

Contract Source Code (Vyper language format)

# @version 0.3.3
"""
@title Turnstone-EVM
@author Volume.Finance
"""

MAX_VALIDATORS: constant(uint256) = 320
MAX_PAYLOAD: constant(uint256) = 20480

POWER_THRESHOLD: constant(uint256) = 2_863_311_530 # 2/3 of 2^32, Validator powers will be normalized to sum to 2 ^ 32 in every valset update.
TURNSTONE_ID: immutable(bytes32)

struct Valset:
    validators: DynArray[address, MAX_VALIDATORS] # Validator addresses
    powers: DynArray[uint256, MAX_VALIDATORS] # Powers of given validators, in the same order as validators array
    valset_id: uint256 # nonce of this validator set

struct Signature:
    v: uint256
    r: uint256
    s: uint256

struct Consensus:
    valset: Valset # Valset data
    signatures: DynArray[Signature, MAX_VALIDATORS] # signatures in the same order as validator array in valset

struct LogicCallArgs:
    logic_contract_address: address # the arbitrary contract address to external call
    payload: Bytes[MAX_PAYLOAD] # payloads

event ValsetUpdated:
    checkpoint: bytes32
    valset_id: uint256

event LogicCallEvent:
    logic_contract_address: address
    payload: Bytes[MAX_PAYLOAD]
    message_id: uint256

last_checkpoint: public(bytes32)
message_id_used: public(HashMap[uint256, bool])

# turnstone_id: unique identifier for turnstone instance
# valset: initial validator set
@external
def __init__(turnstone_id: bytes32, valset: Valset):
    TURNSTONE_ID = turnstone_id
    cumulative_power: uint256 = 0
    i: uint256 = 0
    # check cumulative power is enough
    for validator in valset.validators:
        cumulative_power += valset.powers[i]
        if cumulative_power >= POWER_THRESHOLD:
            break
        i += 1
    assert cumulative_power >= POWER_THRESHOLD, "Insufficient Power"
    new_checkpoint: bytes32 = keccak256(_abi_encode(valset.validators, valset.powers, valset.valset_id, turnstone_id, method_id=method_id("checkpoint(address[],uint256[],uint256,bytes32)")))
    self.last_checkpoint = new_checkpoint
    log ValsetUpdated(new_checkpoint, valset.valset_id)

@external
@pure
def turnstone_id() -> bytes32:
    return TURNSTONE_ID

# utility function to verify EIP712 signature
@internal
@pure
def verify_signature(signer: address, hash: bytes32, sig: Signature) -> bool:
    message_digest: bytes32 = keccak256(concat(convert("\x19Ethereum Signed Message:\n32", Bytes[28]), hash))
    return signer == ecrecover(message_digest, sig.v, sig.r, sig.s)

# consensus: validator set and signatures
# hash: what we are checking they have signed
@internal
def check_validator_signatures(consensus: Consensus, hash: bytes32):
    i: uint256 = 0
    cumulative_power: uint256 = 0
    for sig in consensus.signatures:
        if sig.v != 0:
            assert self.verify_signature(consensus.valset.validators[i], hash, sig), "Invalid Signature"
            cumulative_power += consensus.valset.powers[i]
            if cumulative_power >= POWER_THRESHOLD:
                break
        i += 1
    assert cumulative_power >= POWER_THRESHOLD, "Insufficient Power"

# Make a new checkpoint from the supplied validator set
# A checkpoint is a hash of all relevant information about the valset. This is stored by the contract,
# instead of storing the information directly. This saves on storage and gas.
# The format of the checkpoint is:
# keccak256 hash of abi_encoded checkpoint(validators[], powers[], valset_id, turnstone_id)
# The validator powers must be decreasing or equal. This is important for checking the signatures on the
# next valset, since it allows the caller to stop verifying signatures once a quorum of signatures have been verified.
@internal
@view
def make_checkpoint(valset: Valset) -> bytes32:
    return keccak256(_abi_encode(valset.validators, valset.powers, valset.valset_id, TURNSTONE_ID, method_id=method_id("checkpoint(address[],uint256[],uint256,bytes32)")))

# This updates the valset by checking that the validators in the current valset have signed off on the
# new valset. The signatures supplied are the signatures of the current valset over the checkpoint hash
# generated from the new valset.
# Anyone can call this function, but they must supply valid signatures of constant_powerThreshold of the current valset over
# the new valset.
# valset: new validator set to update with
# consensus: current validator set and signatures
@external
def update_valset(consensus: Consensus, new_valset: Valset):
    # check if new valset_id is greater than current valset_id
    assert new_valset.valset_id > consensus.valset.valset_id, "Invalid Valset ID"
    cumulative_power: uint256 = 0
    i: uint256 = 0
    # check cumulative power is enough
    for validator in new_valset.validators:
        cumulative_power += new_valset.powers[i]
        if cumulative_power >= POWER_THRESHOLD:
            break
        i += 1
    assert cumulative_power >= POWER_THRESHOLD, "Insufficient Power"
    # check if the supplied current validator set matches the saved checkpoint
    assert self.last_checkpoint == self.make_checkpoint(consensus.valset), "Incorrect Checkpoint"
    # calculate the new checkpoint
    new_checkpoint: bytes32 = self.make_checkpoint(new_valset)
    # check if enough validators signed new validator set (new checkpoint)
    self.check_validator_signatures(consensus, new_checkpoint)
    self.last_checkpoint = new_checkpoint
    log ValsetUpdated(new_checkpoint, new_valset.valset_id)

# This makes calls to contracts that execute arbitrary logic
# message_id is to prevent replay attack and every message_id can be used only once
@external
def submit_logic_call(consensus: Consensus, args: LogicCallArgs, message_id: uint256, deadline: uint256):
    assert block.timestamp <= deadline, "Timeout"
    assert not self.message_id_used[message_id], "Used Message_ID"
    self.message_id_used[message_id] = True
    # check if the supplied current validator set matches the saved checkpoint
    assert self.last_checkpoint == self.make_checkpoint(consensus.valset), "Incorrect Checkpoint"
    # signing data is keccak256 hash of abi_encoded logic_call(args, message_id, turnstone_id, deadline)
    args_hash: bytes32 = keccak256(_abi_encode(args, message_id, TURNSTONE_ID, deadline, method_id=method_id("logic_call((address,bytes),uint256,bytes32,uint256)")))
    # check if enough validators signed args_hash
    self.check_validator_signatures(consensus, args_hash)
    # make call to logic contract
    raw_call(args.logic_contract_address, args.payload)
    log LogicCallEvent(args.logic_contract_address, args.payload, message_id)

Contract Security Audit

Contract ABI

[{"name":"ValsetUpdated","inputs":[{"name":"checkpoint","type":"bytes32","indexed":false},{"name":"valset_id","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"LogicCallEvent","inputs":[{"name":"logic_contract_address","type":"address","indexed":false},{"name":"payload","type":"bytes","indexed":false},{"name":"message_id","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"turnstone_id","type":"bytes32"},{"name":"valset","type":"tuple","components":[{"name":"validators","type":"address[]"},{"name":"powers","type":"uint256[]"},{"name":"valset_id","type":"uint256"}]}],"outputs":[]},{"stateMutability":"pure","type":"function","name":"turnstone_id","inputs":[],"outputs":[{"name":"","type":"bytes32"}]},{"stateMutability":"nonpayable","type":"function","name":"update_valset","inputs":[{"name":"consensus","type":"tuple","components":[{"name":"valset","type":"tuple","components":[{"name":"validators","type":"address[]"},{"name":"powers","type":"uint256[]"},{"name":"valset_id","type":"uint256"}]},{"name":"signatures","type":"(uint256,uint256,uint256)[]"}]},{"name":"new_valset","type":"tuple","components":[{"name":"validators","type":"address[]"},{"name":"powers","type":"uint256[]"},{"name":"valset_id","type":"uint256"}]}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"submit_logic_call","inputs":[{"name":"consensus","type":"tuple","components":[{"name":"valset","type":"tuple","components":[{"name":"validators","type":"address[]"},{"name":"powers","type":"uint256[]"},{"name":"valset_id","type":"uint256"}]},{"name":"signatures","type":"(uint256,uint256,uint256)[]"}]},{"name":"args","type":"tuple","components":[{"name":"logic_contract_address","type":"address"},{"name":"payload","type":"bytes"}]},{"name":"message_id","type":"uint256"},{"name":"deadline","type":"uint256"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"last_checkpoint","inputs":[],"outputs":[{"name":"","type":"bytes32"}]},{"stateMutability":"view","type":"function","name":"message_id_used","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]}]

60206110e16000396000516020816110c10160003960005181016101406020826110c101600039600051116110bc576020816110c1016000396000518060405260008161014081116110bc57801561008357905b60206020820260208601016110c1016000396000518060a01c6110bc576020820260600152600101818118610053575b505050506020602082016110c10160003960005181016101406020826110c101600039600051116110bc576020816110c1016000396000518061286052602082016020820280826110c10161288039505050506020604082016110c101600039600051615080525060206110c1600039600051630000f300526040366150a037600060405161014081116110bc57801561018c57905b60208102606001516150e0526150a05160206150c051612860518110156110bc5702612880015181818301106110bc57808201905090506150a05263aaaaaaaa6150a051106101675761018c565b6150c051600181818301106110bc57808201905090506150c052600101818118610119575b505063aaaaaaaa6150a05110156102035760126150e0527f496e73756666696369656e7420506f7765720000000000000000000000000000615100526150e0506150e051806151000181600003601f1636823750506308c379a06150a05260206150c052601f19601f6150e05101166044016150bcfd5b63299018c261a20452600460808061a224528061a2240160006040518083526020810260008261014081116110bc57801561025757905b60208102606001516020820260208801015260010181811861023a575b505082016020019150509050810190508061a244528061a224016000612860518083526020810260008261014081116110bc5780156102b057905b60208102612880015160208202602088010152600101818118610292575b505082016020019150509050810190506150805161a2645260206110c160003960005161a284520161a2005261a2008051602082012090506150e0526150e0516000557f09d40458cf931745f8d532ef13fa9c74bfb7fe0edcee88e0a677b0cbef88f0f96150e0516151005261508051615120526040615100a1610d78610343630000e58839610d78602001630000e588f3600436101561000d57610a07565b60003560e01c34610d735763f0f405048118610037576020610d7860003960005160405260206040f35b63eadf4af78118610513576004356004018035810180358101610140813511610d735780358061f2a0526000816101408111610d7357801561009b57905b602081026020850101358060a01c610d73576020820261f2c00152600101818118610075575b5050505060208101358101610140813511610d735780358062011ac0526020820160208202808262011ae037505050506040810135620142e0525060208101358101610140813511610d73578035806201430052602082016060820280826201432037505050505060243560040180358101610140813511610d73578035806201bb20526000816101408111610d7357801561015a57905b602081026020850101358060a01c610d7357602082026201bb400152600101818118610133575b5050505060208101358101610140813511610d73578035806201e34052602082016020820280826201e3603750505050604081013562020b605250620142e05162020b60511161021357601162020b80527f496e76616c69642056616c73657420494400000000000000000000000000000062020ba05262020b805062020b80518062020ba00181600003601f1636823750506308c379a062020b4052602062020b6052601f19601f62020b8051011660440162020b5cfd5b60403662020b803760006201bb20516101408111610d735780156102b157905b602081026201bb40015162020bc05262020b8051602062020ba0516201e34051811015610d7357026201e36001518181830110610d73578082019050905062020b805263aaaaaaaa62020b80511061028a576102b1565b62020ba05160018181830110610d73578082019050905062020ba052600101818118610233575b505063aaaaaaaa62020b8051101561033257601262020bc0527f496e73756666696369656e7420506f776572000000000000000000000000000062020be05262020bc05062020bc0518062020be00181600003601f1636823750506308c379a062020b8052602062020ba052601f19601f62020bc051011660440162020b9cfd5b61f2a05180604052602081028060608261f2c060045afa9050505062011ac051806128605260208102806128808262011ae060045afa90505050620142e0516150805261038162020bc0610c89565b62020bc051600054146103fd57601462020be0527f496e636f727265637420436865636b706f696e7400000000000000000000000062020c005262020be05062020be0518062020c000181600003601f1636823750506308c379a062020ba052602062020bc052601f19601f62020be051011660440162020bbcfd5b6201bb20518060405260208102806060826201bb4060045afa905050506201e3405180612860526020810280612880826201e36060045afa9050505062020b60516150805261044e62020be0610c89565b62020be05162020bc05261f2a051806102405260208102806102608261f2c060045afa9050505062011ac05180612a60526020810280612a808262011ae060045afa90505050620142e051615280526201430051806152a05260608102806152c0826201432060045afa9050505062020bc05161cac0526104cd610ab0565b62020bc0516000557f09d40458cf931745f8d532ef13fa9c74bfb7fe0edcee88e0a677b0cbef88f0f962020bc05162020be05262020b605162020c0052604062020be0a1005b631029ae6f81186109c9576004356004018035810180358101610140813511610d735780358061f2a0526000816101408111610d7357801561057757905b602081026020850101358060a01c610d73576020820261f2c00152600101818118610551575b5050505060208101358101610140813511610d735780358062011ac0526020820160208202808262011ae037505050506040810135620142e0525060208101358101610140813511610d73578035806201430052602082016060820280826201432037505050505060243560040180358060a01c610d73576201bb205260208101358101615000813511610d73578035806201bb40526020820181816201bb60375050505060643542111561069557600762020b60527f54696d656f75740000000000000000000000000000000000000000000000000062020b805262020b605062020b60518062020b800181600003601f1636823750506308c379a062020b2052602062020b4052601f19601f62020b6051011660440162020b3cfd5b60016044356020526000526040600020541561071a57600f62020b60527f55736564204d6573736167655f4944000000000000000000000000000000000062020b805262020b605062020b60518062020b800181600003601f1636823750506308c379a062020b2052602062020b4052601f19601f62020b6051011660440162020b3cfd5b6001600160443560205260005260406000205561f2a05180604052602081028060608261f2c060045afa9050505062011ac051806128605260208102806128808262011ae060045afa90505050620142e0516150805261077c62020b60610c89565b62020b6051600054146107f857601462020b80527f496e636f727265637420436865636b706f696e7400000000000000000000000062020ba05262020b805062020b80518062020ba00181600003601f1636823750506308c379a062020b4052602062020b6052601f19601f62020b8051011660440162020b5cfd5b63980721b262025ca452600460808062025cc4528062025cc40160406201bb205182528060208301528082016201bb4051808252602082018181836201bb6060045afa90505050805180602083010181600003601f163682375050601f19601f8251602001011690508101905090508101905060443562025ce4526020610d7860003960005162025d045260643562025d24520162025ca05262025ca080516020820120905062020b605261f2a051806102405260208102806102608261f2c060045afa9050505062011ac05180612a60526020810280612a808262011ae060045afa90505050620142e051615280526201430051806152a05260608102806152c0826201432060045afa9050505062020b605161cac052610918610ab0565b6201bb406000600082516020840160006201bb20515af19050610940573d600060003e3d6000fd5b7f0d2bd340033bb64fd086788e6685b480a9bf10b98d63e9b8073eb5d0bd6c6ee960606201bb205162020b80528062020ba0528062020b80016201bb4051808252602082018181836201bb6060045afa90505050805180602083010181600003601f163682375050601f19601f8251602001011690508101905060443562020bc05262020b80a1005b63a9a4a98381186109e05760005460405260206040f35b6338d6172d8118610a0557600160043560205260005260406000205460405260206040f35b505b60006000fd5b6000601c6101a0527f19457468657265756d205369676e6564204d6573736167653a0a3332000000006101c0526101a0805160208201836102000181518152505080830192505050606051816102000152602081019050806101e0526101e0905080516020820120905060e05260e051610100526080516101205260a0516101405260c0516101605260206000608061010060015afa5060005160405114815250565b60403661cae03760006152a0516101408111610d73578015610c1057905b606081026152c001805161cb2052602081015161cb4052604081015161cb605250600061cb205114610beb57602061cae05161024051811015610d735702610260015160405261cac05160605261cb205160805261cb405160a05261cb605160c052610b3b61cb80610a0d565b61cb8051610ba957601161cba0527f496e76616c6964205369676e617475726500000000000000000000000000000061cbc05261cba05061cba0518061cbc00181600003601f1636823750506308c379a061cb6052602061cb8052601f19601f61cba051011660440161cb7cfd5b61cb0051602061cae051612a6051811015610d735702612a8001518181830110610d73578082019050905061cb005263aaaaaaaa61cb005110610beb57610c10565b61cae05160018181830110610d73578082019050905061cae052600101818118610ace575b505063aaaaaaaa61cb00511015610c8757601261cb20527f496e73756666696369656e7420506f776572000000000000000000000000000061cb405261cb205061cb20518061cb400181600003601f1636823750506308c379a061cae052602061cb0052601f19601f61cb2051011660440161cafcfd5b565b63299018c261a1a452600460808061a1c4528061a1c4016000604051808352602081026000826101408111610d73578015610cdd57905b602081026060015160208202602088010152600101818118610cc0575b505082016020019150509050810190508061a1e4528061a1c401600061286051808352602081026000826101408111610d73578015610d3657905b60208102612880015160208202602088010152600101818118610d18575b505082016020019150509050810190506150805161a204526020610d7860003960005161a224520161a1a05261a1a0805160208201209050815250565b600080fd005b600080fd31393636353000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000378000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000011b6c349d67244e2d62d1cb2f8460226b492cceb000000000000000000000000adf557a994d6843e6a5efbb6ca87fd2910ead92a000000000000000000000000f41816b072c831ae141dc3f49596c7e0f313a4bc00000000000000000000000039e9e047ef2f5127d9393f42509a32b811ab6e8000000000000000000000000068cd534771f676677f714f26ee47a7dce0ef01c9000000000000000000000000c06c3db87a6446c28a8dd9e9c76c4998e75280eb00000000000000000000000061d1ad488c2c597c796a2011caba351594eba567000000000000000000000000a15c58e5be0efff1fb5a94fa5de4d3da7a4b8763000000000000000000000000c55f0ac58138e60a2bf456b211fcf8bf9b7386bd000000000000000000000000049a5b76f1c4d3e34c86c5350fe193d5e4ae39fd000000000000000000000000535d804cf451d6ed113444367105f565859fabea0000000000000000000000003bef6f250580d2c635805fd3fb0108ca663a3dd20000000000000000000000001031ce0bd817fa020dcd3e0ba48641eba6f38a46000000000000000000000000b700af3c8f7bcaf4a27262ff3f5800ad5445ad0600000000000000000000000029587c276d259c0f1303d23b77b0fbffc5ef961a000000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000014a7db70000000000000000000000000000000000000000000000000000000001482c6e000000000000000000000000000000000000000000000000000000000146b4eb700000000000000000000000000000000000000000000000000000000143140ef00000000000000000000000000000000000000000000000000000000140e3a410000000000000000000000000000000000000000000000000000000013f92a8f0000000000000000000000000000000000000000000000000000000013e044bf0000000000000000000000000000000000000000000000000000000013cb721e0000000000000000000000000000000000000000000000000000000013afb5e000000000000000000000000000000000000000000000000000000000138953c800000000000000000000000000000000000000000000000000000000128deae100000000000000000000000000000000000000000000000000000000128deae100000000000000000000000000000000000000000000000000000000122f64e6000000000000000000000000000000000000000000000000000000000000f3320000000000000000000000000000000000000000000000000000000000007ad3

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

31393636353000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000378000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000011b6c349d67244e2d62d1cb2f8460226b492cceb000000000000000000000000adf557a994d6843e6a5efbb6ca87fd2910ead92a000000000000000000000000f41816b072c831ae141dc3f49596c7e0f313a4bc00000000000000000000000039e9e047ef2f5127d9393f42509a32b811ab6e8000000000000000000000000068cd534771f676677f714f26ee47a7dce0ef01c9000000000000000000000000c06c3db87a6446c28a8dd9e9c76c4998e75280eb00000000000000000000000061d1ad488c2c597c796a2011caba351594eba567000000000000000000000000a15c58e5be0efff1fb5a94fa5de4d3da7a4b8763000000000000000000000000c55f0ac58138e60a2bf456b211fcf8bf9b7386bd000000000000000000000000049a5b76f1c4d3e34c86c5350fe193d5e4ae39fd000000000000000000000000535d804cf451d6ed113444367105f565859fabea0000000000000000000000003bef6f250580d2c635805fd3fb0108ca663a3dd20000000000000000000000001031ce0bd817fa020dcd3e0ba48641eba6f38a46000000000000000000000000b700af3c8f7bcaf4a27262ff3f5800ad5445ad0600000000000000000000000029587c276d259c0f1303d23b77b0fbffc5ef961a000000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000014a7db70000000000000000000000000000000000000000000000000000000001482c6e000000000000000000000000000000000000000000000000000000000146b4eb700000000000000000000000000000000000000000000000000000000143140ef00000000000000000000000000000000000000000000000000000000140e3a410000000000000000000000000000000000000000000000000000000013f92a8f0000000000000000000000000000000000000000000000000000000013e044bf0000000000000000000000000000000000000000000000000000000013cb721e0000000000000000000000000000000000000000000000000000000013afb5e000000000000000000000000000000000000000000000000000000000138953c800000000000000000000000000000000000000000000000000000000128deae100000000000000000000000000000000000000000000000000000000128deae100000000000000000000000000000000000000000000000000000000122f64e6000000000000000000000000000000000000000000000000000000000000f3320000000000000000000000000000000000000000000000000000000000007ad3
-----Encoded View---------------
37 Constructor Arguments found :
Arg [0] : 3139363635300000000000000000000000000000000000000000000000000000
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000260
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000378
Arg [5] : 000000000000000000000000000000000000000000000000000000000000000f
Arg [6] : 00000000000000000000000011b6c349d67244e2d62d1cb2f8460226b492cceb
Arg [7] : 000000000000000000000000adf557a994d6843e6a5efbb6ca87fd2910ead92a
Arg [8] : 000000000000000000000000f41816b072c831ae141dc3f49596c7e0f313a4bc
Arg [9] : 00000000000000000000000039e9e047ef2f5127d9393f42509a32b811ab6e80
Arg [10] : 00000000000000000000000068cd534771f676677f714f26ee47a7dce0ef01c9
Arg [11] : 000000000000000000000000c06c3db87a6446c28a8dd9e9c76c4998e75280eb
Arg [12] : 00000000000000000000000061d1ad488c2c597c796a2011caba351594eba567
Arg [13] : 000000000000000000000000a15c58e5be0efff1fb5a94fa5de4d3da7a4b8763
Arg [14] : 000000000000000000000000c55f0ac58138e60a2bf456b211fcf8bf9b7386bd
Arg [15] : 000000000000000000000000049a5b76f1c4d3e34c86c5350fe193d5e4ae39fd
Arg [16] : 000000000000000000000000535d804cf451d6ed113444367105f565859fabea
Arg [17] : 0000000000000000000000003bef6f250580d2c635805fd3fb0108ca663a3dd2
Arg [18] : 0000000000000000000000001031ce0bd817fa020dcd3e0ba48641eba6f38a46
Arg [19] : 000000000000000000000000b700af3c8f7bcaf4a27262ff3f5800ad5445ad06
Arg [20] : 00000000000000000000000029587c276d259c0f1303d23b77b0fbffc5ef961a
Arg [21] : 000000000000000000000000000000000000000000000000000000000000000f
Arg [22] : 0000000000000000000000000000000000000000000000000000000014a7db70
Arg [23] : 000000000000000000000000000000000000000000000000000000001482c6e0
Arg [24] : 00000000000000000000000000000000000000000000000000000000146b4eb7
Arg [25] : 00000000000000000000000000000000000000000000000000000000143140ef
Arg [26] : 00000000000000000000000000000000000000000000000000000000140e3a41
Arg [27] : 0000000000000000000000000000000000000000000000000000000013f92a8f
Arg [28] : 0000000000000000000000000000000000000000000000000000000013e044bf
Arg [29] : 0000000000000000000000000000000000000000000000000000000013cb721e
Arg [30] : 0000000000000000000000000000000000000000000000000000000013afb5e0
Arg [31] : 00000000000000000000000000000000000000000000000000000000138953c8
Arg [32] : 00000000000000000000000000000000000000000000000000000000128deae1
Arg [33] : 00000000000000000000000000000000000000000000000000000000128deae1
Arg [34] : 00000000000000000000000000000000000000000000000000000000122f64e6
Arg [35] : 000000000000000000000000000000000000000000000000000000000000f332
Arg [36] : 0000000000000000000000000000000000000000000000000000000000007ad3


Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.