@zoralabs/coins 2.3.1 → 2.4.0

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.
@@ -1,24 +1,18 @@
1
1
 
2
- > @zoralabs/coins@2.3.1 build:js /home/runner/work/zora-protocol-private/zora-protocol-private/packages/coins
2
+ > @zoralabs/coins@2.4.0 build:js /home/runner/work/zora-protocol-private/zora-protocol-private/packages/coins
3
3
  > pnpm run wagmi:generate && pnpm run copy-abis && pnpm run prettier:write && tsup
4
4
 
5
5
 
6
- > @zoralabs/coins@2.3.1 wagmi:generate /home/runner/work/zora-protocol-private/zora-protocol-private/packages/coins
6
+ > @zoralabs/coins@2.4.0 wagmi:generate /home/runner/work/zora-protocol-private/zora-protocol-private/packages/coins
7
7
  > pnpm run build:contracts:minimal && wagmi generate && pnpm exec rename-generated-abi-casing ./package/wagmiGenerated.ts
8
8
 
9
9
 
10
- > @zoralabs/coins@2.3.1 build:contracts:minimal /home/runner/work/zora-protocol-private/zora-protocol-private/packages/coins
10
+ > @zoralabs/coins@2.4.0 build:contracts:minimal /home/runner/work/zora-protocol-private/zora-protocol-private/packages/coins
11
11
  > forge build --skip test --skip script --no-metadata
12
12
 
