@across-protocol/contracts 5.0.16 → 5.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/contracts/interfaces/ICounterfactualBeacon.sol +91 -0
- package/contracts/interfaces/ICounterfactualDeposit.sol +21 -0
- package/contracts/libraries/TronClones.sol +13 -0
- package/contracts/periphery/counterfactual/CounterfactualBeacon.sol +115 -0
- package/contracts/periphery/counterfactual/CounterfactualBeaconBase.sol +121 -0
- package/contracts/periphery/counterfactual/CounterfactualBeaconBootstrap.sol +39 -0
- package/contracts/periphery/counterfactual/CounterfactualDeposit.sol +109 -28
- package/contracts/periphery/counterfactual/CounterfactualDepositCCTP.sol +102 -57
- package/contracts/periphery/counterfactual/CounterfactualDepositFactory.sol +61 -83
- package/contracts/periphery/counterfactual/CounterfactualDepositFactoryTron.sol +14 -24
- package/contracts/periphery/counterfactual/CounterfactualDepositOFT.sol +119 -58
- package/contracts/periphery/counterfactual/CounterfactualDepositSpokePool.sol +122 -90
- package/contracts/periphery/counterfactual/CounterfactualDepositSpokePoolTr.sol +10 -21
- package/contracts/periphery/counterfactual/CounterfactualDepositVanillaCCTP.sol +170 -0
- package/contracts/periphery/counterfactual/CounterfactualImplementationBase.sol +51 -0
- package/dist/broadcast/deployed-addresses.json +34 -10
- package/dist/evm/artifacts/AdminWithdrawManager.sol/AdminWithdrawManager.json +1 -1
- package/dist/evm/artifacts/CounterfactualBeacon.sol/CounterfactualBeacon.json +1 -0
- package/dist/evm/artifacts/CounterfactualBeaconBase.sol/CounterfactualBeaconBase.json +1 -0
- package/dist/evm/artifacts/CounterfactualBeaconBase.sol/IBeaconTarget.json +1 -0
- package/dist/evm/artifacts/CounterfactualBeaconBootstrap.sol/CounterfactualBeaconBootstrap.json +1 -0
- package/dist/evm/artifacts/CounterfactualDeposit.sol/CounterfactualDeposit.json +1 -1
- package/dist/evm/artifacts/CounterfactualDepositCCTP.sol/CounterfactualDepositCCTP.json +1 -1
- package/dist/evm/artifacts/CounterfactualDepositFactory.sol/CounterfactualDepositFactory.json +1 -1
- package/dist/evm/artifacts/CounterfactualDepositFactoryTron.sol/CounterfactualDepositFactoryTron.json +1 -1
- package/dist/evm/artifacts/CounterfactualDepositOFT.sol/CounterfactualDepositOFT.json +1 -1
- package/dist/evm/artifacts/CounterfactualDepositOFT.sol/ISponsoredOFTSrcPeriphery.json +1 -1
- package/dist/evm/artifacts/CounterfactualDepositSpokePool.sol/CounterfactualDepositSpokePool.json +1 -1
- package/dist/evm/artifacts/CounterfactualDepositSpokePoolTr.sol/CounterfactualDepositSpokePoolTr.json +1 -1
- package/dist/evm/artifacts/CounterfactualDepositVanillaCCTP.sol/CounterfactualDepositVanillaCCTP.json +1 -0
- package/dist/evm/artifacts/CounterfactualImplementationBase.sol/CounterfactualImplementationBase.json +1 -0
- package/dist/evm/artifacts/CounterfactualTestBase.sol/CounterfactualTestBase.json +1 -0
- package/dist/evm/artifacts/ICounterfactualBeacon.sol/ICounterfactualBeacon.json +1 -0
- package/dist/evm/artifacts/ICounterfactualDeposit.sol/ICounterfactualDeposit.json +1 -1
- package/dist/evm/artifacts/Ownable2StepUpgradeable.sol/Ownable2StepUpgradeable.json +1 -0
- package/dist/evm/artifacts/OwnableUpgradeable.sol/OwnableUpgradeable.json +1 -1
- package/dist/evm/artifacts/UUPSUpgradeable.sol/UUPSUpgradeable.json +1 -1
- package/dist/src/consts.js +4 -0
- package/package.json +2 -2
- package/dist/evm/artifacts/Clones.sol/Clones.json +0 -1
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
// SPDX-License-Identifier: BUSL-1.1
|
|
2
|
+
pragma solidity ^0.8.0;
|
|
3
|
+
|
|
4
|
+
import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
|
|
5
|
+
import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
|
|
6
|
+
import { ECDSA } from "@openzeppelin/contracts/utils/cryptography/ECDSA.sol";
|
|
7
|
+
import { EIP712 } from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";
|
|
8
|
+
import { ITokenMessengerV2 } from "../../external/interfaces/CCTPInterfaces.sol";
|
|
9
|
+
import { ICounterfactualImplementation } from "../../interfaces/ICounterfactualImplementation.sol";
|
|
10
|
+
import { CounterfactualImplementationBase } from "./CounterfactualImplementationBase.sol";
|
|
11
|
+
import { BPS_SCALAR } from "./CounterfactualConstants.sol";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @notice Route parameters committed to in the merkle leaf (chain-agnostic: no source chain, no token).
|
|
15
|
+
* @dev Burn token is always USDC (`beacon.usdc()`); the CCTP TokenMessenger from `beacon.cctpTokenMessenger()`.
|
|
16
|
+
* `hookData` selects the entrypoint: empty ⇒ `depositForBurn` (plain CCTP); non-empty ⇒
|
|
17
|
+
* `depositForBurnWithHook` (e.g. HyperCore, where `mintRecipient`/`hookData` are Circle's
|
|
18
|
+
* `CctpForwarder` + envelope, opaque here and built off-chain). Fast vs standard is chosen at
|
|
19
|
+
* execution time by the submitter (`maxFeeCctp`/`minFinalityThreshold` in the submitter data).
|
|
20
|
+
*/
|
|
21
|
+
struct VanillaCCTPRouteParams {
|
|
22
|
+
uint32 destinationDomain;
|
|
23
|
+
bytes32 mintRecipient;
|
|
24
|
+
bytes32 destinationCaller;
|
|
25
|
+
bytes hookData;
|
|
26
|
+
/// @dev Selector of the beacon getter for this route's per-chain execution-fee cap (e.g.
|
|
27
|
+
/// `beacon.usdcCctpMaxExecutionFee.selector`, shared with the sponsored CCTP leaf).
|
|
28
|
+
bytes4 maxExecutionFeeGetter;
|
|
29
|
+
/// @dev Selector of the beacon getter for this route's per-chain cap on the submitter-chosen
|
|
30
|
+
/// `maxFeeCctp`, in bps of the burned amount (e.g. `beacon.usdcCctpMaxFeeBps.selector`).
|
|
31
|
+
bytes4 cctpMaxFeeBpsGetter;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* @notice Data supplied by the submitter at execution time.
|
|
36
|
+
*/
|
|
37
|
+
struct VanillaCCTPSubmitterData {
|
|
38
|
+
uint256 amount;
|
|
39
|
+
address executionFeeRecipient;
|
|
40
|
+
uint256 executionFee;
|
|
41
|
+
/// @dev Circle fast-transfer `maxFee` passed to the TokenMessenger (0 ⇒ standard transfer), capped at
|
|
42
|
+
/// the beacon's `<cctpMaxFeeBpsGetter>` bps of the burned amount.
|
|
43
|
+
uint256 maxFeeCctp;
|
|
44
|
+
uint32 minFinalityThreshold;
|
|
45
|
+
uint32 signatureDeadline;
|
|
46
|
+
bytes counterfactualSignature;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* @title CounterfactualDepositVanillaCCTP
|
|
51
|
+
* @notice Counterfactual deposit via vanilla (non-sponsored) Circle CCTP v2.
|
|
52
|
+
* @dev Delegatecalled by the dispatcher (`address(this)` is the proxy / EIP-712 `verifyingContract`).
|
|
53
|
+
* Unlike `CounterfactualDepositCCTP`, this calls Circle's `ITokenMessengerV2` directly (no Across
|
|
54
|
+
* periphery) — USDC mints natively on the destination. TokenMessenger and burn token (USDC) come from
|
|
55
|
+
* the beacon, so the impl holds no chain-specific values and has one address per chain.
|
|
56
|
+
*
|
|
57
|
+
* With no periphery quote signature, the local EIP-712 fee signature binds the full route
|
|
58
|
+
* (`routeParamsHash`), `amount`, `executionFee`, `maxFeeCctp`, `minFinalityThreshold` and
|
|
59
|
+
* `signatureDeadline`. Replay protection is the short `signatureDeadline` (no nonce). ERC-20 only.
|
|
60
|
+
* @custom:security-contact bugs@across.to
|
|
61
|
+
*/
|
|
62
|
+
contract CounterfactualDepositVanillaCCTP is CounterfactualImplementationBase, EIP712 {
|
|
63
|
+
using SafeERC20 for IERC20;
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* @notice Emitted after a vanilla CCTP deposit is successfully executed.
|
|
67
|
+
* @param amount Total input amount (including execution fee).
|
|
68
|
+
* @param executionFeeRecipient Address that received the execution fee.
|
|
69
|
+
* @param executionFee Execution fee paid to the executor (in input token).
|
|
70
|
+
* @param depositAmount Amount burned via CCTP (`amount - executionFee`).
|
|
71
|
+
*/
|
|
72
|
+
event VanillaCCTPDepositExecuted(
|
|
73
|
+
uint256 amount,
|
|
74
|
+
address indexed executionFeeRecipient,
|
|
75
|
+
uint256 executionFee,
|
|
76
|
+
uint256 depositAmount
|
|
77
|
+
);
|
|
78
|
+
|
|
79
|
+
error InvalidSignature();
|
|
80
|
+
error SignatureExpired();
|
|
81
|
+
error MaxExecutionFee();
|
|
82
|
+
error MaxCctpFee();
|
|
83
|
+
|
|
84
|
+
/// @notice EIP-712 typehash binding the fee signature to the route, amount, runtime fees (executor +
|
|
85
|
+
/// Circle), finality threshold, and deadline.
|
|
86
|
+
bytes32 public constant EXECUTE_VANILLA_CCTP_TYPEHASH =
|
|
87
|
+
keccak256(
|
|
88
|
+
"ExecuteVanillaCCTP(bytes32 routeParamsHash,uint256 amount,uint256 executionFee,uint256 maxFeeCctp,uint32 minFinalityThreshold,uint32 signatureDeadline)"
|
|
89
|
+
);
|
|
90
|
+
|
|
91
|
+
constructor() EIP712("CounterfactualDepositVanillaCCTP", "v2.0.0") {}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* @inheritdoc ICounterfactualImplementation
|
|
95
|
+
* @dev Bridges tokens via Circle CCTP v2. `routeParamsEncoded` is ABI-encoded as `VanillaCCTPRouteParams`;
|
|
96
|
+
* `submitterDataEncoded` as `VanillaCCTPSubmitterData`. ERC-20 (USDC) only.
|
|
97
|
+
*/
|
|
98
|
+
function execute(bytes calldata routeParamsEncoded, bytes calldata submitterDataEncoded) external payable {
|
|
99
|
+
VanillaCCTPRouteParams memory routeParams = abi.decode(routeParamsEncoded, (VanillaCCTPRouteParams));
|
|
100
|
+
VanillaCCTPSubmitterData memory submitterData = abi.decode(submitterDataEncoded, (VanillaCCTPSubmitterData));
|
|
101
|
+
|
|
102
|
+
// Sole authorization (no periphery sig): binds the exact leaf params, amount, and fee.
|
|
103
|
+
_verifySignature(keccak256(routeParamsEncoded), submitterData);
|
|
104
|
+
|
|
105
|
+
// Each fee is capped independently against the beacon getter its leaf names.
|
|
106
|
+
if (submitterData.executionFee > _resolveBeaconUint(routeParams.maxExecutionFeeGetter))
|
|
107
|
+
revert MaxExecutionFee();
|
|
108
|
+
uint256 depositAmount = submitterData.amount - submitterData.executionFee;
|
|
109
|
+
if (
|
|
110
|
+
submitterData.maxFeeCctp >
|
|
111
|
+
(depositAmount * _resolveBeaconUint(routeParams.cctpMaxFeeBpsGetter)) / BPS_SCALAR
|
|
112
|
+
) revert MaxCctpFee();
|
|
113
|
+
|
|
114
|
+
ITokenMessengerV2 tokenMessenger = ITokenMessengerV2(_requireConfigured(_beacon().cctpTokenMessenger()));
|
|
115
|
+
address inputToken = _requireConfigured(_beacon().usdc());
|
|
116
|
+
|
|
117
|
+
if (submitterData.executionFee > 0)
|
|
118
|
+
IERC20(inputToken).safeTransfer(submitterData.executionFeeRecipient, submitterData.executionFee);
|
|
119
|
+
|
|
120
|
+
IERC20(inputToken).forceApprove(address(tokenMessenger), depositAmount);
|
|
121
|
+
|
|
122
|
+
// Non-empty `hookData` ⇒ `depositForBurnWithHook` (e.g. HyperCore); empty ⇒ plain `depositForBurn`.
|
|
123
|
+
if (routeParams.hookData.length > 0) {
|
|
124
|
+
tokenMessenger.depositForBurnWithHook(
|
|
125
|
+
depositAmount,
|
|
126
|
+
routeParams.destinationDomain,
|
|
127
|
+
routeParams.mintRecipient,
|
|
128
|
+
inputToken,
|
|
129
|
+
routeParams.destinationCaller,
|
|
130
|
+
submitterData.maxFeeCctp,
|
|
131
|
+
submitterData.minFinalityThreshold,
|
|
132
|
+
routeParams.hookData
|
|
133
|
+
);
|
|
134
|
+
} else {
|
|
135
|
+
tokenMessenger.depositForBurn(
|
|
136
|
+
depositAmount,
|
|
137
|
+
routeParams.destinationDomain,
|
|
138
|
+
routeParams.mintRecipient,
|
|
139
|
+
inputToken,
|
|
140
|
+
routeParams.destinationCaller,
|
|
141
|
+
submitterData.maxFeeCctp,
|
|
142
|
+
submitterData.minFinalityThreshold
|
|
143
|
+
);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
emit VanillaCCTPDepositExecuted(
|
|
147
|
+
submitterData.amount,
|
|
148
|
+
submitterData.executionFeeRecipient,
|
|
149
|
+
submitterData.executionFee,
|
|
150
|
+
depositAmount
|
|
151
|
+
);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
function _verifySignature(bytes32 routeParamsHash, VanillaCCTPSubmitterData memory submitterData) private view {
|
|
155
|
+
if (block.timestamp > submitterData.signatureDeadline) revert SignatureExpired();
|
|
156
|
+
bytes32 structHash = keccak256(
|
|
157
|
+
abi.encode(
|
|
158
|
+
EXECUTE_VANILLA_CCTP_TYPEHASH,
|
|
159
|
+
routeParamsHash,
|
|
160
|
+
submitterData.amount,
|
|
161
|
+
submitterData.executionFee,
|
|
162
|
+
submitterData.maxFeeCctp,
|
|
163
|
+
submitterData.minFinalityThreshold,
|
|
164
|
+
submitterData.signatureDeadline
|
|
165
|
+
)
|
|
166
|
+
);
|
|
167
|
+
if (ECDSA.recover(_hashTypedDataV4(structHash), submitterData.counterfactualSignature) != _beacon().signer())
|
|
168
|
+
revert InvalidSignature();
|
|
169
|
+
}
|
|
170
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// SPDX-License-Identifier: BUSL-1.1
|
|
2
|
+
pragma solidity ^0.8.0;
|
|
3
|
+
|
|
4
|
+
import { ERC1967Utils } from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol";
|
|
5
|
+
import { ICounterfactualBeacon } from "../../interfaces/ICounterfactualBeacon.sol";
|
|
6
|
+
import { ICounterfactualImplementation } from "../../interfaces/ICounterfactualImplementation.sol";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @title CounterfactualImplementationBase
|
|
10
|
+
* @notice Shared base for leaf implementations: resolves the per-chain `CounterfactualBeacon` to read
|
|
11
|
+
* chain-specific config (endpoints, fee signer, tokens) at runtime.
|
|
12
|
+
* @dev Leaves run under delegatecall from the `BeaconProxy`, so `address(this)` is the proxy and the beacon
|
|
13
|
+
* sits in its ERC-1967 beacon slot. Reading config there means a leaf holds **no immutables of its
|
|
14
|
+
* own** and is byte-identical across chains (one CREATE2 address everywhere).
|
|
15
|
+
* @custom:security-contact bugs@across.to
|
|
16
|
+
*/
|
|
17
|
+
abstract contract CounterfactualImplementationBase is ICounterfactualImplementation {
|
|
18
|
+
/// @dev A value the route needs is unset on this chain's beacon (route not live here) — a chain-agnostic
|
|
19
|
+
/// leaf reverts cleanly rather than acting on a zero address.
|
|
20
|
+
error RouteNotConfigured();
|
|
21
|
+
|
|
22
|
+
/// @dev The per-chain registry that anchors this proxy (resolved from the ERC-1967 beacon slot).
|
|
23
|
+
function _beacon() internal view returns (ICounterfactualBeacon) {
|
|
24
|
+
return ICounterfactualBeacon(ERC1967Utils.getBeacon());
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/// @dev Resolve an address from a no-arg `() -> address` beacon getter named by `getter`'s selector
|
|
28
|
+
/// (carried in the leaf, e.g. `beacon.usdc.selector`). A failed call / non-32-byte return yields
|
|
29
|
+
/// `address(0)`, which callers treat as `RouteNotConfigured`. The selector is merkle-committed (and
|
|
30
|
+
/// where applicable signature-bound), so trusted; a bad selector can only revert here or downstream.
|
|
31
|
+
function _resolveBeaconAddress(bytes4 getter) internal view returns (address) {
|
|
32
|
+
(bool ok, bytes memory ret) = address(_beacon()).staticcall(abi.encodeWithSelector(getter));
|
|
33
|
+
if (!ok || ret.length != 32) return address(0);
|
|
34
|
+
return abi.decode(ret, (address));
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/// @dev Resolve a uint from a no-arg `() -> uint256` beacon getter named by `getter`'s selector (carried
|
|
38
|
+
/// in the leaf, e.g. `beacon.usdcCctpMaxExecutionFee.selector`). Reverts `RouteNotConfigured` if the
|
|
39
|
+
/// getter doesn't exist; a configured value of 0 is valid and returned as-is. Merkle/signature-bound.
|
|
40
|
+
function _resolveBeaconUint(bytes4 getter) internal view returns (uint256) {
|
|
41
|
+
(bool ok, bytes memory ret) = address(_beacon()).staticcall(abi.encodeWithSelector(getter));
|
|
42
|
+
if (!ok || ret.length != 32) revert RouteNotConfigured();
|
|
43
|
+
return abi.decode(ret, (uint256));
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/// @dev Revert `RouteNotConfigured` if a beacon-resolved address is unset; otherwise pass it through.
|
|
47
|
+
function _requireConfigured(address addr) internal pure returns (address) {
|
|
48
|
+
if (addr == address(0)) revert RouteNotConfigured();
|
|
49
|
+
return addr;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -119,6 +119,10 @@
|
|
|
119
119
|
"address": "0x4577980eBFCC6fC8ff516aC06dA9e729c40cA57c",
|
|
120
120
|
"block_number": 24421479
|
|
121
121
|
},
|
|
122
|
+
"Universal_Adapter_43114": {
|
|
123
|
+
"address": "0x1af659333172DC502bD71Cf5b889521C97751838",
|
|
124
|
+
"block_number": 25237918
|
|
125
|
+
},
|
|
122
126
|
"Blast_Adapter": {
|
|
123
127
|
"address": "0xF2bEf5E905AAE0295003ab14872F811E914EdD81",
|
|
124
128
|
"block_number": 20221494
|
|
@@ -249,10 +253,10 @@
|
|
|
249
253
|
"block_number": 24690994,
|
|
250
254
|
"transaction_hash": "0x869926fddcfc39456d4479bda50e644dac93aea0f731e1313ac7d5b80134db6c"
|
|
251
255
|
},
|
|
252
|
-
"
|
|
253
|
-
"address": "
|
|
254
|
-
"block_number":
|
|
255
|
-
"transaction_hash": "
|
|
256
|
+
"Universal_Adapter_5042": {
|
|
257
|
+
"address": "0xCA5f9960022078F3585a188e06F910eeC29c7eBD",
|
|
258
|
+
"block_number": 25298498,
|
|
259
|
+
"transaction_hash": "0x1197bf71f2b21d584af3290b68dfc6b696db3df90422296a0fe338e1bda15def"
|
|
256
260
|
},
|
|
257
261
|
"WithdrawImplementation": {
|
|
258
262
|
"address": "0x679D43e1d304001538Bf083D421484fD67c00a45",
|
|
@@ -1208,6 +1212,26 @@
|
|
|
1208
1212
|
}
|
|
1209
1213
|
}
|
|
1210
1214
|
},
|
|
1215
|
+
"5042": {
|
|
1216
|
+
"chain_name": "ARC",
|
|
1217
|
+
"contracts": {
|
|
1218
|
+
"SP1Helios": {
|
|
1219
|
+
"address": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96",
|
|
1220
|
+
"block_number": 4681034,
|
|
1221
|
+
"transaction_hash": "0xc2298162df46d25eb878ac7d93d8a07294e9dad0b68d6465835c99c1b522146a"
|
|
1222
|
+
},
|
|
1223
|
+
"Safe": {
|
|
1224
|
+
"address": "0xd396CcB6770EAB84045c9Bce2939c478639E2A7F",
|
|
1225
|
+
"block_number": 4828640,
|
|
1226
|
+
"transaction_hash": "0x1b85cbfcdb96c1c44fa09fb20add19099e5569fee57c326e4431381ab13da747"
|
|
1227
|
+
},
|
|
1228
|
+
"SpokePool": {
|
|
1229
|
+
"address": "0x9b4A302A548c7e313c2b74C461db7b84d3074A84",
|
|
1230
|
+
"block_number": 4694834,
|
|
1231
|
+
"transaction_hash": "0x31aaba9cef65a567fb5d9cf60217391511e77b9a82c7c24da2e8a3b278e31134"
|
|
1232
|
+
}
|
|
1233
|
+
}
|
|
1234
|
+
},
|
|
1211
1235
|
"8453": {
|
|
1212
1236
|
"chain_name": "Base",
|
|
1213
1237
|
"contracts": {
|
|
@@ -1478,9 +1502,9 @@
|
|
|
1478
1502
|
"chain_name": "Avalanche",
|
|
1479
1503
|
"contracts": {
|
|
1480
1504
|
"SP1Helios": {
|
|
1481
|
-
"address": "
|
|
1482
|
-
"block_number":
|
|
1483
|
-
"transaction_hash": "
|
|
1505
|
+
"address": "0xB0b9f73B424AD8dc58156C2AE0D7A1115D1EcCd1",
|
|
1506
|
+
"block_number": 88664645,
|
|
1507
|
+
"transaction_hash": "0x0e487629ea2cdd600db790dc6e64b629f0b22067554140d83637c95febdb28c1"
|
|
1484
1508
|
},
|
|
1485
1509
|
"Safe": {
|
|
1486
1510
|
"address": "0xd396CcB6770EAB84045c9Bce2939c478639E2A7F",
|
|
@@ -1488,9 +1512,9 @@
|
|
|
1488
1512
|
"transaction_hash": "0x200b98e4ec8b7f99c0a41ea4732e8a11a5c2d4f6915c9d7d43f0bc083de8204a"
|
|
1489
1513
|
},
|
|
1490
1514
|
"SpokePool": {
|
|
1491
|
-
"address": "
|
|
1492
|
-
"block_number":
|
|
1493
|
-
"transaction_hash": "
|
|
1515
|
+
"address": "0x7ba7db70aE338bA74dab72A29b740BC7AcD5AF1b",
|
|
1516
|
+
"block_number": 88664658,
|
|
1517
|
+
"transaction_hash": "0x4a25e5db22f142438cedbd781768abf67ac01e6a2c591f7300fdf27103fefcd8"
|
|
1494
1518
|
}
|
|
1495
1519
|
}
|
|
1496
1520
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"abi":[{"type":"constructor","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_directWithdrawer","type":"address","internalType":"address"},{"name":"_signer","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"SIGNED_WITHDRAW_TYPEHASH","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"directWithdraw","inputs":[{"name":"depositAddress","type":"address","internalType":"address"},{"name":"implementation","type":"address","internalType":"address"},{"name":"params","type":"bytes","internalType":"bytes"},{"name":"submitterData","type":"bytes","internalType":"bytes"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"directWithdrawer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDirectWithdrawer","inputs":[{"name":"_directWithdrawer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSigner","inputs":[{"name":"_signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"signedWithdrawToUser","inputs":[{"name":"depositAddress","type":"address","internalType":"address"},{"name":"implementation","type":"address","internalType":"address"},{"name":"params","type":"bytes","internalType":"bytes"},{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"signature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"signer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"DirectWithdrawerUpdated","inputs":[{"name":"directWithdrawer","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SignerUpdated","inputs":[{"name":"signer","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ECDSAInvalidSignature","inputs":[]},{"type":"error","name":"ECDSAInvalidSignatureLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ECDSAInvalidSignatureS","inputs":[{"name":"s","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"InvalidSignature","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"SignatureExpired","inputs":[]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]},{"type":"error","name":"Unauthorized","inputs":[]}],"bytecode":"0x6101608060405234610217576060816113618038038091610020828561021b565b8339810103126102175761003381610252565b9061004c604061004560208401610252565b9201610252565b916040519061005c60408361021b565b60148252602082017f41646d696e57697468647261774d616e6167657200000000000000000000000081526040519261009660408561021b565b6006845265076312e302e360d41b60208501908152926001600160a01b03168015610204575f80546001600160a01b03198116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a361010481610266565b6101205261011184610401565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a0815261017a60c08261021b565b5190206080523060c052600380546001600160a01b039283166001600160a01b03199182161790915560048054939092169216919091179055604051610e27908161053a823960805181610bde015260a05181610c9b015260c05181610baf015260e05181610c2d01526101005181610c530152610120518161064e015261014051816106770152f35b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b601f909101601f19168101906001600160401b0382119082101761023e57604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361021757565b908151602081105f146102e0575090601f8151116102a0576020815191015160208210610291571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b03811161023e57600154600181811c911680156103f7575b60208210146103e357601f81116103b0575b50602092601f821160011461034f57928192935f92610344575b50508160011b915f199060031b1c19161760015560ff90565b015190505f8061032b565b601f1982169360015f52805f20915f5b8681106103985750836001959610610380575b505050811b0160015560ff90565b01515f1960f88460031b161c191690555f8080610372565b9192602060018192868501518155019401920161035f565b60015f52601f60205f20910160051c810190601f830160051c015b8181106103d85750610311565b5f81556001016103cb565b634e487b7160e01b5f52602260045260245ffd5b90607f16906102ff565b908151602081105f1461042c575090601f8151116102a0576020815191015160208210610291571790565b6001600160401b03811161023e57600254600181811c9116801561052f575b60208210146103e357601f81116104fc575b50602092601f821160011461049b57928192935f92610490575b50508160011b915f199060031b1c19161760025560ff90565b015190505f80610477565b601f1982169360025f52805f20915f5b8681106104e457508360019596106104cc575b505050811b0160025560ff90565b01515f1960f88460031b161c191690555f80806104be565b919260206001819286850151815501940192016104ab565b60025f52601f60205f20910160051c810190601f830160051c015b818110610524575061045d565b5f8155600101610517565b90607f169061044b56fe6080806040526004361015610012575f80fd5b5f905f3560e01c908163238ac9331461080d575080636b0ae346146107e75780636c19e78314610785578063715018a61461072e57806384b0196e146106365780638a7d16fe146105fc5780638da5cb5b146105d7578063b029d31d14610498578063b1729e9e14610183578063f0e623281461011f5763f2fde38b14610097575f80fd5b3461011c57602036600319011261011c576001600160a01b036100b8610830565b6100c0610986565b168015610108576001600160a01b038254826001600160a01b03198216178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b631e4fbdf760e01b82526004829052602482fd5b80fd5b503461011c57602036600319011261011c576001600160a01b03610141610830565b610149610986565b16806001600160a01b031960035416176003557fab1acc635867544f6e57f56aa166a9191ee98b915619a8da4bedac9c5515b33c8280a280f35b503461011c5761010036600319011261011c5761019e610830565b906101a7610846565b9160443567ffffffffffffffff8111610494576101c8903690600401610894565b8392919250606435916001600160a01b038316809303610490576084359560a43567ffffffffffffffff811161048c576102069036906004016108c2565b91909260c4359060e43567ffffffffffffffff81116104885761022d903690600401610894565b919092804211610479578b969594939291604291604051906001600160a01b0360208301937f67d7709abfb0559e9bdb038c20c0efbf6759af3fffffa190c480be470871028a855216998a60408401528c6060840152608083015260a082015260a0815261029c60c0826108f3565b5190206102a7610ba5565b906040519161190160f01b835260028301526022820152209067ffffffffffffffff811161046557604051926102e7601f8301601f1916602001856108f3565b818452368282011161046157918b602083869461030e968361031799013784010152610cc1565b90929192610cfb565b6001600160a01b03806004541691160361045257604087868101031261043a576040519860408a018a811067ffffffffffffffff82111761043e5760208a9b6001600160a01b039260405261036b8b61085c565b8152610378828c0161085c565b91829101526040519860208a01521660408801526060870152606086526103a06080876108f3565b833b1561043a5761040d6001600160a01b03938997936103fb89956103e96040519c8d9b8c9a8b996398b9379360e01b8b521660048a0152608060248a01526084890191610929565b86810360031901604488015290610870565b84810360031901606486015291610949565b03925af1801561042f5761041e5750f35b81610428916108f3565b61011c5780f35b6040513d84823e3d90fd5b8780fd5b634e487b7160e01b8a52604160045260248afd5b638baa579f60e01b8852600488fd5b8b80fd5b634e487b7160e01b8b52604160045260248bfd5b630819bdcd60e01b8b5260048bfd5b8980fd5b8680fd5b8480fd5b8280fd5b50346105c55760a03660031901126105c5576104b2610830565b6104ba610846565b9060443567ffffffffffffffff81116105c5576104db903690600401610894565b909260643567ffffffffffffffff81116105c5576104fd903690600401610894565b60849291923567ffffffffffffffff81116105c5576105209036906004016108c2565b9290956001600160a01b036003541633036105c9576001600160a01b031693843b156105c5575f966001600160a01b03946103fb61059a938a966105886040519d8e9c8d9b8c9a6398b9379360e01b8c521660048b0152608060248b015260848a0191610929565b87810360031901604489015291610929565b03925af180156105ba576105ac575080f35b6105b891505f906108f3565b005b6040513d5f823e3d90fd5b5f80fd5b6282b42960e81b5f5260045ffd5b346105c5575f3660031901126105c55760206001600160a01b035f5416604051908152f35b346105c5575f3660031901126105c55760206040517f67d7709abfb0559e9bdb038c20c0efbf6759af3fffffa190c480be470871028a8152f35b346105c5575f3660031901126105c5576106d26106727f00000000000000000000000000000000000000000000000000000000000000006109ac565b61069b7f0000000000000000000000000000000000000000000000000000000000000000610ad5565b60206106e0604051926106ae83856108f3565b5f84525f368137604051958695600f60f81b875260e08588015260e0870190610870565b908582036040870152610870565b4660608501523060808501525f60a085015283810360c08501528180845192838152019301915f5b82811061071757505050500390f35b835185528695509381019392810192600101610708565b346105c5575f3660031901126105c557610746610986565b5f6001600160a01b0381546001600160a01b031981168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346105c55760203660031901126105c5576001600160a01b036107a6610830565b6107ae610986565b16806001600160a01b031960045416176004557f5553331329228fbd4123164423717a4a7539f6dfa1c3279a923b98fd681a6c735f80a2005b346105c5575f3660031901126105c55760206001600160a01b0360035416604051908152f35b346105c5575f3660031901126105c5576020906001600160a01b03600454168152f35b600435906001600160a01b03821682036105c557565b602435906001600160a01b03821682036105c557565b35906001600160a01b03821682036105c557565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9181601f840112156105c55782359167ffffffffffffffff83116105c557602083818601950101116105c557565b9181601f840112156105c55782359167ffffffffffffffff83116105c5576020808501948460051b0101116105c557565b90601f8019910116810190811067ffffffffffffffff82111761091557604052565b634e487b7160e01b5f52604160045260245ffd5b908060209392818452848401375f828201840152601f01601f1916010190565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116105c55760209260051b809284830137010190565b6001600160a01b035f5416330361099957565b63118cdaa760e01b5f523360045260245ffd5b60ff81146109f25760ff811690601f82116109e357604051916109d06040846108f3565b6020808452838101919036833783525290565b632cd44ac360e21b5f5260045ffd5b506040515f6001548060011c9160018216918215610acb575b602084108314610ab7578385528492908115610a985750600114610a39575b610a36925003826108f3565b90565b5060015f90815290917fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b818310610a7c575050906020610a3692820101610a2a565b6020919350806001915483858801015201910190918392610a64565b60209250610a3694915060ff191682840152151560051b820101610a2a565b634e487b7160e01b5f52602260045260245ffd5b92607f1692610a0b565b60ff8114610af95760ff811690601f82116109e357604051916109d06040846108f3565b506040515f6002548060011c9160018216918215610b9b575b602084108314610ab7578385528492908115610a985750600114610b3c57610a36925003826108f3565b5060025f90815290917f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b818310610b7f575050906020610a3692820101610a2a565b6020919350806001915483858801015201910190918392610b67565b92607f1692610b12565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480610c98575b15610c00577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152610c9260c0826108f3565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610bd7565b8151919060418303610cf157610cea9250602082015190606060408401519301515f1a90610d6f565b9192909190565b50505f9160029190565b6004811015610d5b5780610d0d575050565b60018103610d245763f645eedf60e01b5f5260045ffd5b60028103610d3f575063fce698f760e01b5f5260045260245ffd5b600314610d495750565b6335e2f38360e21b5f5260045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610de6579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156105ba575f516001600160a01b03811615610ddc57905f905f90565b505f906001905f90565b5050505f916003919056fea26469706673582212202a85e4cc2308ccd9bc0570cdb8a9cb7f2946fe0bc13a6e299fa070f9563b4f8164736f6c634300081e0033"}
|
|
1
|
+
{"abi":[{"type":"constructor","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_directWithdrawer","type":"address","internalType":"address"},{"name":"_signer","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"SIGNED_WITHDRAW_TYPEHASH","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"directWithdraw","inputs":[{"name":"depositAddress","type":"address","internalType":"address"},{"name":"implementation","type":"address","internalType":"address"},{"name":"params","type":"bytes","internalType":"bytes"},{"name":"submitterData","type":"bytes","internalType":"bytes"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"directWithdrawer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDirectWithdrawer","inputs":[{"name":"_directWithdrawer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSigner","inputs":[{"name":"_signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"signedWithdrawToUser","inputs":[{"name":"depositAddress","type":"address","internalType":"address"},{"name":"implementation","type":"address","internalType":"address"},{"name":"params","type":"bytes","internalType":"bytes"},{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"signature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"signer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"DirectWithdrawerUpdated","inputs":[{"name":"directWithdrawer","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SignerUpdated","inputs":[{"name":"signer","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ECDSAInvalidSignature","inputs":[]},{"type":"error","name":"ECDSAInvalidSignatureLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ECDSAInvalidSignatureS","inputs":[{"name":"s","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"InvalidSignature","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"SignatureExpired","inputs":[]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]},{"type":"error","name":"Unauthorized","inputs":[]}],"bytecode":"0x6101608060405234610217576060816113618038038091610020828561021b565b8339810103126102175761003381610252565b9061004c604061004560208401610252565b9201610252565b916040519061005c60408361021b565b60148252602082017f41646d696e57697468647261774d616e6167657200000000000000000000000081526040519261009660408561021b565b6006845265076312e302e360d41b60208501908152926001600160a01b03168015610204575f80546001600160a01b03198116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a361010481610266565b6101205261011184610401565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a0815261017a60c08261021b565b5190206080523060c052600380546001600160a01b039283166001600160a01b03199182161790915560048054939092169216919091179055604051610e27908161053a823960805181610bde015260a05181610c9b015260c05181610baf015260e05181610c2d01526101005181610c530152610120518161064e015261014051816106770152f35b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b601f909101601f19168101906001600160401b0382119082101761023e57604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361021757565b908151602081105f146102e0575090601f8151116102a0576020815191015160208210610291571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b03811161023e57600154600181811c911680156103f7575b60208210146103e357601f81116103b0575b50602092601f821160011461034f57928192935f92610344575b50508160011b915f199060031b1c19161760015560ff90565b015190505f8061032b565b601f1982169360015f52805f20915f5b8681106103985750836001959610610380575b505050811b0160015560ff90565b01515f1960f88460031b161c191690555f8080610372565b9192602060018192868501518155019401920161035f565b60015f52601f60205f20910160051c810190601f830160051c015b8181106103d85750610311565b5f81556001016103cb565b634e487b7160e01b5f52602260045260245ffd5b90607f16906102ff565b908151602081105f1461042c575090601f8151116102a0576020815191015160208210610291571790565b6001600160401b03811161023e57600254600181811c9116801561052f575b60208210146103e357601f81116104fc575b50602092601f821160011461049b57928192935f92610490575b50508160011b915f199060031b1c19161760025560ff90565b015190505f80610477565b601f1982169360025f52805f20915f5b8681106104e457508360019596106104cc575b505050811b0160025560ff90565b01515f1960f88460031b161c191690555f80806104be565b919260206001819286850151815501940192016104ab565b60025f52601f60205f20910160051c810190601f830160051c015b818110610524575061045d565b5f8155600101610517565b90607f169061044b56fe6080806040526004361015610012575f80fd5b5f905f3560e01c908163238ac9331461080d575080636b0ae346146107e75780636c19e78314610785578063715018a61461072e57806384b0196e146106365780638a7d16fe146105fc5780638da5cb5b146105d7578063b029d31d14610498578063b1729e9e14610183578063f0e623281461011f5763f2fde38b14610097575f80fd5b3461011c57602036600319011261011c576001600160a01b036100b8610830565b6100c0610986565b168015610108576001600160a01b038254826001600160a01b03198216178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b631e4fbdf760e01b82526004829052602482fd5b80fd5b503461011c57602036600319011261011c576001600160a01b03610141610830565b610149610986565b16806001600160a01b031960035416176003557fab1acc635867544f6e57f56aa166a9191ee98b915619a8da4bedac9c5515b33c8280a280f35b503461011c5761010036600319011261011c5761019e610830565b906101a7610846565b9160443567ffffffffffffffff8111610494576101c8903690600401610894565b8392919250606435916001600160a01b038316809303610490576084359560a43567ffffffffffffffff811161048c576102069036906004016108c2565b91909260c4359060e43567ffffffffffffffff81116104885761022d903690600401610894565b919092804211610479578b969594939291604291604051906001600160a01b0360208301937f67d7709abfb0559e9bdb038c20c0efbf6759af3fffffa190c480be470871028a855216998a60408401528c6060840152608083015260a082015260a0815261029c60c0826108f3565b5190206102a7610ba5565b906040519161190160f01b835260028301526022820152209067ffffffffffffffff811161046557604051926102e7601f8301601f1916602001856108f3565b818452368282011161046157918b602083869461030e968361031799013784010152610cc1565b90929192610cfb565b6001600160a01b03806004541691160361045257604087868101031261043a576040519860408a018a811067ffffffffffffffff82111761043e5760208a9b6001600160a01b039260405261036b8b61085c565b8152610378828c0161085c565b91829101526040519860208a01521660408801526060870152606086526103a06080876108f3565b833b1561043a5761040d6001600160a01b03938997936103fb89956103e96040519c8d9b8c9a8b996398b9379360e01b8b521660048a0152608060248a01526084890191610929565b86810360031901604488015290610870565b84810360031901606486015291610949565b03925af1801561042f5761041e5750f35b81610428916108f3565b61011c5780f35b6040513d84823e3d90fd5b8780fd5b634e487b7160e01b8a52604160045260248afd5b638baa579f60e01b8852600488fd5b8b80fd5b634e487b7160e01b8b52604160045260248bfd5b630819bdcd60e01b8b5260048bfd5b8980fd5b8680fd5b8480fd5b8280fd5b50346105c55760a03660031901126105c5576104b2610830565b6104ba610846565b9060443567ffffffffffffffff81116105c5576104db903690600401610894565b909260643567ffffffffffffffff81116105c5576104fd903690600401610894565b60849291923567ffffffffffffffff81116105c5576105209036906004016108c2565b9290956001600160a01b036003541633036105c9576001600160a01b031693843b156105c5575f966001600160a01b03946103fb61059a938a966105886040519d8e9c8d9b8c9a6398b9379360e01b8c521660048b0152608060248b015260848a0191610929565b87810360031901604489015291610929565b03925af180156105ba576105ac575080f35b6105b891505f906108f3565b005b6040513d5f823e3d90fd5b5f80fd5b6282b42960e81b5f5260045ffd5b346105c5575f3660031901126105c55760206001600160a01b035f5416604051908152f35b346105c5575f3660031901126105c55760206040517f67d7709abfb0559e9bdb038c20c0efbf6759af3fffffa190c480be470871028a8152f35b346105c5575f3660031901126105c5576106d26106727f00000000000000000000000000000000000000000000000000000000000000006109ac565b61069b7f0000000000000000000000000000000000000000000000000000000000000000610ad5565b60206106e0604051926106ae83856108f3565b5f84525f368137604051958695600f60f81b875260e08588015260e0870190610870565b908582036040870152610870565b4660608501523060808501525f60a085015283810360c08501528180845192838152019301915f5b82811061071757505050500390f35b835185528695509381019392810192600101610708565b346105c5575f3660031901126105c557610746610986565b5f6001600160a01b0381546001600160a01b031981168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346105c55760203660031901126105c5576001600160a01b036107a6610830565b6107ae610986565b16806001600160a01b031960045416176004557f5553331329228fbd4123164423717a4a7539f6dfa1c3279a923b98fd681a6c735f80a2005b346105c5575f3660031901126105c55760206001600160a01b0360035416604051908152f35b346105c5575f3660031901126105c5576020906001600160a01b03600454168152f35b600435906001600160a01b03821682036105c557565b602435906001600160a01b03821682036105c557565b35906001600160a01b03821682036105c557565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9181601f840112156105c55782359167ffffffffffffffff83116105c557602083818601950101116105c557565b9181601f840112156105c55782359167ffffffffffffffff83116105c5576020808501948460051b0101116105c557565b90601f8019910116810190811067ffffffffffffffff82111761091557604052565b634e487b7160e01b5f52604160045260245ffd5b908060209392818452848401375f828201840152601f01601f1916010190565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116105c55760209260051b809284830137010190565b6001600160a01b035f5416330361099957565b63118cdaa760e01b5f523360045260245ffd5b60ff81146109f25760ff811690601f82116109e357604051916109d06040846108f3565b6020808452838101919036833783525290565b632cd44ac360e21b5f5260045ffd5b506040515f6001548060011c9160018216918215610acb575b602084108314610ab7578385528492908115610a985750600114610a39575b610a36925003826108f3565b90565b5060015f90815290917fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b818310610a7c575050906020610a3692820101610a2a565b6020919350806001915483858801015201910190918392610a64565b60209250610a3694915060ff191682840152151560051b820101610a2a565b634e487b7160e01b5f52602260045260245ffd5b92607f1692610a0b565b60ff8114610af95760ff811690601f82116109e357604051916109d06040846108f3565b506040515f6002548060011c9160018216918215610b9b575b602084108314610ab7578385528492908115610a985750600114610b3c57610a36925003826108f3565b5060025f90815290917f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b818310610b7f575050906020610a3692820101610a2a565b6020919350806001915483858801015201910190918392610b67565b92607f1692610b12565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480610c98575b15610c00577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152610c9260c0826108f3565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610bd7565b8151919060418303610cf157610cea9250602082015190606060408401519301515f1a90610d6f565b9192909190565b50505f9160029190565b6004811015610d5b5780610d0d575050565b60018103610d245763f645eedf60e01b5f5260045ffd5b60028103610d3f575063fce698f760e01b5f5260045260245ffd5b600314610d495750565b6335e2f38360e21b5f5260045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610de6579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156105ba575f516001600160a01b03811615610ddc57905f905f90565b505f906001905f90565b5050505f916003919056fea264697066735822122026ea49056f72b3ea73be4fec7a45b91efc70c1c05483e379ecbc47d71e85c48764736f6c634300081e0033"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"abi":[{"type":"constructor","inputs":[{"name":"config","type":"tuple","internalType":"struct CounterfactualChainConfig","components":[{"name":"signer","type":"address","internalType":"address"},{"name":"spokePool","type":"address","internalType":"address"},{"name":"wrappedNativeToken","type":"address","internalType":"address"},{"name":"nativeToken","type":"address","internalType":"address"},{"name":"cctpSrcPeriphery","type":"address","internalType":"address"},{"name":"cctpTokenMessenger","type":"address","internalType":"address"},{"name":"cctpSourceDomain","type":"uint32","internalType":"uint32"},{"name":"oftSrcPeriphery","type":"address","internalType":"address"},{"name":"oftSrcEid","type":"uint32","internalType":"uint32"},{"name":"usdc","type":"address","internalType":"address"},{"name":"usdt","type":"address","internalType":"address"},{"name":"usdcCctpMaxExecutionFee","type":"uint256","internalType":"uint256"},{"name":"usdcCctpMaxFeeBps","type":"uint256","internalType":"uint256"},{"name":"usdtOftMaxExecutionFee","type":"uint256","internalType":"uint256"},{"name":"usdcSpokePoolMaxExecutionFee","type":"uint256","internalType":"uint256"},{"name":"usdtSpokePoolMaxExecutionFee","type":"uint256","internalType":"uint256"},{"name":"wethSpokePoolMaxExecutionFee","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"UPGRADE_INTERFACE_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"acceptOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cctpSourceDomain","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"cctpSrcPeriphery","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"cctpTokenMessenger","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"implementation","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"owner_","type":"address","internalType":"address"},{"name":"implementation_","type":"address","internalType":"address"},{"name":"upgradeRoot_","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"nativeToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"oftSrcEid","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"oftSrcPeriphery","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setImplementation","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUpgradeRoot","inputs":[{"name":"newUpgradeRoot","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"signer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"spokePool","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeRoot","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"usdc","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"usdcCctpMaxExecutionFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"usdcCctpMaxFeeBps","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"usdcSpokePoolMaxExecutionFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"usdt","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"usdtOftMaxExecutionFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"usdtSpokePoolMaxExecutionFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"wethSpokePoolMaxExecutionFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"wrappedNativeToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"ImplementationSet","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"OwnershipTransferStarted","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UpgradeRootSet","inputs":[{"name":"upgradeRoot","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NotAContract","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"UUPSUnauthorizedCallContext","inputs":[]},{"type":"error","name":"UUPSUnsupportedProxiableUUID","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"WrongBeacon","inputs":[]}],"bytecode":"0x6102c0604052346103c657604051601f6115f638819003918201601f19168301916001600160401b038311848410176103b257808492610220946040528339810103126103c65760405161022081016001600160401b038111828210176103b257610200928391604052610072816103ca565b8352610080602082016103ca565b6020840152610091604082016103ca565b60408401526100a2606082016103ca565b60608401526100b3608082016103ca565b60808401526100c460a082016103ca565b60a08401526100d560c082016103de565b60c08401526100e660e082016103ca565b60e08401526100f861010082016103de565b61010084015261010b61012082016103ca565b61012084015261011e61014082016103ca565b6101408401526101608101516101608401526101808101516101808401526101a08101516101a08401526101c08101516101c08401526101e08101516101e08401520151828201523060805260018060a01b0381511660a05260018060a01b0360208201511660c05260018060a01b0360408201511660e05260018060a01b036060820151166101005260018060a01b036080820151166101205260018060a01b0360a0820151166101405263ffffffff60c0820151166101605260018060a01b0360e0820151166101805263ffffffff610100820151166101a05260018060a01b03610120820151166101c05260018060a01b03610140820151166101e0526101608101518252610180810151610220526101a0810151610240526101c0810151610260526101e08101516102805201516102a0525f5160206115d65f395f51905f525460ff8160401c166103a3576002600160401b03196001600160401b0382160161034d575b6040516111e690816103f082396080518181816109f30152610ada015260a05181610e1b015260c05181610385015260e05181610e5c015261010051816102d4015261012051816106f30152610140518161047a01526101605181610d180152610180518161058c01526101a051816104ba01526101c05181610d5b01526101e05181610dd801526102005181610226015261022051816109b60152610240518161034301526102605181610d9601526102805181610cd901526102a051816102600152f35b6001600160401b0319166001600160401b039081175f5160206115d65f395f51905f52556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f610287565b63f92ee8a960e01b5f5260045ffd5b634e487b7160e01b5f52604160045260245ffd5b5f80fd5b51906001600160a01b03821682036103c657565b519063ffffffff821682036103c65756fe6080806040526004361015610012575f80fd5b5f3560e01c90816317fcb39b14610e3f57508063238ac93314610dfc5780632f48ab7d14610db95780632fab792d14610d7f5780633e413bee14610d3c578063481ca20114610cfc5780634ae2a1ca14610cc25780634f1ef28614610a5257806352d1902d146109d9578063575041b41461099f5780635c60da1b1461095a5780636133f985146107175780636cb953be146106d4578063715018a61461061557806372a0d354146105b057806376181fdb1461056d57806379ba5097146105235780638da5cb5b146104de5780639217670b1461049e5780639748cf7c1461045b578063ac1bcec61461041f578063ad3cb1cc146103a9578063afdac3d614610366578063c448c38c1461032c578063d784d426146102f8578063e1758bd8146102b5578063e30c397814610283578063ea952c0b14610249578063f1873c781461020f5763f2fde38b14610166575f80fd5b3461020b57602036600319011261020b576001600160a01b03610187610e80565b61018f610feb565b16806001600160a01b03195f5160206111915f395f51905f525416175f5160206111915f395f51905f52556001600160a01b037f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227005f80a3005b5f80fd5b3461020b575f36600319011261020b5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461020b575f36600319011261020b5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461020b575f36600319011261020b5760206001600160a01b035f5160206111915f395f51905f525416604051908152f35b3461020b575f36600319011261020b5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461020b57602036600319011261020b5761032a610314610e80565b61031c610feb565b61032581610eb8565b610f6c565b005b3461020b575f36600319011261020b5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461020b575f36600319011261020b5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461020b575f36600319011261020b5760408051906103c88183610e96565b6005825260208201917f352e302e3000000000000000000000000000000000000000000000000000000083528151928391602083525180918160208501528484015e5f828201840152601f01601f19168101030190f35b3461020b575f36600319011261020b5760207fb8f0bb8c74633417634f6191ee000dac3f927914fa2e1d714b73a72668a0150154604051908152f35b3461020b575f36600319011261020b5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461020b575f36600319011261020b57602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461020b575f36600319011261020b5760206001600160a01b037f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005416604051908152f35b3461020b575f36600319011261020b57336001600160a01b035f5160206111915f395f51905f5254160361055a5761032a3361101e565b63118cdaa760e01b5f523360045260245ffd5b3461020b575f36600319011261020b5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461020b57602036600319011261020b576004356105cc610feb565b807fb8f0bb8c74633417634f6191ee000dac3f927914fa2e1d714b73a72668a01501557f13032fb2a63440336603567191896bdd69dbc6ac92c796983b9d66f3b58374e95f80a2005b3461020b575f36600319011261020b5761062d610feb565b6001600160a01b03195f5160206111915f395f51905f5254165f5160206111915f395f51905f52555f6001600160a01b037f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031981167f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461020b575f36600319011261020b5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461020b57606036600319011261020b57610730610e80565b6024356001600160a01b0381169182820361020b57604435917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00549360ff8560401c16159467ffffffffffffffff811680159081610952575b6001149081610948575b15908161093f575b506109305767ffffffffffffffff1981166001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055856108f1575b506107e06110ca565b6107e86110ca565b6001600160a01b038316156108de576108036108149361101e565b61080b6110ca565b61031c57610f6c565b807fb8f0bb8c74633417634f6191ee000dac3f927914fa2e1d714b73a72668a01501557f13032fb2a63440336603567191896bdd69dbc6ac92c796983b9d66f3b58374e95f80a261086157005b68ff0000000000000000197ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b631e4fbdf760e01b5f525f60045260245ffd5b68ffffffffffffffffff191668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055856107d7565b63f92ee8a960e01b5f5260045ffd5b9050158761079b565b303b159150610793565b879150610789565b3461020b575f36600319011261020b5760206001600160a01b037fb8f0bb8c74633417634f6191ee000dac3f927914fa2e1d714b73a72668a015005416604051908152f35b3461020b575f36600319011261020b5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461020b575f36600319011261020b576001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610a435760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b63703e46dd60e11b5f5260045ffd5b604036600319011261020b57610a66610e80565b6024359067ffffffffffffffff821161020b573660238301121561020b57816004013567ffffffffffffffff8111610cae5760405192610ab0601f8301601f191660200185610e96565b818452366024838301011161020b57815f9260246020930183870137840101526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803014908115610c79575b50610a4357610b12610feb565b6040516352d1902d60e01b81526001600160a01b0382169290602081600481875afa5f9181610c45575b50610b545783634c9c8ce360e01b5f5260045260245ffd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc859203610c335750823b15610c2157806001600160a01b03197f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2805115610c095761032a91611108565b505034610c1257005b63b398979f60e01b5f5260045ffd5b634c9c8ce360e01b5f5260045260245ffd5b632a87526960e21b5f5260045260245ffd5b9091506020813d602011610c71575b81610c6160209383610e96565b8101031261020b57519085610b3c565b3d9150610c54565b90506001600160a01b037f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416141583610b05565b634e487b7160e01b5f52604160045260245ffd5b3461020b575f36600319011261020b5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461020b575f36600319011261020b57602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461020b575f36600319011261020b5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461020b575f36600319011261020b5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461020b575f36600319011261020b5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461020b575f36600319011261020b5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461020b575f36600319011261020b576020906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b600435906001600160a01b038216820361020b57565b90601f8019910116810190811067ffffffffffffffff821117610cae57604052565b803b15610f5d576001600160a01b0360205f926004604051809481936349493a4d60e01b8352165afa5f9181610f19575b50610f11575b506001600160a01b0330911603610f0257565b6352a777d160e01b5f5260045ffd5b90505f610eef565b9091506020813d602011610f55575b81610f3560209383610e96565b8101031261020b57516001600160a01b038116810361020b57905f610ee9565b3d9150610f28565b6309ee12d560e01b5f5260045ffd5b6001600160a01b0316806001600160a01b03197fb8f0bb8c74633417634f6191ee000dac3f927914fa2e1d714b73a72668a015005416177fb8f0bb8c74633417634f6191ee000dac3f927914fa2e1d714b73a72668a01500557fab64f92ab780ecbf4f3866f57cee465ff36c89450dcce20237ca7a8d81fb7d135f80a2565b6001600160a01b037f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005416330361055a57565b6001600160a01b03195f5160206111915f395f51905f5254165f5160206111915f395f51905f52556001600160a01b03807f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054921691826001600160a01b03198216177f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c16156110f957565b631afcd79f60e31b5f5260045ffd5b905f8091602081519101845af4808061117d575b1561113c5750506040513d81523d5f602083013e60203d82010160405290565b1561115d576001600160a01b0390639996b31560e01b5f521660045260245ffd5b3d1561116e576040513d5f823e3d90fd5b63d6bda27560e01b5f5260045ffd5b503d15158061111c5750813b151561111c56fe237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00a264697066735822122057ad60fe17fc0e790a4ad51ee9339ac03ea80925b78c5faf01333bcd607fc2f564736f6c634300081e0033f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"abi":[{"type":"function","name":"UPGRADE_INTERFACE_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"acceptOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cctpSourceDomain","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"cctpSrcPeriphery","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"cctpTokenMessenger","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"implementation","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"owner_","type":"address","internalType":"address"},{"name":"implementation_","type":"address","internalType":"address"},{"name":"upgradeRoot_","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"nativeToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"oftSrcEid","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"oftSrcPeriphery","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setImplementation","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUpgradeRoot","inputs":[{"name":"newUpgradeRoot","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"signer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"spokePool","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeRoot","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"usdc","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"usdcCctpMaxExecutionFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"usdcCctpMaxFeeBps","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"usdcSpokePoolMaxExecutionFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"usdt","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"usdtOftMaxExecutionFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"usdtSpokePoolMaxExecutionFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"wethSpokePoolMaxExecutionFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"wrappedNativeToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"ImplementationSet","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"OwnershipTransferStarted","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UpgradeRootSet","inputs":[{"name":"upgradeRoot","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NotAContract","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"UUPSUnauthorizedCallContext","inputs":[]},{"type":"error","name":"UUPSUnsupportedProxiableUUID","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"WrongBeacon","inputs":[]}],"bytecode":"0x"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"abi":[{"type":"function","name":"BEACON","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"}],"bytecode":"0x"}
|
package/dist/evm/artifacts/CounterfactualBeaconBootstrap.sol/CounterfactualBeaconBootstrap.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UPGRADE_INTERFACE_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"acceptOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"owner_","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"OwnershipTransferStarted","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"UUPSUnauthorizedCallContext","inputs":[]},{"type":"error","name":"UUPSUnsupportedProxiableUUID","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}]}],"bytecode":"0x60a080604052346100c257306080525f516020610ad75f395f51905f525460ff8160401c166100b3576002600160401b03196001600160401b03821601610060575b604051610a1090816100c7823960805181818161050e01526105f50152f35b6001600160401b0319166001600160401b039081175f516020610ad75f395f51905f525581527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80610041565b63f92ee8a960e01b5f5260045ffd5b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80634f1ef2861461056d57806352d1902d146104f4578063715018a61461043557806379ba5097146103e95780638da5cb5b146103a4578063ad3cb1cc1461032e578063c4d66de814610157578063e30c3978146101255763f2fde38b1461007c575f80fd5b34610121576020366003190112610121576001600160a01b0361009d6107dd565b6100a5610815565b16806001600160a01b03195f5160206109bb5f395f51905f525416175f5160206109bb5f395f51905f52556001600160a01b037f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227005f80a3005b5f80fd5b34610121575f3660031901126101215760206001600160a01b035f5160206109bb5f395f51905f525416604051908152f35b34610121576020366003190112610121576101706107dd565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00549060ff8260401c16159167ffffffffffffffff811680159081610326575b600114908161031c575b159081610313575b506103045767ffffffffffffffff1981166001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055826102c5575b506102076108f4565b61020f6108f4565b6001600160a01b038116156102b25761022790610848565b61022f6108f4565b61023557005b68ff0000000000000000197ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b631e4fbdf760e01b5f525f60045260245ffd5b68ffffffffffffffffff191668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055826101fe565b63f92ee8a960e01b5f5260045ffd5b905015846101c2565b303b1591506101ba565b8491506101b0565b34610121575f36600319011261012157604080519061034d81836107f3565b6005825260208201917f352e302e3000000000000000000000000000000000000000000000000000000083528151928391602083525180918160208501528484015e5f828201840152601f01601f19168101030190f35b34610121575f3660031901126101215760206001600160a01b037f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005416604051908152f35b34610121575f36600319011261012157336001600160a01b035f5160206109bb5f395f51905f525416036104225761042033610848565b005b63118cdaa760e01b5f523360045260245ffd5b34610121575f3660031901126101215761044d610815565b6001600160a01b03195f5160206109bb5f395f51905f5254165f5160206109bb5f395f51905f52555f6001600160a01b037f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031981167f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610121575f366003190112610121576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361055e5760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b63703e46dd60e11b5f5260045ffd5b6040366003190112610121576105816107dd565b6024359067ffffffffffffffff8211610121573660238301121561012157816004013567ffffffffffffffff81116107c957604051926105cb601f8301601f1916602001856107f3565b818452366024838301011161012157815f9260246020930183870137840101526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803014908115610794575b5061055e5761062d610815565b6040516352d1902d60e01b81526001600160a01b0382169290602081600481875afa5f9181610760575b5061066f5783634c9c8ce360e01b5f5260045260245ffd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc85920361074e5750823b1561073c57806001600160a01b03197f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a28051156107245761042091610932565b50503461072d57005b63b398979f60e01b5f5260045ffd5b634c9c8ce360e01b5f5260045260245ffd5b632a87526960e21b5f5260045260245ffd5b9091506020813d60201161078c575b8161077c602093836107f3565b8101031261012157519085610657565b3d915061076f565b90506001600160a01b037f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416141583610620565b634e487b7160e01b5f52604160045260245ffd5b600435906001600160a01b038216820361012157565b90601f8019910116810190811067ffffffffffffffff8211176107c957604052565b6001600160a01b037f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005416330361042257565b6001600160a01b03195f5160206109bb5f395f51905f5254165f5160206109bb5f395f51905f52556001600160a01b03807f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054921691826001600160a01b03198216177f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561092357565b631afcd79f60e31b5f5260045ffd5b905f8091602081519101845af480806109a7575b156109665750506040513d81523d5f602083013e60203d82010160405290565b15610987576001600160a01b0390639996b31560e01b5f521660045260245ffd5b3d15610998576040513d5f823e3d90fd5b63d6bda27560e01b5f5260045ffd5b503d1515806109465750813b151561094656fe237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00a2646970667358221220631aa9efe3375c387f4959636bfc82a37e5c595627d3e3d52021930f5c3a879c64736f6c634300081e0033f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"abi":[{"type":"receive","stateMutability":"payable"},{"type":"function","name":"execute","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"params","type":"bytes","internalType":"bytes"},{"name":"submitterData","type":"bytes","internalType":"bytes"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"payable"},{"type":"error","name":"InvalidProof","inputs":[]}],"bytecode":"
|
|
1
|
+
{"abi":[{"type":"constructor","inputs":[{"name":"beacon","type":"address","internalType":"contract ICounterfactualBeacon"}],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"BEACON","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ICounterfactualBeacon"}],"stateMutability":"view"},{"type":"function","name":"activeRoot","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"execute","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"params","type":"bytes","internalType":"bytes"},{"name":"submitterData","type":"bytes","internalType":"bytes"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"initialize","inputs":[{"name":"initialRoot","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateRoot","inputs":[{"name":"newRoot","type":"bytes32","internalType":"bytes32"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateRootAndExecute","inputs":[{"name":"newRoot","type":"bytes32","internalType":"bytes32"},{"name":"updateProof","type":"bytes32[]","internalType":"bytes32[]"},{"name":"implementation","type":"address","internalType":"address"},{"name":"params","type":"bytes","internalType":"bytes"},{"name":"submitterData","type":"bytes","internalType":"bytes"},{"name":"executeProof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"RootUpdated","inputs":[{"name":"newRoot","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidProof","inputs":[]},{"type":"error","name":"InvalidUpgradeProof","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"RootUnchanged","inputs":[]}],"bytecode":"0x60a03461010957601f610b3238819003918201601f19168301916001600160401b0383118484101761010d5780849260209460405283398101031261010957516001600160a01b0381168103610109576080525f516020610b125f395f51905f525460ff8160401c166100fa576002600160401b03196001600160401b038216016100a4575b6040516109f0908161012282396080518181816101bb01526106bd0152f35b6001600160401b0319166001600160401b039081175f516020610b125f395f51905f52556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f610085565b63f92ee8a960e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c80633a1b243d1461007957806349493a4d146100745780636da882801461006f5780639498bd711461006a57806398b93793146100655763abb2efdf0361000e576104e8565b61045b565b61021c565b6101df565b61019c565b60c03660031901126101235760043560243567ffffffffffffffff8111610123576100a8903690600401610127565b916100b1610158565b60643567ffffffffffffffff8111610123576100d190369060040161016e565b60849291923567ffffffffffffffff8111610123576100f490369060040161016e565b93909260a4359767ffffffffffffffff89116101235761011b610018993690600401610127565b989097610524565b5f80fd5b9181601f840112156101235782359167ffffffffffffffff8311610123576020808501948460051b01011161012357565b604435906001600160a01b038216820361012357565b9181601f840112156101235782359167ffffffffffffffff8311610123576020838186019501011161012357565b34610123575f3660031901126101235760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101235760403660031901126101235760243560043567ffffffffffffffff821161012357610216610018923690600401610127565b91610639565b34610123576020366003190112610123577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460043567ffffffffffffffff61027e604084901c60ff1615610270565b1590565b9367ffffffffffffffff1690565b1680159081610453575b6001149081610449575b159081610440575b506104315761032390826102fb600167ffffffffffffffff197ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005416177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055565b6103ad577f5b89d334b964a560e5498fb6b9c95b4213116f116bbd1e59c9c85ba95221770055565b61032957005b61037e68ff0000000000000000197ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055565b604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b61040d6801000000000000000068ff0000000000000000197ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005416177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055565b7f5b89d334b964a560e5498fb6b9c95b4213116f116bbd1e59c9c85ba95221770055565b63f92ee8a960e01b5f5260045ffd5b9050155f61029a565b303b159150610292565b839150610288565b6080366003190112610123576004356001600160a01b03811681036101235760243567ffffffffffffffff81116101235761049a90369060040161016e565b9160443567ffffffffffffffff8111610123576104bb90369060040161016e565b906064359467ffffffffffffffff8611610123576104e0610018963690600401610127565b95909461088d565b34610123575f3660031901126101235760207f5b89d334b964a560e5498fb6b9c95b4213116f116bbd1e59c9c85ba95221770054604051908152f35b909161056299989796959493927f5b89d334b964a560e5498fb6b9c95b4213116f116bbd1e59c9c85ba952217700548303610564575b50505061088d565b565b61056d92610639565b5f808061055a565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff8211176105ab57604052565b610575565b9060405191602083015260208252610562604083610589565b90816020910312610123575190565b6040513d5f823e3d90fd5b9291909267ffffffffffffffff84116105ab578360051b90602060405161060c82850182610589565b809681520191810192831161012357905b82821061062957505050565b813581526020918201910161061d565b917f5b89d334b964a560e5498fb6b9c95b4213116f116bbd1e59c9c85ba9522177005483146107b357604080513060208201908152918101859052610698919061069081606081015b03601f198101835282610589565b5190206105b0565b602081519101206040519163560de76360e11b83526020836004816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa80156107ae576107069461026c945f9261077b575b50610701919236916105e3565b610969565b61076c57610767816107577f2cbc14f49c068133583f7cb530018af451c87c1cf1327cf2a4ff4698c4730aa4937f5b89d334b964a560e5498fb6b9c95b4213116f116bbd1e59c9c85ba95221770055565b6040519081529081906020820190565b0390a1565b63662ca6db60e01b5f5260045ffd5b61070192506107a19060203d6020116107a7575b6107998183610589565b8101906105c9565b916106f4565b503d61078f565b6105d8565b6354cd5d5160e01b5f5260045ffd5b67ffffffffffffffff81116105ab57601f01601f191660200190565b9291926107ea826107c2565b916107f86040519384610589565b829481845281830111610123578281602093845f960137010152565b908060209392818452848401375f828201840152601f01601f1916010190565b929061084d9061085b9593604086526040860191610814565b926020818503910152610814565b90565b3d15610888573d9061086f826107c2565b9161087d6040519384610589565b82523d5f602084013e565b606090565b93956109109193929561026c916107016108de886106826106906108b38d36908d6107de565b8051602091820120604080516001600160a01b03909616928601928352850152929182906060820190565b60208151910120927f5b89d334b964a560e5498fb6b9c95b4213116f116bbd1e59c9c85ba952217700549236916105e3565b61095a5761093d5f959461068287966040519485936020850197631f6a1eb960e01b895260248601610834565b51915af461094961085e565b90156109525750565b602081519101fd5b6309bde33960e01b5f5260045ffd5b929091905f915b84518310156109b25760208360051b86010151908181105f146109a1575f52602052600160405f205b920191610970565b905f52602052600160405f20610999565b91509250149056fea26469706673582212201abbde53f58e138fbfe086444722720ac7a41a6fd21609d0372e957477ae6f7c64736f6c634300081e0033f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"abi":[{"type":"constructor","inputs":[{"name":"_srcPeriphery","type":"address","internalType":"address"},{"name":"_sourceDomain","type":"uint32","internalType":"uint32"}],"stateMutability":"nonpayable"},{"type":"function","name":"execute","inputs":[{"name":"params","type":"bytes","internalType":"bytes"},{"name":"submitterData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"sourceDomain","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"srcPeriphery","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"CCTPDepositExecuted","inputs":[{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"executionFeeRecipient","type":"address","indexed":true,"internalType":"address"},{"name":"nonce","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"cctpDeadline","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]}],"bytecode":"0x60c0346100b157601f610ab238819003918201601f19168301916001600160401b038311848410176100b55780849260409485528339810103126100b1578051906001600160a01b03821682036100b157602001519063ffffffff821682036100b15760805260a0526040516109e890816100ca8239608051818181605b0152818161032301528181610507015281816106820152818161076501526107c3015260a051818181609f01526104480152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6101006040526004361015610012575f80fd5b5f5f3560e01c80631f6a1eb9146100c35780638ddb4a89146100825763d248e8951461003c575f80fd5b3461007f578060031936011261007f5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b80fd5b503461007f578060031936011261007f57602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5060403660031901126107225760043567ffffffffffffffff8111610722576100f09036906004016108c9565b60243567ffffffffffffffff8111610722576101109036906004016108c9565b91909260208183810103126107225780359067ffffffffffffffff8211610722576101e08282018483010312610722576102e0604052610151828201610919565b610100528082016020810135610120526040810135610140526060810135610160526080810135610180526101889060a001610919565b6101a05280820160c08101356101c05260e08101356101e05261010081013561020052610120810135610220526101c29061014001610919565b610240526101d58183016101600161092a565b610260526101e88183016101800161092a565b6102805267ffffffffffffffff8183016101a0013511610722576101c09261021b9082018383016101a081013501610938565b6102a0520101356102c0526020818301839003126107225781359167ffffffffffffffff83116107225760a08382018383010312610722576040519260a0840184811067ffffffffffffffff8211176107265760405281810180358552602001356001600160a01b038116900361072257818101602081810135908601526040808201359086015260608082013590860152608001359067ffffffffffffffff8211610722576102cf938301920101610938565b60808201526001600160a01b0360406101000151166101c0610100015180610868575b508151906101c0610100015160e0528160e05181031161073a5760405163095ea7b360e01b5f526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660045260e051830360245260205f60448180865af19060015f5114821615610859575b6040521561074e575b50610100516101205161014051610160516101805160e051939594929391928286038083029363ffffffff9092169290840414908614171561073a5763ffffffff60a0610100015116604088015160608901519160c061010001519360e06101000151956101008001519761012061010001519963ffffffff6101406101000151169b60ff6101606101000151169d60ff6101806101000151166080526101a0610100015160c05260405160a05261024060a051019560a051871067ffffffffffffffff881117610726576127109660405263ffffffff7f00000000000000000000000000000000000000000000000000000000000000001660a05152602060a0510152604060a051015260e0519003606060a0510152608060a051015260a0805101520460c060a051015260e060a051015261010060a051015261012060a051015261014060a051015261016060a051015261018060a05101526101a060a05101526101c060a05101526101e060a051015260805161020060a051015260c05161022060a051015260808101516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163b15610722575f6106759160405180938192635c828f4360e11b83526040600484015263ffffffff60a0515116604484015263ffffffff602060a0510151166064840152604060a05101516084840152606060a051015160a4840152608060a051015160c484015260a08051015160e484015260c060a051015161010484015263ffffffff60e060a05101511661012484015261010060a051015161014484015261012060a051015161016484015261014060a051015161018484015261016060a05101516101a484015261018060a05101516101c48401526101a060a05101516101e484015263ffffffff6101c060a05101511661020484015260ff6101e060a05101511661022484015260ff61020060a05101511661024484015261066361022060a051015161024061026486015261028485019061098e565b8381036003190160248501529061098e565b0381836001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165af1801561071757610702575b507f39c5f15e81023add0ebdd2b2e47d2c3f6301fac8b86a813fc927305f720ad27b606082516001600160a01b03602085015116938260408201519101519060405192835260208301526040820152a280f35b61070f9192505f906108f7565b5f905f6106af565b6040513d5f823e3d90fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b60405163095ea7b360e01b5f526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166004525f60245260205f60448180865af19060015f5114821615610841575b6040521561080e5760405163095ea7b360e01b5f526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660045260e051830360245260205f60448180865af19060015f5114821615610820575b60405261036f575b635274afe760e01b5f5260045260245ffd5b90600181151661083857823b15153d15161690610806565b503d5f823e3d90fd5b90600181151661083857823b15153d151616906107a4565b90823b15153d15161690610366565b6001600160a01b03602084015116906040519163a9059cbb60e01b5f5260045260245260205f60448180865af19060015f51148216156108b1575b6040521561080e575f6102f2565b90600181151661083857823b15153d151616906108a3565b9181601f840112156107225782359167ffffffffffffffff8311610722576020838186019501011161072257565b90601f8019910116810190811067ffffffffffffffff82111761072657604052565b359063ffffffff8216820361072257565b359060ff8216820361072257565b81601f820112156107225780359067ffffffffffffffff8211610726576040519261096d601f8401601f1916602001856108f7565b8284526020838301011161072257815f926020809301838601378301015290565b805180835260209291819084018484015e5f828201840152601f01601f191601019056fea26469706673582212205dd23a9cca6232cf0d4a8259dc8a91936a80d1a63fb2633ab6fbafbd8fa3a79c64736f6c634300081e0033"}
|
|
1
|
+
{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"EXECUTE_CCTP_TYPEHASH","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"execute","inputs":[{"name":"routeParamsEncoded","type":"bytes","internalType":"bytes"},{"name":"submitterDataEncoded","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"CCTPDepositExecuted","inputs":[{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"executionFeeRecipient","type":"address","indexed":true,"internalType":"address"},{"name":"nonce","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"cctpDeadline","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"executionFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"error","name":"ECDSAInvalidSignature","inputs":[]},{"type":"error","name":"ECDSAInvalidSignatureLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ECDSAInvalidSignatureS","inputs":[{"name":"s","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"InvalidSignature","inputs":[]},{"type":"error","name":"MaxExecutionFee","inputs":[]},{"type":"error","name":"RouteNotConfigured","inputs":[]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"SignatureExpired","inputs":[]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]}],"bytecode":"0x6101606040523461014057604051610018604082610144565b6019815260208101907f436f756e7465726661637475616c4465706f7369744343545000000000000000825260405191610053604084610144565b60068352602083019165076322e302e360d41b83526100718161017b565b6101205261007e84610311565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526100e760c082610144565b5190206080523060c05260405161124e908161044a823960805181611005015260a051816110c2015260c05181610fd6015260e051816110540152610100518161107a01526101205181605501526101405181607f0152f35b5f80fd5b601f909101601f19168101906001600160401b0382119082101761016757604052565b634e487b7160e01b5f52604160045260245ffd5b908151602081105f146101f5575090601f8151116101b55760208151910151602082106101a6571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b038111610167575f54600181811c91168015610307575b60208210146102f357601f81116102c1575b50602092601f821160011461026257928192935f92610257575b50508160011b915f199060031b1c1916175f5560ff90565b015190505f8061023f565b601f198216935f8052805f20915f5b8681106102a95750836001959610610291575b505050811b015f5560ff90565b01515f1960f88460031b161c191690555f8080610284565b91926020600181928685015181550194019201610271565b5f8052601f60205f20910160051c810190601f830160051c015b8181106102e85750610225565b5f81556001016102db565b634e487b7160e01b5f52602260045260245ffd5b90607f1690610213565b908151602081105f1461033c575090601f8151116101b55760208151910151602082106101a6571790565b6001600160401b03811161016757600154600181811c9116801561043f575b60208210146102f357601f811161040c575b50602092601f82116001146103ab57928192935f926103a0575b50508160011b915f199060031b1c19161760015560ff90565b015190505f80610387565b601f1982169360015f52805f20915f5b8681106103f457508360019596106103dc575b505050811b0160015560ff90565b01515f1960f88460031b161c191690555f80806103ce565b919260206001819286850151815501940192016103bb565b60015f52601f60205f20910160051c810190601f830160051c015b818110610434575061036d565b5f8155600101610427565b90607f169061035b56fe6101606040526004361015610012575f80fd5b5f5f3560e01c80631f6a1eb914610175578063827e428f1461013a576384b0196e1461003c575f80fd5b346101375780600319360112610137576100db906100797f0000000000000000000000000000000000000000000000000000000000000000610dd9565b906100a37f0000000000000000000000000000000000000000000000000000000000000000610efc565b9060206100e9604051936100b78386610cf7565b8385525f368137604051968796600f60f81b885260e08589015260e0880190610cd3565b908682036040880152610cd3565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b82811061012057505050500390f35b835185528695509381019392810192600101610111565b80fd5b503461013757806003193601126101375760206040517f3aca01b133139006ca054ab0e5b3323da05580be9fcba1e060197e2f2a1ffe668152f35b5060403660031901126109f75760043567ffffffffffffffff81116109f7576101a2903690600401610ca5565b60243567ffffffffffffffff81116109f7576101c2903690600401610ca5565b90928281016020828203126109f757813567ffffffffffffffff81116109f75782016101c0818303126109f7576103206040526101fe81610d19565b6101605260208101356101805260408101356101a05260608101356101c05261022960808201610d19565b6101e05260a08101356102005260c08101356102205260e0810135610240526101008101356102605261025f6101208201610d19565b610280526102706101408201610d2a565b6102a0526102816101608201610d2a565b6102c05261018081013567ffffffffffffffff81116109f7576101a0926102a9918301610d8a565b6102e05201357fffffffff00000000000000000000000000000000000000000000000000000000811681036109f757610300526020828501859003126109f75783359167ffffffffffffffff83116109f75761010083860182870103126109f75760405194610100860186811067ffffffffffffffff8211176109fb5760405280840180358752602001356001600160a01b03811690036109f7578084016020818101359088015260408082013590880152606080820135908801526080808201359088015261037b9060a001610d19565b60a087015260c0848201013567ffffffffffffffff81116109f7576103a7908383019086840101610d8a565b60c087015260e0848201013567ffffffffffffffff81116109f7576103e3946103d4938301920101610d8a565b9260e085019384523691610d54565b6020815191012063ffffffff60a0840151164211610c965761049e916042610495926040860151608087015163ffffffff60a089015116906040519260208401947f3aca01b133139006ca054ab0e5b3323da05580be9fcba1e060197e2f2a1ffe66865260408501526060840152608083015260a082015260a0815261046a60c082610cf7565b519020610475610fcc565b906040519161190160f01b835260028301526022820152209051906110e8565b90929192611122565b6001600160a01b037fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5054169060405163238ac93360e01b8152602081600481865afa9081156109ec576001600160a01b039182915f91610c77575b5016911603610c685760808201515f8063ffffffff60e01b6101a06101600151166040516020810191825260048152610533602482610cf7565b5190855afa3d15610c60573d9061054982610d38565b916105576040519384610cf7565b82523d5f602084013e5b158015610c54575b610c45576020818051810103126109f7576020015110610c365760405163365ca9df60e11b815290602082600481845afa9081156109ec576105b76020926004945f91610c1f575b50610dc7565b61010052604051631f209df760e11b815292839182905afa80156109ec576105e5915f91610bf05750610dc7565b608082015180610b79575b5081516080830151908082810311610a0f5760405163095ea7b360e01b5f526001600160a01b03610100511660045282820360245260205f604481806001600160a01b0389165af19060015f5114821615610b61575b60405215610a64575b600460206001600160a01b037fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5054166040519283809263481ca20160e01b82525afa80156109ec575f61012052610a23575b5061016051610180516101a051610140526101c05190939163ffffffff168383148385038084020483141715610a0f576101e05160408881015160608a01516102005161022051610240805161026051610280516102a05160ff9081166080526102c0511660c0526102e05160e052975160a081905263ffffffff9889169f919e929d949c959b969a9799909816979283019290919067ffffffffffffffff8411908410176109fb57612710966001600160a01b039360405263ffffffff610120511660a05152602060a0510152604060a0510152838303606060a051015216608060a05101526101405160a08051015203020460c060a051015260e060a051015261010060a051015261012060a051015261014060a051015261016060a051015261018060a05101526101a060a05101526101c060a05101526080516101e060a051015260c05161020060a051015260e05161022060a051015260c08101516001600160a01b0361010051163b156109f7575f61095c9160405180938192635c828f4360e11b83526040600484015263ffffffff60a0515116604484015263ffffffff602060a0510151166064840152604060a05101516084840152606060a051015160a4840152608060a051015160c484015260a08051015160e484015260c060a051015161010484015263ffffffff60e060a05101511661012484015261010060a051015161014484015261012060a051015161016484015261014060a051015161018484015261016060a05101516101a484015261018060a05101516101c48401526101a060a05101516101e484015263ffffffff6101c060a05101511661020484015260ff6101e060a05101511661022484015260ff61020060a05101511661024484015261094a61022060a0510151610240610264860152610284850190610cd3565b83810360031901602485015290610cd3565b0381836001600160a01b0361010051165af180156109ec576109d7575b507f36bad085390fb50e9a8f2d4ea2bf705471ef0848a04f8b158498b9071eb6be89608082516001600160a01b036020850151169360408101519083606082015191015191604051938452602084015260408301526060820152a280f35b6109e49192505f90610cf7565b5f905f610979565b6040513d5f823e3d90fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b6020813d602011610a5c575b81610a3c60209383610cf7565b810103126109f7575163ffffffff811681036109f757610120525f6106a1565b3d9150610a2f565b60405163095ea7b360e01b5f526001600160a01b0361010051166004525f60245260205f604481806001600160a01b0389165af19060015f5114821615610b40575b60405215610afa5760405163095ea7b360e01b5f526001600160a01b03610100511660045282820360245260205f604481806001600160a01b0389165af19060015f5114821615610b16575b60405261064f575b6001600160a01b0383635274afe760e01b5f521660045260245ffd5b906001811516610b37576001600160a01b0385163b15153d15161690610af2565b503d5f823e3d90fd5b906001811516610b37576001600160a01b0385163b15153d15161690610aa6565b906001600160a01b0385163b15153d15161690610646565b6001600160a01b038216906001600160a01b03602085015116906040519163a9059cbb60e01b5f5260045260245260205f60448180865af19060015f5114821615610bd8575b6040526105f057635274afe760e01b5f5260045260245ffd5b906001811516610b3757823b15153d15161690610bbf565b610c12915060203d602011610c18575b610c0a8183610cf7565b810190610da8565b5f6105b1565b503d610c00565b610c129150843d8611610c1857610c0a8183610cf7565b6301a7420360e21b5f5260045ffd5b63140c2df160e01b5f5260045ffd5b50602081511415610569565b606090610561565b638baa579f60e01b5f5260045ffd5b610c90915060203d602011610c1857610c0a8183610cf7565b5f6104f9565b630819bdcd60e01b5f5260045ffd5b9181601f840112156109f75782359167ffffffffffffffff83116109f757602083818601950101116109f757565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b90601f8019910116810190811067ffffffffffffffff8211176109fb57604052565b359063ffffffff821682036109f757565b359060ff821682036109f757565b67ffffffffffffffff81116109fb57601f01601f191660200190565b929192610d6082610d38565b91610d6e6040519384610cf7565b8294818452818301116109f7578281602093845f960137010152565b9080601f830112156109f757816020610da593359101610d54565b90565b908160209103126109f757516001600160a01b03811681036109f75790565b6001600160a01b03811615610c455790565b60ff8114610e1f5760ff811690601f8211610e105760405191610dfd604084610cf7565b6020808452838101919036833783525290565b632cd44ac360e21b5f5260045ffd5b506040515f5f548060011c9160018216918215610ef2575b602084108314610ede578385528492908115610ebf5750600114610e62575b610da592500382610cf7565b505f80805290917f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b818310610ea3575050906020610da592820101610e56565b6020919350806001915483858801015201910190918392610e8b565b60209250610da594915060ff191682840152151560051b820101610e56565b634e487b7160e01b5f52602260045260245ffd5b92607f1692610e37565b60ff8114610f205760ff811690601f8211610e105760405191610dfd604084610cf7565b506040515f6001548060011c9160018216918215610fc2575b602084108314610ede578385528492908115610ebf5750600114610f6357610da592500382610cf7565b5060015f90815290917fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b818310610fa6575050906020610da592820101610e56565b6020919350806001915483858801015201910190918392610f8e565b92607f1692610f39565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163014806110bf575b15611027577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a081526110b960c082610cf7565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610ffe565b8151919060418303611118576111119250602082015190606060408401519301515f1a90611196565b9192909190565b50505f9160029190565b60048110156111825780611134575050565b6001810361114b5763f645eedf60e01b5f5260045ffd5b60028103611166575063fce698f760e01b5f5260045260245ffd5b6003146111705750565b6335e2f38360e21b5f5260045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841161120d579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156109ec575f516001600160a01b0381161561120357905f905f90565b505f906001905f90565b5050505f916003919056fea264697066735822122014b8b9aeb0339638396ae1fd32fd59b2f263af24f1ae2df192a33aad0fc8226664736f6c634300081e0033"}
|