Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 5 from a total of 5 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Set L1Governance | 18966847 | 780 days ago | IN | 0 ETH | 0.00093826 | ||||
| Set Amm Wrapper | 18938021 | 784 days ago | IN | 0 ETH | 0.00166944 | ||||
| Add Active Chain... | 18938018 | 784 days ago | IN | 0 ETH | 0.00163739 | ||||
| Set L1Bridge Cal... | 18938016 | 784 days ago | IN | 0 ETH | 0.00180152 | ||||
| Initialize | 18937974 | 784 days ago | IN | 0 ETH | 0.00311918 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
PolygonzkConnector
Compiler Version
v0.6.12+commit.27d51765
Optimization Enabled:
Yes with 50000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity 0.6.12;
pragma experimental ABIEncoderV2;
import "../interfaces/polygonzk/messengers/IPolygonZkEVMBridge.sol";
import "./Connector.sol";
contract PolygonzkConnector is Connector {
uint32 public counterpartNetwork;
address public messengerAddress;
function initialize(
address target,
address counterpart,
uint32 _counterpartNetwork,
address _messengerAddress
) external {
initialize(target, counterpart);
counterpartNetwork = _counterpartNetwork;
messengerAddress = _messengerAddress;
}
function onMessageReceived(
address originAddress,
uint32 originNetwork,
bytes memory data
) external {
require(originAddress == counterpart, "PLY_ZK_CNR: Origin address does not match counterpart address");
require(originNetwork == counterpartNetwork, "PLY_ZK_CNR: Origin network does not match counterpart network");
require(msg.sender == messengerAddress, "PLY_ZK_CNR: Caller is not the messenger");
uint256 value = 0;
target.execute(data, value);
}
/* ========== Internal functions ========== */
function _forwardCrossDomainMessage() internal override {
_forwardCrossDomainMessage(msg.data);
}
function _forwardCrossDomainMessage(bytes memory data) internal {
require(msg.sender == target, "PLY_ZK_CNR: Caller is not the expected sender");
bool forceUpdateGlobalExitRoot = false;
IPolygonZkEVMBridge(messengerAddress).bridgeMessage(
counterpartNetwork,
counterpart,
forceUpdateGlobalExitRoot,
data
);
}
function _verifyCrossDomainSender() internal override {
revert("BASE_PLY_ZK_CNR: _verifyCrossDomainSender() is handled by onMessageReceived");
}
}// SPDX-License-Identifier: MIT
pragma solidity 0.6.12;
import "../libraries/ExecutorLib.sol";
import "../shared/Initializable.sol";
abstract contract Connector is Initializable {
using ExecutorLib for address;
address public target;
address public counterpart;
/// @dev initialize to keep creation code consistent for create2 deployments
function initialize(address _target, address _counterpart) public initializer {
require(_target != address(0), "CNR: Target cannot be zero address");
require(_counterpart != address(0), "CNR: Counterpart cannot be zero address");
target = _target;
counterpart = _counterpart;
}
fallback () external payable {
if (msg.sender == target) {
_forwardCrossDomainMessage();
} else {
_verifyCrossDomainSender();
target.execute(msg.data, msg.value);
}
}
receive () external payable {
revert("Do not send ETH to this contract");
}
/* ========== Virtual functions ========== */
function _forwardCrossDomainMessage() internal virtual;
function _verifyCrossDomainSender() internal virtual;
}// SPDX-License-Identifier: AGPL-3.0
pragma solidity 0.6.12;
interface IPolygonZkEVMBridge {
function bridgeMessage(
uint32 destinationNetwork,
address destinationAddress,
bool forceUpdateGlobalExitRoot,
bytes calldata metadata
) external payable;
}// SPDX-License-Identifier: MIT
pragma solidity 0.6.12;
library ExecutorLib {
function execute(
address to,
bytes memory data,
uint256 value
) internal returns (bytes memory) {
(bool success, bytes memory res) = payable(to).call{value: value}(data);
if (!success) {
// Bubble up error message
assembly { revert(add(res,0x20), res) }
}
return res;
}
}// SPDX-License-Identifier: MIT
pragma solidity 0.6.12;
pragma experimental ABIEncoderV2;
contract Initializable {
bool initialized;
modifier initializer() {
require(!initialized, "Initializable: contract is already initialized");
initialized = true;
_;
}
}{
"optimizer": {
"enabled": true,
"runs": 50000
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"counterpart","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"counterpartNetwork","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_target","type":"address"},{"internalType":"address","name":"_counterpart","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"address","name":"counterpart","type":"address"},{"internalType":"uint32","name":"_counterpartNetwork","type":"uint32"},{"internalType":"address","name":"_messengerAddress","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"messengerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"originAddress","type":"address"},{"internalType":"uint32","name":"originNetwork","type":"uint32"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"onMessageReceived","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"target","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
608060405234801561001057600080fd5b50610e47806100206000396000f3fe6080604052600436106100745760003560e01c8063a224ee9c1161004e578063a224ee9c146101bc578063b0138132146101d1578063d4b83992146101f3578063ed1f266814610208576100b4565b80631806b5f214610151578063485cc95514610171578063797594b014610191576100b4565b366100b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100ab90610a9e565b60405180910390fd5b600054610100900473ffffffffffffffffffffffffffffffffffffffff163314156100e6576100e1610228565b61014f565b6100ee61026a565b61014d6000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052505473ffffffffffffffffffffffffffffffffffffffff610100909104169392503491505061029c565b505b005b34801561015d57600080fd5b5061014f61016c3660046108cb565b610324565b34801561017d57600080fd5b5061014f61018c366004610834565b610456565b34801561019d57600080fd5b506101a66105cc565b6040516101b391906109c3565b60405180910390f35b3480156101c857600080fd5b506101a66105e8565b3480156101dd57600080fd5b506101e6610604565b6040516101b39190610d27565b3480156101ff57600080fd5b506101a6610628565b34801561021457600080fd5b5061014f610223366004610868565b610649565b6102686000368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506106eb92505050565b565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100ab90610c47565b6060600060608573ffffffffffffffffffffffffffffffffffffffff1684866040516102c891906109a7565b60006040518083038185875af1925050503d8060008114610305576040519150601f19603f3d011682016040523d82523d6000602084013e61030a565b606091505b50915091508161031b578060208201fd5b95945050505050565b60015473ffffffffffffffffffffffffffffffffffffffff848116911614610378576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100ab906109e4565b60015463ffffffff8381167401000000000000000000000000000000000000000090920416146103d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100ab90610a41565b60025473ffffffffffffffffffffffffffffffffffffffff163314610425576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100ab90610b8d565b6000805461044f90610100900473ffffffffffffffffffffffffffffffffffffffff16838361029c565b5050505050565b60005460ff1615610493576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100ab90610ad3565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905573ffffffffffffffffffffffffffffffffffffffff821661050b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100ab90610bea565b73ffffffffffffffffffffffffffffffffffffffff8116610558576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100ab90610cca565b600080547fffffffffffffffffffffff0000000000000000000000000000000000000000ff1661010073ffffffffffffffffffffffffffffffffffffffff94851602179055600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001691909216179055565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60015474010000000000000000000000000000000000000000900463ffffffff1681565b600054610100900473ffffffffffffffffffffffffffffffffffffffff1681565b6106538484610456565b6001805463ffffffff90931674010000000000000000000000000000000000000000027fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff909316929092179091556002805473ffffffffffffffffffffffffffffffffffffffff9092167fffffffffffffffffffffffff00000000000000000000000000000000000000009092169190911790555050565b600054610100900473ffffffffffffffffffffffffffffffffffffffff163314610741576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100ab90610b30565b6002546001546040517f240ff37800000000000000000000000000000000000000000000000000000000815260009273ffffffffffffffffffffffffffffffffffffffff9081169263240ff378926107c09263ffffffff7401000000000000000000000000000000000000000084041692169086908890600401610d38565b600060405180830381600087803b1580156107da57600080fd5b505af11580156107ee573d6000803e3d6000fd5b505050505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461081a57600080fd5b92915050565b803563ffffffff8116811461081a57600080fd5b60008060408385031215610846578182fd5b61085084846107f6565b915061085f84602085016107f6565b90509250929050565b6000806000806080858703121561087d578182fd5b843561088881610dec565b9350602085013561089881610dec565b9250604085013563ffffffff811681146108b0578283fd5b915060608501356108c081610dec565b939692955090935050565b6000806000606084860312156108df578283fd5b6108e985856107f6565b925060206108f986828701610820565b9250604085013567ffffffffffffffff80821115610915578384fd5b818701915087601f830112610928578384fd5b813581811115610936578485fd5b604051847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401168201018181108482111715610973578687fd5b60405281815283820185018a1015610989578586fd5b81858501868301378585838301015280955050505050509250925092565b600082516109b9818460208701610dbc565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b6020808252603d908201527f504c595f5a4b5f434e523a204f726967696e206164647265737320646f65732060408201527f6e6f74206d6174636820636f756e746572706172742061646472657373000000606082015260800190565b6020808252603d908201527f504c595f5a4b5f434e523a204f726967696e206e6574776f726b20646f65732060408201527f6e6f74206d6174636820636f756e74657270617274206e6574776f726b000000606082015260800190565b6020808252818101527f446f206e6f742073656e642045544820746f207468697320636f6e7472616374604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201527f647920696e697469616c697a6564000000000000000000000000000000000000606082015260800190565b6020808252602d908201527f504c595f5a4b5f434e523a2043616c6c6572206973206e6f742074686520657860408201527f7065637465642073656e64657200000000000000000000000000000000000000606082015260800190565b60208082526027908201527f504c595f5a4b5f434e523a2043616c6c6572206973206e6f7420746865206d6560408201527f7373656e67657200000000000000000000000000000000000000000000000000606082015260800190565b60208082526022908201527f434e523a205461726765742063616e6e6f74206265207a65726f20616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252604b908201527f424153455f504c595f5a4b5f434e523a205f76657269667943726f7373446f6d60408201527f61696e53656e64657228292069732068616e646c6564206279206f6e4d65737360608201527f6167655265636569766564000000000000000000000000000000000000000000608082015260a00190565b60208082526027908201527f434e523a20436f756e746572706172742063616e6e6f74206265207a65726f2060408201527f6164647265737300000000000000000000000000000000000000000000000000606082015260800190565b63ffffffff91909116815260200190565b600063ffffffff8616825273ffffffffffffffffffffffffffffffffffffffff851660208301528315156040830152608060608301528251806080840152610d878160a0850160208701610dbc565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160a00195945050505050565b60005b83811015610dd7578181015183820152602001610dbf565b83811115610de6576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610e0e57600080fd5b5056fea26469706673582212208583cb330d4c62f212baf00ae3058dc912f16474f704e35bf5b6cea6b1ad715c64736f6c634300060c0033
Deployed Bytecode
0x6080604052600436106100745760003560e01c8063a224ee9c1161004e578063a224ee9c146101bc578063b0138132146101d1578063d4b83992146101f3578063ed1f266814610208576100b4565b80631806b5f214610151578063485cc95514610171578063797594b014610191576100b4565b366100b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100ab90610a9e565b60405180910390fd5b600054610100900473ffffffffffffffffffffffffffffffffffffffff163314156100e6576100e1610228565b61014f565b6100ee61026a565b61014d6000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052505473ffffffffffffffffffffffffffffffffffffffff610100909104169392503491505061029c565b505b005b34801561015d57600080fd5b5061014f61016c3660046108cb565b610324565b34801561017d57600080fd5b5061014f61018c366004610834565b610456565b34801561019d57600080fd5b506101a66105cc565b6040516101b391906109c3565b60405180910390f35b3480156101c857600080fd5b506101a66105e8565b3480156101dd57600080fd5b506101e6610604565b6040516101b39190610d27565b3480156101ff57600080fd5b506101a6610628565b34801561021457600080fd5b5061014f610223366004610868565b610649565b6102686000368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506106eb92505050565b565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100ab90610c47565b6060600060608573ffffffffffffffffffffffffffffffffffffffff1684866040516102c891906109a7565b60006040518083038185875af1925050503d8060008114610305576040519150601f19603f3d011682016040523d82523d6000602084013e61030a565b606091505b50915091508161031b578060208201fd5b95945050505050565b60015473ffffffffffffffffffffffffffffffffffffffff848116911614610378576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100ab906109e4565b60015463ffffffff8381167401000000000000000000000000000000000000000090920416146103d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100ab90610a41565b60025473ffffffffffffffffffffffffffffffffffffffff163314610425576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100ab90610b8d565b6000805461044f90610100900473ffffffffffffffffffffffffffffffffffffffff16838361029c565b5050505050565b60005460ff1615610493576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100ab90610ad3565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905573ffffffffffffffffffffffffffffffffffffffff821661050b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100ab90610bea565b73ffffffffffffffffffffffffffffffffffffffff8116610558576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100ab90610cca565b600080547fffffffffffffffffffffff0000000000000000000000000000000000000000ff1661010073ffffffffffffffffffffffffffffffffffffffff94851602179055600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001691909216179055565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60015474010000000000000000000000000000000000000000900463ffffffff1681565b600054610100900473ffffffffffffffffffffffffffffffffffffffff1681565b6106538484610456565b6001805463ffffffff90931674010000000000000000000000000000000000000000027fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff909316929092179091556002805473ffffffffffffffffffffffffffffffffffffffff9092167fffffffffffffffffffffffff00000000000000000000000000000000000000009092169190911790555050565b600054610100900473ffffffffffffffffffffffffffffffffffffffff163314610741576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100ab90610b30565b6002546001546040517f240ff37800000000000000000000000000000000000000000000000000000000815260009273ffffffffffffffffffffffffffffffffffffffff9081169263240ff378926107c09263ffffffff7401000000000000000000000000000000000000000084041692169086908890600401610d38565b600060405180830381600087803b1580156107da57600080fd5b505af11580156107ee573d6000803e3d6000fd5b505050505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461081a57600080fd5b92915050565b803563ffffffff8116811461081a57600080fd5b60008060408385031215610846578182fd5b61085084846107f6565b915061085f84602085016107f6565b90509250929050565b6000806000806080858703121561087d578182fd5b843561088881610dec565b9350602085013561089881610dec565b9250604085013563ffffffff811681146108b0578283fd5b915060608501356108c081610dec565b939692955090935050565b6000806000606084860312156108df578283fd5b6108e985856107f6565b925060206108f986828701610820565b9250604085013567ffffffffffffffff80821115610915578384fd5b818701915087601f830112610928578384fd5b813581811115610936578485fd5b604051847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401168201018181108482111715610973578687fd5b60405281815283820185018a1015610989578586fd5b81858501868301378585838301015280955050505050509250925092565b600082516109b9818460208701610dbc565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b6020808252603d908201527f504c595f5a4b5f434e523a204f726967696e206164647265737320646f65732060408201527f6e6f74206d6174636820636f756e746572706172742061646472657373000000606082015260800190565b6020808252603d908201527f504c595f5a4b5f434e523a204f726967696e206e6574776f726b20646f65732060408201527f6e6f74206d6174636820636f756e74657270617274206e6574776f726b000000606082015260800190565b6020808252818101527f446f206e6f742073656e642045544820746f207468697320636f6e7472616374604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201527f647920696e697469616c697a6564000000000000000000000000000000000000606082015260800190565b6020808252602d908201527f504c595f5a4b5f434e523a2043616c6c6572206973206e6f742074686520657860408201527f7065637465642073656e64657200000000000000000000000000000000000000606082015260800190565b60208082526027908201527f504c595f5a4b5f434e523a2043616c6c6572206973206e6f7420746865206d6560408201527f7373656e67657200000000000000000000000000000000000000000000000000606082015260800190565b60208082526022908201527f434e523a205461726765742063616e6e6f74206265207a65726f20616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252604b908201527f424153455f504c595f5a4b5f434e523a205f76657269667943726f7373446f6d60408201527f61696e53656e64657228292069732068616e646c6564206279206f6e4d65737360608201527f6167655265636569766564000000000000000000000000000000000000000000608082015260a00190565b60208082526027908201527f434e523a20436f756e746572706172742063616e6e6f74206265207a65726f2060408201527f6164647265737300000000000000000000000000000000000000000000000000606082015260800190565b63ffffffff91909116815260200190565b600063ffffffff8616825273ffffffffffffffffffffffffffffffffffffffff851660208301528315156040830152608060608301528251806080840152610d878160a0850160208701610dbc565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160a00195945050505050565b60005b83811015610dd7578181015183820152602001610dbf565b83811115610de6576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610e0e57600080fd5b5056fea26469706673582212208583cb330d4c62f212baf00ae3058dc912f16474f704e35bf5b6cea6b1ad715c64736f6c634300060c0033
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 ]
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.