13
- Compiling 224 files with Solc 0.8.28
14
- Solc 0.8.28 finished in 97.96s
15
- Compiler run successful with warnings:
16
- Warning (5667): Unused function parameter. Remove or comment out the variable name to silence this warning.
17
- --> test/utils/BaseTest.sol:440:36:
18
- |
19
- 440 | function _deployHooksNonForked(address airlockAddress) internal {
20
- | ^^^^^^^^^^^^^^^^^^^^^^
21
-
13
+ Compiling 227 files with Solc 0.8.28
14
+ Solc 0.8.28 finished in 106.91s
15
+ Compiler run successful!
22
16
  - Validating plugins
23
17
  ✔ Validating plugins
24
18
  - Resolving contracts
@@ -32,129 +26,134 @@ Warning (5667): Unused function parameter. Remove or comment out the variable na
32
26
  ✅ Updated ./package/wagmiGenerated.ts (10 replacements)
33
27
  ✨ All files processed successfully!
34
28
 
35
- > @zoralabs/coins@2.3.1 copy-abis /home/runner/work/zora-protocol-private/zora-protocol-private/packages/coins
29
+ > @zoralabs/coins@2.4.0 copy-abis /home/runner/work/zora-protocol-private/zora-protocol-private/packages/coins
36
30
  > pnpm exec bundle-abis
37
31
 
38
32
 
39
- > @zoralabs/coins@2.3.1 prettier:write /home/runner/work/zora-protocol-private/zora-protocol-private/packages/coins
33
+ > @zoralabs/coins@2.4.0 prettier:write /home/runner/work/zora-protocol-private/zora-protocol-private/packages/coins
40
34
  > prettier --write 'src/**/*.sol' 'test/**/*.sol' 'script/**/*.sol'
41
35
 
42
- src/BaseCoin.sol 772ms (unchanged)
43
- src/ContentCoin.sol 61ms (unchanged)
44
- src/CreatorCoin.sol 103ms (unchanged)
45
- src/deployment/CoinsDeployerBase.sol 373ms (unchanged)
46
- src/hook-registry/ZoraHookRegistry.sol 156ms (unchanged)
47
- src/hooks/deployment/BaseCoinDeployHook.sol 40ms (unchanged)
48
- src/hooks/deployment/BuySupplyWithSwapRouterHook.sol 293ms (unchanged)
49
- src/hooks/deployment/BuySupplyWithV4SwapHook.sol 256ms (unchanged)
50
- src/hooks/HookUpgradeGate.sol 32ms (unchanged)
51
- src/hooks/ZoraV4CoinHook.sol 269ms (unchanged)
52
- src/interfaces/IAirlock.sol 2ms (unchanged)
53
- src/interfaces/ICoin.sol 27ms (unchanged)
36
+ src/BaseCoin.sol 749ms (unchanged)
37
+ src/ContentCoin.sol 55ms (unchanged)
38
+ src/CreatorCoin.sol 98ms (unchanged)
39
+ src/deployment/CoinsDeployerBase.sol 363ms (unchanged)
40
+ src/hook-registry/ZoraHookRegistry.sol 138ms (unchanged)
41
+ src/hooks/deployment/BaseCoinDeployHook.sol 43ms (unchanged)
42
+ src/hooks/deployment/BuySupplyWithSwapRouterHook.sol 241ms (unchanged)
43
+ src/hooks/deployment/BuySupplyWithV4SwapHook.sol 233ms (unchanged)
44
+ src/hooks/HookUpgradeGate.sol 51ms (unchanged)
45
+ src/hooks/ZoraV4CoinHook.sol 224ms (unchanged)
46
+ src/interfaces/IAirlock.sol 4ms (unchanged)
47
+ src/interfaces/ICoin.sol 26ms (unchanged)
54
48
  src/interfaces/ICoinComments.sol 4ms (unchanged)
55
49
  src/interfaces/ICoinDeployHook.sol 2ms (unchanged)
56
50
  src/interfaces/ICoinV3.sol 5ms (unchanged)
57
51
  src/interfaces/ICreatorCoin.sol 2ms (unchanged)
58
- src/interfaces/ICreatorCoinHook.sol 1ms (unchanged)
52
+ src/interfaces/ICreatorCoinHook.sol 2ms (unchanged)
59
53
  src/interfaces/IDeployedCoinVersionLookup.sol 1ms (unchanged)
60
54
  src/interfaces/IDopplerErrors.sol 1ms (unchanged)
61
55
  src/interfaces/IERC7572.sol 1ms (unchanged)
62
- src/interfaces/IHasRewardsRecipients.sol 1ms (unchanged)
63
- src/interfaces/IHooksUpgradeGate.sol 3ms (unchanged)
64
- src/interfaces/IMsgSender.sol 1ms (unchanged)
65
- src/interfaces/INonfungiblePositionManager.sol 16ms (unchanged)
66
- src/interfaces/IPoolConfigEncoding.sol 2ms (unchanged)
67
- src/interfaces/IProtocolRewards.sol 4ms (unchanged)
68
- src/interfaces/ISwapPathRouter.sol 1ms (unchanged)
56
+ src/interfaces/IHasRewardsRecipients.sol 2ms (unchanged)
57
+ src/interfaces/IHooksUpgradeGate.sol 2ms (unchanged)
58
+ src/interfaces/IMsgSender.sol 2ms (unchanged)
59
+ src/interfaces/INonfungiblePositionManager.sol 7ms (unchanged)
60
+ src/interfaces/IPoolConfigEncoding.sol 1ms (unchanged)
61
+ src/interfaces/IProtocolRewards.sol 7ms (unchanged)
62
+ src/interfaces/ISwapPathRouter.sol 3ms (unchanged)
69
63
  src/interfaces/ISwapRouter.sol 1ms (unchanged)
70
- src/interfaces/IUniswapV3Factory.sol 9ms (unchanged)
71
- src/interfaces/IUniswapV3Pool.sol 7ms (unchanged)
72
- src/interfaces/IUniswapV3SwapCallback.sol 4ms (unchanged)
64
+ src/interfaces/ITrustedMsgSenderProviderLookup.sol 1ms (unchanged)
65
+ src/interfaces/IUniswapV3Factory.sol 5ms (unchanged)
66
+ src/interfaces/IUniswapV3Pool.sol 9ms (unchanged)
67
+ src/interfaces/IUniswapV3SwapCallback.sol 3ms (unchanged)
73
68
  src/interfaces/IUpgradeableV4Hook.sol 6ms (unchanged)
74
- src/interfaces/IWETH.sol 3ms (unchanged)
75
- src/interfaces/IZoraFactory.sol 12ms (unchanged)
76
- src/interfaces/IZoraHookRegistry.sol 7ms (unchanged)
77
- src/interfaces/IZoraV4CoinHook.sol 6ms (unchanged)
69
+ src/interfaces/IWETH.sol 5ms (unchanged)
70
+ src/interfaces/IZoraFactory.sol 18ms (unchanged)
71
+ src/interfaces/IZoraHookRegistry.sol 4ms (unchanged)
72
+ src/interfaces/IZoraV4CoinHook.sol 9ms (unchanged)
78
73
  src/libs/CoinCommon.sol 5ms (unchanged)
79
- src/libs/CoinConfigurationVersions.sol 62ms (unchanged)
80
- src/libs/CoinConstants.sol 8ms (unchanged)
81
- src/libs/CoinDopplerMultiCurve.sol 167ms (unchanged)
82
- src/libs/CoinRewardsV4.sol 228ms (unchanged)
83
- src/libs/CoinSetup.sol 50ms (unchanged)
84
- src/libs/DopplerMath.sol 159ms (unchanged)
85
- src/libs/HooksDeployment.sol 129ms (unchanged)
86
- src/libs/PoolStateReader.sol 5ms (unchanged)
87
- src/libs/UniV4SwapHelper.sol 49ms (unchanged)
88
- src/libs/UniV4SwapToCurrency.sol 83ms (unchanged)
89
- src/libs/V4Liquidity.sol 303ms (unchanged)
90
- src/proxy/ZoraFactory.sol 9ms (unchanged)
74
+ src/libs/CoinConfigurationVersions.sol 57ms (unchanged)
75
+ src/libs/CoinConstants.sol 7ms (unchanged)
76
+ src/libs/CoinDopplerMultiCurve.sol 174ms (unchanged)
77
+ src/libs/CoinRewardsV4.sol 210ms (unchanged)
78
+ src/libs/CoinSetup.sol 30ms (unchanged)
79
+ src/libs/DopplerMath.sol 165ms (unchanged)
80
+ src/libs/HooksDeployment.sol 114ms (unchanged)
81
+ src/libs/PoolStateReader.sol 9ms (unchanged)
82
+ src/libs/UniV4SwapHelper.sol 43ms (unchanged)
83
+ src/libs/UniV4SwapToCurrency.sol 74ms (unchanged)
84
+ src/libs/V4Liquidity.sol 322ms (unchanged)
85
+ src/proxy/ZoraFactory.sol 17ms (unchanged)
91
86
  src/types/LpPosition.sol 1ms (unchanged)
92
- src/types/PoolConfiguration.sol 1ms (unchanged)
93
- src/types/PoolState.sol 4ms (unchanged)
94
- src/utils/AutoSwapper.sol 33ms (unchanged)
87
+ src/types/PoolConfiguration.sol 3ms (unchanged)
88
+ src/types/PoolState.sol 2ms (unchanged)
89
+ src/utils/AutoSwapper.sol 29ms (unchanged)
95
90
  src/utils/DeployedCoinVersionLookup.sol 7ms (unchanged)
96
91
  src/utils/MultiOwnable.sol 72ms (unchanged)
92
+ src/utils/TrustedMsgSenderProviderLookup.sol 37ms (unchanged)
97
93
  src/utils/uniswap/BitMath.sol 9ms (unchanged)
98
- src/utils/uniswap/CustomRevert.sol 54ms (unchanged)
99
- src/utils/uniswap/FixedPoint96.sol 1ms (unchanged)
100
- src/utils/uniswap/FullMath.sol 35ms (unchanged)
101
- src/utils/uniswap/LiquidityAmounts.sol 83ms (unchanged)
102
- src/utils/uniswap/SafeCast.sol 26ms (unchanged)
103
- src/utils/uniswap/SqrtPriceMath.sol 115ms (unchanged)
104
- src/utils/uniswap/TickMath.sol 118ms (unchanged)
94
+ src/utils/uniswap/CustomRevert.sol 52ms (unchanged)
95
+ src/utils/uniswap/FixedPoint96.sol 4ms (unchanged)
96
+ src/utils/uniswap/FullMath.sol 45ms (unchanged)
97
+ src/utils/uniswap/LiquidityAmounts.sol 72ms (unchanged)
98
+ src/utils/uniswap/SafeCast.sol 18ms (unchanged)
99
+ src/utils/uniswap/SqrtPriceMath.sol 106ms (unchanged)
100
+ src/utils/uniswap/TickMath.sol 102ms (unchanged)
105
101
  src/utils/uniswap/UnsafeMath.sol 3ms (unchanged)
106
102
  src/version/ContractVersionBase.sol 1ms (unchanged)
107
- src/ZoraFactoryImpl.sol 213ms (unchanged)
108
- test/AutoSwapper.t.sol 92ms (unchanged)
109
- test/BuySupplyWithV4SwapHook.t.sol 254ms (unchanged)
110
- test/Coin.t.sol 217ms (unchanged)
111
- test/CoinRewardsV4.t.sol 16ms (unchanged)
112
- test/CoinUniV4.t.sol 618ms (unchanged)
113
- test/ContentCoinRewards.t.sol 219ms (unchanged)
114
- test/CreatorCoin.t.sol 275ms (unchanged)
115
- test/CreatorCoinRewards.t.sol 188ms (unchanged)
116
- test/DeploymentHooks.t.sol 147ms (unchanged)
117
- test/Factory.t.sol 148ms (unchanged)
118
- test/HooksDeployment.t.sol 49ms (unchanged)
119
- test/LiquidityMigration.t.sol 406ms (unchanged)
120
- test/mocks/MockAirlock.sol 4ms (unchanged)
103
+ src/ZoraFactoryImpl.sol 194ms (unchanged)
104
+ test/AutoSwapper.t.sol 89ms (unchanged)
105
+ test/BuySupplyWithV4SwapHook.t.sol 238ms (unchanged)
106
+ test/Coin.t.sol 219ms (unchanged)
107
+ test/CoinRewardsV4.t.sol 14ms (unchanged)
108
+ test/CoinUniV4.t.sol 605ms (unchanged)
109
+ test/ContentCoinRewards.t.sol 202ms (unchanged)
110
+ test/CreatorCoin.t.sol 233ms (unchanged)
111
+ test/CreatorCoinRewards.t.sol 160ms (unchanged)
112
+ test/DeploymentHooks.t.sol 134ms (unchanged)
113
+ test/Factory.t.sol 138ms (unchanged)
114
+ test/HooksDeployment.t.sol 77ms (unchanged)
115
+ test/LiquidityMigration.t.sol 369ms (unchanged)
116
+ test/mocks/MockAirlock.sol 6ms (unchanged)
121
117
  test/mocks/MockERC20.sol 3ms (unchanged)
122
118
  test/mocks/SimpleERC20.sol 2ms (unchanged)
123
- test/MultiOwnable.t.sol 140ms (unchanged)
124
- test/Upgrades.t.sol 175ms (unchanged)
125
- test/utils/BaseTest.sol 392ms (unchanged)
126
- test/utils/ContractAddresses.sol 3ms (unchanged)
127
- test/utils/DeployedCoinVersionLookup.t.sol 70ms (unchanged)
128
- test/utils/FeeEstimatorHook.sol 45ms (unchanged)
129
- test/utils/hookmate/artifacts/DeployHelper.sol 12ms (unchanged)
130
- test/utils/hookmate/artifacts/Permit2.sol 13ms (unchanged)
131
- test/utils/hookmate/artifacts/UniversalRouter.sol 16ms (unchanged)
132
- test/utils/hookmate/artifacts/V4PoolManager.sol 7ms (unchanged)
133
- test/utils/hookmate/artifacts/V4PositionManager.sol 10ms (unchanged)
134
- test/utils/hookmate/artifacts/V4Quoter.sol 7ms (unchanged)
135
- test/utils/hookmate/artifacts/V4Router.sol 7ms (unchanged)
136
- test/utils/hookmate/constants/AddressConstants.sol 69ms (unchanged)
137
- test/utils/hookmate/interfaces/router/IUniswapV4Router04.sol 25ms (unchanged)
138
- test/utils/hookmate/interfaces/router/PathKey.sol 17ms (unchanged)
139
- test/utils/hookmate/test/utils/SwapFeeEventAsserter.sol 20ms (unchanged)
140
- test/utils/ProtocolRewards.sol 451ms (unchanged)
141
- test/utils/ProxyShim.sol 10ms (unchanged)
142
- test/utils/RewardTestHelpers.sol 76ms (unchanged)
143
- test/V4Liquidity.t.sol 116ms (unchanged)
144
- test/ZoraHookRegistry.t.sol 223ms (unchanged)
145
- script/Deploy.s.sol 15ms (unchanged)
146
- script/DeployAutoSwapper.s.sol 13ms (unchanged)
147
- script/DeployDevFactory.s.sol 6ms (unchanged)
148
- script/DeployPostDeploymentHooks.s.sol 11ms (unchanged)
149
- script/DeployUpgradeGate.s.sol 6ms (unchanged)
150
- script/GenerateDeterministicParams.s.sol 27ms (unchanged)
151
- script/PrintRegisterUpgradePath.s.sol 17ms (unchanged)
152
- script/PrintUpgradeCommand.s.sol 5ms (unchanged)
153
- script/TestBackingCoinSwap.s.sol 87ms (unchanged)
154
- script/TestV4Swap.s.sol 67ms (unchanged)
155
- script/UpgradeCoinImpl.sol 8ms (unchanged)
156
- script/UpgradeFactoryImpl.s.sol 10ms (unchanged)
157
- script/UpgradeHooks.s.sol 8ms (unchanged)
119
+ test/MultiOwnable.t.sol 144ms (unchanged)
120
+ test/TrustedMsgSenderProviderLookup.t.sol 85ms (unchanged)
121
+ test/Upgrades.t.sol 163ms (unchanged)
122
+ test/utils/BaseTest.sol 414ms (unchanged)
123
+ test/utils/ContractAddresses.sol 5ms (unchanged)
124
+ test/utils/DeployedCoinVersionLookup.t.sol 75ms (unchanged)
125
+ test/utils/FeeEstimatorHook.sol 44ms (unchanged)
126
+ test/utils/hookmate/artifacts/DeployHelper.sol 9ms (unchanged)
127
+ test/utils/hookmate/artifacts/Permit2.sol 6ms (unchanged)
128
+ test/utils/hookmate/artifacts/UniversalRouter.sol 10ms (unchanged)
129
+ test/utils/hookmate/artifacts/V4PoolManager.sol 8ms (unchanged)
130
+ test/utils/hookmate/artifacts/V4PositionManager.sol 12ms (unchanged)
131
+ test/utils/hookmate/artifacts/V4Quoter.sol 6ms (unchanged)
132
+ test/utils/hookmate/artifacts/V4Router.sol 13ms (unchanged)
133
+ test/utils/hookmate/constants/AddressConstants.sol 101ms (unchanged)
134
+ test/utils/hookmate/interfaces/router/IUniswapV4Router04.sol 13ms (unchanged)
135
+ test/utils/hookmate/interfaces/router/PathKey.sol 21ms (unchanged)
136
+ test/utils/hookmate/test/utils/SwapFeeEventAsserter.sol 24ms (unchanged)
137
+ test/utils/ProtocolRewards.sol 545ms (unchanged)
138
+ test/utils/ProxyShim.sol 5ms (unchanged)
139
+ test/utils/RewardTestHelpers.sol 98ms (unchanged)
140
+ test/utils/TrustedSenderTestHelper.sol 5ms (unchanged)
141
+ test/V4Liquidity.t.sol 162ms (unchanged)
142
+ test/ZoraHookRegistry.t.sol 301ms (unchanged)
143
+ script/Deploy.s.sol 7ms (unchanged)
144
+ script/DeployAutoSwapper.s.sol 22ms (unchanged)
145
+ script/DeployDevFactory.s.sol 5ms (unchanged)
146
+ script/DeployPostDeploymentHooks.s.sol 9ms (unchanged)
147
+ script/DeployTrustedMsgSenderLookup.s.sol 6ms (unchanged)
148
+ script/DeployUpgradeGate.s.sol 5ms (unchanged)
149
+ script/GenerateDeterministicParams.s.sol 26ms (unchanged)
150
+ script/PrintRegisterUpgradePath.s.sol 13ms (unchanged)
151
+ script/PrintUpgradeCommand.s.sol 13ms (unchanged)
152
+ script/TestBackingCoinSwap.s.sol 79ms (unchanged)
153
+ script/TestV4Swap.s.sol 63ms (unchanged)
154
+ script/UpgradeCoinImpl.sol 7ms (unchanged)
155
+ script/UpgradeFactoryImpl.s.sol 9ms (unchanged)
156
+ script/UpgradeHooks.s.sol 9ms (unchanged)
158
157
  CLI Building entry: package/index.ts
159
158
  CLI Using tsconfig: tsconfig.json
160
159
  CLI tsup v8.4.0
@@ -163,9 +162,9 @@ script/UpgradeHooks.s.sol 8ms (unchanged)
163
162
  CLI Cleaning output folder
164
163
  CJS Build start
165
164
  ESM Build start
166
- CJS dist/index.cjs 135.99 KB
167
- CJS dist/index.cjs.map 240.37 KB
168
- CJS ⚡️ Build success in 93ms
169
165
  ESM dist/index.js 134.57 KB
170
166
  ESM dist/index.js.map 240.22 KB
171
- ESM ⚡️ Build success in 97ms
167
+ ESM ⚡️ Build success in 115ms
168
+ CJS dist/index.cjs 135.99 KB
169
+ CJS dist/index.cjs.map 240.37 KB
170
+ CJS ⚡️ Build success in 118ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # @zoralabs/coins
2
2
 
3
+ ## 2.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 09fb2528: Make trusted senders in coin hooks modifiable
8
+
9
+ Trusted message senders can now be added or removed after hook deployment instead of being hardcoded at deployment time.
10
+
11
+ ### Patch Changes
12
+
13
+ - b41a2773: Fix double-counting of fees in burnPositions during liquidity migration
14
+
15
+ Previously, the `burnPositions()` function was incorrectly adding `feesAccrued` to `callerDelta` when recording burned position amounts. Since `callerDelta` already includes accrued fees, this caused fees to be double-counted. This resulted in inflated token amounts being recorded in `BurnedPosition` structs, which could lead to `ERC20InsufficientBalance` errors when attempting to mint positions on a new hook during migration.
16
+
17
+ The fix:
18
+
19
+ - Use only `callerDelta` values directly without adding `feesAccrued`
20
+ - Add defensive balance checking in `mintPositions()` to cap liquidity at available token amounts
21
+ - Prevents migration failures from any remaining rounding discrepancies between burn and mint operations
22
+
23
+ - 8dc766eb: Fix incorrect senderIsTrusted logic for address(0) in ZoraV4CoinHook
24
+
25
+ Removes the special case handling for address(0) in the \_getOriginalMsgSender function that was incorrectly setting senderIsTrusted to true. This behavior was unintentionally changed in commit 09fb2528 which added special handling for address(0). This fix restores the original behavior where address(0) returns false for senderIsTrusted,
26
+
3
27
  ## 2.3.1
4
28
 
5
29
  ### Patch Changes
@@ -94,9 +94,9 @@
94
94
  "name": "getSalt",
95
95
  "inputs": [
96
96
  {
97
- "name": "trustedMessageSenders",
98
- "type": "address[]",
99
- "internalType": "address[]"
97
+ "name": "trustedMsgSenderLookup",
98
+ "type": "address",
99
+ "internalType": "contract ITrustedMsgSenderProviderLookup"
100
100
  }
101
101
  ],
102
102
  "outputs": [
@@ -12,6 +12,11 @@
12
12
  "type": "address",
13
13
  "internalType": "contract IDeployedCoinVersionLookup"
14
14
  },
15
+ {
16
+ "name": "trustedMsgSenderLookup",
17
+ "type": "address",
18
+ "internalType": "contract ITrustedMsgSenderProviderLookup"
19
+ },
15
20
  {
16
21
  "name": "upgradeGate",
17
22
  "type": "address",
@@ -1169,6 +1174,19 @@
1169
1174
  ],
1170
1175
  "stateMutability": "view"
1171
1176
  },
