Skip to content

Commit df63277

Browse files
authored
Merge pull request #506 from tablelandnetwork/dtb/add-base-mainnet
2 parents 3397390 + f260de7 commit df63277

6 files changed

Lines changed: 204 additions & 0 deletions

File tree

.env.example

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ ARBITRUM_PRIVATE_KEY=0xfixme
77
ARBITRUM_API_KEY=fixme
88
ARBITRUM_NOVA_PRIVATE_KEY=0xfixme
99
ARBITRUM_NOVA_API_KEY=fixme
10+
BASE_PRIVATE_KEY=0xfixme
11+
BASE_API_KEY=fixme
1012
POLYGON_PRIVATE_KEY=0xfixme
1113
POLYGON_API_KEY=fixme
1214
FILECOIN_PRIVATE_KEY=0xfixme

.openzeppelin/base.json

Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,173 @@
1+
{
2+
"manifestVersion": "3.2",
3+
"proxies": [
4+
{
5+
"address": "0x8268F7Aba0E152B3A853e8CB4Ab9795Ec66c2b6B",
6+
"txHash": "0xcf674908e31d44eba76dbac5b85b7e617a531c8c18f4fbf3ce0c6484d7a5cf9c",
7+
"kind": "uups"
8+
}
9+
],
10+
"impls": {
11+
"f81fdad50c4628dce7f1a7ebf243ab81c2f61f18d2d7ff651bb95a932120d900": {
12+
"address": "0xBa336Eca67987820f68eC23dd84000685B7bD5B4",
13+
"txHash": "0xc98d4aadf141cae6dabf11c5a448276a6338aa910a70d108773821ee411cdc50",
14+
"layout": {
15+
"solcVersion": "0.8.19",
16+
"storage": [
17+
{
18+
"label": "_initialized",
19+
"offset": 0,
20+
"slot": "0",
21+
"type": "t_uint8",
22+
"contract": "Initializable",
23+
"src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63",
24+
"retypedFrom": "bool"
25+
},
26+
{
27+
"label": "_initializing",
28+
"offset": 1,
29+
"slot": "0",
30+
"type": "t_bool",
31+
"contract": "Initializable",
32+
"src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68"
33+
},
34+
{
35+
"label": "__gap",
36+
"offset": 0,
37+
"slot": "1",
38+
"type": "t_array(t_uint256)50_storage",
39+
"contract": "ContextUpgradeable",
40+
"src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40"
41+
},
42+
{
43+
"label": "_owner",
44+
"offset": 0,
45+
"slot": "51",
46+
"type": "t_address",
47+
"contract": "OwnableUpgradeable",
48+
"src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22"
49+
},
50+
{
51+
"label": "__gap",
52+
"offset": 0,
53+
"slot": "52",
54+
"type": "t_array(t_uint256)49_storage",
55+
"contract": "OwnableUpgradeable",
56+
"src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94"
57+
},
58+
{
59+
"label": "_paused",
60+
"offset": 0,
61+
"slot": "101",
62+
"type": "t_bool",
63+
"contract": "PausableUpgradeable",
64+
"src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29"
65+
},
66+
{
67+
"label": "__gap",
68+
"offset": 0,
69+
"slot": "102",
70+
"type": "t_array(t_uint256)49_storage",
71+
"contract": "PausableUpgradeable",
72+
"src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116"
73+
},
74+
{
75+
"label": "_status",
76+
"offset": 0,
77+
"slot": "151",
78+
"type": "t_uint256",
79+
"contract": "ReentrancyGuardUpgradeable",
80+
"src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38"
81+
},
82+
{
83+
"label": "__gap",
84+
"offset": 0,
85+
"slot": "152",
86+
"type": "t_array(t_uint256)49_storage",
87+
"contract": "ReentrancyGuardUpgradeable",
88+
"src": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:88"
89+
},
90+
{
91+
"label": "__gap",
92+
"offset": 0,
93+
"slot": "201",
94+
"type": "t_array(t_uint256)50_storage",
95+
"contract": "ERC1967UpgradeUpgradeable",
96+
"src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169"
97+
},
98+
{
99+
"label": "__gap",
100+
"offset": 0,
101+
"slot": "251",
102+
"type": "t_array(t_uint256)50_storage",
103+
"contract": "UUPSUpgradeable",
104+
"src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111"
105+
},
106+
{
107+
"label": "_baseURIString",
108+
"offset": 0,
109+
"slot": "301",
110+
"type": "t_string_storage",
111+
"contract": "TablelandTables",
112+
"src": "contracts/TablelandTables.sol:27"
113+
},
114+
{
115+
"label": "_controllers",
116+
"offset": 0,
117+
"slot": "302",
118+
"type": "t_mapping(t_uint256,t_address)",
119+
"contract": "TablelandTables",
120+
"src": "contracts/TablelandTables.sol:29"
121+
},
122+
{
123+
"label": "_locks",
124+
"offset": 0,
125+
"slot": "303",
126+
"type": "t_mapping(t_uint256,t_bool)",
127+
"contract": "TablelandTables",
128+
"src": "contracts/TablelandTables.sol:31"
129+
}
130+
],
131+
"types": {
132+
"t_address": {
133+
"label": "address",
134+
"numberOfBytes": "20"
135+
},
136+
"t_array(t_uint256)49_storage": {
137+
"label": "uint256[49]",
138+
"numberOfBytes": "1568"
139+
},
140+
"t_array(t_uint256)50_storage": {
141+
"label": "uint256[50]",
142+
"numberOfBytes": "1600"
143+
},
144+
"t_bool": {
145+
"label": "bool",
146+
"numberOfBytes": "1"
147+
},
148+
"t_mapping(t_uint256,t_address)": {
149+
"label": "mapping(uint256 => address)",
150+
"numberOfBytes": "32"
151+
},
152+
"t_mapping(t_uint256,t_bool)": {
153+
"label": "mapping(uint256 => bool)",
154+
"numberOfBytes": "32"
155+
},
156+
"t_string_storage": {
157+
"label": "string",
158+
"numberOfBytes": "32"
159+
},
160+
"t_uint256": {
161+
"label": "uint256",
162+
"numberOfBytes": "32"
163+
},
164+
"t_uint8": {
165+
"label": "uint8",
166+
"numberOfBytes": "1"
167+
}
168+
},
169+
"namespaces": {}
170+
}
171+
}
172+
}
173+
}

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ This is the Tableland Tables EVM contracts and client components.
2626
| optimism | 10 | 0xfad44BF5B843dE943a09D4f3E84949A11d3aa3e6 |
2727
| arbitrum | 42161 | 0x9aBd75E8640871A5a20d3B4eE6330a04c962aFfd |
2828
| arbitrum-nova | 42170 | 0x1A22854c5b1642760a827f20137a67930AE108d2 |
29+
| base | 8453 | 0x8268F7Aba0E152B3A853e8CB4Ab9795Ec66c2b6B |
2930
| polygon | 137 | 0x5c4e6A9e5C1e1BF445A062006faF19EA6c49aFeA |
3031
| filecoin | 314 | 0x59EF8Bf2d6c102B4c42AEf9189e1a9F0ABfD652d |
3132
| sepolia | 11155111 | 0xc50C62498448ACc8dBdE43DA77f8D5D2E2c7597D |

contracts/utils/TablelandDeployments.sol

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ library TablelandDeployments {
2929
// TablelandTables address on Arbitrum Nova.
3030
address internal constant ARBITRUM_NOVA =
3131
0x1A22854c5b1642760a827f20137a67930AE108d2;
32+
// TablelandTables address on Base.
33+
address internal constant BASE = 0x8268F7Aba0E152B3A853e8CB4Ab9795Ec66c2b6B;
3234
// TablelandTables address on Polygon.
3335
address internal constant POLYGON =
3436
0x5c4e6A9e5C1e1BF445A062006faF19EA6c49aFeA;
@@ -77,6 +79,8 @@ library TablelandDeployments {
7779
return TablelandTablesImpl(ARBITRUM);
7880
} else if (block.chainid == 42170) {
7981
return TablelandTablesImpl(ARBITRUM_NOVA);
82+
} else if (block.chainid == 8453) {
83+
return TablelandTablesImpl(BASE);
8084
} else if (block.chainid == 137) {
8185
return TablelandTablesImpl(POLYGON);
8286
} else if (block.chainid == 314) {
@@ -118,6 +122,8 @@ library TablelandDeployments {
118122
return "https://tableland.network/api/v1/";
119123
} else if (block.chainid == 42170) {
120124
return "https://tableland.network/api/v1/";
125+
} else if (block.chainid == 8453) {
126+
return "https://tableland.network/api/v1/";
121127
} else if (block.chainid == 137) {
122128
return "https://tableland.network/api/v1/";
123129
} else if (block.chainid == 314) {

hardhat.config.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ const config: HardhatUserConfig = {
6767
arbitrumSepolia: process.env.ARBISCAN_API_KEY || "",
6868

6969
// base
70+
base: process.env.BASESCAN_API_KEY || "",
7071
baseSepolia: process.env.BASESCAN_API_KEY || "",
7172

7273
// polygon
@@ -98,6 +99,14 @@ const config: HardhatUserConfig = {
9899
browserURL: "https://sepolia.arbiscan.io/",
99100
},
100101
},
102+
{
103+
network: "base",
104+
chainId: 8453,
105+
urls: {
106+
apiURL: "https://api.basescan.org/api",
107+
browserURL: "https://basescan.org/",
108+
},
109+
},
101110
{
102111
network: "baseSepolia",
103112
chainId: 84532,
@@ -147,6 +156,15 @@ const config: HardhatUserConfig = {
147156
? [process.env.ARBITRUM_NOVA_PRIVATE_KEY]
148157
: [],
149158
},
159+
base: {
160+
url: `https://base-mainnet.g.alchemy.com/v2/${
161+
process.env.BASE_API_KEY ?? ""
162+
}`,
163+
accounts:
164+
process.env.BASE_PRIVATE_KEY !== undefined
165+
? [process.env.BASE_PRIVATE_KEY]
166+
: [],
167+
},
150168
polygon: {
151169
url: `https://polygon-mainnet.g.alchemy.com/v2/${
152170
process.env.POLYGON_API_KEY ?? ""

network.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ export interface TablelandNetworkConfig {
55
optimism: string | number;
66
arbitrum: string | number;
77
"arbitrum-nova": string | number;
8+
base: string | number;
89
polygon: string | number;
910
filecoin: string | number;
1011
// tableland testnet testnets
@@ -30,6 +31,7 @@ export const proxies: TablelandNetworkConfig = {
3031
optimism: "0xfad44BF5B843dE943a09D4f3E84949A11d3aa3e6",
3132
arbitrum: "0x9aBd75E8640871A5a20d3B4eE6330a04c962aFfd",
3233
"arbitrum-nova": "0x1A22854c5b1642760a827f20137a67930AE108d2",
34+
base: "0x8268F7Aba0E152B3A853e8CB4Ab9795Ec66c2b6B",
3335
polygon: "0x5c4e6A9e5C1e1BF445A062006faF19EA6c49aFeA",
3436
filecoin: "0x59EF8Bf2d6c102B4c42AEf9189e1a9F0ABfD652d",
3537
// testnets
@@ -57,6 +59,7 @@ export const baseURIs: TablelandNetworkConfig = {
5759
optimism: "https://tableland.network/api/v1/tables/10/",
5860
arbitrum: "https://tableland.network/api/v1/tables/42161/",
5961
"arbitrum-nova": "https://tableland.network/api/v1/tables/42170/",
62+
base: "https://tableland.network/api/v1/tables/8453/",
6063
polygon: "https://tableland.network/api/v1/tables/137/",
6164
filecoin: "https://tableland.network/api/v1/tables/314/",
6265
// testnets
@@ -89,6 +92,7 @@ export const validatorPollingTimeouts: TablelandNetworkConfig = {
8992
optimism: 10_000,
9093
arbitrum: 10_000,
9194
"arbitrum-nova": 10_000,
95+
base: 10_000,
9296
polygon: 15_000,
9397
filecoin: 210_000,
9498
// testnets

0 commit comments

Comments
 (0)