@zoralabs/coins 0.1.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 (116) hide show
  1. package/.turbo/turbo-build.log +76 -0
  2. package/CHANGELOG.md +14 -0
  3. package/LICENSE +21 -0
  4. package/abis/Address.json +29 -0
  5. package/abis/BaseTest.json +691 -0
  6. package/abis/Clones.json +7 -0
  7. package/abis/Coin.json +1693 -0
  8. package/abis/CoinConstants.json +93 -0
  9. package/abis/CoinTest.json +998 -0
  10. package/abis/ContextUpgradeable.json +25 -0
  11. package/abis/ContractVersionBase.json +15 -0
  12. package/abis/Deploy.json +29 -0
  13. package/abis/ECDSA.json +29 -0
  14. package/abis/EIP712.json +67 -0
  15. package/abis/EIP712Upgradeable.json +74 -0
  16. package/abis/ERC1967Proxy.json +67 -0
  17. package/abis/ERC1967Utils.json +85 -0
  18. package/abis/ERC20PermitUpgradeable.json +527 -0
  19. package/abis/ERC20Upgradeable.json +333 -0
  20. package/abis/FactoryTest.json +845 -0
  21. package/abis/IBeacon.json +15 -0
  22. package/abis/ICoin.json +541 -0
  23. package/abis/ICoinComments.json +53 -0
  24. package/abis/IERC1155Errors.json +104 -0
  25. package/abis/IERC165.json +21 -0
  26. package/abis/IERC1822Proxiable.json +15 -0
  27. package/abis/IERC20.json +221 -0
  28. package/abis/IERC20Errors.json +88 -0
  29. package/abis/IERC20Metadata.json +224 -0
  30. package/abis/IERC20Permit.json +77 -0
  31. package/abis/IERC5267.json +51 -0
  32. package/abis/IERC721.json +287 -0
  33. package/abis/IERC721Enumerable.json +343 -0
  34. package/abis/IERC721Errors.json +105 -0
  35. package/abis/IERC721Metadata.json +332 -0
  36. package/abis/IERC721Receiver.json +36 -0
  37. package/abis/IERC721TokenReceiver.json +36 -0
  38. package/abis/IERC7572.json +21 -0
  39. package/abis/IMulticall3.json +440 -0
  40. package/abis/INonfungiblePositionManager.json +366 -0
  41. package/abis/IProtocolRewards.json +348 -0
  42. package/abis/ISwapRouter.json +137 -0
  43. package/abis/IUniswapV3Pool.json +148 -0
  44. package/abis/IUniswapV3SwapCallback.json +25 -0
  45. package/abis/IVersionedContract.json +15 -0
  46. package/abis/IWETH.json +118 -0
  47. package/abis/IZoraFactory.json +138 -0
  48. package/abis/Initializable.json +25 -0
  49. package/abis/Math.json +7 -0
  50. package/abis/MockERC20.json +322 -0
  51. package/abis/MockERC721.json +350 -0
  52. package/abis/MultiOwnable.json +171 -0
  53. package/abis/MultiOwnableTest.json +796 -0
  54. package/abis/NoncesUpgradeable.json +60 -0
  55. package/abis/OwnableUpgradeable.json +99 -0
  56. package/abis/ProtocolRewards.json +494 -0
  57. package/abis/Proxy.json +6 -0
  58. package/abis/ReentrancyGuardUpgradeable.json +30 -0
  59. package/abis/SafeERC20.json +34 -0
  60. package/abis/Script.json +15 -0
  61. package/abis/ShortStrings.json +18 -0
  62. package/abis/StdAssertions.json +379 -0
  63. package/abis/StdInvariant.json +180 -0
  64. package/abis/Strings.json +18 -0
  65. package/abis/Test.json +570 -0
  66. package/abis/UUPSUpgradeable.json +130 -0
  67. package/abis/Vm.json +8627 -0
  68. package/abis/VmSafe.json +7297 -0
  69. package/abis/ZoraFactory.json +67 -0
  70. package/abis/ZoraFactoryImpl.json +422 -0
  71. package/abis/stdError.json +119 -0
  72. package/abis/stdStorageSafe.json +52 -0
  73. package/addresses/1.json +4 -0
  74. package/addresses/8453.json +9 -0
  75. package/addresses/84532.json +9 -0
  76. package/dist/index.cjs +1236 -0
  77. package/dist/index.cjs.map +1 -0
  78. package/dist/index.d.ts +2 -0
  79. package/dist/index.d.ts.map +1 -0
  80. package/dist/index.js +1208 -0
  81. package/dist/index.js.map +1 -0
  82. package/dist/wagmiGenerated.d.ts +1645 -0
  83. package/dist/wagmiGenerated.d.ts.map +1 -0
  84. package/foundry.toml +9 -0
  85. package/package/index.ts +1 -0
  86. package/package/wagmiGenerated.ts +1211 -0
  87. package/package.json +48 -0
  88. package/remappings.txt +4 -0
  89. package/script/Deploy.s.sol +14 -0
  90. package/slither.config.json +6 -0
  91. package/src/Coin.sol +579 -0
  92. package/src/ZoraFactoryImpl.sol +142 -0
  93. package/src/interfaces/ICoin.sol +194 -0
  94. package/src/interfaces/ICoinComments.sol +8 -0
  95. package/src/interfaces/IERC7572.sol +12 -0
  96. package/src/interfaces/INonfungiblePositionManager.sol +104 -0
  97. package/src/interfaces/IProtocolRewards.sol +12 -0
  98. package/src/interfaces/ISwapRouter.sol +38 -0
  99. package/src/interfaces/IUniswapV3Pool.sol +43 -0
  100. package/src/interfaces/IUniswapV3SwapCallback.sol +17 -0
  101. package/src/interfaces/IWETH.sol +16 -0
  102. package/src/interfaces/IZoraFactory.sol +56 -0
  103. package/src/proxy/ZoraFactory.sol +26 -0
  104. package/src/utils/CoinConstants.sol +67 -0
  105. package/src/utils/MultiOwnable.sol +126 -0
  106. package/src/utils/TickMath.sol +210 -0
  107. package/src/version/ContractVersionBase.sol +14 -0
  108. package/test/Coin.t.sol +443 -0
  109. package/test/Factory.t.sol +298 -0
  110. package/test/MultiOwnable.t.sol +156 -0
  111. package/test/utils/BaseTest.sol +178 -0
  112. package/test/utils/ProtocolRewards.sol +1499 -0
  113. package/tsconfig.build.json +10 -0
  114. package/tsconfig.json +9 -0
  115. package/tsup.config.ts +11 -0
  116. package/wagmi.config.ts +16 -0