1177
+ {
1178
+ "type": "function",
1179
+ "name": "getTrustedMsgSenderLookup",
1180
+ "inputs": [],
1181
+ "outputs": [
1182
+ {
1183
+ "name": "",
1184
+ "type": "address",
1185
+ "internalType": "contract ITrustedMsgSenderProviderLookup"
1186
+ }
1187
+ ],
1188
+ "stateMutability": "view"
1189
+ },
1172
1190
  {
1173
1191
  "type": "function",
1174
1192
  "name": "initializeFromMigration",
@@ -1891,6 +1909,11 @@
1891
1909
  "name": "SafeCastOverflow",
1892
1910
  "inputs": []
1893
1911
  },
1912
+ {
1913
+ "type": "error",
1914
+ "name": "TrustedMsgSenderLookupCannotBeZeroAddress",
1915
+ "inputs": []
1916
+ },
1894
1917
  {
1895
1918
  "type": "error",
1896
1919
  "name": "UpgradeGateCannotBeZeroAddress",
@@ -0,0 +1,21 @@
1
+ [
2
+ {
3
+ "type": "function",
4
+ "name": "isTrustedMsgSenderProvider",
5
+ "inputs": [
6
+ {
7
+ "name": "sender",
8
+ "type": "address",
9
+ "internalType": "address"
10
+ }
11
+ ],
12
+ "outputs": [
13
+ {
14
+ "name": "",
15
+ "type": "bool",
16
+ "internalType": "bool"
17
+ }
18
+ ],
19
+ "stateMutability": "view"
20
+ }
21
+ ]
@@ -571,6 +571,11 @@
571
571
  "name": "PathMustHaveAtLeastOneStep",
572
572
  "inputs": []
573
573
  },
