https://github.com/gaetbout/starknet-stack
https://github.com/gaetbout/starknet-stack
cairo chai
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/gaetbout/starknet-stack
- Owner: gaetbout
- Created: 2022-04-07T19:41:04.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-04-07T20:00:38.000Z (about 3 years ago)
- Last Synced: 2025-02-06T07:34:34.678Z (5 months ago)
- Topics: cairo, chai
- Language: JavaScript
- Homepage:
- Size: 107 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Setup
You need a cairo envrionement to follow, I suggesst you doing [this](https://www.cairo-lang.org/getting-started/).
Afterwards, you can create a hardhat environment
To setup the environment, follow [this tutorial](https://symbonstark.surge.sh/?fbclid=IwAR0Fsl4QmID936P8Pu4UNFecCrQgYJa2wI92j768JMWP1T7I_RVJlihXYA4#/step/2)# Description
This project had for main objective to install hardhat, and understand how to write tests.
Maybe I'll add more data structure in the future, so keep posted!This is a simple Stack (FIFO).
You can either use it in your own contract or deploy it and use it as an external contract.
It is based on two variables:
- caller_address: the address who calls this contract. This is automatically handled by the contract
- identification: the identification you want to give to this stack. You have to specify it.Here are the methods you can call:
+ view: empty(identification : felt) -> (isEmpty : felt)
+ view: search(identification : felt, valueToSearch : felt) -> (containsValue : felt)
+ view: peek(identification : felt) -> (peekedValue : felt)
+ external: push(identification : felt, valueToPush : felt) -> (pushedValue : felt)
+ external: pop(identification : felt) -> (poppedValue : felt)Feel free to use it!
# Tests
At the moment there are 20 tests covering this implementation: