@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.
- package/.turbo/turbo-build.log +95 -93
- package/CHANGELOG.md +8 -2
- package/abis/CoinTest.json +0 -7
- package/abis/FactoryTest.json +1 -1
- package/abis/UpgradeCoinImpl.json +9 -0
- package/addresses/8453.json +4 -4
- package/addresses/84532.json +4 -4
- package/deterministicConfig/deployerAndCaller.json +1 -1
- package/deterministicConfig/zoraFactory.json +1 -1
- package/package.json +3 -3
- package/script/CoinsDeployerBase.sol +10 -4
- package/script/UpgradeCoinImpl.sol +23 -0
- package/slither.config.json +3 -5
- package/src/Coin.sol +1 -1
- package/src/utils/CoinConstants.sol +2 -2
- package/src/version/ContractVersionBase.sol +1 -1
- package/test/Coin.t.sol +21 -23
- package/test/Factory.t.sol +2 -12
- package/wagmi.config.ts +3 -3
- package/integration/.env +0 -2
- package/lcov.info +0 -634
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,93 +1,95 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
>
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
>
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
[
|
|
37
|
-
|
|
38
|
-
[
|
|
39
|
-
[
|
|
40
|
-
[
|
|
41
|
-
[
|
|
42
|
-
[
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
src
|
|
55
|
-
|
|
56
|
-
src/
|
|
57
|
-
src/interfaces/
|
|
58
|
-
src/interfaces/
|
|
59
|
-
src/interfaces/
|
|
60
|
-
src/interfaces/
|
|
61
|
-
src/interfaces/
|
|
62
|
-
src/interfaces/
|
|
63
|
-
src/interfaces/
|
|
64
|
-
src/interfaces/
|
|
65
|
-
src/
|
|
66
|
-
src/
|
|
67
|
-
src/
|
|
68
|
-
src/utils/
|
|
69
|
-
src/
|
|
70
|
-
src/
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
test/
|
|
74
|
-
test/
|
|
75
|
-
test/
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
script/
|
|
79
|
-
script/
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
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
|
+
[33m-[39m Validating plugins
|
|
37
|
+
[32m✔[39m Validating plugins
|
|
38
|
+
[33m-[39m Resolving contracts
|
|
39
|
+
[32m✔[39m Resolving contracts
|
|
40
|
+
[33m-[39m Running plugins
|
|
41
|
+
[32m✔[39m Running plugins
|
|
42
|
+
[33m-[39m Writing to [90mpackage/wagmiGenerated.ts[39m
|
|
43
|
+
[32m✔[39m Writing to [90mpackage/wagmiGenerated.ts[39m
|
|
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.
|
|
3
|
+
## 0.6.1
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
|
-
-
|
|
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
|
|
package/abis/CoinTest.json
CHANGED
|
@@ -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",
|
package/abis/FactoryTest.json
CHANGED
package/addresses/8453.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"COIN_IMPL": "
|
|
3
|
-
"COIN_VERSION": "0.
|
|
2
|
+
"COIN_IMPL": "0xFDfD1A05a22bd5Ee57a97Af4A2ADb7B3D74385E8",
|
|
3
|
+
"COIN_VERSION": "0.6.0",
|
|
4
4
|
"ZORA_FACTORY": "0x777777751622c0d3258f214F9DF38E35BF45baF3",
|
|
5
|
-
"ZORA_FACTORY_IMPL": "
|
|
6
|
-
}
|
|
5
|
+
"ZORA_FACTORY_IMPL": "0x914f448760938Ba34aBf9bC992B7Fb7553B309eA"
|
|
6
|
+
}
|
package/addresses/84532.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"COIN_IMPL": "
|
|
3
|
-
"COIN_VERSION": "0.
|
|
2
|
+
"COIN_IMPL": "0x80b7F916F744ecef6a937B0080D6eeC1e2B53F34",
|
|
3
|
+
"COIN_VERSION": "0.6.0",
|
|
4
4
|
"ZORA_FACTORY": "0x777777751622c0d3258f214F9DF38E35BF45baF3",
|
|
5
|
-
"ZORA_FACTORY_IMPL": "
|
|
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
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zoralabs/coins",
|
|
3
|
-
"version": "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
|
|
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
|
+
}
|
package/slither.config.json
CHANGED
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_
|
|
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 = -
|
|
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.
|
|
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.
|
|
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),
|
|
240
|
-
assertEq(amountOut,
|
|
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),
|
|
278
|
-
assertEq(amountOut,
|
|
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,
|
|
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,
|
|
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,
|
|
371
|
+
assertEq(afterBalance, 9994558841570544323195890); // 9,994,559 coins
|
|
384
372
|
|
|
385
|
-
uint256 expectedMarketReward =
|
|
373
|
+
uint256 expectedMarketReward = 5441158429455676804107; // 5,441 coins
|
|
386
374
|
|
|
387
|
-
// 9,
|
|
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(
|
|
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 {
|
package/test/Factory.t.sol
CHANGED
|
@@ -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:
|
|
11
|
-
8453:
|
|
12
|
-
}
|
|
10
|
+
84532: "0x777777751622c0d3258f214F9DF38E35BF45baF3",
|
|
11
|
+
8453: "0x777777751622c0d3258f214F9DF38E35BF45baF3",
|
|
12
|
+
},
|
|
13
13
|
},
|
|
14
14
|
forge: {
|
|
15
15
|
build: false,
|
package/integration/.env
DELETED
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
|