574
+ {
575
+ "type": "error",
576
+ "name": "TrustedMsgSenderLookupCannotBeZeroAddress",
577
+ "inputs": []
578
+ },
574
579
  {
575
580
  "type": "error",
576
581
  "name": "UpgradeGateCannotBeZeroAddress",
@@ -0,0 +1,215 @@
1
+ [
2
+ {
3
+ "type": "constructor",
4
+ "inputs": [
5
+ {
6
+ "name": "trustedMessageSenders",
7
+ "type": "address[]",
8
+ "internalType": "address[]"
9
+ },
10
+ {
11
+ "name": "initialOwner",
12
+ "type": "address",
13
+ "internalType": "address"
14
+ }
15
+ ],
16
+ "stateMutability": "nonpayable"
17
+ },
18
+ {
19
+ "type": "function",
20
+ "name": "acceptOwnership",
21
+ "inputs": [],
22
+ "outputs": [],
23
+ "stateMutability": "nonpayable"
24
+ },
25
+ {
26
+ "type": "function",
27
+ "name": "addTrustedMsgSenderProviders",
28
+ "inputs": [
29
+ {
30
+ "name": "senders",
31
+ "type": "address[]",
32
+ "internalType": "address[]"
33
+ }
34
+ ],
35
+ "outputs": [],
36
+ "stateMutability": "nonpayable"
37
+ },
38
+ {
39
+ "type": "function",
40
+ "name": "contractVersion",
41
+ "inputs": [],
42
+ "outputs": [
43
+ {
44
+ "name": "",
45
+ "type": "string",
46
+ "internalType": "string"
47
+ }
48
+ ],
49
+ "stateMutability": "pure"
50
+ },
51
+ {
52
+ "type": "function",
53
+ "name": "isTrustedMsgSenderProvider",
54
+ "inputs": [
55
+ {
56
+ "name": "sender",
57
+ "type": "address",
58
+ "internalType": "address"
59
+ }
60
+ ],
61
+ "outputs": [
62
+ {
63
+ "name": "",
64
+ "type": "bool",
65
+ "internalType": "bool"
66
+ }
67
+ ],
68
+ "stateMutability": "view"
69
+ },
70
+ {
71
+ "type": "function",
72
+ "name": "owner",
73
+ "inputs": [],
74
+ "outputs": [
75
+ {
76
+ "name": "",
77
+ "type": "address",
78
+ "internalType": "address"
79
+ }
80
+ ],
81
+ "stateMutability": "view"
82
+ },
83
+ {
84
+ "type": "function",
85
+ "name": "pendingOwner",
86
+ "inputs": [],
87
+ "outputs": [
88
+ {
89
+ "name": "",
90
+ "type": "address",
91
+ "internalType": "address"
92
+ }
93
+ ],
94
+ "stateMutability": "view"
95
+ },
96
+ {
97
+ "type": "function",
98
+ "name": "removeTrustedMsgSenderProviders",
99
+ "inputs": [
100
+ {
101
+ "name": "senders",
102
+ "type": "address[]",
103
+ "internalType": "address[]"
104
+ }
105
+ ],
106
+ "outputs": [],
107
+ "stateMutability": "nonpayable"
108
+ },
109
+ {
110
+ "type": "function",
111
+ "name": "renounceOwnership",
112
+ "inputs": [],
113
+ "outputs": [],
114
+ "stateMutability": "nonpayable"
115
+ },
116
+ {
117
+ "type": "function",
118
+ "name": "transferOwnership",
119
+ "inputs": [
120
+ {
121
+ "name": "newOwner",
122
+ "type": "address",
123
+ "internalType": "address"
124
+ }
125
+ ],
126
+ "outputs": [],
127
+ "stateMutability": "nonpayable"
128
+ },
129
+ {
130
+ "type": "event",
131
+ "name": "OwnershipTransferStarted",
132
+ "inputs": [
133
+ {
134
+ "name": "previousOwner",
135
+ "type": "address",
136
+ "indexed": true,
137
+ "internalType": "address"
138
+ },
139
+ {
140
+ "name": "newOwner",
141
+ "type": "address",
142
+ "indexed": true,
143
+ "internalType": "address"
144
+ }
145
+ ],
146
+ "anonymous": false
147
+ },
148
+ {
149
+ "type": "event",
150
+ "name": "OwnershipTransferred",
151
+ "inputs": [
152
+ {
153
+ "name": "previousOwner",
154
+ "type": "address",
155
+ "indexed": true,
156
+ "internalType": "address"
157
+ },
158
+ {
159
+ "name": "newOwner",
160
+ "type": "address",
161
+ "indexed": true,
162
+ "internalType": "address"
163
+ }
164
+ ],
165
+ "anonymous": false
166
+ },
167
+ {
168
+ "type": "event",
169
+ "name": "TrustedSenderAdded",
170
+ "inputs": [
171
+ {
172
+ "name": "sender",
173
+ "type": "address",
174
+ "indexed": true,
175
+ "internalType": "address"
176
+ }
177
+ ],
178
+ "anonymous": false
179
+ },
180
+ {
181
+ "type": "event",
182
+ "name": "TrustedSenderRemoved",
183
+ "inputs": [
184
+ {
185
+ "name": "sender",
186
+ "type": "address",
187
+ "indexed": true,
188
+ "internalType": "address"
189
+ }
190
+ ],
191
+ "anonymous": false
192
+ },
193
+ {
194
+ "type": "error",
195
+ "name": "OwnableInvalidOwner",
196
+ "inputs": [
197
+ {
198
+ "name": "owner",
199
+ "type": "address",
200
+ "internalType": "address"
201
+ }
202
+ ]
203
+ },
204
+ {
205
+ "type": "error",
206
+ "name": "OwnableUnauthorizedAccount",
207
+ "inputs": [
208
+ {
209
+ "name": "account",
210
+ "type": "address",
211
+ "internalType": "address"
212
+ }
213
+ ]
214
+ }
215
+ ]