Skip to content

ZigZagExchange/starknet.js

 
 

Repository files navigation

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, and especially 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.

About

JavaScript library for StarkNet

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 99.9%
  • Shell 0.1%