@jediswap/starknet
TypeScript icon, indicating that this package has built-in type declarations

2.7.4 • Public • Published

JavaScript library for StarkNet.

🕹️ Usage

Install starknet with npm

$ npm install starknet

Import starknet and use the API

The following code is used to build a simple AMM example from the cairo docs

import { defaultProvider, stark } from 'starknet';
const { getSelectorFromName } = stark;

const CONTRACT_ADDRESS =
  "0x03e19baa6cb2078631bcdb34844f3f7879449a544c9ce722681a54af08cff4b9";

/**
 * addTransaction() example
**/

/** Reset the liquidity pool **/
const addTokenResponse = await provider.addTransaction({
  type: "INVOKE_FUNCTION",
  contract_address: CONTRACT_ADDRESS,
  entry_point_selector: getSelectorFromName("init_pool"),
  calldata: ["1000000", "1000000"],
});
console.log(addTokenResponse);

/**
 * callContract() example
**/

/** Get the balance of the liquidity pool of token A **/
const poolBalanceTokenA = await callContract({
  contract_address: CONTRACT_ADDRESS,
  entry_point_selector: getSelectorFromName("get_pool_token_balance"),
  calldata: ["1"],
});
const balanceA = poolBalanceTokenA.result[0];
console.log('token a liquidity pool balance: ', parseInt(balanceA, 16));

/** Get the balance of the liquidity pool of token B **/
const poolBalanceTokenB = await callContract({
  contract_address: CONTRACT_ADDRESS,
  entry_point_selector: getSelectorFromName("get_pool_token_balance"),
  calldata: ["2"],
});
const balanceB = poolBalanceTokenB.result[0];
console.log('token b liquidity pool balance: ', parseInt(balanceB, 16));

For more information about signing transactions, please take a look at this pull request

🌐 API

Click Here

🚀 Powered by Starknet.js

✏️ Contributing

If you consider to contribute to this project please read CONTRIBUTING.md first.

❤️ Special Thanks

Special thanks to all the contributors, especially to Janek (@janek26) from Argent for driving the development of Starknet.js.

This library would not be possible without these rockstars.

📜 License

Copyright (c) 2021 Sean James Han

Licensed under the MIT license.

Package Sidebar

Install

npm i @jediswap/starknet

Weekly Downloads

1

Version

2.7.4

License

MIT

Unpacked Size

5.53 MB

Total Files

105

Last publish

Collaborators

  • retroboy
  • dhruvkelawala