Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 1 internal transaction
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| - | 8571901 | 2385 days ago | 1 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
STARK_Friendly_Hash_Challenge_MiMC_45
Compiler Version
v0.5.11+commit.c082d0b4
Contract Source Code (Solidity Multiple files format)
/*
This smart contract was written by StarkWare Industries Ltd. as part of the STARK-friendly hash
challenge effort, funded by the Ethereum Foundation.
The contract will pay out X ETH to the first finder of a collision in MiMC at security level of
45 bits, if such a collision is discovered before the end of March 2020.
More information about the STARK-friendly hash challenge can be found
here https://starkware.co/hash-challenge/.
More information about the STARK-friendly hash selection process (of which this challenge is a
part) can be found here
https://medium.com/starkware/stark-friendly-hash-tire-kicking-8087e8d9a246.
Sage code reference implementation for the contender hash functions available
at https://starkware.co/hash-challenge-implementation-reference-code/#common.
*/
/*
Copyright 2019 StarkWare Industries Ltd.
Licensed under the Apache License, Version 2.0 (the "License").
You may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.starkware.co/open-source-license/
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions
and limitations under the License.
*/
pragma solidity ^0.5.2;
import "./Base.sol";
import "./Sponge.sol";
contract STARK_Friendly_Hash_Challenge_MiMC_45 is Base, Sponge {
address roundConstantsContract;
constructor (uint256 prime, uint256 nRounds, address roundConstantsContract_)
public payable
Sponge(prime, 1, 1, nRounds)
{
roundConstantsContract = roundConstantsContract_;
}
function LoadAuxdata()
internal view
returns (uint256[] memory roundConstants)
{
roundConstants = new uint256[](nRounds);
address contractAddr = roundConstantsContract;
assembly {
let sizeInBytes := mul(mload(roundConstants), 0x20)
// The first and last round use the roundConstants 0.
mstore(add(roundConstants, 0x20), 0)
extcodecopy(contractAddr, add(roundConstants, 0x40), 0, sub(sizeInBytes, 0x40))
// Last roundConstants is at offset 0x20 + sizeInBytes - 0x20.
mstore(add(roundConstants, sizeInBytes), 0)
}
}
function permutation_func(uint256[] memory roundConstants, uint256[] memory elements)
internal view
returns (uint256[] memory hash_elements)
{
uint256 xLeft = elements[0];
uint256 xRight = elements[1];
for (uint256 i = 0; i < roundConstants.length; i++) {
uint256 xLeftOld;
xLeftOld = xLeft;
uint256 step1 = addmod(xLeft, roundConstants[i], prime);
uint256 step2 = mulmod(mulmod(step1, step1, prime), step1, prime);
xLeft = addmod(xRight, step2, prime);
xRight = xLeftOld;
}
hash_elements = new uint256[](2);
hash_elements[0] = xLeft;
hash_elements[1] = xRight;
}
}
/*
Copyright 2019 StarkWare Industries Ltd.
Licensed under the Apache License, Version 2.0 (the "License").
You may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.starkware.co/open-source-license/
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions
and limitations under the License.
*/
pragma solidity ^0.5.2;
contract Base {
event LogString(string str);
address payable internal operator;
uint256 constant internal MINIMUM_TIME_TO_REVEAL = 1 days;
uint256 constant internal TIME_TO_ALLOW_REVOKE = 7 days;
bool internal isRevokeStarted = false;
uint256 internal revokeTime = 0; // The time from which we can revoke.
bool internal active = true;
// mapping: (address, commitment) -> time
// Times from which the users may claim the reward.
mapping (address => mapping (bytes32 => uint256)) private reveal_timestamps;
constructor ()
internal
{
operator = msg.sender;
}
modifier onlyOperator()
{
require(msg.sender == operator, "ONLY_OPERATOR");
_; // The _; defines where the called function is executed.
}
function register(bytes32 commitment)
public
{
require(reveal_timestamps[msg.sender][commitment] == 0, "Entry already registered.");
reveal_timestamps[msg.sender][commitment] = now + MINIMUM_TIME_TO_REVEAL;
}
/*
Makes sure that the commitment was registered at least MINIMUM_TIME_TO_REVEAL before
the current time.
*/
function verifyTimelyRegistration(bytes32 commitment)
internal view
{
uint256 registrationMaturationTime = reveal_timestamps[msg.sender][commitment];
require(registrationMaturationTime != 0, "Commitment is not registered.");
require(now >= registrationMaturationTime, "Time for reveal has not passed yet.");
}
/*
WARNING: This function should only be used with call() and not transact().
Creating a transaction that invokes this function might reveal the collision and make it
subject to front-running.
*/
function calcCommitment(uint256[] memory firstInput, uint256[] memory secondInput)
public view
returns (bytes32 commitment)
{
address sender = msg.sender;
uint256 firstLength = firstInput.length;
uint256 secondLength = secondInput.length;
uint256[] memory hash_elements = new uint256[](1 + firstLength + secondLength);
hash_elements[0] = uint256(sender);
uint256 offset = 1;
for (uint256 i = 0; i < firstLength; i++) {
hash_elements[offset + i] = firstInput[i];
}
offset = 1 + firstLength;
for (uint256 i = 0; i < secondLength; i++) {
hash_elements[offset + i] = secondInput[i];
}
commitment = keccak256(abi.encodePacked(hash_elements));
}
function claimReward(
uint256[] memory firstInput,
uint256[] memory secondInput,
string memory solutionDescription,
string memory name)
public
{
require(active == true, "This challenge is no longer active. Thank you for participating.");
require(firstInput.length > 0, "First input cannot be empty.");
require(secondInput.length > 0, "Second input cannot be empty.");
require(firstInput.length == secondInput.length, "Input lengths are not equal.");
uint256 inputLength = firstInput.length;
bool sameInput = true;
for (uint256 i = 0; i < inputLength; i++) {
if (firstInput[i] != secondInput[i]) {
sameInput = false;
}
}
require(sameInput == false, "Inputs are equal.");
bool sameHash = true;
uint256[] memory firstHash = applyHash(firstInput);
uint256[] memory secondHash = applyHash(secondInput);
require(firstHash.length == secondHash.length, "Output lengths are not equal.");
uint256 outputLength = firstHash.length;
for (uint256 i = 0; i < outputLength; i++) {
if (firstHash[i] != secondHash[i]) {
sameHash = false;
}
}
require(sameHash == true, "Not a collision.");
verifyTimelyRegistration(calcCommitment(firstInput, secondInput));
active = false;
emit LogString(solutionDescription);
emit LogString(name);
msg.sender.transfer(address(this).balance);
}
function applyHash(uint256[] memory elements)
public view
returns (uint256[] memory elementsHash)
{
elementsHash = sponge(elements);
}
function startRevoke()
public
onlyOperator()
{
require(isRevokeStarted == false, "Revoke already started.");
isRevokeStarted = true;
revokeTime = now + TIME_TO_ALLOW_REVOKE;
}
function revokeReward()
public
onlyOperator()
{
require(isRevokeStarted == true, "Revoke not started yet.");
require(now >= revokeTime, "Revoke time not passed.");
active = false;
operator.transfer(address(this).balance);
}
function sponge(uint256[] memory inputs)
internal view
returns (uint256[] memory outputElements);
function getStatus()
public view
returns (bool[] memory status)
{
status = new bool[](2);
status[0] = isRevokeStarted;
status[1] = active;
}
}
/*
Copyright 2019 StarkWare Industries Ltd.
Licensed under the Apache License, Version 2.0 (the "License").
You may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.starkware.co/open-source-license/
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions
and limitations under the License.
*/
pragma solidity ^0.5.2;
contract Sponge {
uint256 prime;
uint256 r;
uint256 c;
uint256 m;
uint256 outputSize;
uint256 nRounds;
constructor (uint256 prime_, uint256 r_, uint256 c_, uint256 nRounds_)
public
{
prime = prime_;
r = r_;
c = c_;
m = r + c;
outputSize = c;
nRounds = nRounds_;
}
function LoadAuxdata()
internal view
returns (uint256[] memory /*auxdata*/);
function permutation_func(uint256[] memory /*auxdata*/, uint256[] memory /*elements*/)
internal view
returns (uint256[] memory /*hash_elements*/);
function sponge(uint256[] memory inputs)
internal view
returns (uint256[] memory outputElements)
{
uint256 inputLength = inputs.length;
for (uint256 i = 0; i < inputLength; i++) {
require(inputs[i] < prime, "elements do not belong to the field");
}
require(inputLength % r == 0, "Number of field elements is not divisible by r.");
uint256[] memory state = new uint256[](m);
for (uint256 i = 0; i < m; i++) {
state[i] = 0; // fieldZero.
}
uint256[] memory auxData = LoadAuxdata();
uint256 n_columns = inputLength / r;
for (uint256 i = 0; i < n_columns; i++) {
for (uint256 j = 0; j < r; j++) {
state[j] = addmod(state[j], inputs[i * r + j], prime);
}
state = permutation_func(auxData, state);
}
require(outputSize <= r, "No support for more than r output elements.");
outputElements = new uint256[](outputSize);
for (uint256 i = 0; i < outputSize; i++) {
outputElements[i] = state[i];
}
}
function getParameters()
public view
returns (uint256[] memory status)
{
status = new uint256[](4);
status[0] = prime;
status[1] = r;
status[2] = c;
status[3] = nRounds;
}
}
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[{"internalType":"uint256[]","name":"firstInput","type":"uint256[]"},{"internalType":"uint256[]","name":"secondInput","type":"uint256[]"}],"name":"calcCommitment","outputs":[{"internalType":"bytes32","name":"commitment","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256[]","name":"elements","type":"uint256[]"}],"name":"applyHash","outputs":[{"internalType":"uint256[]","name":"elementsHash","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256[]","name":"firstInput","type":"uint256[]"},{"internalType":"uint256[]","name":"secondInput","type":"uint256[]"},{"internalType":"string","name":"solutionDescription","type":"string"},{"internalType":"string","name":"name","type":"string"}],"name":"claimReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getStatus","outputs":[{"internalType":"bool[]","name":"status","type":"bool[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"revokeReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"startRevoke","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getParameters","outputs":[{"internalType":"uint256[]","name":"status","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"commitment","type":"bytes32"}],"name":"register","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"prime","type":"uint256"},{"internalType":"uint256","name":"nRounds","type":"uint256"},{"internalType":"address","name":"roundConstantsContract_","type":"address"}],"payable":true,"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"str","type":"string"}],"name":"LogString","type":"event"}]Contract Creation Code
608060408190526000805460ff60a01b1916815560019081556002805460ff191690911790556117f2388190039081908339818101604052606081101561004557600080fd5b508051602082015160409092015160008054336001600160a01b03199182161782556004939093556001600581905560068190556002600755600855600993909355600a80549092166001600160a01b039091161790556117469081906100ac90396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80635d649ea91161005b5780635d649ea9146104f857806377640ddf14610500578063a5ea11da14610508578063e1fa8e841461051057610088565b80631ef398ec1461008d5780632038228f146101c65780634b6e5938146102b95780634e69d560146104f0575b600080fd5b6101b4600480360360408110156100a357600080fd5b8101906020810181356401000000008111156100be57600080fd5b8201836020820111156100d057600080fd5b803590602001918460208302840111640100000000831117156100f257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561014257600080fd5b82018360208201111561015457600080fd5b8035906020019184602083028401116401000000008311171561017657600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061052d945050505050565b60408051918252519081900360200190f35b610269600480360360208110156101dc57600080fd5b8101906020810181356401000000008111156101f757600080fd5b82018360208201111561020957600080fd5b8035906020019184602083028401116401000000008311171561022b57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610684945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102a557818101518382015260200161028d565b505050509050019250505060405180910390f35b6104ee600480360360808110156102cf57600080fd5b8101906020810181356401000000008111156102ea57600080fd5b8201836020820111156102fc57600080fd5b8035906020019184602083028401116401000000008311171561031e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561036e57600080fd5b82018360208201111561038057600080fd5b803590602001918460208302840111640100000000831117156103a257600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156103f257600080fd5b82018360208201111561040457600080fd5b8035906020019184600183028401116401000000008311171561042657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561047957600080fd5b82018360208201111561048b57600080fd5b803590602001918460018302840111640100000000831117156104ad57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610695945050505050565b005b610269610be6565b6104ee610c6b565b6104ee610e63565b610269610fbd565b6104ee6004803603602081101561052657600080fd5b5035611053565b81518151604080518284016001018082526020808202830101909252600093339390929091606091801561056b578160200160208202803883390190505b5090508373ffffffffffffffffffffffffffffffffffffffff168160008151811061059257fe5b6020908102919091010152600160005b848110156105df578881815181106105b657fe5b602002602001015183828401815181106105cc57fe5b60209081029190910101526001016105a2565b50506001830160005b83811015610625578781815181106105fc57fe5b6020026020010151838284018151811061061257fe5b60209081029190910101526001016105e8565b508160405160200180828051906020019060200280838360005b8381101561065757818101518382015260200161063f565b50505050905001915050604051602081830303815290604052805190602001209550505050505092915050565b606061068f826110fd565b92915050565b60025460ff1615156001146106f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260408152602001806116d26040913960400191505060405180910390fd5b600084511161076557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f466972737420696e7075742063616e6e6f7420626520656d7074792e00000000604482015290519081900360640190fd5b60008351116107d557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f5365636f6e6420696e7075742063616e6e6f7420626520656d7074792e000000604482015290519081900360640190fd5b825184511461084557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f496e707574206c656e6774687320617265206e6f7420657175616c2e00000000604482015290519081900360640190fd5b8351600160005b8281101561088e5785818151811061086057fe5b602002602001015187828151811061087457fe5b60200260200101511461088657600091505b60010161084c565b5080156108fc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f496e707574732061726520657175616c2e000000000000000000000000000000604482015290519081900360640190fd5b6001606061090988610684565b9050606061091688610684565b9050805182511461098857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4f7574707574206c656e6774687320617265206e6f7420657175616c2e000000604482015290519081900360640190fd5b815160005b818110156109cf578281815181106109a157fe5b60200260200101518482815181106109b557fe5b6020026020010151146109c757600094505b60010161098d565b50600184151514610a4157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4e6f74206120636f6c6c6973696f6e2e00000000000000000000000000000000604482015290519081900360640190fd5b610a53610a4e8b8b61052d565b6113bd565b600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556040805160208082528a51818301528a517fa95e6e2a182411e7a6f9ed114a85c3761d87f9b8f453d842c71235aa64fff99f938c93928392918301919085019080838360005b83811015610ad9578181015183820152602001610ac1565b50505050905090810190601f168015610b065780820380516001836020036101000a031916815260200191505b509250505060405180910390a17fa95e6e2a182411e7a6f9ed114a85c3761d87f9b8f453d842c71235aa64fff99f876040518080602001828103825283818151815260200191508051906020019080838360005b83811015610b72578181015183820152602001610b5a565b50505050905090810190601f168015610b9f5780820380516001836020036101000a031916815260200191505b509250505060405180910390a16040513390303180156108fc02916000818181858888f19350505050158015610bd9573d6000803e3d6000fd5b5050505050505050505050565b6040805160028082526060808301845292602083019080388339505060008054835193945074010000000000000000000000000000000000000000900460ff1692849250610c3057fe5b91151560209283029190910190910152600254815160ff9091169082906001908110610c5857fe5b9115156020928302919091019091015290565b60005473ffffffffffffffffffffffffffffffffffffffff163314610cf157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f4f4e4c595f4f50455241544f5200000000000000000000000000000000000000604482015290519081900360640190fd5b60005474010000000000000000000000000000000000000000900460ff161515600114610d7f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5265766f6b65206e6f742073746172746564207965742e000000000000000000604482015290519081900360640190fd5b600154421015610df057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5265766f6b652074696d65206e6f74207061737365642e000000000000000000604482015290519081900360640190fd5b600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556000805460405173ffffffffffffffffffffffffffffffffffffffff90911691303180156108fc02929091818181858888f19350505050158015610e60573d6000803e3d6000fd5b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610ee957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f4f4e4c595f4f50455241544f5200000000000000000000000000000000000000604482015290519081900360640190fd5b60005474010000000000000000000000000000000000000000900460ff1615610f7357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5265766f6b6520616c726561647920737461727465642e000000000000000000604482015290519081900360640190fd5b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790554262093a8001600155565b60408051600480825260a082019092526060916020820160808038833901905050905060045481600081518110610ff057fe5b6020026020010181815250506005548160018151811061100c57fe5b6020026020010181815250506006548160028151811061102857fe5b6020026020010181815250506009548160038151811061104457fe5b60200260200101818152505090565b336000908152600360209081526040808320848452909152902054156110da57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f456e74727920616c726561647920726567697374657265642e00000000000000604482015290519081900360640190fd5b336000908152600360209081526040808320938352929052204262015180019055565b805160609060005b818110156111825760045484828151811061111c57fe5b60200260200101511061117a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806116326023913960400191505060405180910390fd5b600101611105565b50600554818161118e57fe5b06156111e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806116a3602f913960400191505060405180910390fd5b6060600754604051908082528060200260200182016040528015611213578160200160208202803883390190505b50905060005b60075481101561124457600082828151811061123157fe5b6020908102919091010152600101611219565b50606061124f6114a1565b90506000600554848161125e57fe5b04905060005b818110156112e65760005b6005548110156112d1576004548061128357fe5b88826005548502018151811061129557fe5b60200260200101518683815181106112a957fe5b6020026020010151088582815181106112be57fe5b602090810291909101015260010161126f565b506112dc8385611531565b9350600101611264565b506005546008541115611344576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180611678602b913960400191505060405180910390fd5b600854604051908082528060200260200182016040528015611370578160200160208202803883390190505b50945060005b6008548110156113b35783818151811061138c57fe5b60200260200101518682815181106113a057fe5b6020908102919091010152600101611376565b5050505050919050565b3360009081526003602090815260408083208484529091529020548061144457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f436f6d6d69746d656e74206973206e6f7420726567697374657265642e000000604482015290519081900360640190fd5b8042101561149d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806116556023913960400191505060405180910390fd5b5050565b60606009546040519080825280602002602001820160405280156114cf578160200160208202803883390190505b50600a5481516000602080850182905293945073ffffffffffffffffffffffffffffffffffffffff9092169202907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc082019060408501843c6000908301525090565b606060008260008151811061154257fe5b6020026020010151905060008360018151811061155b57fe5b6020026020010151905060008090505b85518110156115d45760045483906000908061158357fe5b88848151811061158f57fe5b6020026020010151860890506000600454806115a757fe5b82600454806115b257fe5b848509099050600454806115c257fe5b8186089550919350505060010161156b565b506040805160028082526060820183529091602083019080388339019050509250818360008151811061160357fe5b602002602001018181525050808360018151811061161d57fe5b60200260200101818152505050509291505056fe656c656d656e747320646f206e6f742062656c6f6e6720746f20746865206669656c6454696d6520666f722072657665616c20686173206e6f7420706173736564207965742e4e6f20737570706f727420666f72206d6f7265207468616e2072206f757470757420656c656d656e74732e4e756d626572206f66206669656c6420656c656d656e7473206973206e6f7420646976697369626c6520627920722e54686973206368616c6c656e6765206973206e6f206c6f6e676572206163746976652e205468616e6b20796f7520666f722070617274696369706174696e672ea265627a7a72315820f89289238d129fbf30d63fa530b2d9390a15c1eb4e2013005698528ebe97507e64736f6c634300050b003200000000000000000000000000000000000000000800000500000000000000010000000000000000000000000000000000000000000000000000000000000074000000000000000000000000567d33f53623377dcb9896ec1aeca4891ead1c4b
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100885760003560e01c80635d649ea91161005b5780635d649ea9146104f857806377640ddf14610500578063a5ea11da14610508578063e1fa8e841461051057610088565b80631ef398ec1461008d5780632038228f146101c65780634b6e5938146102b95780634e69d560146104f0575b600080fd5b6101b4600480360360408110156100a357600080fd5b8101906020810181356401000000008111156100be57600080fd5b8201836020820111156100d057600080fd5b803590602001918460208302840111640100000000831117156100f257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561014257600080fd5b82018360208201111561015457600080fd5b8035906020019184602083028401116401000000008311171561017657600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061052d945050505050565b60408051918252519081900360200190f35b610269600480360360208110156101dc57600080fd5b8101906020810181356401000000008111156101f757600080fd5b82018360208201111561020957600080fd5b8035906020019184602083028401116401000000008311171561022b57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610684945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102a557818101518382015260200161028d565b505050509050019250505060405180910390f35b6104ee600480360360808110156102cf57600080fd5b8101906020810181356401000000008111156102ea57600080fd5b8201836020820111156102fc57600080fd5b8035906020019184602083028401116401000000008311171561031e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561036e57600080fd5b82018360208201111561038057600080fd5b803590602001918460208302840111640100000000831117156103a257600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156103f257600080fd5b82018360208201111561040457600080fd5b8035906020019184600183028401116401000000008311171561042657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561047957600080fd5b82018360208201111561048b57600080fd5b803590602001918460018302840111640100000000831117156104ad57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610695945050505050565b005b610269610be6565b6104ee610c6b565b6104ee610e63565b610269610fbd565b6104ee6004803603602081101561052657600080fd5b5035611053565b81518151604080518284016001018082526020808202830101909252600093339390929091606091801561056b578160200160208202803883390190505b5090508373ffffffffffffffffffffffffffffffffffffffff168160008151811061059257fe5b6020908102919091010152600160005b848110156105df578881815181106105b657fe5b602002602001015183828401815181106105cc57fe5b60209081029190910101526001016105a2565b50506001830160005b83811015610625578781815181106105fc57fe5b6020026020010151838284018151811061061257fe5b60209081029190910101526001016105e8565b508160405160200180828051906020019060200280838360005b8381101561065757818101518382015260200161063f565b50505050905001915050604051602081830303815290604052805190602001209550505050505092915050565b606061068f826110fd565b92915050565b60025460ff1615156001146106f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260408152602001806116d26040913960400191505060405180910390fd5b600084511161076557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f466972737420696e7075742063616e6e6f7420626520656d7074792e00000000604482015290519081900360640190fd5b60008351116107d557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f5365636f6e6420696e7075742063616e6e6f7420626520656d7074792e000000604482015290519081900360640190fd5b825184511461084557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f496e707574206c656e6774687320617265206e6f7420657175616c2e00000000604482015290519081900360640190fd5b8351600160005b8281101561088e5785818151811061086057fe5b602002602001015187828151811061087457fe5b60200260200101511461088657600091505b60010161084c565b5080156108fc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f496e707574732061726520657175616c2e000000000000000000000000000000604482015290519081900360640190fd5b6001606061090988610684565b9050606061091688610684565b9050805182511461098857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4f7574707574206c656e6774687320617265206e6f7420657175616c2e000000604482015290519081900360640190fd5b815160005b818110156109cf578281815181106109a157fe5b60200260200101518482815181106109b557fe5b6020026020010151146109c757600094505b60010161098d565b50600184151514610a4157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4e6f74206120636f6c6c6973696f6e2e00000000000000000000000000000000604482015290519081900360640190fd5b610a53610a4e8b8b61052d565b6113bd565b600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556040805160208082528a51818301528a517fa95e6e2a182411e7a6f9ed114a85c3761d87f9b8f453d842c71235aa64fff99f938c93928392918301919085019080838360005b83811015610ad9578181015183820152602001610ac1565b50505050905090810190601f168015610b065780820380516001836020036101000a031916815260200191505b509250505060405180910390a17fa95e6e2a182411e7a6f9ed114a85c3761d87f9b8f453d842c71235aa64fff99f876040518080602001828103825283818151815260200191508051906020019080838360005b83811015610b72578181015183820152602001610b5a565b50505050905090810190601f168015610b9f5780820380516001836020036101000a031916815260200191505b509250505060405180910390a16040513390303180156108fc02916000818181858888f19350505050158015610bd9573d6000803e3d6000fd5b5050505050505050505050565b6040805160028082526060808301845292602083019080388339505060008054835193945074010000000000000000000000000000000000000000900460ff1692849250610c3057fe5b91151560209283029190910190910152600254815160ff9091169082906001908110610c5857fe5b9115156020928302919091019091015290565b60005473ffffffffffffffffffffffffffffffffffffffff163314610cf157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f4f4e4c595f4f50455241544f5200000000000000000000000000000000000000604482015290519081900360640190fd5b60005474010000000000000000000000000000000000000000900460ff161515600114610d7f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5265766f6b65206e6f742073746172746564207965742e000000000000000000604482015290519081900360640190fd5b600154421015610df057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5265766f6b652074696d65206e6f74207061737365642e000000000000000000604482015290519081900360640190fd5b600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556000805460405173ffffffffffffffffffffffffffffffffffffffff90911691303180156108fc02929091818181858888f19350505050158015610e60573d6000803e3d6000fd5b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610ee957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f4f4e4c595f4f50455241544f5200000000000000000000000000000000000000604482015290519081900360640190fd5b60005474010000000000000000000000000000000000000000900460ff1615610f7357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5265766f6b6520616c726561647920737461727465642e000000000000000000604482015290519081900360640190fd5b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790554262093a8001600155565b60408051600480825260a082019092526060916020820160808038833901905050905060045481600081518110610ff057fe5b6020026020010181815250506005548160018151811061100c57fe5b6020026020010181815250506006548160028151811061102857fe5b6020026020010181815250506009548160038151811061104457fe5b60200260200101818152505090565b336000908152600360209081526040808320848452909152902054156110da57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f456e74727920616c726561647920726567697374657265642e00000000000000604482015290519081900360640190fd5b336000908152600360209081526040808320938352929052204262015180019055565b805160609060005b818110156111825760045484828151811061111c57fe5b60200260200101511061117a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806116326023913960400191505060405180910390fd5b600101611105565b50600554818161118e57fe5b06156111e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806116a3602f913960400191505060405180910390fd5b6060600754604051908082528060200260200182016040528015611213578160200160208202803883390190505b50905060005b60075481101561124457600082828151811061123157fe5b6020908102919091010152600101611219565b50606061124f6114a1565b90506000600554848161125e57fe5b04905060005b818110156112e65760005b6005548110156112d1576004548061128357fe5b88826005548502018151811061129557fe5b60200260200101518683815181106112a957fe5b6020026020010151088582815181106112be57fe5b602090810291909101015260010161126f565b506112dc8385611531565b9350600101611264565b506005546008541115611344576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180611678602b913960400191505060405180910390fd5b600854604051908082528060200260200182016040528015611370578160200160208202803883390190505b50945060005b6008548110156113b35783818151811061138c57fe5b60200260200101518682815181106113a057fe5b6020908102919091010152600101611376565b5050505050919050565b3360009081526003602090815260408083208484529091529020548061144457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f436f6d6d69746d656e74206973206e6f7420726567697374657265642e000000604482015290519081900360640190fd5b8042101561149d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806116556023913960400191505060405180910390fd5b5050565b60606009546040519080825280602002602001820160405280156114cf578160200160208202803883390190505b50600a5481516000602080850182905293945073ffffffffffffffffffffffffffffffffffffffff9092169202907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc082019060408501843c6000908301525090565b606060008260008151811061154257fe5b6020026020010151905060008360018151811061155b57fe5b6020026020010151905060008090505b85518110156115d45760045483906000908061158357fe5b88848151811061158f57fe5b6020026020010151860890506000600454806115a757fe5b82600454806115b257fe5b848509099050600454806115c257fe5b8186089550919350505060010161156b565b506040805160028082526060820183529091602083019080388339019050509250818360008151811061160357fe5b602002602001018181525050808360018151811061161d57fe5b60200260200101818152505050509291505056fe656c656d656e747320646f206e6f742062656c6f6e6720746f20746865206669656c6454696d6520666f722072657665616c20686173206e6f7420706173736564207965742e4e6f20737570706f727420666f72206d6f7265207468616e2072206f757470757420656c656d656e74732e4e756d626572206f66206669656c6420656c656d656e7473206973206e6f7420646976697369626c6520627920722e54686973206368616c6c656e6765206973206e6f206c6f6e676572206163746976652e205468616e6b20796f7520666f722070617274696369706174696e672ea265627a7a72315820f89289238d129fbf30d63fa530b2d9390a15c1eb4e2013005698528ebe97507e64736f6c634300050b0032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000800000500000000000000010000000000000000000000000000000000000000000000000000000000000074000000000000000000000000567d33f53623377dcb9896ec1aeca4891ead1c4b
-----Decoded View---------------
Arg [0] : prime (uint256): 2475880170804480918346006529
Arg [1] : nRounds (uint256): 116
Arg [2] : roundConstantsContract_ (address): 0x567d33f53623377dcb9896Ec1aecA4891eAD1c4B
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000080000050000000000000001
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000074
Arg [2] : 000000000000000000000000567d33f53623377dcb9896ec1aeca4891ead1c4b
Deployed Bytecode Sourcemap
1496:1683:1:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1496:1683:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2373:783:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2373:783:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;2373:783:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2373:783:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;2373:783:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;2373:783:0;;;;;;;;-1:-1:-1;2373:783:0;;-1:-1:-1;;21:11;5:28;;2:2;;;46:1;43;36:12;2:2;2373:783:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2373:783:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;2373:783:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;2373:783:0;;-1:-1:-1;2373:783:0;;-1:-1:-1;;;;;2373:783:0:i;:::-;;;;;;;;;;;;;;;;4731:166;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4731:166:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;4731:166:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4731:166:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;4731:166:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;4731:166:0;;-1:-1:-1;4731:166:0;;-1:-1:-1;;;;;4731:166:0:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4731:166:0;;;;;;;;;;;;;;;;;3162:1563;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;3162:1563:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;3162:1563:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3162:1563:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;3162:1563:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;3162:1563:0;;;;;;;;-1:-1:-1;3162:1563:0;;-1:-1:-1;;21:11;5:28;;2:2;;;46:1;43;36:12;2:2;3162:1563:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3162:1563:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;3162:1563:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;3162:1563:0;;;;;;;;-1:-1:-1;3162:1563:0;;-1:-1:-1;;21:11;5:28;;2:2;;;46:1;43;36:12;2:2;3162:1563:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3162:1563:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;3162:1563:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;3162:1563:0;;;;;;;;-1:-1:-1;3162:1563:0;;-1:-1:-1;;21:11;5:28;;2:2;;;46:1;43;36:12;2:2;3162:1563:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3162:1563:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;3162:1563:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;3162:1563:0;;-1:-1:-1;3162:1563:0;;-1:-1:-1;;;;;3162:1563:0:i;:::-;;5536:188;;;:::i;5132:279::-;;;:::i;4903:223::-;;;:::i;2375:235:2:-;;;:::i;1419:240:0:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1419:240:0;;:::i;2373:783::-;2586:17;;2636:18;;2697:45;;;2711:30;;;:1;:30;2697:45;;;;;;;;;;;;;2493:18;;2544:10;;2586:17;;2636:18;;2664:30;;2697:45;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;2697:45:0;;2664:78;;2779:6;2771:15;;2752:13;2766:1;2752:16;;;;;;;;;;;;;;;;;:34;2813:1;2796:14;2824:108;2848:11;2844:1;:15;2824:108;;;2908:10;2919:1;2908:13;;;;;;;;;;;;;;2880;2903:1;2894:6;:10;2880:25;;;;;;;;;;;;;;;;;:41;2861:3;;2824:108;;;-1:-1:-1;;2950:1:0;:15;;2980:9;2975:110;2999:12;2995:1;:16;2975:110;;;3060:11;3072:1;3060:14;;;;;;;;;;;;;;3032:13;3055:1;3046:6;:10;3032:25;;;;;;;;;;;;;;;;;:42;3013:3;;2975:110;;;;3134:13;3117:31;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3117:31:0;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3117:31:0;;;3107:42;;;;;;3094:55;;2373:783;;;;;;;;;:::o;4731:166::-;4814:29;4874:16;4881:8;4874:6;:16::i;:::-;4859:31;4731:166;-1:-1:-1;;4731:166:0:o;3162:1563::-;3367:6;;;;:14;;:6;:14;3359:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3488:1;3468:10;:17;:21;3460:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3561:1;3540:11;:18;:22;3532:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3635:11;:18;3614:10;:17;:39;3606:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3718:17;;3762:4;3696:19;3776:153;3800:11;3796:1;:15;3776:153;;;3853:11;3865:1;3853:14;;;;;;;;;;;;;;3836:10;3847:1;3836:13;;;;;;;;;;;;;;:31;3832:87;;3899:5;3887:17;;3832:87;3813:3;;3776:153;;;-1:-1:-1;3946:18:0;;3938:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4012:4;4026:26;4055:21;4065:10;4055:9;:21::i;:::-;4026:50;;4086:27;4116:22;4126:11;4116:9;:22::i;:::-;4086:52;;4176:10;:17;4156:9;:16;:37;4148:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4260:16;;4237:20;4286:151;4310:12;4306:1;:16;4286:151;;;4363:10;4374:1;4363:13;;;;;;;;;;;;;;4347:9;4357:1;4347:12;;;;;;;;;;;;;;:29;4343:84;;4407:5;4396:16;;4343:84;4324:3;;4286:151;;;-1:-1:-1;4466:4:0;4454:16;;;;4446:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4501:65;4526:39;4541:10;4553:11;4526:14;:39::i;:::-;4501:24;:65::i;:::-;4577:6;:14;;;;;;4606:30;;;;;;;;;;;;;;;;;4616:19;;4606:30;;;;;;;;;;;;;;4586:5;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4606:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4651:15;4661:4;4651:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4651:15:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4676:42;;:10;;4704:4;4696:21;4676:42;;;;;;;;;4696:21;4676:10;:42;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4676:42:0;3162:1563;;;;;;;;;;:::o;5536:188::-;5639:13;;;5650:1;5639:13;;;5594:20;5639:13;;;;;5594:20;5639:13;;;;;105:10:-1;5639:13:0;88:34:-1;-1:-1;;5674:15:0;;;5662:9;;;;-1:-1:-1;5674:15:0;;;;;;5662:9;;-1:-1:-1;5662:9:0;;;;:27;;;:9;;;;;;;;;;;:27;5711:6;;5699:9;;5711:6;;;;;5699;;5711;;5699:9;;;;;;:18;;;:9;;;;;;;;;;;:18;5536:188;:::o;5132:279::-;1312:8;;;;1298:10;:22;1290:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5216:15;;;;;;;:23;;5235:4;5216:23;5208:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5292:10;;5285:3;:17;;5277:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5340:6;:14;;;;;;5349:5;5364:8;;:40;;:8;;;;;5390:4;5382:21;5364:40;;;;;5382:21;;5364:40;5349:5;5364:40;5382:21;5364:8;:40;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5364:40:0;5132:279::o;4903:223::-;1312:8;;;;1298:10;:22;1290:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4986:15;;;;;;;:24;4978:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5048:15;:22;;;;;;;;5093:3;823:6;5093:26;5066:4;5080:39;4903:223::o;2375:235:2:-;2485:16;;;2499:1;2485:16;;;;;;;;;2437:23;;2485:16;;;17:15:-1;;105:10;2485:16:2;88:34:-1;136:17;;-1:-1;2485:16:2;2476:25;;2523:5;;2511:6;2518:1;2511:9;;;;;;;;;;;;;:17;;;;;2550:1;;2538:6;2545:1;2538:9;;;;;;;;;;;;;:13;;;;;2573:1;;2561:6;2568:1;2561:9;;;;;;;;;;;;;:13;;;;;2596:7;;2584:6;2591:1;2584:9;;;;;;;;;;;;;:19;;;;;2375:235;:::o;1419:240:0:-;1512:10;1494:29;;;;:17;:29;;;;;;;;:41;;;;;;;;;:46;1486:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1598:10;1580:29;;;;:17;:29;;;;;;;;:41;;;;;;;1624:3;762:6;1624:28;1580:72;;1419:240::o;1246:1123:2:-;1395:13;;1326:31;;1373:19;1418:132;1442:11;1438:1;:15;1418:132;;;1494:5;;1482:6;1489:1;1482:9;;;;;;;;;;;;;;:17;1474:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1455:3;;1418:132;;;;1582:1;;1568:11;:15;;;;;;:20;1560:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1651:22;1690:1;;1676:16;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;1676:16:2;-1:-1:-1;1651:41:2;-1:-1:-1;1707:9:2;1702:83;1726:1;;1722;:5;1702:83;;;1759:1;1748:5;1754:1;1748:8;;;;;;;;;;;;;;;;;:12;1729:3;;1702:83;;;;1795:24;1822:13;:11;:13::i;:::-;1795:40;;1845:17;1879:1;;1865:11;:15;;;;;;;-1:-1:-1;1895:9:2;1890:236;1914:9;1910:1;:13;1890:236;;;1949:9;1944:118;1968:1;;1964;:5;1944:118;;;2041:5;;2005:42;;;;;2022:6;2037:1;2033;;2029;:5;:9;2022:17;;;;;;;;;;;;;;2012:5;2018:1;2012:8;;;;;;;;;;;;;;2005:42;1994:5;2000:1;1994:8;;;;;;;;;;;;;;;;;:53;1971:3;;1944:118;;;;2083:32;2100:7;2109:5;2083:16;:32::i;:::-;2075:40;-1:-1:-1;1925:3:2;;1890:236;;;;2158:1;;2144:10;;:15;;2136:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2248:10;;2234:25;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;2234:25:2;-1:-1:-1;2217:42:2;-1:-1:-1;2274:9:2;2269:94;2293:10;;2289:1;:14;2269:94;;;2344:5;2350:1;2344:8;;;;;;;;;;;;;;2324:14;2339:1;2324:17;;;;;;;;;;;;;;;;;:28;2305:3;;2269:94;;;;1246:1123;;;;;;;:::o;1795:349:0:-;1940:10;1885:34;1922:29;;;:17;:29;;;;;;;;:41;;;;;;;;;1981:31;1973:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2071:26;2064:3;:33;;2056:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1795:349;;:::o;1815:641:1:-;1877:31;1955:7;;1941:22;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;1941:22:1;-1:-1:-1;1996:22:1;;2074:21;;1973:20;2097:4;2188:25;;;2181:36;;;1924:39;;-1:-1:-1;1996:22:1;;;;;2070:32;;2286:22;;;;2303:4;2256:25;;1996:22;2230:79;2438:1;2404:32;;;2397:43;-1:-1:-1;2408:14:1;2037:413::o;2462:715::-;2587:30;2633:13;2649:8;2658:1;2649:11;;;;;;;;;;;;;;2633:27;;2670:14;2687:8;2696:1;2687:11;;;;;;;;;;;;;;2670:28;;2713:9;2725:1;2713:13;;2708:352;2732:14;:21;2728:1;:25;2708:352;;;2883:5;;2815;;2774:16;;2883:5;2850:39;;;;2864:14;2879:1;2864:17;;;;;;;;;;;;;;2857:5;2850:39;2834:55;;2903:13;2962:5;;2919:49;;;;;2955:5;2947;;2926:27;;;;;2940:5;2933;2926:27;2919:49;2903:65;;3012:5;;2990:28;;;;;3005:5;2997:6;2990:28;2982:36;-1:-1:-1;3041:8:1;;-1:-1:-1;;;2755:3:1;;2708:352;;;-1:-1:-1;3085:16:1;;;3099:1;3085:16;;;;;;;;;;;;;;;105:10:-1;3085:16:1;88:34:-1;136:17;;-1:-1;3085:16:1;3069:32;;3130:5;3111:13;3125:1;3111:16;;;;;;;;;;;;;:24;;;;;3164:6;3145:13;3159:1;3145:16;;;;;;;;;;;;;:25;;;;;2462:715;;;;;;:::o
Swarm Source
bzzr://f89289238d129fbf30d63fa530b2d9390a15c1eb4e2013005698528ebe97507e
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.