@zoralabs/coins 0.5.1-sdkalpha.0 → 0.6.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.
@@ -1,93 +1,95 @@
1
-
2
- 
3
- > @zoralabs/coins@0.5.0 build /Users/iain/zora/zora-protocol-private/packages/coins
4
- > pnpm run wagmi:generate && pnpm run copy-abis && pnpm run prettier:write && tsup
5
-
6
-
7
- > @zoralabs/coins@0.5.0 wagmi:generate /Users/iain/zora/zora-protocol-private/packages/coins
8
- > FOUNDRY_PROFILE=dev forge build && wagmi generate && pnpm exec rename-generated-abi-casing ./package/wagmiGenerated.ts
9
-
10
-
11
-
12
-
13
- Compiler run successful with warnings:
14
- Warning (9302): Return value of low-level calls not used.
15
- --> test/Coin.t.sol:527:9:
16
-  |
17
- 527 | address(coin).call{value: 1 ether}("");
18
-  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
19
-
20
- Warning (2072): Unused local variable.
21
- --> script/DeployCoinImpl.s.sol:14:9:
22
-  |
23
- 14 | DeterministicDeployerAndCaller deployer = createOrGetDeployerAndCaller();
24
-  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
25
-
26
- Warning (2072): Unused local variable.
27
- --> test/Coin.t.sol:446:10:
28
-  |
29
- 446 | (address newCoinAddr, ) = factory.deploy(
30
-  | ^^^^^^^^^^^^^^^^^^^
31
-
32
- Warning (2072): Unused local variable.
33
- --> test/Coin.t.sol:464:10:
34
-  |
35
- 464 | (address newCoinAddr, ) = factory.deploy(
36
-  | ^^^^^^^^^^^^^^^^^^^
37
-
38
- [?25l⠋ Validating plugins✔ Validating plugins
39
- [?25h[?25l⠙ Resolving contracts✔ Resolving contracts
40
- [?25h[?25l⠹ Running plugins✔ Running plugins
41
- [?25h[?25l⠸ Writing to package/wagmiGenerated.ts[?25l⠼ Writing to package/wagmiGenerated.ts✔ Writing to package/wagmiGenerated.ts
42
- [?25h🔄 Processing 1 file(s) to replace 'Abi' with 'ABI'...
43
- 📝 Processing ./package/wagmiGenerated.ts...
44
- Updated ./package/wagmiGenerated.ts (2 replacements)
45
- All files processed successfully!
46
-
47
- > @zoralabs/coins@0.5.0 copy-abis /Users/iain/zora/zora-protocol-private/packages/coins
48
- > pnpm exec bundle-abis
49
-
50
-
51
- > @zoralabs/coins@0.5.0 prettier:write /Users/iain/zora/zora-protocol-private/packages/coins
52
- > prettier --write 'src/**/*.sol' 'test/**/*.sol' 'script/**/*.sol'
53
-
54
- src/Coin.solsrc/Coin.sol 364ms (unchanged)
55
- src/interfaces/ICoin.solsrc/interfaces/ICoin.sol 19ms (unchanged)
56
- src/interfaces/ICoinComments.solsrc/interfaces/ICoinComments.sol 2ms (unchanged)
57
- src/interfaces/IERC7572.solsrc/interfaces/IERC7572.sol 1ms (unchanged)
58
- src/interfaces/INonfungiblePositionManager.solsrc/interfaces/INonfungiblePositionManager.sol 8ms (unchanged)
59
- src/interfaces/IProtocolRewards.solsrc/interfaces/IProtocolRewards.sol 3ms (unchanged)
60
- src/interfaces/ISwapRouter.solsrc/interfaces/ISwapRouter.sol 2ms (unchanged)
61
- src/interfaces/IUniswapV3Pool.solsrc/interfaces/IUniswapV3Pool.sol 2ms (unchanged)
62
- src/interfaces/IUniswapV3SwapCallback.solsrc/interfaces/IUniswapV3SwapCallback.sol 1ms (unchanged)
63
- src/interfaces/IWETH.solsrc/interfaces/IWETH.sol 2ms (unchanged)
64
- src/interfaces/IZoraFactory.solsrc/interfaces/IZoraFactory.sol 3ms (unchanged)
65
- src/proxy/ZoraFactory.solsrc/proxy/ZoraFactory.sol 7ms (unchanged)
66
- src/utils/CoinConstants.solsrc/utils/CoinConstants.sol 4ms (unchanged)
67
- src/utils/MultiOwnable.solsrc/utils/MultiOwnable.sol 47ms (unchanged)
68
- src/utils/TickMath.solsrc/utils/TickMath.sol 89ms (unchanged)
69
- src/version/ContractVersionBase.solsrc/version/ContractVersionBase.sol 1ms (unchanged)
70
- src/ZoraFactoryImpl.solsrc/ZoraFactoryImpl.sol 45ms (unchanged)
71
- test/Coin.t.soltest/Coin.t.sol 276ms (unchanged)
72
- test/Factory.t.soltest/Factory.t.sol 131ms (unchanged)
73
- test/MultiOwnable.t.soltest/MultiOwnable.t.sol 68ms (unchanged)
74
- test/utils/BaseTest.soltest/utils/BaseTest.sol 69ms (unchanged)
75
- test/utils/ProtocolRewards.soltest/utils/ProtocolRewards.sol 255ms (unchanged)
76
- script/CoinsDeployerBase.solscript/CoinsDeployerBase.sol 30ms (unchanged)
77
- script/Deploy.s.solscript/Deploy.s.sol 4ms (unchanged)
78
- script/DeployCoinImpl.s.solscript/DeployCoinImpl.s.sol 4ms (unchanged)
79
- script/GenerateDeterministicParams.s.solscript/GenerateDeterministicParams.s.sol 11ms (unchanged)
80
- CLI Building entry: package/index.ts
81
- CLI Using tsconfig: tsconfig.json
82
- CLI tsup v7.3.0
83
- CLI Using tsup config: /Users/iain/zora/zora-protocol-private/packages/coins/tsup.config.ts
84
- CLI Target: es2021
85
- CLI Cleaning output folder
86
- CJS Build start
87
- ESM Build start
88
- CJS dist/index.cjs 32.06 KB
89
- CJS dist/index.cjs.map 56.56 KB
90
- CJS ⚡️ Build success in 12ms
91
- ESM dist/index.js 31.00 KB
92
- ESM dist/index.js.map 56.45 KB
93
- ESM ⚡️ Build success in 12ms
1
+
2
+ > @zoralabs/coins@0.6.1 build /home/runner/work/zora-protocol-private/zora-protocol-private/packages/coins
3
+ > pnpm run wagmi:generate && pnpm run copy-abis && pnpm run prettier:write && tsup
4
+
5
+
6
+ > @zoralabs/coins@0.6.1 wagmi:generate /home/runner/work/zora-protocol-private/zora-protocol-private/packages/coins
7
+ > FOUNDRY_PROFILE=dev forge build && wagmi generate && pnpm exec rename-generated-abi-casing ./package/wagmiGenerated.ts
8
+
9
+ Compiling 94 files with Solc 0.8.28
10
+ Solc 0.8.28 finished in 108.30s
11
+ Compiler run successful with warnings:
12
+ Warning (9302): Return value of low-level calls not used.
13
+ --> test/Coin.t.sol:527:9:
14
+ |
15
+ 527 | address(coin).call{value: 1 ether}("");
16
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
17
+
18
+ Warning (2072): Unused local variable.
19
+ --> script/UpgradeCoinImpl.sol:14:9:
20
+ |
21
+ 14 | DeterministicDeployerAndCaller deployer = createOrGetDeployerAndCaller();
22
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
23
+
24
+ Warning (2072): Unused local variable.
25
+ --> test/Coin.t.sol:446:10:
26
+ |
27
+ 446 | (address newCoinAddr, ) = factory.deploy(
28
+ | ^^^^^^^^^^^^^^^^^^^
29
+
30
+ Warning (2072): Unused local variable.
31
+ --> test/Coin.t.sol:464:10:
32
+ |
33
+ 464 | (address newCoinAddr, ) = factory.deploy(
34
+ | ^^^^^^^^^^^^^^^^^^^
35
+
36
+ - Validating plugins
37
+ ✔ Validating plugins
38
+ - Resolving contracts
39
+ ✔ Resolving contracts
40
+ - Running plugins
41
+ ✔ Running plugins
42
+ - Writing to package/wagmiGenerated.ts
43
+ ✔ Writing to package/wagmiGenerated.ts
44
+ 🔄 Processing 1 file(s) to replace 'Abi' with 'ABI'...
45
+ 📝 Processing ./package/wagmiGenerated.ts...
46
+ ✅ Updated ./package/wagmiGenerated.ts (4 replacements)
47
+ All files processed successfully!
48
+
49
+ > @zoralabs/coins@0.6.1 copy-abis /home/runner/work/zora-protocol-private/zora-protocol-private/packages/coins
50
+ > pnpm exec bundle-abis
51
+
52
+
53
+ > @zoralabs/coins@0.6.1 prettier:write /home/runner/work/zora-protocol-private/zora-protocol-private/packages/coins
54
+ > prettier --write 'src/**/*.sol' 'test/**/*.sol' 'script/**/*.sol'
55
+
56
+ src/Coin.sol 1595ms (unchanged)
57
+ src/interfaces/ICoin.sol 75ms (unchanged)
58
+ src/interfaces/ICoinComments.sol 5ms (unchanged)
59
+ src/interfaces/IERC7572.sol 4ms (unchanged)
60
+ src/interfaces/INonfungiblePositionManager.sol 30ms (unchanged)
61
+ src/interfaces/IProtocolRewards.sol 8ms (unchanged)
62
+ src/interfaces/ISwapRouter.sol 6ms (unchanged)
63
+ src/interfaces/IUniswapV3Pool.sol 8ms (unchanged)
64
+ src/interfaces/IUniswapV3SwapCallback.sol 5ms (unchanged)
65
+ src/interfaces/IWETH.sol 7ms (unchanged)
66
+ src/interfaces/IZoraFactory.sol 11ms (unchanged)
67
+ src/proxy/ZoraFactory.sol 23ms (unchanged)
68
+ src/utils/CoinConstants.sol 8ms (unchanged)
69
+ src/utils/MultiOwnable.sol 236ms (unchanged)
70
+ src/utils/TickMath.sol 365ms (unchanged)
71
+ src/version/ContractVersionBase.sol 6ms (unchanged)
72
+ src/ZoraFactoryImpl.sol 190ms (unchanged)
73
+ test/Coin.t.sol 950ms (unchanged)
74
+ test/Factory.t.sol 395ms (unchanged)
75
+ test/MultiOwnable.t.sol 429ms (unchanged)
76
+ test/utils/BaseTest.sol 304ms (unchanged)
77
+ test/utils/ProtocolRewards.sol 967ms (unchanged)
78
+ script/CoinsDeployerBase.sol 134ms (unchanged)
79
+ script/Deploy.s.sol 13ms (unchanged)
80
+ script/GenerateDeterministicParams.s.sol 44ms (unchanged)
81
+ script/UpgradeCoinImpl.sol 13ms (unchanged)
82
+ CLI Building entry: package/index.ts
83
+ CLI Using tsconfig: tsconfig.json
84
+ CLI tsup v7.3.0
85
+ CLI Using tsup config: /home/runner/work/zora-protocol-private/zora-protocol-private/packages/coins/tsup.config.ts
86
+ CLI Target: es2021
87
+ CLI Cleaning output folder
88
+ CJS Build start
89
+ ESM Build start
90
+ CJS dist/index.cjs 34.70 KB
91
+ CJS dist/index.cjs.map 61.94 KB
92
+ CJS ⚡️ Build success in 44ms
93
+ ESM dist/index.js 33.49 KB
94
+ ESM dist/index.js.map 61.82 KB
95
+ ESM ⚡️ Build success in 44ms
package/CHANGELOG.md CHANGED
@@ -1,10 +1,16 @@
1
1
  # @zoralabs/coins
2
2
 
3
- ## 0.5.1-sdkalpha.0
3
+ ## 0.6.1
4
4
 
5
5
  ### Patch Changes
6
6
 
7
- - 29a34eaf: Introduce Coins SDK
7
+ - b9f717db: Export IUniswapV3Pool interface
8
+
9
+ ## 0.6.0
10
+
11
+ ### Minor Changes
12
+
13
+ - 55bc4bf3: Update WETH tick and use as the minimum
8
14
 
9
15
  ## 0.5.0
10
16
 
@@ -418,13 +418,6 @@
418
418
  "outputs": [],
419
419
  "stateMutability": "nonpayable"
420
420
  },
421
- {
422
- "type": "function",
423
- "name": "test_fork_buy_with_eth",
424
- "inputs": [],
425
- "outputs": [],
426
- "stateMutability": "nonpayable"
427
- },
428
421
  {
429
422
  "type": "function",
430
423
  "name": "test_initialize_validation",
@@ -395,7 +395,7 @@
395
395
  "name": "test_implementation_address",
396
396
  "inputs": [],
397
397
  "outputs": [],
398
- "stateMutability": "nonpayable"
398
+ "stateMutability": "view"
399
399
  },
400
400
  {
401
401
  "type": "function",
@@ -0,0 +1,9 @@
1
+ [
2
+ {
3
+ "type": "function",
4
+ "name": "run",
5
+ "inputs": [],
6
+ "outputs": [],
7
+ "stateMutability": "nonpayable"
8
+ }
9
+ ]
@@ -1,6 +1,6 @@
1
1
  {
2
- "COIN_IMPL": "0x6B78be0808262b1d5E9B1eeDfE448aDCE2C637a8",
3
- "COIN_VERSION": "0.5.0",
2
+ "COIN_IMPL": "0xFDfD1A05a22bd5Ee57a97Af4A2ADb7B3D74385E8",
3
+ "COIN_VERSION": "0.6.0",
4
4
  "ZORA_FACTORY": "0x777777751622c0d3258f214F9DF38E35BF45baF3",
5
- "ZORA_FACTORY_IMPL": "0xa7B4065893F34241302FFFF8a9819fd639Ee8893"
6
- }
5
+ "ZORA_FACTORY_IMPL": "0x914f448760938Ba34aBf9bC992B7Fb7553B309eA"
6
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
- "COIN_IMPL": "0xFD2FDCE0d316410d3F57459DF33f88626EDF5Bc0",
3
- "COIN_VERSION": "0.5.0",
2
+ "COIN_IMPL": "0x80b7F916F744ecef6a937B0080D6eeC1e2B53F34",
3
+ "COIN_VERSION": "0.6.0",
4
4
  "ZORA_FACTORY": "0x777777751622c0d3258f214F9DF38E35BF45baF3",
5
- "ZORA_FACTORY_IMPL": "0x8CE3674De81E82adb4DcAbA20B236cb1f3820886"
6
- }
5
+ "ZORA_FACTORY_IMPL": "0xFC6d77d32d2545f2b08F7ffFb6E99E472ACa1cA3"
6
+ }
@@ -2,4 +2,4 @@
2
2
  "creationCode": "0x610180604052346101a1576040516100186040826101a5565b601e815260208101907f44657465726d696e69737469634465706c6f796572416e6443616c6c657200008252604051916100536040846101a5565b600183526020830191603160f81b835261006c816101c8565b610120526100798461035e565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526100e260c0826101a5565b5190206080523060c05260405161046b80820191906001600160401b0383118284101761018d575f928291610fbd8339039082f580156101825761016052604051610b269081610497823960805181610980015260a05181610a3d015260c0518161094a015260e051816109cf015261010051816109f50152610120518161025e0152610140518161028701526101605181818161035301526104bf0152f35b6040513d5f823e3d90fd5b634e487b7160e01b5f52604160045260245ffd5b5f80fd5b601f909101601f19168101906001600160401b0382119082101761018d57604052565b908151602081105f14610242575090601f8151116102025760208151910151602082106101f3571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b03811161018d575f54600181811c91168015610354575b602082101461034057601f811161030e575b50602092601f82116001146102af57928192935f926102a4575b50508160011b915f199060031b1c1916175f5560ff90565b015190505f8061028c565b601f198216935f8052805f20915f5b8681106102f657508360019596106102de575b505050811b015f5560ff90565b01515f1960f88460031b161c191690555f80806102d1565b919260206001819286850151815501940192016102be565b5f8052601f60205f20910160051c810190601f830160051c015b8181106103355750610272565b5f8155600101610328565b634e487b7160e01b5f52602260045260245ffd5b90607f1690610260565b908151602081105f14610389575090601f8151116102025760208151910151602082106101f3571790565b6001600160401b03811161018d57600154600181811c9116801561048c575b602082101461034057601f8111610459575b50602092601f82116001146103f857928192935f926103ed575b50508160011b915f199060031b1c19161760015560ff90565b015190505f806103d4565b601f1982169360015f52805f20915f5b8681106104415750836001959610610429575b505050811b0160015560ff90565b01515f1960f88460031b161c191690555f808061041b565b91926020600181928685015181550194019201610408565b60015f52601f60205f20910160051c810190601f830160051c015b81811061048157506103ba565b5f8155600101610474565b90607f16906103a856fe60806040526004361015610011575f80fd5b5f3560e01c806325746d39146103825780637db68ec41461033e57806384b0196e1461024657806386881034146101cf578063e3867c2914610105578063eae49c87146100d25763f9baed1814610066575f80fd5b346100ce5760603660031901126100ce5760243567ffffffffffffffff81116100ce57610097903690600401610449565b60443567ffffffffffffffff81116100ce576020916100bd6100c6923690600401610449565b906004356104f6565b604051908152f35b5f80fd5b346100ce575f3660031901126100ce576101016100ed6104b3565b60405191829160208352602083019061048f565b0390f35b60a03660031901126100ce5760043567ffffffffffffffff81116100ce57610131903690600401610449565b6024359060443567ffffffffffffffff81116100ce57610155903690600401610449565b60643567ffffffffffffffff81116100ce57610175903690600401610449565b608435916001600160a01b03831683036100ce57846101b8816101b36101aa6101bd986101a5888860209d6104f6565b610899565b909291926108d3565b61057a565b6105a8565b6040516001600160a01b039091168152f35b346100ce5760203660031901126100ce5760043567ffffffffffffffff81116100ce5760206100ed610208610101933690600401610449565b82806102126104b3565b6040519584879551918291018487015e8401908282015f8152815193849201905e01015f815203601f1981018352826103f7565b346100ce575f3660031901126100ce576102e26102827f00000000000000000000000000000000000000000000000000000000000000006106a6565b6102ab7f00000000000000000000000000000000000000000000000000000000000000006107c9565b60206102f0604051926102be83856103f7565b5f84525f368137604051958695600f60f81b875260e08588015260e087019061048f565b90858203604087015261048f565b4660608501523060808501525f60a085015283810360c08501528180845192838152019301915f5b82811061032757505050500390f35b835185528695509381019392810192600101610318565b346100ce575f3660031901126100ce576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60803660031901126100ce5760043560243567ffffffffffffffff81116100ce576103b1903690600401610449565b9060443567ffffffffffffffff81116100ce576103d2903690600401610449565b606435906001600160a01b03821682036100ce57602093836101b86101bd953361057a565b90601f8019910116810190811067ffffffffffffffff82111761041957604052565b634e487b7160e01b5f52604160045260245ffd5b67ffffffffffffffff811161041957601f01601f191660200190565b81601f820112156100ce578035906104608261042d565b9261046e60405194856103f7565b828452602083830101116100ce57815f926020809301838601378301015290565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60405160018060a01b037f0000000000000000000000000000000000000000000000000000000000000000166020820152602081526104f36040826103f7565b90565b90916042926020815191012090602081519101206040519160208301937fdc039731015eea17e316614c8f3af7dca5fc4664683c8e8f2adc4e0ff71a7c9285526040840152606083015260808201526080815261055460a0826103f7565b51902061055f610947565b906040519161190160f01b8352600283015260228201522090565b6001600160a01b0316606082901c819003610593575050565b632696d3f160e11b5f5260045260245260445ffd5b919290805191600b602083019384206040519060408201528560208201523081520160ff8153605590206001600160a01b0390811691168181036106915750508051156106825751905ff5906001600160a01b03821615610673575f816020829351910182855af13d1561066b573d906106218261042d565b9161062f60405193846103f7565b82523d5f602084013e5b15610642575090565b60405163a5fa8d2b60e01b81526020600482015290819061066790602483019061048f565b0390fd5b606090610639565b633a0ba96160e11b5f5260045ffd5b631328927760e21b5f5260045ffd5b6312ae30e560e01b5f5260045260245260445ffd5b60ff81146106ec5760ff811690601f82116106dd57604051916106ca6040846103f7565b6020808452838101919036833783525290565b632cd44ac360e21b5f5260045ffd5b506040515f5f548060011c91600182169182156107bf575b6020841083146107ab57838552849290811561078c575060011461072f575b6104f3925003826103f7565b505f80805290917f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b8183106107705750509060206104f392820101610723565b6020919350806001915483858801015201910190918392610758565b602092506104f394915060ff191682840152151560051b820101610723565b634e487b7160e01b5f52602260045260245ffd5b92607f1692610704565b60ff81146107ed5760ff811690601f82116106dd57604051916106ca6040846103f7565b506040515f6001548060011c916001821691821561088f575b6020841083146107ab57838552849290811561078c5750600114610830576104f3925003826103f7565b5060015f90815290917fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b8183106108735750509060206104f392820101610723565b602091935080600191548385880101520191019091839261085b565b92607f1692610806565b81519190604183036108c9576108c29250602082015190606060408401519301515f1a90610a63565b9192909190565b50505f9160029190565b600481101561093357806108e5575050565b600181036108fc5763f645eedf60e01b5f5260045ffd5b60028103610917575063fce698f760e01b5f5260045260245ffd5b6003146109215750565b6335e2f38360e21b5f5260045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480610a3a575b156109a2577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152610a3460c0826103f7565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610979565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610ae5579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610ada575f516001600160a01b03811615610ad057905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f916003919056fea264697066735822122020d4cc29643fbc137d039c78a8d78f52fd9a09b7daa1a5943440ff9a3e8ea56f64736f6c634300081c003360c08060405234603257306080523360a0526104349081610037823960805181818160ae015261018b015260a051815050f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80634f1ef2861461010257806352d1902d1461009c5763ad3cb1cc1461003a575f80fd5b34610098575f366003190112610098576040805190610059818361032e565b600582526020820191640352e302e360dc1b83528151928391602083525180918160208501528484015e5f828201840152601f01601f19168101030190f35b5f80fd5b34610098575f366003190112610098577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036100f35760206040515f5160206103df5f395f51905f528152f35b63703e46dd60e11b5f5260045ffd5b6040366003190112610098576004356001600160a01b03811690818103610098576024359067ffffffffffffffff821161009857366023830112156100985781600401359161015083610364565b9261015e604051948561032e565b8084526020840191366024838301011161009857815f926024602093018537850101526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630811490811561030c575b506100f3576040516352d1902d60e01b8152602081600481885afa5f91816102d8575b506101f15784634c9c8ce360e01b5f5260045260245ffd5b805f5160206103df5f395f51905f528692036102c65750823b156102b4575f5160206103df5f395f51905f5280546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a282511561029b575f8091610291945190845af43d15610293573d9161027583610364565b92610283604051948561032e565b83523d5f602085013e610380565b005b606091610380565b505050346102a557005b63b398979f60e01b5f5260045ffd5b634c9c8ce360e01b5f5260045260245ffd5b632a87526960e21b5f5260045260245ffd5b9091506020813d602011610304575b816102f46020938361032e565b81010312610098575190866101d9565b3d91506102e7565b5f5160206103df5f395f51905f52546001600160a01b031614159050856101b6565b90601f8019910116810190811067ffffffffffffffff82111761035057604052565b634e487b7160e01b5f52604160045260245ffd5b67ffffffffffffffff811161035057601f01601f191660200190565b906103a4575080511561039557805190602001fd5b630a12f52160e11b5f5260045ffd5b815115806103d5575b6103b5575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b156103ad56fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122005f8ca25544854f7fe07eac3cac751ac5b35b9a8529e80352f19449570409c3364736f6c634300081c0033",
3
3
  "deployedAddress": "0xCB571Eaa13A8276B1Ed44348291dD80b5BC360dA",
4
4
  "salt": "0x0000000000000000000000000000000000000000000000000000000000000000"
5
- }
5
+ }
@@ -5,4 +5,4 @@
5
5
  "deployedAddress": "0x777777751622c0d3258f214F9DF38E35BF45baF3",
6
6
  "deploymentCaller": "0x680E26B472d8cae8148ee21FCAd6A69D73766436",
7
7
  "salt": "0x680e26b472d8cae8148ee21fcad6a69d73766436f27a901327372bd2be5d38f6"
8
- }
8
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zoralabs/coins",
3
- "version": "0.5.1-sdkalpha.0",
3
+ "version": "0.6.1",
4
4
  "type": "module",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.js",
@@ -30,9 +30,9 @@
30
30
  "tsx": "^3.13.0",
31
31
  "typescript": "^5.2.2",
32
32
  "viem": "^2.21.18",
33
- "@zoralabs/tsconfig": "^0.0.1",
34
33
  "@zoralabs/shared-scripts": "^0.0.0",
35
- "@zoralabs/shared-contracts": "^0.0.1"
34
+ "@zoralabs/shared-contracts": "^0.0.1",
35
+ "@zoralabs/tsconfig": "^0.0.1"
36
36
  },
37
37
  "scripts": {
38
38
  "build": "pnpm run wagmi:generate && pnpm run copy-abis && pnpm run prettier:write && tsup",
@@ -59,15 +59,21 @@ contract CoinsDeployerBase is ProxyDeployerScript {
59
59
  return new ZoraFactoryImpl(coinImpl);
60
60
  }
61
61
 
62
- function deployZoraDeterministic(CoinsDeployment memory deployment, DeterministicDeployerAndCaller deployer) internal {
63
- // read previously saved deterministic config
64
- DeterministicContractConfig memory zoraConfig = readDeterministicContractConfig("zoraFactory");
65
-
62
+ function deployImpls(CoinsDeployment memory deployment) internal returns (CoinsDeployment memory) {
66
63
  // Deploy implementation contracts
67
64
  deployment.coinImpl = address(deployCoinImpl());
68
65
  deployment.zoraFactoryImpl = address(deployZoraFactoryImpl(deployment.coinImpl));
69
66
  deployment.coinVersion = IVersionedContract(deployment.coinImpl).contractVersion();
70
67
 
68
+ return deployment;
69
+ }
70
+
71
+ function deployZoraDeterministic(CoinsDeployment memory deployment, DeterministicDeployerAndCaller deployer) internal {
72
+ // read previously saved deterministic config
73
+ DeterministicContractConfig memory zoraConfig = readDeterministicContractConfig("zoraFactory");
74
+
75
+ deployment = deployImpls(deployment);
76
+
71
77
  if (deployment.zoraFactoryImpl.code.length == 0) {
72
78
  revert("Factory Impl not yet deployed. Make sure to deploy it with DeployImpl.s.sol");
73
79
  }
@@ -0,0 +1,23 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity ^0.8.26;
3
+
4
+ import {ProxyDeployerScript, DeterministicDeployerAndCaller} from "@zoralabs/shared-contracts/deployment/ProxyDeployerScript.sol";
5
+ import {CoinsDeployerBase} from "./CoinsDeployerBase.sol";
6
+
7
+ contract UpgradeCoinImpl is CoinsDeployerBase {
8
+ function run() public {
9
+ CoinsDeployment memory deployment = readDeployment();
10
+
11
+ vm.startBroadcast();
12
+
13
+ // get deployer contract
14
+ DeterministicDeployerAndCaller deployer = createOrGetDeployerAndCaller();
15
+
16
+ deployment = deployImpls(deployment);
17
+
18
+ vm.stopBroadcast();
19
+
20
+ // save the deployment json
21
+ saveDeployment(deployment);
22
+ }
23
+ }
@@ -1,6 +1,4 @@
1
1
  {
2
- "filter_paths": "(node_modules/,test/)",
3
- "solc_remaps": [
4
- "@openzeppelin/=node_modules/@openzeppelin/"
5
- ]
6
- }
2
+ "filter_paths": "(node_modules/,test/)",
3
+ "solc_remaps": ["@openzeppelin/=node_modules/@openzeppelin/"]
4
+ }
package/src/Coin.sol CHANGED
@@ -350,7 +350,7 @@ contract Coin is ICoin, CoinConstants, ContractVersionBase, ERC20PermitUpgradeab
350
350
  /// @dev Deploy the pool
351
351
  function _deployPool(int24 tickLower_) internal {
352
352
  // If WETH is the pool's currency, validate the lower tick
353
- if (currency == WETH && tickLower_ != LP_TICK_LOWER_WETH) {
353
+ if (currency == WETH && tickLower_ < LP_TICK_LOWER_WETH) {
354
354
  revert InvalidWethLowerTick();
355
355
  }
356
356
 
@@ -50,9 +50,9 @@ abstract contract CoinConstants {
50
50
  /// @dev 10000 basis points = 1%
51
51
  uint24 internal constant LP_FEE = 10000;
52
52
 
53
- /// @notice The LP's lower tick
53
+ /// @notice The LP's minimum lower tick
54
54
  /// @dev This is only used if the currency is WETH
55
- int24 internal constant LP_TICK_LOWER_WETH = -199200;
55
+ int24 internal constant LP_TICK_LOWER_WETH = -208200;
56
56
 
57
57
  /// @notice The LP's upper tick
58
58
  int24 internal constant LP_TICK_UPPER = 887200;
@@ -9,6 +9,6 @@ import {IVersionedContract} from "@zoralabs/shared-contracts/interfaces/IVersion
9
9
  contract ContractVersionBase is IVersionedContract {
10
10
  /// @notice The version of the contract
11
11
  function contractVersion() external pure override returns (string memory) {
12
- return "0.5.0";
12
+ return "0.6.1";
13
13
  }
14
14
  }
package/test/Coin.t.sol CHANGED
@@ -12,7 +12,7 @@ contract CoinTest is BaseTest {
12
12
  }
13
13
 
14
14
  function test_contract_version() public view {
15
- assertEq(coin.contractVersion(), "0.5.0");
15
+ assertEq(coin.contractVersion(), "0.6.0");
16
16
  }
17
17
 
18
18
  function test_supply_constants() public view {
@@ -114,18 +114,6 @@ contract CoinTest is BaseTest {
114
114
  assertEq(users.seller.balance, 0);
115
115
  }
116
116
 
117
- function test_fork_buy_with_eth() public {
118
- vm.rollFork(26603382);
119
- factory = ZoraFactoryImpl(0x777777751622c0d3258f214F9DF38E35BF45baF3);
120
- _deployCoin();
121
- vm.deal(users.buyer, 1 ether);
122
- vm.prank(users.buyer);
123
- coin.buy{value: 1 ether}(users.coinRecipient, 1 ether, 0, 0, users.tradeReferrer);
124
-
125
- assertGt(coin.balanceOf(users.coinRecipient), 0);
126
- assertEq(users.seller.balance, 0);
127
- }
128
-
129
117
  function test_buy_with_eth_fuzz(uint256 ethOrderSize) public {
130
118
  vm.assume(ethOrderSize >= MIN_ORDER_SIZE);
131
119
  vm.assume(ethOrderSize < 10 ether);
@@ -236,8 +224,8 @@ contract CoinTest is BaseTest {
236
224
  vm.prank(users.buyer);
237
225
  uint256 amountOut = ISwapRouter(swapRouter).exactInputSingle(params);
238
226
 
239
- assertEq(coin.balanceOf(users.buyer), 44294392087151, "buyer coin balance");
240
- assertEq(amountOut, 44294392087151);
227
+ assertEq(coin.balanceOf(users.buyer), 108941722423358, "buyer coin balance");
228
+ assertEq(amountOut, 108941722423358);
241
229
  assertGt(users.buyer.balance, 0, "seller eth balance");
242
230
 
243
231
  // now we have unclaimed secondary rewards to claim
@@ -274,8 +262,8 @@ contract CoinTest is BaseTest {
274
262
  vm.prank(users.buyer);
275
263
  uint256 amountOut = ISwapRouter(swapRouter).exactInputSingle(params);
276
264
 
277
- assertEq(coin.balanceOf(users.buyer), 44294392087151, "buyer coin balance");
278
- assertEq(amountOut, 44294392087151);
265
+ assertEq(coin.balanceOf(users.buyer), 108941722423358, "buyer coin balance");
266
+ assertEq(amountOut, 108941722423358);
279
267
  assertGt(users.buyer.balance, 0, "seller eth balance");
280
268
 
281
269
  // Now we have unclaimed secondary rewards to claim
@@ -373,18 +361,18 @@ contract CoinTest is BaseTest {
373
361
  coin.buy{value: 0.001 ether}(users.creator, 0.001 ether, 0, 0, users.tradeReferrer);
374
362
 
375
363
  uint256 beforeBalance = coin.balanceOf(users.creator);
376
- assertEq(beforeBalance, 10438320330337104517114132); // 10,438,320 coins
364
+ assertEq(beforeBalance, 11077349369032224007213331); // 11,077,349 coins
377
365
 
378
366
  vm.prank(users.creator);
379
367
  (uint256 amountSold, ) = coin.sell(users.creator, beforeBalance, 0, 0, users.tradeReferrer);
380
- assertEq(amountSold, 442747808421317694054680); // 442,747 coins (max that could be sold)
368
+ assertEq(amountSold, 1088231685891135360821548); // 1,088,232 coins (max that could be sold)
381
369
 
382
370
  uint256 afterBalance = coin.balanceOf(users.creator);
383
- assertEq(afterBalance, 9997786260957893411529725); // 9,997,786 coins
371
+ assertEq(afterBalance, 9994558841570544323195890); // 9,994,559 coins
384
372
 
385
- uint256 expectedMarketReward = 2213739042106588470273; // 2,213 coins
373
+ uint256 expectedMarketReward = 5441158429455676804107; // 5,441 coins
386
374
 
387
- // 9,997,786 = 10,438,320 order size - 442,747 true order size + 2,213 creator market reward
375
+ // 9,994,559 = 11,077,349 order size - 1,088,232 true order size + 5,441 creator market reward
388
376
  assertEq(afterBalance, ((beforeBalance - amountSold) + expectedMarketReward), "amountSold");
389
377
  }
390
378
 
@@ -455,7 +443,17 @@ contract CoinTest is BaseTest {
455
443
  owners[0] = users.creator;
456
444
 
457
445
  vm.expectRevert(ICoin.InvalidWethLowerTick.selector);
458
- (address newCoinAddr, ) = factory.deploy(users.creator, owners, "https://test.com", "Test Token", "TEST", users.platformReferrer, address(weth), 20, 0);
446
+ (address newCoinAddr, ) = factory.deploy(
447
+ users.creator,
448
+ owners,
449
+ "https://test.com",
450
+ "Test Token",
451
+ "TEST",
452
+ users.platformReferrer,
453
+ address(weth),
454
+ LP_TICK_LOWER_WETH - 1,
455
+ 0
456
+ );
459
457
  }
460
458
 
461
459
  function test_invalid_currency_tick() public {
@@ -235,17 +235,7 @@ contract FactoryTest is BaseTest {
235
235
 
236
236
  vm.expectRevert(abi.encodeWithSelector(ICoin.InvalidWethLowerTick.selector));
237
237
 
238
- factory.deploy(
239
- users.creator,
240
- owners,
241
- "https://testcoinusdcpair.com",
242
- "Testcoinusdcpair",
243
- "TESTCOINUSDCPAIR",
244
- users.platformReferrer,
245
- address(0),
246
- USDC_TICK_LOWER,
247
- 0
248
- );
238
+ factory.deploy(users.creator, owners, "https://testcoin.com", "Testcoin", "TESTCOIN", users.platformReferrer, address(0), LP_TICK_LOWER_WETH - 1, 0);
249
239
  }
250
240
 
251
241
  function test_deploy_with_usdc_revert_invalid_eth_transfer() public {
@@ -301,7 +291,7 @@ contract FactoryTest is BaseTest {
301
291
  assertEq(factory.implementation(), address(newImpl), "implementation");
302
292
  }
303
293
 
304
- function test_implementation_address() public {
294
+ function test_implementation_address() public view {
305
295
  assertEq(factory.implementation(), address(factoryImpl));
306
296
  }
307
297
 
package/wagmi.config.ts CHANGED
@@ -7,9 +7,9 @@ export default defineConfig({
7
7
  foundry({
8
8
  deployments: {
9
9
  ZoraFactoryImpl: {
10
- 84532: '0x777777751622c0d3258f214F9DF38E35BF45baF3',
11
- 8453: '0x777777751622c0d3258f214F9DF38E35BF45baF3'
12
- }
10
+ 84532: "0x777777751622c0d3258f214F9DF38E35BF45baF3",
11
+ 8453: "0x777777751622c0d3258f214F9DF38E35BF45baF3",
12
+ },
13
13
  },
14
14
  forge: {
15
15
  build: false,
package/integration/.env DELETED
@@ -1,2 +0,0 @@
1
- PRIVATE_KEY=0x7c7c7ea93b5deb04584f272df72aeb45ef5a44cfb82184e337f26c7dd310f3a2
2
- RPC_URL=https://base-sepolia.g.alchemy.com/v2/7DbDx0YGX34QH0Hifa2mJBz-PUmIFQDK
package/lcov.info DELETED
@@ -1,634 +0,0 @@
1
- TN:
2
- SF:src/Coin.sol
3
- DA:50,74
4
- FN:50,Coin.constructor
5
- FNDA:74,Coin.constructor
6
- DA:57,74
7
- BRDA:57,0,0,1
8
- DA:58,1
9
- DA:60,73
10
- BRDA:60,1,0,1
11
- DA:61,1
12
- DA:63,72
13
- BRDA:63,2,0,1
14
- DA:64,1
15
- DA:66,71
16
- BRDA:66,3,0,1
17
- DA:67,1
18
- DA:69,70
19
- BRDA:69,4,0,1
20
- DA:70,1
21
- DA:73,69
22
- DA:74,69
23
- DA:75,69
24
- DA:76,69
25
- DA:77,69
26
- DA:88,328
27
- FN:88,Coin.initialize
28
- FNDA:328,Coin.initialize
29
- DA:99,328
30
- BRDA:99,5,0,2
31
- DA:100,2
32
- DA:104,326
33
- DA:105,326
34
- DA:106,326
35
- DA:107,0
36
- DA:110,326
37
- DA:111,326
38
- DA:114,322
39
- DA:115,326
40
- DA:118,322
41
- DA:121,322
42
- DA:124,322
43
- DA:127,326
44
- DA:135,1045
45
- FN:135,Coin.buy
46
- FNDA:1045,Coin.buy
47
- DA:143,1045
48
- BRDA:143,6,0,2
49
- DA:144,2
50
- DA:148,1043
51
- DA:151,1043
52
- DA:154,1043
53
- DA:157,1043
54
- DA:168,1043
55
- DA:170,1040
56
- DA:172,1040
57
- DA:174,1040
58
- DA:176,1040
59
- DA:185,263
60
- FN:185,Coin.sell
61
- FNDA:263,Coin.sell
62
- DA:193,263
63
- BRDA:193,7,0,1
64
- DA:194,1
65
- DA:198,262
66
- DA:201,262
67
- DA:204,261
68
- DA:207,261
69
- DA:218,261
70
- DA:221,260
71
- DA:224,260
72
- BRDA:224,8,0,1
73
- DA:226,1
74
- DA:229,1
75
- DA:232,1
76
- DA:236,260
77
- BRDA:236,9,0,259
78
- DA:237,259
79
- DA:241,260
80
- DA:244,260
81
- DA:246,260
82
- DA:248,259
83
- DA:250,259
84
- DA:252,259
85
- DA:254,259
86
- DA:259,1
87
- FN:259,Coin.burn
88
- FNDA:1,Coin.burn
89
- DA:260,1
90
- DA:266,0
91
- FN:266,Coin.claimSecondaryRewards
92
- FNDA:0,Coin.claimSecondaryRewards
93
- DA:267,0
94
- DA:269,0
95
- BRDA:269,10,0,-
96
- DA:270,0
97
- DA:271,0
98
- DA:272,0
99
- DA:278,2
100
- FN:278,Coin.setPayoutRecipient
101
- FNDA:2,Coin.setPayoutRecipient
102
- DA:279,2
103
- DA:284,1
104
- FN:284,Coin.setContractURI
105
- FNDA:1,Coin.setContractURI
106
- DA:285,1
107
- DA:289,2
108
- FN:289,Coin.contractURI
109
- FNDA:2,Coin.contractURI
110
- DA:290,2
111
- DA:295,2
112
- FN:295,Coin.supportsInterface
113
- FNDA:2,Coin.supportsInterface
114
- DA:296,2
115
- DA:297,2
116
- DA:298,2
117
- DA:299,2
118
- DA:300,1
119
- DA:304,1299
120
- FN:304,Coin.receive
121
- FNDA:1299,Coin.receive
122
- DA:305,1299
123
- BRDA:305,11,0,1
124
- DA:306,1
125
- DA:311,1
126
- FN:311,Coin.onERC721Received
127
- FNDA:1,Coin.onERC721Received
128
- DA:312,1
129
- BRDA:312,12,0,1
130
- DA:314,0
131
- DA:318,0
132
- FN:318,Coin.uniswapV3SwapCallback
133
- FNDA:0,Coin.uniswapV3SwapCallback
134
- DA:323,3567
135
- FN:323,Coin._update
136
- FNDA:3567,Coin._update
137
- DA:324,3567
138
- DA:326,3567
139
- DA:331,324
140
- FN:331,Coin._setPayoutRecipient
141
- FNDA:324,Coin._setPayoutRecipient
142
- DA:332,324
143
- BRDA:332,13,0,1
144
- DA:333,1
145
- DA:336,323
146
- DA:338,323
147
- DA:343,323
148
- FN:343,Coin._setContractURI
149
- FNDA:323,Coin._setContractURI
150
- DA:344,323
151
- DA:345,323
152
- DA:347,323
153
- DA:351,322
154
- FN:351,Coin._deployPool
155
- FNDA:322,Coin._deployPool
156
- DA:353,322
157
- BRDA:353,14,0,1
158
- DA:354,1
159
- DA:359,321
160
- BRDA:359,15,0,-
161
- DA:360,0
162
- DA:364,321
163
- DA:365,321
164
- DA:368,321
165
- DA:371,321
166
- DA:372,321
167
- DA:375,321
168
- DA:378,321
169
- DA:379,321
170
- DA:382,256
171
- DA:385,321
172
- DA:400,321
173
- DA:406,1043
174
- FN:406,Coin._handleIncomingCurrency
175
- FNDA:1043,Coin._handleIncomingCurrency
176
- DA:407,1043
177
- BRDA:407,16,0,1040
178
- BRDA:407,16,1,-
179
- DA:408,1040
180
- BRDA:408,17,0,-
181
- DA:409,0
182
- DA:412,1040
183
- BRDA:412,18,0,1
184
- DA:413,1
185
- DA:416,1039
186
- DA:417,1039
187
- DA:420,3
188
- BRDA:420,19,0,-
189
- DA:421,0
190
- DA:424,3
191
- DA:425,3
192
- DA:426,3
193
- DA:428,2
194
- BRDA:428,20,0,-
195
- DA:429,0
196
- DA:432,2
197
- DA:439,260
198
- FN:439,Coin._handlePayout
199
- FNDA:260,Coin._handlePayout
200
- DA:440,260
201
- BRDA:440,21,0,259
202
- BRDA:440,21,1,1
203
- DA:441,259
204
- DA:443,1
205
- DA:448,1299
206
- FN:448,Coin._handleTradeRewards
207
- FNDA:1299,Coin._handleTradeRewards
208
- DA:449,1299
209
- BRDA:449,22,0,258
210
- DA:450,258
211
- DA:453,1299
212
- DA:454,1299
213
- DA:455,1299
214
- DA:456,1299
215
- DA:458,1299
216
- BRDA:458,23,0,1296
217
- DA:459,1296
218
- DA:460,1296
219
- DA:461,1296
220
- DA:463,1296
221
- DA:464,1296
222
- DA:465,1296
223
- DA:467,1296
224
- DA:468,1296
225
- DA:469,1296
226
- DA:471,1296
227
- DA:472,1296
228
- DA:473,1296
229
- DA:475,1296
230
- DA:476,1296
231
- DA:477,1296
232
- DA:479,1296
233
- DA:482,1299
234
- BRDA:482,24,0,3
235
- DA:483,3
236
- DA:484,3
237
- DA:485,3
238
- DA:486,3
239
- DA:489,1299
240
- DA:502,1299
241
- FN:502,Coin._handleMarketRewards
242
- FNDA:1299,Coin._handleMarketRewards
243
- DA:503,1299
244
- DA:510,1299
245
- DA:512,1299
246
- DA:513,1299
247
- DA:515,1299
248
- DA:517,1299
249
- DA:518,1299
250
- DA:520,1299
251
- DA:522,0
252
- DA:525,2598
253
- FN:525,Coin._transferMarketRewards
254
- FNDA:2598,Coin._transferMarketRewards
255
- DA:526,2598
256
- BRDA:526,25,0,1299
257
- DA:527,1299
258
- DA:528,1299
259
- DA:529,1299
260
- DA:531,1299
261
- BRDA:531,26,0,1038
262
- BRDA:531,26,1,2
263
- DA:532,1038
264
- DA:534,1038
265
- DA:535,1038
266
- DA:536,1038
267
- DA:537,1038
268
- DA:539,1038
269
- DA:540,1038
270
- DA:541,1038
271
- DA:542,1038
272
- DA:544,1038
273
- DA:545,1038
274
- DA:546,1038
275
- DA:547,1038
276
- DA:549,1038
277
- DA:550,1038
278
- DA:551,1038
279
- DA:552,1038
280
- DA:554,1038
281
- DA:555,261
282
- BRDA:555,27,0,259
283
- BRDA:555,27,1,2
284
- DA:556,259
285
- DA:557,259
286
- DA:558,259
287
- DA:559,259
288
- DA:561,259
289
- DA:562,259
290
- DA:563,259
291
- DA:565,2
292
- DA:566,2
293
- DA:567,2
294
- DA:568,2
295
- DA:570,2
296
- DA:571,2
297
- DA:572,2
298
- DA:576,2598
299
- DA:580,7798
300
- FN:580,Coin._calculateReward
301
- FNDA:7798,Coin._calculateReward
302
- DA:581,7798
303
- FNF:23
304
- FNH:21
305
- LF:222
306
- LH:208
307
- BRF:32
308
- BRH:26
309
- end_of_record
310
- TN:
311
- SF:src/ZoraFactoryImpl.sol
312
- DA:21,71
313
- FN:21,ZoraFactoryImpl.constructor
314
- FNDA:71,ZoraFactoryImpl.constructor
315
- DA:22,71
316
- DA:35,328
317
- FN:35,ZoraFactoryImpl.deploy
318
- FNDA:328,ZoraFactoryImpl.deploy
319
- DA:46,328
320
- DA:48,328
321
- DA:50,328
322
- DA:52,321
323
- DA:54,320
324
- DA:67,320
325
- DA:71,328
326
- FN:71,ZoraFactoryImpl._generateSalt
327
- FNDA:328,ZoraFactoryImpl._generateSalt
328
- DA:72,328
329
- DA:73,328
330
- DA:91,321
331
- FN:91,ZoraFactoryImpl._handleFirstOrder
332
- FNDA:321,ZoraFactoryImpl._handleFirstOrder
333
- DA:92,321
334
- BRDA:92,0,0,258
335
- DA:93,258
336
- DA:94,258
337
- DA:96,258
338
- BRDA:96,1,0,1
339
- BRDA:96,1,1,-
340
- DA:97,1
341
- BRDA:97,2,0,1
342
- DA:98,1
343
- DA:101,0
344
- DA:103,0
345
- DA:105,0
346
- DA:107,257
347
- DA:115,0
348
- FN:115,ZoraFactoryImpl._handleIncomingCurrency
349
- FNDA:0,ZoraFactoryImpl._handleIncomingCurrency
350
- DA:116,0
351
- DA:117,0
352
- DA:118,0
353
- DA:120,0
354
- BRDA:120,3,0,-
355
- DA:121,0
356
- DA:128,68
357
- FN:128,ZoraFactoryImpl.initialize
358
- FNDA:68,ZoraFactoryImpl.initialize
359
- DA:129,0
360
- DA:130,0
361
- DA:131,68
362
- DA:135,2
363
- FN:135,ZoraFactoryImpl.implementation
364
- FNDA:2,ZoraFactoryImpl.implementation
365
- DA:136,2
366
- DA:141,3
367
- FN:141,ZoraFactoryImpl._authorizeUpgrade
368
- FNDA:3,ZoraFactoryImpl._authorizeUpgrade
369
- FNF:8
370
- FNH:7
371
- LF:36
372
- LH:25
373
- BRF:5
374
- BRH:3
375
- end_of_record
376
- TN:
377
- SF:src/proxy/ZoraFactory.sol
378
- DA:27,68
379
- FN:27,ZoraFactory.constructor
380
- FNDA:68,ZoraFactory.constructor
381
- DA:30,68
382
- FNF:1
383
- FNH:1
384
- LF:2
385
- LH:2
386
- BRF:0
387
- BRH:0
388
- end_of_record
389
- TN:
390
- SF:src/utils/MultiOwnable.sol
391
- DA:24,7
392
- FN:24,MultiOwnable.onlyOwner
393
- FNDA:7,MultiOwnable.onlyOwner
394
- DA:25,7
395
- BRDA:25,0,0,1
396
- DA:26,1
397
- DA:33,326
398
- FN:33,MultiOwnable.__MultiOwnable_init
399
- FNDA:326,MultiOwnable.__MultiOwnable_init
400
- DA:34,326
401
- DA:36,326
402
- BRDA:36,1,0,2
403
- DA:37,2
404
- DA:40,324
405
- DA:41,325
406
- BRDA:41,2,0,1
407
- DA:42,1
408
- DA:45,324
409
- BRDA:45,3,0,1
410
- DA:46,1
411
- DA:49,323
412
- DA:51,323
413
- DA:57,381
414
- FN:57,MultiOwnable.isOwner
415
- FNDA:381,MultiOwnable.isOwner
416
- DA:58,381
417
- DA:62,7
418
- FN:62,MultiOwnable.owners
419
- FNDA:7,MultiOwnable.owners
420
- DA:63,7
421
- DA:68,4
422
- FN:68,MultiOwnable.addOwners
423
- FNDA:4,MultiOwnable.addOwners
424
- DA:69,4
425
- DA:70,7
426
- DA:77,11
427
- FN:77,MultiOwnable.addOwner
428
- FNDA:11,MultiOwnable.addOwner
429
- DA:78,11
430
- BRDA:78,4,0,1
431
- DA:79,1
432
- DA:82,10
433
- BRDA:82,5,0,1
434
- DA:83,1
435
- DA:86,9
436
- DA:88,9
437
- DA:93,1
438
- FN:93,MultiOwnable.removeOwners
439
- FNDA:1,MultiOwnable.removeOwners
440
- DA:94,1
441
- DA:95,2
442
- DA:102,6
443
- FN:102,MultiOwnable.removeOwner
444
- FNDA:6,MultiOwnable.removeOwner
445
- DA:103,6
446
- BRDA:103,6,0,-
447
- DA:104,0
448
- DA:107,6
449
- BRDA:107,7,0,1
450
- DA:108,1
451
- DA:111,5
452
- BRDA:111,8,0,1
453
- DA:112,1
454
- DA:115,4
455
- DA:117,4
456
- DA:121,1
457
- FN:121,MultiOwnable.revokeOwnership
458
- FNDA:1,MultiOwnable.revokeOwnership
459
- DA:122,1
460
- DA:124,1
461
- FNF:9
462
- FNH:9
463
- LF:43
464
- LH:42
465
- BRF:9
466
- BRH:8
467
- end_of_record
468
- TN:
469
- SF:src/utils/TickMath.sol
470
- DA:24,321
471
- FN:24,TickMath.getSqrtRatioAtTick
472
- FNDA:321,TickMath.getSqrtRatioAtTick
473
- DA:25,321
474
- DA:26,321
475
- BRDA:26,0,0,-
476
- BRDA:26,0,1,-
477
- DA:28,321
478
- DA:29,321
479
- BRDA:29,1,0,-
480
- DA:30,321
481
- BRDA:30,2,0,-
482
- DA:31,321
483
- BRDA:31,3,0,-
484
- DA:32,321
485
- BRDA:32,4,0,6
486
- DA:33,321
487
- BRDA:33,5,0,321
488
- DA:34,321
489
- BRDA:34,6,0,6
490
- DA:35,321
491
- BRDA:35,7,0,-
492
- DA:36,321
493
- BRDA:36,8,0,6
494
- DA:37,321
495
- BRDA:37,9,0,321
496
- DA:38,321
497
- BRDA:38,10,0,6
498
- DA:39,321
499
- BRDA:39,11,0,321
500
- DA:40,321
501
- BRDA:40,12,0,6
502
- DA:41,321
503
- BRDA:41,13,0,-
504
- DA:42,321
505
- BRDA:42,14,0,6
506
- DA:43,321
507
- BRDA:43,15,0,6
508
- DA:44,321
509
- BRDA:44,16,0,315
510
- DA:45,321
511
- BRDA:45,17,0,315
512
- DA:46,321
513
- BRDA:46,18,0,-
514
- DA:47,321
515
- BRDA:47,19,0,-
516
- DA:49,321
517
- BRDA:49,20,0,59
518
- DA:54,321
519
- DA:62,0
520
- FN:62,TickMath.getTickAtSqrtRatio
521
- FNDA:0,TickMath.getTickAtSqrtRatio
522
- DA:64,0
523
- BRDA:64,21,0,-
524
- BRDA:64,21,1,-
525
- DA:65,0
526
- DA:67,0
527
- DA:68,0
528
- DA:71,0
529
- DA:72,0
530
- DA:73,0
531
- DA:76,0
532
- DA:77,0
533
- DA:78,0
534
- DA:81,0
535
- DA:82,0
536
- DA:83,0
537
- DA:86,0
538
- DA:87,0
539
- DA:88,0
540
- DA:91,0
541
- DA:92,0
542
- DA:93,0
543
- DA:96,0
544
- DA:97,0
545
- DA:98,0
546
- DA:101,0
547
- DA:102,0
548
- DA:103,0
549
- DA:106,0
550
- DA:107,0
551
- DA:110,0
552
- BRDA:110,22,0,-
553
- BRDA:110,22,1,-
554
- DA:111,0
555
- DA:113,0
556
- DA:116,0
557
- DA:117,0
558
- DA:118,0
559
- DA:119,0
560
- DA:122,0
561
- DA:123,0
562
- DA:124,0
563
- DA:125,0
564
- DA:128,0
565
- DA:129,0
566
- DA:130,0
567
- DA:131,0
568
- DA:134,0
569
- DA:135,0
570
- DA:136,0
571
- DA:137,0
572
- DA:140,0
573
- DA:141,0
574
- DA:142,0
575
- DA:143,0
576
- DA:146,0
577
- DA:147,0
578
- DA:148,0
579
- DA:149,0
580
- DA:152,0
581
- DA:153,0
582
- DA:154,0
583
- DA:155,0
584
- DA:158,0
585
- DA:159,0
586
- DA:160,0
587
- DA:161,0
588
- DA:164,0
589
- DA:165,0
590
- DA:166,0
591
- DA:167,0
592
- DA:170,0
593
- DA:171,0
594
- DA:172,0
595
- DA:173,0
596
- DA:176,0
597
- DA:177,0
598
- DA:178,0
599
- DA:179,0
600
- DA:182,0
601
- DA:183,0
602
- DA:184,0
603
- DA:185,0
604
- DA:188,0
605
- DA:189,0
606
- DA:190,0
607
- DA:191,0
608
- DA:194,0
609
- DA:195,0
610
- DA:196,0
611
- DA:199,0
612
- DA:201,0
613
- DA:202,0
614
- DA:204,0
615
- FNF:2
616
- FNH:1
617
- LF:115
618
- LH:25
619
- BRF:26
620
- BRH:13
621
- end_of_record
622
- TN:
623
- SF:src/version/ContractVersionBase.sol
624
- DA:11,321
625
- FN:11,ContractVersionBase.contractVersion
626
- FNDA:321,ContractVersionBase.contractVersion
627
- DA:12,321
628
- FNF:1
629
- FNH:1
630
- LF:2
631
- LH:2
632
- BRF:0
633
- BRH:0
634
- end_of_record