@@ -0,0 +1,137 @@
1
+ [
2
+ {
3
+ "type": "function",
4
+ "name": "exactInputSingle",
5
+ "inputs": [
6
+ {
7
+ "name": "params",
8
+ "type": "tuple",
9
+ "internalType": "struct ISwapRouter.ExactInputSingleParams",
10
+ "components": [
11
+ {
12
+ "name": "tokenIn",
13
+ "type": "address",
14
+ "internalType": "address"
15
+ },
16
+ {
17
+ "name": "tokenOut",
18
+ "type": "address",
19
+ "internalType": "address"
20
+ },
21
+ {
22
+ "name": "fee",
23
+ "type": "uint24",
24
+ "internalType": "uint24"
25
+ },
26
+ {
27
+ "name": "recipient",
28
+ "type": "address",
29
+ "internalType": "address"
30
+ },
31
+ {
32
+ "name": "amountIn",
33
+ "type": "uint256",
34
+ "internalType": "uint256"
35
+ },
36
+ {
37
+ "name": "amountOutMinimum",
38
+ "type": "uint256",
39
+ "internalType": "uint256"
40
+ },
41
+ {
42
+ "name": "sqrtPriceLimitX96",
43
+ "type": "uint160",
44
+ "internalType": "uint160"
45
+ }
46
+ ]
47
+ }
48
+ ],
49
+ "outputs": [
50
+ {
51
+ "name": "amountOut",
52
+ "type": "uint256",
53
+ "internalType": "uint256"
54
+ }
55
+ ],
56
+ "stateMutability": "payable"
57
+ },
58
+ {
59
+ "type": "function",
60
+ "name": "exactOutputSingle",
61
+ "inputs": [
62
+ {
63
+ "name": "params",
64
+ "type": "tuple",
65
+ "internalType": "struct ISwapRouter.ExactOutputSingleParams",
66
+ "components": [
67
+ {
68
+ "name": "tokenIn",
69
+ "type": "address",
70
+ "internalType": "address"
71
+ },
72
+ {
73
+ "name": "tokenOut",
74
+ "type": "address",
75
+ "internalType": "address"
76
+ },
77
+ {
78
+ "name": "fee",
79
+ "type": "uint24",
80
+ "internalType": "uint24"
81
+ },
82
+ {
83
+ "name": "recipient",
84
+ "type": "address",
85
+ "internalType": "address"
86
+ },
87
+ {
88
+ "name": "amountOut",
89
+ "type": "uint256",
90
+ "internalType": "uint256"
91
+ },
92
+ {
93
+ "name": "amountInMaximum",
94
+ "type": "uint256",
95
+ "internalType": "uint256"
96
+ },
97
+ {
98
+ "name": "sqrtPriceLimitX96",
99
+ "type": "uint160",
100
+ "internalType": "uint160"
101
+ }
102
+ ]
103
+ }
104
+ ],
105
+ "outputs": [
106
+ {
107
+ "name": "amountIn",
108
+ "type": "uint256",
109
+ "internalType": "uint256"
110
+ }
111
+ ],
112
+ "stateMutability": "payable"
113
+ },
114
+ {
115
+ "type": "function",
116
+ "name": "uniswapV3SwapCallback",
117
+ "inputs": [
118
+ {
119
+ "name": "amount0Delta",
120
+ "type": "int256",
121
+ "internalType": "int256"
122
+ },
123
+ {
124
+ "name": "amount1Delta",
125
+ "type": "int256",
126
+ "internalType": "int256"
127
+ },
128
+ {
129
+ "name": "data",
130
+ "type": "bytes",
131
+ "internalType": "bytes"
132
+ }
133
+ ],
134
+ "outputs": [],
135
+ "stateMutability": "nonpayable"
136
+ }
137
+ ]
@@ -0,0 +1,148 @@
1
+ [
2
+ {
3
+ "type": "function",
4
+ "name": "feeGrowthGlobal0X128",
5
+ "inputs": [],
6
+ "outputs": [
7
+ {
8
+ "name": "",
9
+ "type": "uint256",
10
+ "internalType": "uint256"
11
+ }
12
+ ],
13
+ "stateMutability": "view"
14
+ },
15
+ {
16
+ "type": "function",
17
+ "name": "feeGrowthGlobal1X128",
18
+ "inputs": [],
19
+ "outputs": [
20
+ {
21
+ "name": "",
22
+ "type": "uint256",
23
+ "internalType": "uint256"
24
+ }
25
+ ],
26
+ "stateMutability": "view"
27
+ },
28
+ {
29
+ "type": "function",
30
+ "name": "slot0",
31
+ "inputs": [],
32
+ "outputs": [
33
+ {
34
+ "name": "slot0",
35
+ "type": "tuple",
36
+ "internalType": "struct IUniswapV3Pool.Slot0",
37
+ "components": [
38
+ {
39
+ "name": "sqrtPriceX96",
40
+ "type": "uint160",
41
+ "internalType": "uint160"
42
+ },
43
+ {
44
+ "name": "tick",
45
+ "type": "int24",
46
+ "internalType": "int24"
47
+ },
48
+ {
49
+ "name": "observationIndex",
50
+ "type": "uint16",
51
+ "internalType": "uint16"
52
+ },
53
+ {
54
+ "name": "observationCardinality",
55
+ "type": "uint16",
56
+ "internalType": "uint16"
57
+ },
58
+ {
59
+ "name": "observationCardinalityNext",
60
+ "type": "uint16",
61
+ "internalType": "uint16"
62
+ },
63
+ {
64
+ "name": "feeProtocol",
65
+ "type": "uint8",
66
+ "internalType": "uint8"
67
+ },
68
+ {
69
+ "name": "unlocked",
70
+ "type": "bool",
71
+ "internalType": "bool"
72
+ }
73
+ ]
74
+ }
75
+ ],
76
+ "stateMutability": "view"
77
+ },
78
+ {
79
+ "type": "function",
80
+ "name": "swap",
81
+ "inputs": [
82
+ {
83
+ "name": "recipient",
84
+ "type": "address",
85
+ "internalType": "address"
86
+ },
87
+ {
88
+ "name": "zeroForOne",
89
+ "type": "bool",
90
+ "internalType": "bool"
91
+ },
92
+ {
93
+ "name": "amountSpecified",
94
+ "type": "int256",
95
+ "internalType": "int256"
96
+ },
97
+ {
98
+ "name": "sqrtPriceLimitX96",
99
+ "type": "uint160",
100
+ "internalType": "uint160"
101
+ },
102
+ {
103
+ "name": "data",
104
+ "type": "bytes",
105
+ "internalType": "bytes"
106
+ }
107
+ ],
108
+ "outputs": [
109
+ {
110
+ "name": "amount0",
111
+ "type": "int256",
112
+ "internalType": "int256"
113
+ },
114
+ {
115
+ "name": "amount1",
116
+ "type": "int256",
117
+ "internalType": "int256"
118
+ }
119
+ ],
120
+ "stateMutability": "nonpayable"
121
+ },
122
+ {
123
+ "type": "function",
124
+ "name": "token0",
125
+ "inputs": [],
126
+ "outputs": [
127
+ {
128
+ "name": "",
129
+ "type": "address",
130
+ "internalType": "address"
131
+ }
132
+ ],
133
+ "stateMutability": "nonpayable"
134
+ },
135
+ {
136
+ "type": "function",
137
+ "name": "token1",
138
+ "inputs": [],
139
+ "outputs": [
140
+ {
141
+ "name": "",
142
+ "type": "address",
143
+ "internalType": "address"
144
+ }
145
+ ],
146
+ "stateMutability": "nonpayable"
147
+ }
148
+ ]
@@ -0,0 +1,25 @@
1
+ [
2
+ {
3
+ "type": "function",
4
+ "name": "uniswapV3SwapCallback",
5
+ "inputs": [
6
+ {
7
+ "name": "amount0Delta",
8
+ "type": "int256",
9
+ "internalType": "int256"
10
+ },
11
+ {
12
+ "name": "amount1Delta",
13
+ "type": "int256",
14
+ "internalType": "int256"
15
+ },
16
+ {
17
+ "name": "data",
18
+ "type": "bytes",
19
+ "internalType": "bytes"
20
+ }
21
+ ],
22
+ "outputs": [],
23
+ "stateMutability": "nonpayable"
24
+ }
25
+ ]
@@ -0,0 +1,15 @@
1
+ [
2
+ {
3
+ "type": "function",
4
+ "name": "contractVersion",
5
+ "inputs": [],
6
+ "outputs": [
7
+ {
8
+ "name": "",
9
+ "type": "string",
10
+ "internalType": "string"
11
+ }
12
+ ],
13
+ "stateMutability": "pure"
14
+ }
15
+ ]
@@ -0,0 +1,118 @@
1
+ [
2
+ {
3
+ "type": "function",
4
+ "name": "approve",
5
+ "inputs": [
6
+ {
7
+ "name": "guy",
8
+ "type": "address",
9
+ "internalType": "address"
10
+ },
11
+ {
12
+ "name": "wad",
13
+ "type": "uint256",
14
+ "internalType": "uint256"
15
+ }
16
+ ],
17
+ "outputs": [
18
+ {
19
+ "name": "",
20
+ "type": "bool",
21
+ "internalType": "bool"
22
+ }
23
+ ],
24
+ "stateMutability": "nonpayable"
25
+ },
26
+ {
27
+ "type": "function",
28
+ "name": "balanceOf",
29
+ "inputs": [
30
+ {
31
+ "name": "guy",
32
+ "type": "address",
33
+ "internalType": "address"
34
+ }
35
+ ],
36
+ "outputs": [
37
+ {
38
+ "name": "",
39
+ "type": "uint256",
40
+ "internalType": "uint256"
41
+ }
42
+ ],
43
+ "stateMutability": "view"
44
+ },
45
+ {
46
+ "type": "function",
47
+ "name": "deposit",
48
+ "inputs": [],
49
+ "outputs": [],
50
+ "stateMutability": "payable"
51
+ },
52
+ {
53
+ "type": "function",
54
+ "name": "transfer",
55
+ "inputs": [
56
+ {
57
+ "name": "dst",
58
+ "type": "address",
59
+ "internalType": "address"
60
+ },
61
+ {
62
+ "name": "wad",
63
+ "type": "uint256",
64
+ "internalType": "uint256"
65
+ }
66
+ ],
67
+ "outputs": [
68
+ {
69
+ "name": "",
70
+ "type": "bool",
71
+ "internalType": "bool"
72
+ }
73
+ ],
74
+ "stateMutability": "nonpayable"
75
+ },
76
+ {
77
+ "type": "function",
78
+ "name": "transferFrom",
79
+ "inputs": [
80
+ {
81
+ "name": "src",
82
+ "type": "address",
83
+ "internalType": "address"
84
+ },
85
+ {
86
+ "name": "dst",
87
+ "type": "address",
88
+ "internalType": "address"
89
+ },
90
+ {
91
+ "name": "wad",
92
+ "type": "uint256",
93
+ "internalType": "uint256"
94
+ }
95
+ ],
96
+ "outputs": [
97
+ {
98
+ "name": "",
99
+ "type": "bool",
100
+ "internalType": "bool"
101
+ }
102
+ ],
103
+ "stateMutability": "nonpayable"
104
+ },
105
+ {
106
+ "type": "function",
107
+ "name": "withdraw",
108
+ "inputs": [
109
+ {
110
+ "name": "wad",
111
+ "type": "uint256",
112
+ "internalType": "uint256"
113
+ }
114
+ ],
115
+ "outputs": [],
116
+ "stateMutability": "nonpayable"
117
+ }
118
+ ]
@@ -0,0 +1,138 @@
1
+ [
2
+ {
3
+ "type": "function",
4
+ "name": "deploy",
5
+ "inputs": [
6
+ {
7
+ "name": "payoutRecipient",
8
+ "type": "address",
9
+ "internalType": "address"
10
+ },
11
+ {
12
+ "name": "owners",
13
+ "type": "address[]",
14
+ "internalType": "address[]"
15
+ },
16
+ {
17
+ "name": "uri",
18
+ "type": "string",
19
+ "internalType": "string"
20
+ },
21
+ {
22
+ "name": "name",
23
+ "type": "string",
24
+ "internalType": "string"
25
+ },
26
+ {
27
+ "name": "symbol",
28
+ "type": "string",
29
+ "internalType": "string"
30
+ },
31
+ {
32
+ "name": "platformReferrer",
33
+ "type": "address",
34
+ "internalType": "address"
35
+ },
36
+ {
37
+ "name": "currency",
38
+ "type": "address",
39
+ "internalType": "address"
40
+ },
41
+ {
42
+ "name": "tickLower",
43
+ "type": "int24",
44
+ "internalType": "int24"
45
+ },
46
+ {
47
+ "name": "orderSize",
48
+ "type": "uint256",
49
+ "internalType": "uint256"
50
+ }
51
+ ],
52
+ "outputs": [
53
+ {
54
+ "name": "",
55
+ "type": "address",
56
+ "internalType": "address"
57
+ }
58
+ ],
59
+ "stateMutability": "payable"
60
+ },
61
+ {
62
+ "type": "event",
63
+ "name": "CoinCreated",
64
+ "inputs": [
65
+ {
66
+ "name": "deployer",
67
+ "type": "address",
68
+ "indexed": true,
69
+ "internalType": "address"
70
+ },
71
+ {
72
+ "name": "creator",
73
+ "type": "address",
74
+ "indexed": true,
75
+ "internalType": "address"
76
+ },
77
+ {
78
+ "name": "payoutRecipient",
79
+ "type": "address",
80
+ "indexed": true,
81
+ "internalType": "address"
82
+ },
83
+ {
84
+ "name": "platformReferrer",
85
+ "type": "address",
86
+ "indexed": false,
87
+ "internalType": "address"
88
+ },
89
+ {
90
+ "name": "currency",
91
+ "type": "address",
92
+ "indexed": false,
93
+ "internalType": "address"
94
+ },
95
+ {
96
+ "name": "tokenURI",
97
+ "type": "string",
98
+ "indexed": false,
99
+ "internalType": "string"
100
+ },
101
+ {
102
+ "name": "name",
103
+ "type": "string",
104
+ "indexed": false,
105
+ "internalType": "string"
106
+ },
107
+ {
108
+ "name": "symbol",
109
+ "type": "string",
110
+ "indexed": false,
111
+ "internalType": "string"
112
+ },
113
+ {
114
+ "name": "coin",
115
+ "type": "address",
116
+ "indexed": false,
117
+ "internalType": "address"
118
+ },
119
+ {
120
+ "name": "pool",
121
+ "type": "address",
122
+ "indexed": false,
123
+ "internalType": "address"
124
+ }
125
+ ],
126
+ "anonymous": false
127
+ },
128
+ {
129
+ "type": "error",
130
+ "name": "ERC20TransferAmountMismatch",
131
+ "inputs": []
132
+ },
133
+ {
134
+ "type": "error",
135
+ "name": "EthTransferInvalid",
136
+ "inputs": []
137
+ }
138
+ ]
@@ -0,0 +1,25 @@
1
+ [
2
+ {
3
+ "type": "event",
4
+ "name": "Initialized",
5
+ "inputs": [
6
+ {
7
+ "name": "version",
8
+ "type": "uint64",
9
+ "indexed": false,
10
+ "internalType": "uint64"
11
+ }
12
+ ],
13
+ "anonymous": false
14
+ },
15
+ {
16
+ "type": "error",
17
+ "name": "InvalidInitialization",
18
+ "inputs": []
19
+ },
20
+ {
21
+ "type": "error",
22
+ "name": "NotInitializing",
23
+ "inputs": []
24
+ }
25
+ ]
package/abis/Math.json ADDED
@@ -0,0 +1,7 @@
1
+ [
2
+ {
3
+ "type": "error",
4
+ "name": "MathOverflowedMulDiv",
5
+ "inputs": []
6
+ }
7
+ ]