Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build(deps): bump lib/kakarot from 9f39628 to 8dda237 #551

Merged
merged 1 commit into from
Sep 12, 2023

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Sep 11, 2023

Bumps lib/kakarot from 9f39628 to 8dda237.

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [lib/kakarot](https://github.com/kkrt-labs/kakarot) from `9f39628` to `8dda237`.
- [Release notes](https://github.com/kkrt-labs/kakarot/releases)
- [Commits](kkrt-labs/kakarot@9f39628...8dda237)

---
updated-dependencies:
- dependency-name: lib/kakarot
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added the dependencies Change in project dependencies. label Sep 11, 2023
@codecov
Copy link

codecov bot commented Sep 11, 2023

Codecov Report

Patch coverage: 83.43% and project coverage change: +49.63% 🎉

Comparison is base (71506a8) 23.17% compared to head (f9cfc47) 72.80%.
Report is 216 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #551       +/-   ##
===========================================
+ Coverage   23.17%   72.80%   +49.63%     
===========================================
  Files           9       45       +36     
  Lines        1247     4060     +2813     
===========================================
+ Hits          289     2956     +2667     
- Misses        958     1104      +146     
Files Changed Coverage Δ
crates/core/src/mock/serde.rs 0.00% <0.00%> (ø)
crates/core/src/models/transaction.rs 93.63% <ø> (ø)
crates/core/src/models/transaction_receipt.rs 97.02% <ø> (ø)
crates/core/src/test_utils/bin/dump-katana.rs 0.00% <ø> (ø)
crates/core/src/test_utils/deploy_helpers.rs 33.96% <ø> (ø)
crates/core/src/test_utils/execution_helpers.rs 78.00% <ø> (ø)
crates/core/src/test_utils/fixtures.rs 100.00% <ø> (ø)
crates/eth-rpc/src/api/alchemy_api.rs 100.00% <ø> (ø)
crates/eth-rpc/src/api/eth_api.rs 100.00% <ø> (ø)
crates/eth-rpc/src/api/net_api.rs 100.00% <ø> (ø)
... and 35 more

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@Eikix Eikix added this pull request to the merge queue Sep 12, 2023
Merged via the queue into main with commit 6a8a6fd Sep 12, 2023
@Eikix Eikix deleted the dependabot/submodules/lib/kakarot-8dda237 branch September 12, 2023 08:24
anukkrit149 pushed a commit to karnotxyz/kakarot-rpc that referenced this pull request Aug 9, 2024
…bs#554)

Time spent on this PR: 2.5

## Pull request type

Please check the type of change your PR introduces:

- [ ] Bugfix
- [x] Feature
- [ ] Code style update (formatting, renaming)
- [x] Refactoring (no functional changes, no api changes)
- [ ] Build related changes
- [ ] Documentation content changes
- [ ] Other (please describe):

## What is the current behavior?

The EOAccount owns the logic of transferring native tokens and
dispatching between contract deployment and contract invocation.
On the other hand, the kakarot contract exposes two methods
(execute_at_address & deploy_contract_account) that require the caller
to know what they want to do and how they need to send the data. This is
an extra complexity compared to what the EVM does: the kakarot contract
should be able to handle a plain (encoded or decoded) EVM tx without
requiring the caller to do any logic themselves.

As a matter of fact, the EOAccount responsibility is (almost) narrowed
to a standard AA responsibility: accepte a sign tx, verify signature and
propagate the call. Almost because it still needs to **decode** the tx,
and actually Yoav (from Braavos) thinks that we should go further and
remove this **decoding** part from the EOA: only validate a signature
and send the payload (encoded) to the kakarot contract. This would allow
us to use Braavos contract out of the box (with a proper signer type)

Resolves kkrt-labs#551 kkrt-labs#411 

## What is the new behavior?

The Kakarot contract has two new entrypoints that behave as in the
[ethereum RPC
doc](https://ethereum.org/en/developers/docs/apis/json-rpc)
- `eth_call`: Executes a new message call immediately without creating a
transaction (`@view` function)
- `eth_send_transaction`: Creates new message call transaction or a
contract creation, if the data field contains code. (`@external`
function)

Along the way, the test refactoring (kkrt-labs#441) was eventually done, and the
`ExecutionContext` `init` & `init_at_address` have been merged into one
single general purpose `init` method.

## Other information

Following a community call discussion, we could put more of these
entrypoints in the main Kakarot contract:
- eth_getBalance
- eth_getStorageAt
- eth_getTransactionCount
- eth_getCode
- etc.

to put more logic in the core contract and less in the RPC thay may
eventually require a complete refacto depending on where we actually
make this kakarot live.

I have added a check
`compute_starknet_address(IAccount.get_evm_address(contract_address)) !=
contract_address` to avoid unexpected behaviors resulting from a
starknet contract implementing `get_evm_address` without being **the**
`ContractAccount`. I'd like to remove this sooner or later but still
need to think about all the edge cases.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Change in project dependencies.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant