@zoralabs/coins 0.9.0 → 1.0.1

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.
Files changed (131) hide show
  1. package/.turbo/turbo-build.log +179 -114
  2. package/CHANGELOG.md +46 -0
  3. package/abis/BaseCoin.json +26 -118
  4. package/abis/BaseTest.json +47 -0
  5. package/abis/BuySupplyWithSwapRouterHook.json +40 -0
  6. package/abis/Coin.json +171 -63
  7. package/abis/CoinDopplerMultiCurve.json +38 -0
  8. package/abis/CoinRewardsV4.json +54 -0
  9. package/abis/CoinTest.json +53 -20
  10. package/abis/CoinUniV4Test.json +1091 -0
  11. package/abis/CoinV4.json +234 -211
  12. package/abis/DeployScript.json +47 -0
  13. package/abis/DeployedCoinVersionLookup.json +21 -0
  14. package/abis/DeployedCoinVersionLookupTest.json +716 -0
  15. package/abis/DifferentNamespaceVersionLookup.json +39 -0
  16. package/abis/DopplerUniswapV3Test.json +49 -93
  17. package/abis/ERC20.json +310 -0
  18. package/abis/FactoryTest.json +85 -7
  19. package/abis/FeeEstimatorHook.json +1515 -0
  20. package/abis/HooksDeployment.json +23 -0
  21. package/abis/HooksTest.json +60 -0
  22. package/abis/ICoin.json +40 -71
  23. package/abis/ICoinV3.json +879 -0
  24. package/abis/ICoinV4.json +915 -0
  25. package/abis/IDeployedCoinVersionLookup.json +21 -0
  26. package/abis/IERC721.json +36 -36
  27. package/abis/IHasPoolKey.json +42 -0
  28. package/abis/IHasRewardsRecipients.json +54 -0
  29. package/abis/IHasSwapPath.json +60 -0
  30. package/abis/IMsgSender.json +15 -0
  31. package/abis/IPoolConfigEncoding.json +46 -0
  32. package/abis/ISwapPathRouter.json +92 -0
  33. package/abis/IUniversalRouter.json +61 -0
  34. package/abis/IUnlockCallback.json +21 -0
  35. package/abis/IV4Quoter.json +310 -0
  36. package/abis/IZoraFactory.json +210 -11
  37. package/abis/IZoraV4CoinHook.json +348 -4
  38. package/abis/MockERC20.json +21 -0
  39. package/abis/MultiOwnableTest.json +47 -0
  40. package/abis/{CoinConfigurationVersions.json → Position.json} +1 -1
  41. package/abis/PrintUpgradeCommand.json +9 -0
  42. package/abis/ProxyShim.json +24 -0
  43. package/abis/StateLibrary.json +80 -0
  44. package/abis/TestDeployedCoinVersionLookupImplementation.json +39 -0
  45. package/abis/TestV4Swap.json +9 -0
  46. package/abis/UpgradeCoinImpl.json +47 -0
  47. package/abis/UpgradesTest.json +81 -0
  48. package/abis/Vm.json +1482 -111
  49. package/abis/VmSafe.json +856 -32
  50. package/abis/ZoraFactoryImpl.json +339 -1
  51. package/abis/ZoraV4CoinHook.json +442 -5
  52. package/addresses/8453.json +7 -4
  53. package/addresses/84532.json +8 -5
  54. package/addresses/dev/8453.json +10 -0
  55. package/dist/index.cjs +1932 -167
  56. package/dist/index.cjs.map +1 -1
  57. package/dist/index.js +1928 -167
  58. package/dist/index.js.map +1 -1
  59. package/dist/wagmiGenerated.d.ts +2606 -160
  60. package/dist/wagmiGenerated.d.ts.map +1 -1
  61. package/foundry.toml +1 -0
  62. package/package/wagmiGenerated.ts +1941 -164
  63. package/package.json +8 -3
  64. package/remappings.txt +6 -1
  65. package/script/Deploy.s.sol +1 -1
  66. package/script/DeployDevFactory.s.sol +21 -0
  67. package/script/DeployHooks.s.sol +1 -1
  68. package/script/PrintUpgradeCommand.s.sol +13 -0
  69. package/script/Simulate.s.sol +1 -10
  70. package/script/TestBackingCoinSwap.s.sol +147 -0
  71. package/script/TestV4Swap.s.sol +136 -0
  72. package/script/UpgradeCoinImpl.sol +2 -2
  73. package/script/UpgradeFactoryImpl.s.sol +2 -2
  74. package/src/BaseCoin.sol +190 -0
  75. package/src/Coin.sol +87 -202
  76. package/src/CoinV4.sol +121 -0
  77. package/src/ZoraFactoryImpl.sol +208 -36
  78. package/{script → src/deployment}/CoinsDeployerBase.sol +111 -17
  79. package/src/hooks/ZoraV4CoinHook.sol +212 -0
  80. package/src/hooks/{BaseCoinDeployHook.sol → deployment/BaseCoinDeployHook.sol} +3 -3
  81. package/src/hooks/deployment/BuySupplyWithSwapRouterHook.sol +140 -0
  82. package/src/interfaces/ICoin.sol +31 -39
  83. package/src/interfaces/ICoinV3.sol +71 -0
  84. package/src/interfaces/ICoinV4.sol +69 -0
  85. package/src/interfaces/IDeployedCoinVersionLookup.sol +11 -0
  86. package/src/interfaces/IMsgSender.sol +9 -0
  87. package/src/interfaces/IPoolConfigEncoding.sol +14 -0
  88. package/src/interfaces/ISwapPathRouter.sol +14 -0
  89. package/src/interfaces/IZoraFactory.sol +67 -28
  90. package/src/interfaces/IZoraV4CoinHook.sol +116 -0
  91. package/src/libs/CoinCommon.sol +15 -0
  92. package/src/libs/CoinConfigurationVersions.sol +116 -1
  93. package/src/libs/CoinConstants.sol +5 -0
  94. package/src/libs/CoinDopplerMultiCurve.sol +134 -0
  95. package/src/libs/CoinDopplerUniV3.sol +19 -171
  96. package/src/libs/CoinRewards.sol +195 -0
  97. package/src/libs/CoinRewardsV4.sol +179 -0
  98. package/src/libs/CoinSetup.sol +57 -0
  99. package/src/libs/CoinSetupV3.sol +6 -67
  100. package/src/libs/DopplerMath.sol +156 -0
  101. package/src/libs/HooksDeployment.sol +128 -0
  102. package/src/libs/MarketConstants.sol +4 -0
  103. package/src/libs/PoolStateReader.sol +22 -0
  104. package/src/libs/UniV3BuySell.sol +74 -292
  105. package/src/libs/UniV4SwapHelper.sol +65 -0
  106. package/src/libs/UniV4SwapToCurrency.sol +109 -0
  107. package/src/libs/V4Liquidity.sol +122 -0
  108. package/src/types/PoolConfiguration.sol +15 -0
  109. package/src/utils/DeployedCoinVersionLookup.sol +52 -0
  110. package/src/version/ContractVersionBase.sol +1 -1
  111. package/test/Coin.t.sol +78 -88
  112. package/test/CoinDopplerUniV3.t.sol +32 -171
  113. package/test/CoinUniV4.t.sol +777 -0
  114. package/test/{Hooks.t.sol → DeploymentHooks.t.sol} +53 -16
  115. package/test/Factory.t.sol +80 -47
  116. package/test/MultiOwnable.t.sol +6 -3
  117. package/test/Upgrades.t.sol +97 -5
  118. package/test/mocks/MockERC20.sol +12 -0
  119. package/test/utils/BaseTest.sol +162 -57
  120. package/test/utils/DeployedCoinVersionLookup.t.sol +127 -0
  121. package/test/utils/FeeEstimatorHook.sol +84 -0
  122. package/test/utils/ProxyShim.sol +17 -0
  123. package/wagmi.config.ts +4 -0
  124. package/.env +0 -1
  125. package/.turbo/turbo-update-contract-version.log +0 -22
  126. package/abis/CoinSetupV3.json +0 -7
  127. package/abis/HookDeployer.json +0 -68
  128. package/abis/IHookDeployer.json +0 -42
  129. package/src/hooks/BuySupplyWithSwapRouterHook.sol +0 -78
  130. package/src/libs/CoinLegacy.sol +0 -48
  131. package/src/libs/CoinLegacyMarket.sol +0 -182
