Source Code
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
Cross-Chain Transactions
Loading...
Loading
Contract Name:
ReactorHelper
Compiler Version
v0.8.28+commit.7893614a
Optimization Enabled:
Yes with 10000 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: BUSL-1.1
pragma solidity 0.8.28;
import {IReactorHelper, ReactorWebRequest, ReactorParameter} from "./interfaces/IReactorHelper.sol";
contract ReactorHelper is IReactorHelper
{
function decodePayloadAndStringParameters(bytes memory _payload) public pure returns (bytes memory, string[] memory, string[] memory)
{
return abi.decode(_payload, (bytes, string[], string[]));
}
function decodePayloadAndReactorParameters(bytes memory _payload) public pure returns (bytes memory, ReactorParameter[] memory)
{
(bytes memory payload, string[] memory parameterNames, string[] memory parameterValues) = decodePayloadAndStringParameters(_payload);
require(parameterNames.length == parameterValues.length, "Parameter name and value lengths must match");
ReactorParameter[] memory parameters = new ReactorParameter[](parameterNames.length);
for (uint256 i = 0; i < parameterNames.length; i++ ) {
require(bytes(parameterNames[i]).length > 0, "Empty parameter name");
require(bytes(parameterValues[i]).length > 0, "Empty parameter value");
parameters[i] = ReactorParameter({name: parameterNames[i], value: parameterValues[i]});
}
return (payload, parameters);
}
function decodeWebRequestAndStringParameters(bytes memory _payload) public pure returns (string memory, string memory, string memory, string[] memory, string[] memory)
{
(bytes memory payload, string[] memory parameterNames, string[] memory parameterValues) = decodePayloadAndStringParameters(_payload);
(string memory method, string memory url, string memory body) = abi.decode(payload, (string, string, string));
return (method, url, body, parameterNames, parameterValues);
}
function decodeWebRequestAndReactorParameters(bytes memory _payload) public pure returns (string memory, string memory, string memory, ReactorParameter[] memory)
{
(bytes memory payload, ReactorParameter[] memory parameters) = decodePayloadAndReactorParameters(_payload);
(string memory method, string memory url, string memory body) = abi.decode(payload, (string, string, string));
return (method, url, body, parameters);
}
function decodeWebRequestData(bytes memory _payload) public pure returns (string memory,string memory, string memory)
{
return abi.decode(_payload, (string, string, string));
}
function decodeGenerateRandomNumbersResponseData(bytes memory _payload) public pure returns (uint256[] memory)
{
return abi.decode(_payload, (uint256[]));
}
function decodeGenerateRandomNumbersRequestData(bytes memory _payload) public pure returns (uint256)
{
return abi.decode(_payload, (uint256));
}
function decodeWebResponseData(bytes memory _payload) public pure returns (uint256, string memory, string[] memory, string[] memory)
{
return abi.decode(_payload, (uint256, string, string[], string[]));
}
function encodePayloadAndStringParameters(bytes memory _payload, string[] memory _parameterNames, string[] memory _parameterValues) public pure returns(bytes memory)
{
require(_parameterNames.length == _parameterValues.length, "Parameter name and value lengths must match");
for (uint256 i = 0; i < _parameterNames.length; i++ ) {
require(bytes(_parameterNames[i]).length > 0, "Empty parameter name");
require(bytes(_parameterValues[i]).length > 0, "Empty parameter value");
}
return abi.encode(_payload, _parameterNames, _parameterValues);
}
function encodePayloadAndReactorParameters(bytes memory _payload, ReactorParameter[] memory _parameters) public pure returns(bytes memory)
{
string[] memory parameterNames = new string[](_parameters.length);
string[] memory parameterValues = new string[](_parameters.length);
for (uint256 i = 0; i < parameterNames.length; i++ ) {
parameterNames[i] = _parameters[i].name;
parameterValues[i] = _parameters[i].value;
}
return encodePayloadAndStringParameters(_payload, parameterNames, parameterValues);
}
function encodeWebRequestAndStringParameters(string calldata _method, string calldata _url, string calldata _body, string[] memory _headerNames, string[] memory _headerValues, string[] memory _parameterNames, string[] memory _parameterValues) public pure returns(bytes memory)
{
require(_headerNames.length == _headerValues.length, "Header name and value lengths must match");
require(_parameterNames.length == _parameterValues.length, "Parameter name and value lengths must match");
uint256 parameterListLength = _headerNames.length + _parameterNames.length;
string[] memory parameterNames = new string[](parameterListLength);
string[] memory parameterValues = new string[](parameterListLength);
for (uint256 i = 0; i < _headerNames.length; i++ ) {
parameterNames[i] = string.concat("header.", _headerNames[i]);
parameterValues[i] = _headerValues[i];
}
for (uint256 j = 0; j < _parameterNames.length; j++ ) {
parameterNames[j + _headerNames.length] = _parameterNames[j];
parameterValues[j + _headerNames.length] = _parameterValues[j];
}
return encodePayloadAndStringParameters(encodeWebRequestData(_method, _url, _body), parameterNames, parameterValues);
}
function encodeWebRequestAndReactorParameters(string calldata _method, string calldata _url, string calldata _body, ReactorParameter[] memory _headers, ReactorParameter[] memory _parameters) public pure returns(bytes memory)
{
string[] memory headerNames = new string[](_headers.length);
string[] memory headerValues = new string[](_headers.length);
for (uint256 i = 0; i < _headers.length; i++ ) {
headerNames[i] = _headers[i].name;
headerValues[i] = _headers[i].value;
}
string[] memory parameterNames = new string[](_parameters.length);
string[] memory parameterValues = new string[](_parameters.length);
for (uint256 j = 0; j < parameterNames.length; j++ ) {
parameterNames[j] = _parameters[j].name;
parameterValues[j] = _parameters[j].value;
}
return encodeWebRequestAndStringParameters(_method, _url, _body, headerNames, headerValues, parameterNames, parameterValues);
}
function encodeWebRequestFromReactorWebRequest(ReactorWebRequest calldata _request, ReactorParameter[] calldata _parameters) public pure returns(bytes memory)
{
return encodeWebRequestAndReactorParameters(_request.method, _request.url, _request.body, _request.headers, _parameters);
}
function encodeWebRequestData(string calldata _method, string calldata _url, string calldata _body) public pure returns(bytes memory)
{
require(bytes(_method).length > 0, "Empty method");
require(bytes(_url).length > 0, "Empty url");
return abi.encode(_method, _url, _body);
}
function encodeGenerateRandomNumbersRequestAndStringParameters(uint256 _number_of_randoms_to_create, string[] memory _parameterNames, string[] memory _parameterValues) public pure returns(bytes memory)
{
require(_parameterNames.length == _parameterValues.length, "Parameter name and value lengths must match");
return encodePayloadAndStringParameters(encodeGenerateRandomNumbersRequestData(_number_of_randoms_to_create), _parameterNames, _parameterValues);
}
function encodeGenerateRandomNumbersRequestAndReactorParameters(uint256 _number_of_randoms_to_create, ReactorParameter[] memory _parameters) public pure returns(bytes memory)
{
string[] memory parameterNames = new string[](_parameters.length);
string[] memory parameterValues = new string[](_parameters.length);
for (uint256 i = 0; i < parameterNames.length; i++ ) {
parameterNames[i] = _parameters[i].name;
parameterValues[i] = _parameters[i].value;
}
return encodeGenerateRandomNumbersRequestAndStringParameters(_number_of_randoms_to_create, parameterNames, parameterValues);
}
function encodeGenerateRandomNumbersRequestData(uint256 _number_of_randoms_to_create) public pure returns(bytes memory)
{
require(_number_of_randoms_to_create > 0, "Number of randoms to create must be greater than zero");
return abi.encode(_number_of_randoms_to_create);
}
receive() external payable {}
fallback() external payable {}
}// SPDX-License-Identifier: BUSL-1.1
pragma solidity 0.8.28;
struct ReactorParameter {
string name;
string value;
}
struct ReactorWebRequest {
string method;
string url;
string body;
ReactorParameter[] headers;
}
interface IReactorHelper {
function decodeGenerateRandomNumbersRequestData(bytes memory _payload) external returns (uint256);
function decodeGenerateRandomNumbersResponseData(bytes memory _payload) external returns (uint256[] memory);
function decodePayloadAndReactorParameters(bytes memory _payload) external pure returns (bytes memory, ReactorParameter[] memory);
function decodePayloadAndStringParameters(bytes memory _payload) external pure returns (bytes memory, string[] memory, string[] memory);
function decodeWebRequestAndReactorParameters(bytes memory _payload) external pure returns (string memory, string memory, string memory, ReactorParameter[] memory);
function decodeWebRequestAndStringParameters(bytes memory _payload) external pure returns (string memory, string memory, string memory, string[] memory, string[] memory);
function decodeWebRequestData(bytes memory _payload) external pure returns (string memory,string memory, string memory);
function decodeWebResponseData(bytes memory _payload) external pure returns (uint256, string memory, string[] memory, string[] memory);
function encodeGenerateRandomNumbersRequestAndStringParameters(uint256 _number_of_randoms_to_create, string[] memory _parameterNames, string[] memory _parameterValues) external returns(bytes memory);
function encodeGenerateRandomNumbersRequestData(uint256 _number_of_randoms_to_create) external returns(bytes memory);
function encodePayloadAndReactorParameters(bytes memory _payload, ReactorParameter[] memory _parameters) external pure returns(bytes memory);
function encodePayloadAndStringParameters(bytes memory _payload, string[] memory _parameterNames, string[] memory _parameterValues) external pure returns(bytes memory);
function encodeWebRequestAndReactorParameters(string calldata _method, string calldata _url, string calldata _body, ReactorParameter[] memory _headers, ReactorParameter[] memory _parameters) external pure returns(bytes memory);
function encodeWebRequestAndStringParameters(string calldata _method, string calldata _url, string calldata _body, string[] memory _headerNames, string[] memory _headerValues, string[] memory _parameterNames, string[] memory _parameterValues) external pure returns(bytes memory);
function encodeWebRequestData(string calldata _method, string calldata _url, string calldata _body) external pure returns(bytes memory);
function encodeWebRequestFromReactorWebRequest(ReactorWebRequest calldata _request, ReactorParameter[] calldata _parameters) external pure returns(bytes memory);
}{
"optimizer": {
"enabled": true,
"runs": 10000
},
"viaIR": true,
"evmVersion": "paris",
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"bytes","name":"_payload","type":"bytes"}],"name":"decodeGenerateRandomNumbersRequestData","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"_payload","type":"bytes"}],"name":"decodeGenerateRandomNumbersResponseData","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"_payload","type":"bytes"}],"name":"decodePayloadAndReactorParameters","outputs":[{"internalType":"bytes","name":"","type":"bytes"},{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"value","type":"string"}],"internalType":"struct ReactorParameter[]","name":"","type":"tuple[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"_payload","type":"bytes"}],"name":"decodePayloadAndStringParameters","outputs":[{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"string[]","name":"","type":"string[]"},{"internalType":"string[]","name":"","type":"string[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"_payload","type":"bytes"}],"name":"decodeWebRequestAndReactorParameters","outputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"},{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"value","type":"string"}],"internalType":"struct ReactorParameter[]","name":"","type":"tuple[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"_payload","type":"bytes"}],"name":"decodeWebRequestAndStringParameters","outputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"},{"internalType":"string[]","name":"","type":"string[]"},{"internalType":"string[]","name":"","type":"string[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"_payload","type":"bytes"}],"name":"decodeWebRequestData","outputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"_payload","type":"bytes"}],"name":"decodeWebResponseData","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"string","name":"","type":"string"},{"internalType":"string[]","name":"","type":"string[]"},{"internalType":"string[]","name":"","type":"string[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_number_of_randoms_to_create","type":"uint256"},{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"value","type":"string"}],"internalType":"struct ReactorParameter[]","name":"_parameters","type":"tuple[]"}],"name":"encodeGenerateRandomNumbersRequestAndReactorParameters","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_number_of_randoms_to_create","type":"uint256"},{"internalType":"string[]","name":"_parameterNames","type":"string[]"},{"internalType":"string[]","name":"_parameterValues","type":"string[]"}],"name":"encodeGenerateRandomNumbersRequestAndStringParameters","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_number_of_randoms_to_create","type":"uint256"}],"name":"encodeGenerateRandomNumbersRequestData","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"_payload","type":"bytes"},{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"value","type":"string"}],"internalType":"struct ReactorParameter[]","name":"_parameters","type":"tuple[]"}],"name":"encodePayloadAndReactorParameters","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"_payload","type":"bytes"},{"internalType":"string[]","name":"_parameterNames","type":"string[]"},{"internalType":"string[]","name":"_parameterValues","type":"string[]"}],"name":"encodePayloadAndStringParameters","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"string","name":"_method","type":"string"},{"internalType":"string","name":"_url","type":"string"},{"internalType":"string","name":"_body","type":"string"},{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"value","type":"string"}],"internalType":"struct ReactorParameter[]","name":"_headers","type":"tuple[]"},{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"value","type":"string"}],"internalType":"struct ReactorParameter[]","name":"_parameters","type":"tuple[]"}],"name":"encodeWebRequestAndReactorParameters","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"string","name":"_method","type":"string"},{"internalType":"string","name":"_url","type":"string"},{"internalType":"string","name":"_body","type":"string"},{"internalType":"string[]","name":"_headerNames","type":"string[]"},{"internalType":"string[]","name":"_headerValues","type":"string[]"},{"internalType":"string[]","name":"_parameterNames","type":"string[]"},{"internalType":"string[]","name":"_parameterValues","type":"string[]"}],"name":"encodeWebRequestAndStringParameters","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"string","name":"_method","type":"string"},{"internalType":"string","name":"_url","type":"string"},{"internalType":"string","name":"_body","type":"string"}],"name":"encodeWebRequestData","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"string","name":"method","type":"string"},{"internalType":"string","name":"url","type":"string"},{"internalType":"string","name":"body","type":"string"},{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"value","type":"string"}],"internalType":"struct ReactorParameter[]","name":"headers","type":"tuple[]"}],"internalType":"struct ReactorWebRequest","name":"_request","type":"tuple"},{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"value","type":"string"}],"internalType":"struct ReactorParameter[]","name":"_parameters","type":"tuple[]"}],"name":"encodeWebRequestFromReactorWebRequest","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
608080604052346015576119e4908161001b8239f35b600080fdfe60806040526004361015610010575b005b60003560e01c806319ebd82f14610b205780632261ccc914610a22578063270fc5bc146109c35780633298ea16146108f25780633c0c80f3146108ac5780634132c8d31461088d57806346a93d731461082757806352f6e1bf146107095780636318c692146106bd578063635b6e3a146105b75780637366c130146104c45780639bad9cfb146103ff578063a956ffc014610365578063b7bdf97b146102e5578063cbfffacf14610237578063eaf799f7146101b35763f00bb3b80361000e57346101ae5760406003193601126101ae5760243567ffffffffffffffff81116101ae57610101903690600401610e04565b61010b81516112ab565b61011582516112ab565b60005b8251811015610171578061012e600192866110a3565b515161013a82866110a3565b5261014581856110a3565b50602061015282876110a3565b51015161015f82856110a3565b5261016a81846110a3565b5001610118565b6101aa61019683856101868151835114611018565b610191600435611407565b611811565b604051918291602083526020830190610c91565b0390f35b600080fd5b346101ae5760606003193601126101ae5760043567ffffffffffffffff81116101ae576101e4903690600401610f31565b60243567ffffffffffffffff81116101ae57610204903690600401610f31565b9190926044359267ffffffffffffffff84116101ae576101aa9461022f610196953690600401610f31565b949093611898565b346101ae5760206003193601126101ae5760043567ffffffffffffffff81116101ae576102bb6101aa6102c96102d761029661028261027d6102ad973690600401610c29565b611373565b949160208082959395518301019101610fb0565b919790604051998a9960a08b5260a08b0190610c91565b9089820360208b0152610c91565b908782036040890152610c91565b908582036060870152610e22565b908382036080850152610e22565b346101ae5760606003193601126101ae5760043567ffffffffffffffff81116101ae57610316903690600401610c29565b60243567ffffffffffffffff81116101ae57610336903690600401610eb2565b906044359067ffffffffffffffff82116101ae576101aa9261035f610196933690600401610eb2565b91611811565b346101ae5760206003193601126101ae5760043567ffffffffffffffff81116101ae576103e36101aa6103be6103f16103ad6103a86103d5963690600401610c29565b6111b0565b929060208082518301019101610fb0565b919590604051978897608089526080890190610c91565b908782036020890152610c91565b908582036040870152610c91565b908382036060850152610cb6565b346101ae5760a06003193601126101ae5760043567ffffffffffffffff81116101ae57610430903690600401610f31565b9060243567ffffffffffffffff81116101ae57610451903690600401610f31565b60449291923567ffffffffffffffff81116101ae57610474903690600401610f31565b9060643567ffffffffffffffff81116101ae57610495903690600401610e04565b926084359567ffffffffffffffff87116101ae576101aa976104be610196983690600401610e04565b9661172c565b346101ae5760206003193601126101ae5760043567ffffffffffffffff81116101ae576104f5903690600401610c29565b80518101608082602083019203126101ae57602082015190604083015167ffffffffffffffff81116101ae5781602061053092860101610f96565b92606081015167ffffffffffffffff81116101ae57826020610554928401016112f4565b90608081015167ffffffffffffffff81116101ae576101aa93602061057e926105a99401016112f4565b9161059b6040519687968752608060208801526080870190610c91565b908582036040870152610e22565b908382036060850152610e22565b346101ae5760e06003193601126101ae5760043567ffffffffffffffff81116101ae576105e8903690600401610f31565b9060243567ffffffffffffffff81116101ae57610609903690600401610f31565b60449291923567ffffffffffffffff81116101ae5761062c903690600401610f31565b60643567ffffffffffffffff81116101ae5761064c903690600401610eb2565b9060843567ffffffffffffffff81116101ae5761066d903690600401610eb2565b9260a43567ffffffffffffffff81116101ae5761068e903690600401610eb2565b9460c4359767ffffffffffffffff89116101ae576101aa996106b76101969a3690600401610eb2565b98611536565b346101ae5760206003193601126101ae5760043567ffffffffffffffff81116101ae576106ee903690600401610c29565b6020818051810103126101ae57602080910151604051908152f35b346101ae5760406003193601126101ae5760043567ffffffffffffffff81116101ae5780600401908036039160806003198401126101ae576024359267ffffffffffffffff84116101ae57366023850112156101ae5783600401359067ffffffffffffffff82116101ae573660248360051b870101116101ae576107ae9361079184806114a9565b9590946107a160248401826114a9565b92909160448501906114a9565b9490937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdd606482013592018212156101ae57019660048801359767ffffffffffffffff89116101ae576024018860051b360381136101ae576101aa9961081c6104be926101969b3691610d47565b976024369201610d47565b346101ae5760606003193601126101ae5760243567ffffffffffffffff81116101ae57610858903690600401610eb2565b60443567ffffffffffffffff81116101ae576101aa9161087f610196923690600401610eb2565b906101868151835114611018565b346101ae5760206003193601126101ae576101aa610196600435611407565b346101ae5760206003193601126101ae5760043567ffffffffffffffff81116101ae576108e361027d6101aa923690600401610c29565b60409391935193849384610e7b565b346101ae5760406003193601126101ae5760043567ffffffffffffffff81116101ae57610923903690600401610c29565b60243567ffffffffffffffff81116101ae57610943903690600401610e04565b9061094e82516112ab565b61095883516112ab565b9060005b81518110156109b55780610972600192876110a3565b515161097e82856110a3565b5261098981846110a3565b50602061099682886110a3565b5101516109a382866110a3565b526109ae81856110a3565b500161095c565b6101aa610196848487611811565b346101ae5760206003193601126101ae5760043567ffffffffffffffff81116101ae576101aa6109fd6103a8610a14933690600401610c29565b604092919251938493604085526040850190610c91565b908382036020850152610cb6565b346101ae5760206003193601126101ae5760043567ffffffffffffffff81116101ae57610a53903690600401610c29565b80518101906020818184019303126101ae5760208101519067ffffffffffffffff82116101ae57019080603f830112156101ae57602082015190610a9682610d2f565b92610aa46040519485610bea565b8284526020840190602080839560051b830101019283116101ae57604001905b828210610b105783856040519182916020830190602084525180915260408301919060005b818110610af7575050500390f35b8251845285945060209384019390920191600101610ae9565b8151815260209182019101610ac4565b346101ae5760206003193601126101ae5760043567ffffffffffffffff81116101ae57610b916101aa610b6c610b5d610b83943690600401610c29565b60208082518301019101610fb0565b919390604051958695606087526060870190610c91565b908582036020870152610c91565b908382036040850152610c91565b6040810190811067ffffffffffffffff821117610bbb57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f601f19910116810190811067ffffffffffffffff821117610bbb57604052565b67ffffffffffffffff8111610bbb57601f01601f191660200190565b81601f820112156101ae57602081359101610c4382610c0d565b92610c516040519485610bea565b828452828201116101ae5781600092602092838601378301015290565b60005b838110610c815750506000910152565b8181015183820152602001610c71565b90601f19601f602093610caf81518092818752878088019101610c6e565b0116010190565b9080602083519182815201916020808360051b8301019401926000915b838310610ce257505050505090565b9091929394602080610d2083601f19866001960301875289519083610d108351604084526040840190610c91565b9201519084818403910152610c91565b97019301930191939290610cd3565b67ffffffffffffffff8111610bbb5760051b60200190565b92919092610d5484610d2f565b93610d626040519586610bea565b602085828152019060051b8201918383116101ae5780915b838310610d88575050505050565b823567ffffffffffffffff81116101ae5782016040818703126101ae5760405191610db283610b9f565b813567ffffffffffffffff81116101ae5787610dcf918401610c29565b835260208201359267ffffffffffffffff84116101ae57610df588602095869501610c29565b83820152815201920191610d7a565b9080601f830112156101ae57816020610e1f93359101610d47565b90565b9080602083519182815201916020808360051b8301019401926000915b838310610e4e57505050505090565b9091929394602080610e6c83601f1986600196030187528951610c91565b97019301930191939290610e3f565b91610ea490610e96610e1f9593606086526060860190610c91565b908482036020860152610e22565b916040818403910152610e22565b9080601f830112156101ae578135610ec981610d2f565b92610ed76040519485610bea565b81845260208085019260051b820101918383116101ae5760208201905b838210610f0357505050505090565b813567ffffffffffffffff81116101ae57602091610f2687848094880101610c29565b815201910190610ef4565b9181601f840112156101ae5782359167ffffffffffffffff83116101ae57602083818601950101116101ae57565b90929192610f6c81610c0d565b91610f7a6040519384610bea565b8294828452828201116101ae576020610f94930190610c6e565b565b9080601f830112156101ae578151610e1f92602001610f5f565b916060838303126101ae57825167ffffffffffffffff81116101ae5782610fd8918501610f96565b92602081015167ffffffffffffffff81116101ae5783610ff9918301610f96565b92604082015167ffffffffffffffff81116101ae57610e1f9201610f96565b1561101f57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f506172616d65746572206e616d6520616e642076616c7565206c656e6774687360448201527f206d757374206d617463680000000000000000000000000000000000000000006064820152fd5b80518210156110b75760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b156110ed57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f456d70747920706172616d65746572206e616d650000000000000000000000006044820152fd5b1561115257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f456d70747920706172616d657465722076616c756500000000000000000000006044820152fd5b6111b990611373565b906111c78151835114611018565b805193601f196111ef6111d987610d2f565b966111e76040519889610bea565b808852610d2f565b0160005b81811061128657505060005b825181101561127d5780611221611218600193866110a3565b515115156110e6565b61123761122e82876110a3565b5151151561114b565b61124181856110a3565b5161124c82876110a3565b516040519161125a83610b9f565b8252602082015261126b82896110a3565b5261127681886110a3565b50016111ff565b50929150509190565b60209060405161129581610b9f565b6060815260608382015282828a010152016111f3565b906112b582610d2f565b6112c26040519182610bea565b828152601f196112d28294610d2f565b019060005b8281106112e357505050565b8060606020809385010152016112d7565b9080601f830112156101ae57815161130b81610d2f565b926113196040519485610bea565b81845260208085019260051b820101918383116101ae5760208201905b83821061134557505050505090565b815167ffffffffffffffff81116101ae5760209161136887848094880101610f96565b815201910190611336565b8051810191606082602085019403126101ae57602082015167ffffffffffffffff81116101ae57820183603f820112156101ae578381604060206113ba9401519101610f5f565b91604081015167ffffffffffffffff81116101ae578460206113de928401016112f4565b9360608201519167ffffffffffffffff83116101ae5761140192016020016112f4565b91929190565b80156114255760405190602082015260208152610e1f604082610bea565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f4e756d626572206f662072616e646f6d7320746f20637265617465206d75737460448201527f2062652067726561746572207468616e207a65726f00000000000000000000006064820152fd5b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101ae570180359067ffffffffffffffff82116101ae576020019181360383136101ae57565b9190820180921161150757565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b949098939991979295998a518851036116a8576115568451865114611018565b6115638b518551906114fa565b96611576611570896112ab565b986112ab565b9960005b8d805182101561161f5790611618818e61160d8f8f906116078580936115a28260019c6110a3565b516115f7602760405180937f6865616465722e0000000000000000000000000000000000000000000000000060208301526115e68151809260208686019101610c6e565b81010301601f198101835282610bea565b61160183836110a3565b526110a3565b506110a3565b5161160183836110a3565b500161157a565b505091939598509193959960005b875181101561169057806116898c8f61168261167b8f8f978f9161160760019a61165a84611672966110a3565b51906116678951866114fa565b9161160183836110a3565b519251866114fa565b80936110a3565b528d6110a3565b500161162d565b509193955091939950610191959650610e1f98611898565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f486561646572206e616d6520616e642076616c7565206c656e67746873206d7560448201527f7374206d617463680000000000000000000000000000000000000000000000006064820152fd5b9296939791909161173d87516112ab565b9561174888516112ab565b9960005b8951811015611795578061178e818e60206117818f968f976116078260019a61177582856110a3565b515161160183836110a3565b51015161160183836110a3565b500161174c565b5091959994989092969397506117ab8a516112ab565b966117b68b516112ab565b9860005b89518110156117fe57808b6117ec8f9360206117e38f876116078580936117758260019d6110a3565b510151926110a3565b526117f7818d6110a3565b50016117ba565b50909192939495969a50610e1f99611536565b9190926118218451835114611018565b60005b8451811015611850578061183d611218600193886110a3565b61184a61122e82866110a3565b01611824565b509291611869610e1f9260405194859360208501610e7b565b03601f198101835282610bea565b601f8260209493601f19938186528686013760008582860101520116010190565b949390929383156119505784156118f2576118e061186993610e1f966118ce604051998a98606060208b015260808a0191611877565b91601f19888403016040890152611877565b91601f19858403016060860152611877565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f456d7074792075726c00000000000000000000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f456d707479206d6574686f6400000000000000000000000000000000000000006044820152fdfea26469706673582212200c79e9762be43effe52fc317490a17a973f3f6490a311536b962ab1a5c34c96364736f6c634300081c0033
Deployed Bytecode
0x60806040526004361015610010575b005b60003560e01c806319ebd82f14610b205780632261ccc914610a22578063270fc5bc146109c35780633298ea16146108f25780633c0c80f3146108ac5780634132c8d31461088d57806346a93d731461082757806352f6e1bf146107095780636318c692146106bd578063635b6e3a146105b75780637366c130146104c45780639bad9cfb146103ff578063a956ffc014610365578063b7bdf97b146102e5578063cbfffacf14610237578063eaf799f7146101b35763f00bb3b80361000e57346101ae5760406003193601126101ae5760243567ffffffffffffffff81116101ae57610101903690600401610e04565b61010b81516112ab565b61011582516112ab565b60005b8251811015610171578061012e600192866110a3565b515161013a82866110a3565b5261014581856110a3565b50602061015282876110a3565b51015161015f82856110a3565b5261016a81846110a3565b5001610118565b6101aa61019683856101868151835114611018565b610191600435611407565b611811565b604051918291602083526020830190610c91565b0390f35b600080fd5b346101ae5760606003193601126101ae5760043567ffffffffffffffff81116101ae576101e4903690600401610f31565b60243567ffffffffffffffff81116101ae57610204903690600401610f31565b9190926044359267ffffffffffffffff84116101ae576101aa9461022f610196953690600401610f31565b949093611898565b346101ae5760206003193601126101ae5760043567ffffffffffffffff81116101ae576102bb6101aa6102c96102d761029661028261027d6102ad973690600401610c29565b611373565b949160208082959395518301019101610fb0565b919790604051998a9960a08b5260a08b0190610c91565b9089820360208b0152610c91565b908782036040890152610c91565b908582036060870152610e22565b908382036080850152610e22565b346101ae5760606003193601126101ae5760043567ffffffffffffffff81116101ae57610316903690600401610c29565b60243567ffffffffffffffff81116101ae57610336903690600401610eb2565b906044359067ffffffffffffffff82116101ae576101aa9261035f610196933690600401610eb2565b91611811565b346101ae5760206003193601126101ae5760043567ffffffffffffffff81116101ae576103e36101aa6103be6103f16103ad6103a86103d5963690600401610c29565b6111b0565b929060208082518301019101610fb0565b919590604051978897608089526080890190610c91565b908782036020890152610c91565b908582036040870152610c91565b908382036060850152610cb6565b346101ae5760a06003193601126101ae5760043567ffffffffffffffff81116101ae57610430903690600401610f31565b9060243567ffffffffffffffff81116101ae57610451903690600401610f31565b60449291923567ffffffffffffffff81116101ae57610474903690600401610f31565b9060643567ffffffffffffffff81116101ae57610495903690600401610e04565b926084359567ffffffffffffffff87116101ae576101aa976104be610196983690600401610e04565b9661172c565b346101ae5760206003193601126101ae5760043567ffffffffffffffff81116101ae576104f5903690600401610c29565b80518101608082602083019203126101ae57602082015190604083015167ffffffffffffffff81116101ae5781602061053092860101610f96565b92606081015167ffffffffffffffff81116101ae57826020610554928401016112f4565b90608081015167ffffffffffffffff81116101ae576101aa93602061057e926105a99401016112f4565b9161059b6040519687968752608060208801526080870190610c91565b908582036040870152610e22565b908382036060850152610e22565b346101ae5760e06003193601126101ae5760043567ffffffffffffffff81116101ae576105e8903690600401610f31565b9060243567ffffffffffffffff81116101ae57610609903690600401610f31565b60449291923567ffffffffffffffff81116101ae5761062c903690600401610f31565b60643567ffffffffffffffff81116101ae5761064c903690600401610eb2565b9060843567ffffffffffffffff81116101ae5761066d903690600401610eb2565b9260a43567ffffffffffffffff81116101ae5761068e903690600401610eb2565b9460c4359767ffffffffffffffff89116101ae576101aa996106b76101969a3690600401610eb2565b98611536565b346101ae5760206003193601126101ae5760043567ffffffffffffffff81116101ae576106ee903690600401610c29565b6020818051810103126101ae57602080910151604051908152f35b346101ae5760406003193601126101ae5760043567ffffffffffffffff81116101ae5780600401908036039160806003198401126101ae576024359267ffffffffffffffff84116101ae57366023850112156101ae5783600401359067ffffffffffffffff82116101ae573660248360051b870101116101ae576107ae9361079184806114a9565b9590946107a160248401826114a9565b92909160448501906114a9565b9490937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdd606482013592018212156101ae57019660048801359767ffffffffffffffff89116101ae576024018860051b360381136101ae576101aa9961081c6104be926101969b3691610d47565b976024369201610d47565b346101ae5760606003193601126101ae5760243567ffffffffffffffff81116101ae57610858903690600401610eb2565b60443567ffffffffffffffff81116101ae576101aa9161087f610196923690600401610eb2565b906101868151835114611018565b346101ae5760206003193601126101ae576101aa610196600435611407565b346101ae5760206003193601126101ae5760043567ffffffffffffffff81116101ae576108e361027d6101aa923690600401610c29565b60409391935193849384610e7b565b346101ae5760406003193601126101ae5760043567ffffffffffffffff81116101ae57610923903690600401610c29565b60243567ffffffffffffffff81116101ae57610943903690600401610e04565b9061094e82516112ab565b61095883516112ab565b9060005b81518110156109b55780610972600192876110a3565b515161097e82856110a3565b5261098981846110a3565b50602061099682886110a3565b5101516109a382866110a3565b526109ae81856110a3565b500161095c565b6101aa610196848487611811565b346101ae5760206003193601126101ae5760043567ffffffffffffffff81116101ae576101aa6109fd6103a8610a14933690600401610c29565b604092919251938493604085526040850190610c91565b908382036020850152610cb6565b346101ae5760206003193601126101ae5760043567ffffffffffffffff81116101ae57610a53903690600401610c29565b80518101906020818184019303126101ae5760208101519067ffffffffffffffff82116101ae57019080603f830112156101ae57602082015190610a9682610d2f565b92610aa46040519485610bea565b8284526020840190602080839560051b830101019283116101ae57604001905b828210610b105783856040519182916020830190602084525180915260408301919060005b818110610af7575050500390f35b8251845285945060209384019390920191600101610ae9565b8151815260209182019101610ac4565b346101ae5760206003193601126101ae5760043567ffffffffffffffff81116101ae57610b916101aa610b6c610b5d610b83943690600401610c29565b60208082518301019101610fb0565b919390604051958695606087526060870190610c91565b908582036020870152610c91565b908382036040850152610c91565b6040810190811067ffffffffffffffff821117610bbb57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f601f19910116810190811067ffffffffffffffff821117610bbb57604052565b67ffffffffffffffff8111610bbb57601f01601f191660200190565b81601f820112156101ae57602081359101610c4382610c0d565b92610c516040519485610bea565b828452828201116101ae5781600092602092838601378301015290565b60005b838110610c815750506000910152565b8181015183820152602001610c71565b90601f19601f602093610caf81518092818752878088019101610c6e565b0116010190565b9080602083519182815201916020808360051b8301019401926000915b838310610ce257505050505090565b9091929394602080610d2083601f19866001960301875289519083610d108351604084526040840190610c91565b9201519084818403910152610c91565b97019301930191939290610cd3565b67ffffffffffffffff8111610bbb5760051b60200190565b92919092610d5484610d2f565b93610d626040519586610bea565b602085828152019060051b8201918383116101ae5780915b838310610d88575050505050565b823567ffffffffffffffff81116101ae5782016040818703126101ae5760405191610db283610b9f565b813567ffffffffffffffff81116101ae5787610dcf918401610c29565b835260208201359267ffffffffffffffff84116101ae57610df588602095869501610c29565b83820152815201920191610d7a565b9080601f830112156101ae57816020610e1f93359101610d47565b90565b9080602083519182815201916020808360051b8301019401926000915b838310610e4e57505050505090565b9091929394602080610e6c83601f1986600196030187528951610c91565b97019301930191939290610e3f565b91610ea490610e96610e1f9593606086526060860190610c91565b908482036020860152610e22565b916040818403910152610e22565b9080601f830112156101ae578135610ec981610d2f565b92610ed76040519485610bea565b81845260208085019260051b820101918383116101ae5760208201905b838210610f0357505050505090565b813567ffffffffffffffff81116101ae57602091610f2687848094880101610c29565b815201910190610ef4565b9181601f840112156101ae5782359167ffffffffffffffff83116101ae57602083818601950101116101ae57565b90929192610f6c81610c0d565b91610f7a6040519384610bea565b8294828452828201116101ae576020610f94930190610c6e565b565b9080601f830112156101ae578151610e1f92602001610f5f565b916060838303126101ae57825167ffffffffffffffff81116101ae5782610fd8918501610f96565b92602081015167ffffffffffffffff81116101ae5783610ff9918301610f96565b92604082015167ffffffffffffffff81116101ae57610e1f9201610f96565b1561101f57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f506172616d65746572206e616d6520616e642076616c7565206c656e6774687360448201527f206d757374206d617463680000000000000000000000000000000000000000006064820152fd5b80518210156110b75760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b156110ed57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f456d70747920706172616d65746572206e616d650000000000000000000000006044820152fd5b1561115257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f456d70747920706172616d657465722076616c756500000000000000000000006044820152fd5b6111b990611373565b906111c78151835114611018565b805193601f196111ef6111d987610d2f565b966111e76040519889610bea565b808852610d2f565b0160005b81811061128657505060005b825181101561127d5780611221611218600193866110a3565b515115156110e6565b61123761122e82876110a3565b5151151561114b565b61124181856110a3565b5161124c82876110a3565b516040519161125a83610b9f565b8252602082015261126b82896110a3565b5261127681886110a3565b50016111ff565b50929150509190565b60209060405161129581610b9f565b6060815260608382015282828a010152016111f3565b906112b582610d2f565b6112c26040519182610bea565b828152601f196112d28294610d2f565b019060005b8281106112e357505050565b8060606020809385010152016112d7565b9080601f830112156101ae57815161130b81610d2f565b926113196040519485610bea565b81845260208085019260051b820101918383116101ae5760208201905b83821061134557505050505090565b815167ffffffffffffffff81116101ae5760209161136887848094880101610f96565b815201910190611336565b8051810191606082602085019403126101ae57602082015167ffffffffffffffff81116101ae57820183603f820112156101ae578381604060206113ba9401519101610f5f565b91604081015167ffffffffffffffff81116101ae578460206113de928401016112f4565b9360608201519167ffffffffffffffff83116101ae5761140192016020016112f4565b91929190565b80156114255760405190602082015260208152610e1f604082610bea565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f4e756d626572206f662072616e646f6d7320746f20637265617465206d75737460448201527f2062652067726561746572207468616e207a65726f00000000000000000000006064820152fd5b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101ae570180359067ffffffffffffffff82116101ae576020019181360383136101ae57565b9190820180921161150757565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b949098939991979295998a518851036116a8576115568451865114611018565b6115638b518551906114fa565b96611576611570896112ab565b986112ab565b9960005b8d805182101561161f5790611618818e61160d8f8f906116078580936115a28260019c6110a3565b516115f7602760405180937f6865616465722e0000000000000000000000000000000000000000000000000060208301526115e68151809260208686019101610c6e565b81010301601f198101835282610bea565b61160183836110a3565b526110a3565b506110a3565b5161160183836110a3565b500161157a565b505091939598509193959960005b875181101561169057806116898c8f61168261167b8f8f978f9161160760019a61165a84611672966110a3565b51906116678951866114fa565b9161160183836110a3565b519251866114fa565b80936110a3565b528d6110a3565b500161162d565b509193955091939950610191959650610e1f98611898565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f486561646572206e616d6520616e642076616c7565206c656e67746873206d7560448201527f7374206d617463680000000000000000000000000000000000000000000000006064820152fd5b9296939791909161173d87516112ab565b9561174888516112ab565b9960005b8951811015611795578061178e818e60206117818f968f976116078260019a61177582856110a3565b515161160183836110a3565b51015161160183836110a3565b500161174c565b5091959994989092969397506117ab8a516112ab565b966117b68b516112ab565b9860005b89518110156117fe57808b6117ec8f9360206117e38f876116078580936117758260019d6110a3565b510151926110a3565b526117f7818d6110a3565b50016117ba565b50909192939495969a50610e1f99611536565b9190926118218451835114611018565b60005b8451811015611850578061183d611218600193886110a3565b61184a61122e82866110a3565b01611824565b509291611869610e1f9260405194859360208501610e7b565b03601f198101835282610bea565b601f8260209493601f19938186528686013760008582860101520116010190565b949390929383156119505784156118f2576118e061186993610e1f966118ce604051998a98606060208b015260808a0191611877565b91601f19888403016040890152611877565b91601f19858403016060860152611877565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f456d7074792075726c00000000000000000000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f456d707479206d6574686f6400000000000000000000000000000000000000006044820152fdfea26469706673582212200c79e9762be43effe52fc317490a17a973f3f6490a311536b962ab1a5c34c96364736f6c634300081c0033
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in FRAX
0
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
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.