Skip to content

Instantly share code, notes, and snippets.

View ioanSL's full-sized avatar
🐧
Le Nexo

dexterdev8 ioanSL

🐧
Le Nexo
View GitHub Profile
@ioanSL
ioanSL / L1_message_receiver.sol
Last active April 28, 2023 10:15
L1 smart contract to recursively receive L2 messages and update user's balance.
// SPDX-License-Identifier: Apache-2.0.
pragma solidity ^0.8.17;
interface IStarknetMessaging {
/**
Consumes a message that was sent from an L2 contract.
Returns the hash of the message.
*/
function consumeMessageFromL2(uint256 fromAddress, uint256[] calldata payload)
@ioanSL
ioanSL / L1_multi_messages.cairo
Last active January 24, 2024 08:20
Starknet batch messages
%lang starknet
from starkware.cairo.common.alloc import alloc
from starkware.cairo.common.cairo_builtins import HashBuiltin
from starkware.cairo.common.math import assert_nn
from starkware.starknet.common.messages import send_message_to_l1
from starkware.starknet.common.syscalls import (
get_caller_address,
)
@ioanSL
ioanSL / kakarot_memory_ref.cairo
Last active April 12, 2023 12:02
Kakarot Memory storage by reference
// AUTHOR: Ioan Oara
// Github: @ioanSL
// Company: ShardLabs
from starkware.cairo.common.serialize import serialize_word
from starkware.cairo.common.uint256 import Uint256
from starkware.cairo.common.alloc import alloc
from starkware.cairo.common.math import assert_le, unsigned_div_rem
from starkware.cairo.common.dict import DictAccess, dict_read, dict_write
@ioanSL
ioanSL / kakarot_mem.cairo
Last active April 12, 2023 12:02
Kakarot isolated Stack and Memory modules
// AUTHOR: Mario Iordanov
// Github: @marioiordanov
// Company: ShardLabs
%builtins output range_check
from starkware.cairo.common.serialize import serialize_word
from starkware.cairo.common.alloc import alloc