@@ -3,9 +3,19 @@
3
3
  "type": "constructor",
4
4
  "inputs": [
5
5
  {
6
- "name": "_poolManager",
6
+ "name": "poolManager_",
7
7
  "type": "address",
8
8
  "internalType": "contract IPoolManager"
9
+ },
10
+ {
11
+ "name": "coinVersionLookup_",
12
+ "type": "address",
13
+ "internalType": "contract IDeployedCoinVersionLookup"
14
+ },
15
+ {
16
+ "name": "trustedMessageSenders_",
17
+ "type": "address[]",
18
+ "internalType": "address[]"
9
19
  }
10
20
  ],
11
21
  "stateMutability": "nonpayable"
@@ -882,6 +892,148 @@
882
892
  ],
883
893
  "stateMutability": "pure"
884
894
  },
895
+ {
896
+ "type": "function",
897
+ "name": "getPoolCoin",
898
+ "inputs": [
899
+ {
900
+ "name": "key",
901
+ "type": "tuple",
902
+ "internalType": "struct PoolKey",
903
+ "components": [
904
+ {
905
+ "name": "currency0",
906
+ "type": "address",
907
+ "internalType": "Currency"
908
+ },
909
+ {
910
+ "name": "currency1",
911
+ "type": "address",
912
+ "internalType": "Currency"
913
+ },
914
+ {
915
+ "name": "fee",
916
+ "type": "uint24",
917
+ "internalType": "uint24"
918
+ },
919
+ {
920
+ "name": "tickSpacing",
921
+ "type": "int24",
922
+ "internalType": "int24"
923
+ },
924
+ {
925
+ "name": "hooks",
926
+ "type": "address",
927
+ "internalType": "contract IHooks"
928
+ }
929
+ ]
930
+ }
931
+ ],
932
+ "outputs": [
933
+ {
934
+ "name": "",
935
+ "type": "tuple",
936
+ "internalType": "struct IZoraV4CoinHook.PoolCoin",
937
+ "components": [
938
+ {
939
+ "name": "coin",
940
+ "type": "address",
941
+ "internalType": "address"
942
+ },
943
+ {
944
+ "name": "positions",
945
+ "type": "tuple[]",
946
+ "internalType": "struct LpPosition[]",
947
+ "components": [
948
+ {
949
+ "name": "tickLower",
950
+ "type": "int24",
951
+ "internalType": "int24"
952
+ },
953
+ {
954
+ "name": "tickUpper",
955
+ "type": "int24",
956
+ "internalType": "int24"
957
+ },
958
+ {
959
+ "name": "liquidity",
960
+ "type": "uint128",
961
+ "internalType": "uint128"
962
+ }
963
+ ]
964
+ }
965
+ ]
966
+ }
967
+ ],
968
+ "stateMutability": "view"
969
+ },
970
+ {
971
+ "type": "function",
972
+ "name": "getPoolCoinByHash",
973
+ "inputs": [
974
+ {
975
+ "name": "poolKeyHash",
976
+ "type": "bytes23",
977
+ "internalType": "bytes23"
978
+ }
979
+ ],
980
+ "outputs": [
981
+ {
982
+ "name": "",
983
+ "type": "tuple",
984
+ "internalType": "struct IZoraV4CoinHook.PoolCoin",
985
+ "components": [
986
+ {
987
+ "name": "coin",
988
+ "type": "address",
989
+ "internalType": "address"
990
+ },
991
+ {
992
+ "name": "positions",
993
+ "type": "tuple[]",
994
+ "internalType": "struct LpPosition[]",
995
+ "components": [
996
+ {
997
+ "name": "tickLower",
998
+ "type": "int24",
999
+ "internalType": "int24"
1000
+ },
1001
+ {
1002
+ "name": "tickUpper",
1003
+ "type": "int24",
1004
+ "internalType": "int24"
1005
+ },
1006
+ {
1007
+ "name": "liquidity",
1008
+ "type": "uint128",
1009
+ "internalType": "uint128"
1010
+ }
1011
+ ]
1012
+ }
1013
+ ]
1014
+ }
1015
+ ],
1016
+ "stateMutability": "view"
1017
+ },
1018
+ {
1019
+ "type": "function",
1020
+ "name": "isTrustedMessageSender",
1021
+ "inputs": [
1022
+ {
1023
+ "name": "sender",
1024
+ "type": "address",
1025
+ "internalType": "address"
1026
+ }
1027
+ ],
1028
+ "outputs": [
1029
+ {
1030
+ "name": "",
1031
+ "type": "bool",
1032
+ "internalType": "bool"
1033
+ }
1034
+ ],
1035
+ "stateMutability": "view"
1036
+ },
885
1037
  {
886
1038
  "type": "function",
887
1039
  "name": "poolManager",
@@ -895,6 +1047,132 @@
895
1047
  ],
896
1048
  "stateMutability": "view"
897
1049
  },
1050
+ {
1051
+ "type": "function",
1052
+ "name": "unlockCallback",
1053
+ "inputs": [
1054
+ {
1055
+ "name": "data",
1056
+ "type": "bytes",
1057
+ "internalType": "bytes"
1058
+ }
1059
+ ],
1060
+ "outputs": [
1061
+ {
1062
+ "name": "",
1063
+ "type": "bytes",
1064
+ "internalType": "bytes"
1065
+ }
1066
+ ],
1067
+ "stateMutability": "nonpayable"
1068
+ },
1069
+ {
1070
+ "type": "event",
1071
+ "name": "CoinMarketRewardsV4",
1072
+ "inputs": [
1073
+ {
1074
+ "name": "coin",
1075
+ "type": "address",
1076
+ "indexed": false,
1077
+ "internalType": "address"
1078
+ },
1079
+ {
1080
+ "name": "currency",
1081
+ "type": "address",
1082
+ "indexed": false,
1083
+ "internalType": "address"
1084
+ },
1085
+ {
1086
+ "name": "payoutRecipient",
1087
+ "type": "address",
1088
+ "indexed": false,
1089
+ "internalType": "address"
1090
+ },
1091
+ {
1092
+ "name": "platformReferrer",
1093
+ "type": "address",
1094
+ "indexed": false,
1095
+ "internalType": "address"
1096
+ },
1097
+ {
1098
+ "name": "tradeReferrer",
1099
+ "type": "address",
1100
+ "indexed": false,
1101
+ "internalType": "address"
1102
+ },
1103
+ {
1104
+ "name": "protocolRewardRecipient",
1105
+ "type": "address",
1106
+ "indexed": false,
1107
+ "internalType": "address"
1108
+ },
1109
+ {
1110
+ "name": "dopplerRecipient",
1111
+ "type": "address",
1112
+ "indexed": false,
1113
+ "internalType": "address"
1114
+ },
1115
+ {
1116
+ "name": "marketRewards",
1117
+ "type": "tuple",
1118
+ "indexed": false,
1119
+ "internalType": "struct IZoraV4CoinHook.MarketRewardsV4",
1120
+ "components": [
1121
+ {
1122
+ "name": "creatorPayoutAmountCurrency",
1123
+ "type": "uint256",
1124
+ "internalType": "uint256"
1125
+ },
1126
+ {
1127
+ "name": "creatorPayoutAmountCoin",
1128
+ "type": "uint256",
1129
+ "internalType": "uint256"
1130
+ },
1131
+ {
1132
+ "name": "platformReferrerAmountCurrency",
1133
+ "type": "uint256",
1134
+ "internalType": "uint256"
1135
+ },
1136
+ {
1137
+ "name": "platformReferrerAmountCoin",
1138
+ "type": "uint256",
1139
+ "internalType": "uint256"
1140
+ },
1141
+ {
1142
+ "name": "tradeReferrerAmountCurrency",
1143
+ "type": "uint256",
1144
+ "internalType": "uint256"
1145
+ },
1146
+ {
1147
+ "name": "tradeReferrerAmountCoin",
1148
+ "type": "uint256",
1149
+ "internalType": "uint256"
1150
+ },
1151
+ {
1152
+ "name": "protocolAmountCurrency",
1153
+ "type": "uint256",
1154
+ "internalType": "uint256"
1155
+ },
1156
+ {
1157
+ "name": "protocolAmountCoin",
1158
+ "type": "uint256",
1159
+ "internalType": "uint256"
1160
+ },
1161
+ {
1162
+ "name": "dopplerAmountCurrency",
1163
+ "type": "uint256",
1164
+ "internalType": "uint256"
1165
+ },
1166
+ {
1167
+ "name": "dopplerAmountCoin",
1168
+ "type": "uint256",
1169
+ "internalType": "uint256"
1170
+ }
1171
+ ]
1172
+ }
1173
+ ],
1174
+ "anonymous": false
1175
+ },
898
1176
  {
899
1177
  "type": "event",
900
1178
  "name": "Swapped",
@@ -902,9 +1180,21 @@
902
1180
  {
903
1181
  "name": "sender",
904
1182
  "type": "address",
905
- "indexed": false,
1183
+ "indexed": true,
1184
+ "internalType": "address"
1185
+ },
1186
+ {
1187
+ "name": "swapSender",
1188
+ "type": "address",
1189
+ "indexed": true,
906
1190
  "internalType": "address"
907
1191
  },
1192
+ {
1193
+ "name": "isTrustedSwapSenderAddress",
1194
+ "type": "bool",
1195
+ "indexed": false,
1196
+ "internalType": "bool"
1197
+ },
908
1198
  {
909
1199
  "name": "key",
910
1200
  "type": "tuple",
@@ -938,6 +1228,12 @@
938
1228
  }
939
1229
  ]
940
1230
  },
1231
+ {
1232
+ "name": "poolKeyHash",
1233
+ "type": "bytes32",
1234
+ "indexed": true,
1235
+ "internalType": "bytes32"
1236
+ },
941
1237
  {
942
1238
  "name": "params",
943
1239
  "type": "tuple",
@@ -962,28 +1258,169 @@
962
1258
  ]
963
1259
  },
964
1260
  {
965
- "name": "delta",
966
- "type": "int256",
1261
+ "name": "amount0",
1262
+ "type": "int128",
967
1263
  "indexed": false,
968
- "internalType": "BalanceDelta"
1264
+ "internalType": "int128"
1265
+ },
1266
+ {
1267
+ "name": "amount1",
1268
+ "type": "int128",
1269
+ "indexed": false,
1270
+ "internalType": "int128"
1271
+ },
1272
+ {
1273
+ "name": "isCoinBuy",
1274
+ "type": "bool",
1275
+ "indexed": false,
1276
+ "internalType": "bool"
969
1277
  },
970
1278
  {
971
1279
  "name": "hookData",
972
1280
  "type": "bytes",
973
1281
  "indexed": false,
974
1282
  "internalType": "bytes"
1283
+ },
1284
+ {
1285
+ "name": "sqrtPriceX96",
1286
+ "type": "uint160",
1287
+ "indexed": false,
1288
+ "internalType": "uint160"
975
1289
  }
976
1290
  ],
977
1291
  "anonymous": false
978
1292
  },
1293
+ {
1294
+ "type": "error",
1295
+ "name": "AddressEmptyCode",
1296
+ "inputs": [
1297
+ {
1298
+ "name": "target",
1299
+ "type": "address",
1300
+ "internalType": "address"
1301
+ }
1302
+ ]
1303
+ },
1304
+ {
1305
+ "type": "error",
1306
+ "name": "AddressInsufficientBalance",
1307
+ "inputs": [
1308
+ {
1309
+ "name": "account",
1310
+ "type": "address",
1311
+ "internalType": "address"
1312
+ }
1313
+ ]
1314
+ },
1315
+ {
1316
+ "type": "error",
1317
+ "name": "CannotMintZeroLiquidity",
1318
+ "inputs": []
1319
+ },
1320
+ {
1321
+ "type": "error",
1322
+ "name": "CoinVersionLookupCannotBeZeroAddress",
1323
+ "inputs": []
1324
+ },
1325
+ {
1326
+ "type": "error",
1327
+ "name": "EthTransferFailed",
1328
+ "inputs": []
1329
+ },
1330
+ {
1331
+ "type": "error",
1332
+ "name": "FailedInnerCall",
1333
+ "inputs": []
1334
+ },
979
1335
  {
980
1336
  "type": "error",
981
1337
  "name": "HookNotImplemented",
982
1338
  "inputs": []
983
1339
  },
1340
+ {
1341
+ "type": "error",
1342
+ "name": "InvalidTickRangeMisordered",
1343
+ "inputs": [
1344
+ {
1345
+ "name": "tickLower",
1346
+ "type": "int24",
1347
+ "internalType": "int24"
1348
+ },
1349
+ {
1350
+ "name": "tickUpper",
1351
+ "type": "int24",
1352
+ "internalType": "int24"
1353
+ }
1354
+ ]
1355
+ },
1356
+ {
1357
+ "type": "error",
1358
+ "name": "NoCoinForHook",
1359
+ "inputs": [
1360
+ {
1361
+ "name": "key",
1362
+ "type": "tuple",
1363
+ "internalType": "struct PoolKey",
1364
+ "components": [
1365
+ {
1366
+ "name": "currency0",
1367
+ "type": "address",
1368
+ "internalType": "Currency"
1369
+ },
1370
+ {
1371
+ "name": "currency1",
1372
+ "type": "address",
1373
+ "internalType": "Currency"
1374
+ },
1375
+ {
1376
+ "name": "fee",
1377
+ "type": "uint24",
1378
+ "internalType": "uint24"
1379
+ },
1380
+ {
1381
+ "name": "tickSpacing",
1382
+ "type": "int24",
1383
+ "internalType": "int24"
1384
+ },
1385
+ {
1386
+ "name": "hooks",
1387
+ "type": "address",
1388
+ "internalType": "contract IHooks"
1389
+ }
1390
+ ]
1391
+ }
1392
+ ]
1393
+ },
1394
+ {
1395
+ "type": "error",
1396
+ "name": "NotACoin",
1397
+ "inputs": [
1398
+ {
1399
+ "name": "coin",
1400
+ "type": "address",
1401
+ "internalType": "address"
1402
+ }
1403
+ ]
1404
+ },
984
1405
  {
985
1406
  "type": "error",
986
1407
  "name": "NotPoolManager",
987
1408
  "inputs": []
1409
+ },
1410
+ {
1411
+ "type": "error",
1412
+ "name": "PathMustHaveAtLeastOneStep",
1413
+ "inputs": []
1414
+ },
1415
+ {
1416
+ "type": "error",
1417
+ "name": "SafeERC20FailedOperation",
1418
+ "inputs": [
1419
+ {
1420
+ "name": "token",
1421
+ "type": "address",
1422
+ "internalType": "address"
1423
+ }
1424
+ ]
988
1425
  }
989
1426
  ]
@@ -1,7 +1,10 @@
1
1
  {
2
- "BUY_SUPPLY_WITH_SWAP_ROUTER_HOOK": "0x264b731e40691Da5B40aA63AC5c3B7F7DAafA721",
3
- "COIN_IMPL": "0xbECAe78D441FBa11017bB7A8798D018b0977F76d",
4
- "COIN_VERSION": "0.7.0",
2
+ "BUY_SUPPLY_WITH_SWAP_ROUTER_HOOK": "0xd77038a7f400E8242d2916f7EB5741e689d4aE25",
3
+ "COIN_V3_IMPL": "0xeBCc4B0Cf2cFD448616d3cb42C5825528b60317D",
4
+ "COIN_V4_IMPL": "0x6e4317ED4020539c8F2327f62eb985294C857dCE",
5
+ "COIN_VERSION": "1.0.0",
5
6
  "ZORA_FACTORY": "0x777777751622c0d3258f214F9DF38E35BF45baF3",
6
- "ZORA_FACTORY_IMPL": "0x8a6e82268c73174Ff3458B4D91c3669Fb2338b40"
7
+ "ZORA_FACTORY_IMPL": "0xED0EAe148FAF9810a0EA96c619be676bF0Cf0101",
8
+ "ZORA_V4_COIN_HOOK": "0xA1eBdD5cA6470Bbd67114331387f2dDa7bfad040",
9
+ "ZORA_V4_COIN_HOOK_SALT": "0x00000000000000000000000000000000000000000000000000000000000035af"
7
10
  }
@@ -1,7 +1,10 @@
1
1
  {
2
- "BUY_SUPPLY_WITH_SWAP_ROUTER_HOOK": "0x6B78be0808262b1d5E9B1eeDfE448aDCE2C637a8",
3
- "COIN_IMPL": "0x903Fb6924C8f96226bFDFcf71333578117C33618",
4
- "COIN_VERSION": "0.8.0",
5
- "ZORA_FACTORY": "0x777777751622c0d3258f214F9DF38E35BF45baF3",
6
- "ZORA_FACTORY_IMPL": "0x2C256f0464A9e1a4292c87eb455c5601Bcae4436"
2
+ "BUY_SUPPLY_WITH_SWAP_ROUTER_HOOK": "0xE4Ec8cE893Cd41965b1aE27F1ad9798F207427aE",
3
+ "COIN_V3_IMPL": "0x852E59Bb923654005AB737b09c39D4B6b689E6E5",
4
+ "COIN_V4_IMPL": "0x1cAE9ceA75Ac862bb3dF6AAf7BE028EDe8e67Afd",
5
+ "COIN_VERSION": "1.0.0",
6
+ "ZORA_FACTORY": "0xaF88840cb637F2684A9E460316b1678AD6245e4a",
7
+ "ZORA_FACTORY_IMPL": "0xe1b32276965d2D6967A94CD38FcD180a50cF87dA",
8
+ "ZORA_V4_COIN_HOOK": "0xe0eC17Ab9f7ce52cC60DFB64E0A0A705d02Bd040",
9
+ "ZORA_V4_COIN_HOOK_SALT": "0x0000000000000000000000000000000000000000000000000000000000003a82"
7
10
  }
@@ -0,0 +1,10 @@
1
+ {
2
+ "BUY_SUPPLY_WITH_SWAP_ROUTER_HOOK": "0x0a747629609b22E348d0ea9865fC2A5a04ED945d",
3
+ "COIN_V3_IMPL": "0xd04a1A7C2C307813D208Df4ef86F61AeC102Dfab",
4
+ "COIN_V4_IMPL": "0xE60546e9d6D53581D102164320BA7746dDBD515d",
5
+ "COIN_VERSION": "1.0.0",
6
+ "ZORA_FACTORY": "0x3d7A3f3351855e135CF89AB412A7C2AA449f9296",
7
+ "ZORA_FACTORY_IMPL": "0xA6201f38794f06579c5556127BF2D2d792865f8c",
8
+ "ZORA_V4_COIN_HOOK": "0x3825aDFdaaCA18072fe75B960D821A48503CD040",
9
+ "ZORA_V4_COIN_HOOK_SALT": "0x000000000000000000000000000000000000000000000000000000000000d7de"
10
+ }