Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
@storm-trade/sdk
Advanced tools
NOTE: smart contract interaction diagrams can be found at /misc/pics
Welcome to the Storm Trade repository! This repository contains the smart contract code for the first perpetual futures decentralized exchange (DEX) protocol on the TON blockchain. Storm Trade allows users to trade futures contracts with no expiration date, providing a unique trading experience compared to traditional futures exchanges. The platform's aim is to provide a secure, transparent, and efficient trading environment for its users.
This repository contains the smart contract code for Storm Trade written in FunС programming language, as well as the tests and scripts written in Typescript.
Hackaton protocol smart contracts system consists of three key components:
Position manager
. Sharded smart contract. It contains the latest long and/or short position and orders for a specific trader. It provides its data every time a request is sent to the vAMM contract, which implies a change in trader position data. Afrer every provide_position
request contract locks it data, waiting for vAMM's response to prevent double spending or data inconsistency caused by asynchronous TON architecture. Contract unlocks it's state after unlock_position
or update_position
vAMM's messages.vAMM
. Handles all the exchange operations with corresponding handler, position data and oracle priceincrease_position
: This function allows users to open a new position or increase their opened position in a perpetual futures contract by buying more of the underlying asset. Takes amount
, direction
, leverage
, min_base_asset_amount
, previous position_ref
and last oracle price_ref
.
add_margin
: This function allows users to add more collateral to their open position in order to increase their margin and reduce the risk of liquidation. This function allows users to open a new position or increase their opened position in a perpetual futures contract by buying more of the underlying asset. Takes amount
, previous position_ref
and last oracle price_ref
.
close_position
: This function allows users to close their open position in a perpetual futures contract by selling the underlying asset. Takes _size
, _minQuoteAssetAmount
, flag _addToMargin
, previous position_ref
and last oracle price_ref
.
remove_margin
: This function allows users to withdraw excess collateral from their open position. Takes _amount
, previous position_ref
and last oracle price_ref
.
pay_funding
: This function allows users to pay the funding rate for holding a perpetual futures position. Perpetual futures contracts typically have a funding rate that is paid periodically to ensure that the price of the futures contract stays in line with the underlying asset. Takes last oracle price_ref
.
liquidate
: : This function allows the exchange to automatically liquidate a user's open position if it becomes under-collateralized. Can be called by anyone. Takes to_liquidate_address
, previous position_ref
and the last oracle price_ref
.
This project was bootstraped using Blueprint 💙
contracts
- contains the source code of all the smart contracts of the project and their dependencies.wrappers
- contains the wrapper classes (implementing Contract
from ton-core) for the contracts, including any [de]serialization primitives and compilation functions.tests
- tests for the contracts.scripts
- contains scripts used by the project, mainly the deployment scripts.yarn install
Run tests:
yarn test
Tests are writen with @ton-community/sandbox.
MIT
FAQs
Storm Trade protocol SDK
The npm package @storm-trade/sdk receives a total of 27 weekly downloads. As such, @storm-trade/sdk popularity was classified as not popular.
We found that @storm-trade/sdk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.