This repository contains interfaces and functions to interact with starknet solidity contracts.
One can use two options for deploying the implementation contract :
-
deploy_contract_behind_unsafe_proxy
: This will deploy the contract behind a minimal proxy and can be used for dev purposes. -
deploy_contract_behind_safe_proxy
: This will deploy the contract behind a safe audited proxy and setting the implementation and upgrades
curl -L https://foundry.paradigm.xyz | bash
foundryup
Unit
forge test -vv
Start Anvil as background process w/ Core Contracts and STARK token:
./script/sn-base-dev.sh
Kill Anvil deployment:
./script/sn-base-kill.sh
Zaun sandbox crate can be used as dev dependency in external projects. If any changes made to the Solidity contracts, one has to re-generate Ethers bindings (this won't be done automatically).
make artifacts
StarknetEthBridge.sol - https://etherscan.io/address/0x455603AD9ae671F6c1f0f746F24d7904cA603581#code StarknetTokenBridge.sol (Starkgate v2.0.1) - https://github.com/starknet-io/starkgate-contracts/blob/5a10fd263d29cd032b7229691d043520edae0737/src/solidity/StarknetTokenBridge.sol
PoC solidity implementation of the following Starknet Decentralized Protocol proposal: