Skip to content
This repository was archived by the owner on Jan 9, 2025. It is now read-only.

Commit 5dabc9e

Browse files
Update declarations (#1546)
- **New declarations and deployments** <!-- Reviewable:start --> - - - This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/kkrt-labs/kakarot/1546) <!-- Reviewable:end -->
1 parent d78508a commit 5dabc9e

File tree

10 files changed

+53
-19
lines changed

10 files changed

+53
-19
lines changed

Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ katana: ;
3434
build: $(SSJ_DIR)
3535
uv run compile
3636

37+
declare: build build-sol
38+
uv run declare
39+
3740
deploy: build build-sol
3841
uv run deploy
3942

deployments/starknet-mainnet/declarations.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
{
2-
"account_contract": "0x25d4b4889979f3df8171991f6a0163b42b756daebf313bcd0dec74cacf903f9",
3-
"BalanceSender": "0x74bbbe278acf68f240004d5e38c9d12a7dea6c8d6c7e956d691509d5844be6c",
2+
"account_contract": "0x24d700216e7f5a33f7e1426b550bcbba17acd52c5c645ba1e01e783b5cbafab",
3+
"BalanceSender": "0xe85f18e5d88f398b84beba1faf6818fa461c93bc22e13af873d203d0ce1489",
44
"BenchmarkCairoCalls": "0x58dc8a979af32668e05579313d1d6c672d3b668f72778780e8b2e97964159c3",
55
"Cairo1Helpers": "0x6c84a7ed6ee3fa25d198f058b8c8a06d9d4e4dc040efd6fa4d741f00fdc1b63",
66
"Cairo1HelpersFixture": "0x3810527e57a1df22d701b2c48f3d739e8fe3550876cb16435706d1448f89cbe",
77
"Counter": "0x27ccfaf84757dabd7885d410018bf0e264c881e4799a47f555b96bf21e5af5b",
88
"ERC20": "0xb36ee7670ae475d6c195e066201a526f7d850bb01961850405dcbd7aedd9bc",
9-
"EVM": "0x586235fb226e2703fae36312476786cb6a70a5632ebcc4a5e4f9c642566f964",
10-
"kakarot": "0x6583c98e878bb450518cccb0c667d6279cb780dc0eac1bcae883ce1e34e8771",
9+
"EVM": "0x58e505d461c0cff95e868e634d37467170816e6bb9540fffd264b4bddb8c914",
10+
"kakarot": "0x4a548d70f5f30756d77eda35f9d7b8ec34edc51ccd1f045bc2e0ba29f4cc5cd",
1111
"MockPragmaOracle": "0x675f00328ff84f127d71b179b3f3a3a06ce8432054770cddd5729c8d62866da",
1212
"OpenzeppelinAccount": "0x3a58e037be64a3608dfe423eeb8a77b400b0f56f1f5e0ed4937d3c873f988e2",
1313
"replace_class": "0x451a4decb11b581b288d8a0512ab6f6ea7f1fd89caefbb415e510ec7f17efe1",

deployments/starknet-sepolia/declarations.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
{
2-
"account_contract": "0x25d4b4889979f3df8171991f6a0163b42b756daebf313bcd0dec74cacf903f9",
3-
"BalanceSender": "0x74bbbe278acf68f240004d5e38c9d12a7dea6c8d6c7e956d691509d5844be6c",
2+
"account_contract": "0x24d700216e7f5a33f7e1426b550bcbba17acd52c5c645ba1e01e783b5cbafab",
3+
"BalanceSender": "0xe85f18e5d88f398b84beba1faf6818fa461c93bc22e13af873d203d0ce1489",
44
"BenchmarkCairoCalls": "0x58dc8a979af32668e05579313d1d6c672d3b668f72778780e8b2e97964159c3",
55
"Cairo1Helpers": "0x6c84a7ed6ee3fa25d198f058b8c8a06d9d4e4dc040efd6fa4d741f00fdc1b63",
66
"Cairo1HelpersFixture": "0x3810527e57a1df22d701b2c48f3d739e8fe3550876cb16435706d1448f89cbe",
77
"Counter": "0x27ccfaf84757dabd7885d410018bf0e264c881e4799a47f555b96bf21e5af5b",
88
"ERC20": "0xb36ee7670ae475d6c195e066201a526f7d850bb01961850405dcbd7aedd9bc",
9-
"EVM": "0x586235fb226e2703fae36312476786cb6a70a5632ebcc4a5e4f9c642566f964",
10-
"kakarot": "0x6583c98e878bb450518cccb0c667d6279cb780dc0eac1bcae883ce1e34e8771",
9+
"EVM": "0x58e505d461c0cff95e868e634d37467170816e6bb9540fffd264b4bddb8c914",
10+
"kakarot": "0x4a548d70f5f30756d77eda35f9d7b8ec34edc51ccd1f045bc2e0ba29f4cc5cd",
1111
"MockPragmaOracle": "0x675f00328ff84f127d71b179b3f3a3a06ce8432054770cddd5729c8d62866da",
1212
"OpenzeppelinAccount": "0x3a58e037be64a3608dfe423eeb8a77b400b0f56f1f5e0ed4937d3c873f988e2",
1313
"replace_class": "0x451a4decb11b581b288d8a0512ab6f6ea7f1fd89caefbb415e510ec7f17efe1",

deployments/starknet-sepolia/deployments.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"kakarot": "0x1d2e513630d8120666fc6e7d52ad0c01479fd99c183baac79fff9135f46e359",
3-
"EVM": "0x77fbe27deb2caf8199b6b385b6cd9aa57203654bca4cbe8c3aece3f3991d545",
3+
"EVM": "0x705d78cbe382d5432099682716f5ae7bdc4116b1d0d9252ab6332a1475b6201",
44
"Counter": "0x49ef4ec31812310ea4d33b98d8e462515cf753b8f6245899d2ff3b22e07a403",
55
"MockPragmaOracle": "0x17e64c92b06da9a331da9fd333a683a33019ae2a393254caf332d4158edc74d",
66
"UniversalLibraryCaller": "0x4e23e34042e1f0198311e2dcfc9565c214a48261574f2b37a7f12d1f65100f1",

deployments/starknet-sepolia/kakarot_deployments.json

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,17 @@
1818
"Coinbase": {
1919
"address": "0xccaa1b04b831ea3e547d4fe4359e0c2f5b34b749",
2020
"starknet_address": "0x152c78b2d1229464d461bc323801739bf7a439d049685f59c506b356d0da1bb"
21+
},
22+
"Multicall3": {
23+
"address": "0xca11bde05977b3631167028862be2a173976ca11",
24+
"starknet_address": "0x2dde6ca425942c0decd3908bc923ad2cd83edae11e27068fd77881cf51bd3bd"
25+
},
26+
"ArachnidProxy": {
27+
"address": "0x4e59b44847b379578588920ca78fbf26c0b4956c",
28+
"starknet_address": "0x7cd414bed2e300ecfd409cf07c4f53906408e93e87d69812728f25ce5be7179"
29+
},
30+
"CreateX": {
31+
"address": "0xba5ed099633d3b313e4d5f7bdc1305d3c28ba5ed",
32+
"starknet_address": "0x2361be1b7ded312bfc16c2547eaaf2308d3c9b6aa9037d8fc9ee57329f00951"
2133
}
22-
}
34+
}

docker/deployer/Dockerfile

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ COPY . .
5858
COPY .env.example .env
5959

6060
SHELL ["/bin/bash", "-c"]
61-
RUN source "$HOME/.cargo/env" && uv venv && uv pip install -e .
61+
RUN source "$HOME/.cargo/env"
6262

6363
# Install asdf for multiple scarb versions
6464
RUN git clone --depth 1 https://github.com/asdf-vm/asdf.git "$HOME/.asdf" && \
@@ -67,6 +67,7 @@ RUN git clone --depth 1 https://github.com/asdf-vm/asdf.git "$HOME/.asdf" && \
6767

6868
RUN source "$HOME/.asdf/asdf.sh" && asdf plugin add scarb && asdf install scarb 0.7.0 && asdf install scarb 2.6.5 && asdf install scarb 2.8.3
6969

70+
RUN uv sync --all-extras --dev
7071
RUN --mount=type=cache,target=/root/.cache \
7172
source "$HOME/.asdf/asdf.sh" && source "$HOME/.cargo/env" && make build && make build-sol
7273

@@ -84,6 +85,7 @@ COPY --from=builder /app/kakarot/.venv ./.venv
8485
# Cairo Smart contracts are used in deploy_kakarot.py
8586
# To limit the probability of this Dockerfile to break, we copy the entire src and not individual files
8687
COPY --from=builder /app/kakarot/cairo_zero/ ./cairo_zero/
88+
COPY --from=builder /app/kakarot/cairo/ ./cairo/
8789

8890
# Default Solidity contracts are also used in deploy_kakarot.py
8991
COPY --from=builder /app/kakarot/solidity_contracts ./solidity_contracts/
@@ -93,6 +95,9 @@ COPY --from=builder /app/kakarot/uv.lock .
9395
COPY --from=builder /app/kakarot/pyproject.toml .
9496
COPY --from=builder /app/kakarot/foundry.toml .
9597
COPY --from=builder /app/kakarot/README.md .
98+
COPY --from=builder /app/kakarot/.env.example .env
99+
COPY --from=builder /app/kakarot/conftest.py .
100+
ENV PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python
96101

97102
# Deploy kakarot
98103
CMD ["uv", "run", "deploy"]

kakarot_scripts/deployment/main.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,9 @@ async def main():
7272
logger.error("❌ Coinbase is set to 0, all transaction fees will be lost")
7373
else:
7474
logger.info(f"✅ Coinbase set to: 0x{coinbase_address:040x}")
75-
coinbase = await get_contract("Kakarot", "Coinbase", address=coinbase_address)
75+
coinbase = await get_contract(
76+
"Kakarot", "Coinbase", address=f"0x{coinbase_address:040x}"
77+
)
7678
coinbase_balance = await eth_balance_of(coinbase_address)
7779
if coinbase_balance / 1e18 > 0.001:
7880
logger.info(

kakarot_scripts/deployment/starknet_deployments.py

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
RPC_CLIENT,
1212
NetworkType,
1313
)
14+
from kakarot_scripts.utils.starknet import call
1415
from kakarot_scripts.utils.starknet import deploy as deploy_starknet
1516
from kakarot_scripts.utils.starknet import (
1617
dump_deployments,
@@ -30,13 +31,14 @@
3031
# %%
3132
async def deploy_starknet_contracts(account):
3233

33-
# %% Deployments
34+
# %% Declarations
3435
class_hash = get_declarations()
3536
starknet_deployments = get_deployments()
3637

3738
if NETWORK["type"] is NetworkType.PROD:
3839
return
3940

41+
# %% Deployments
4042
starknet_deployments["EVM"] = await deploy_starknet(
4143
"EVM",
4244
account.address,
@@ -46,12 +48,20 @@ async def deploy_starknet_contracts(account):
4648
class_hash["Cairo1Helpers"],
4749
BLOCK_GAS_LIMIT,
4850
)
49-
await invoke(
50-
"EVM",
51-
"set_coinbase",
52-
COINBASE,
53-
address=starknet_deployments["EVM"],
54-
)
51+
try:
52+
coinbase = (
53+
await call("EVM", "get_coinbase", address=starknet_deployments["EVM"])
54+
)[0]
55+
except Exception:
56+
coinbase = None
57+
if coinbase != COINBASE:
58+
logger.info(f"ℹ️ Setting EVM coinbase to {COINBASE}")
59+
await invoke(
60+
"EVM",
61+
"set_coinbase",
62+
COINBASE,
63+
address=starknet_deployments["EVM"],
64+
)
5565
starknet_deployments["Counter"] = await deploy_starknet("Counter")
5666
starknet_deployments["MockPragmaOracle"] = await deploy_starknet("MockPragmaOracle")
5767
starknet_deployments["UniversalLibraryCaller"] = await deploy_starknet(

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ dependencies = [
1616
[project.scripts]
1717
setup = "kakarot_scripts.setup.setup:main"
1818
compile = "kakarot_scripts.compile_kakarot:main"
19+
declare = "kakarot_scripts.deployment.declarations:main_sync"
1920
deploy = "kakarot_scripts.deployment.main:main_sync"
2021
ef_tests = "kakarot_scripts.ef_tests.fetch:generate_tests"
2122

tests/fixtures/EVM.cairo

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ from kakarot.kakarot import (
3434
get_cairo1_helpers_class_hash,
3535
get_native_token,
3636
set_coinbase,
37+
get_coinbase,
3738
)
3839
from backend.starknet import Starknet, Internals as StarknetInternals
3940
from utils.dict import dict_keys, dict_values

0 commit comments

Comments
 (0)