UNPKG

@bayswap/sdk

Version:

SDK for BaySwap smart contract

95 lines 4.71 kB
import { Connection, JsonRpcProvider } from '@mysten/sui.js'; import { SwapModule, LiquidityModule, FaucetModule, QueryModule, StakeModule, LimitOrderModule, } from './modules'; import { DEFAULT_GAS_BUDGET } from './constants'; export const GasRegistries = { TESTNET: { swap: 10000000, addLiquidity: 6000000, removeLiquidity: 20000000, zap: 20000000, stake: 20000000, claim: 20000000, }, }; export const DefaultAddressRegistries = { DEVNET: { swapRegistry: { packageID: '0xb01f7d11da6c2d04b5225f43770d42d2cbbe52aaf5c27ec29d1188d78090e719', testPackage: '0x229f4b94633cc25a68666d355a3eee5e2766ca9850349c48eca82387d378cac8', globalStorage: '0xce06dadf062062d551c86379e37bdef20da55835fa440e011e5beb4a333f1f62', // normally, this router packageID is the same with packageID routerPackageID: '0x2cf3f780bab5686988552d1a4300acbeb0bebc52db2a5c750faa10d0282aae3c', }, stakeRegistry: { packageID: '0x6c76098e42d9a93506847d2bdcc37adf6db793c89298a34e8877dc4a8d38dd32', storageID: '0x7ff118a7c50f782ffc7532e4942abbe4c713da5734f6f751eba459a02e5d6d9b', }, limitOrderRegistry: { packageID: '0xb01f7d11da6c2d04b5225f43770d42d2cbbe52aaf5c27ec29d1188d78090e719', storageID: '0xf7365b5eadeba96633214c4315933576b0a26ad657fbac2039189d0192b1af12', }, }, TESTNET: { swapRegistry: { packageID: '0x0303449f10daec35aed66d5b70954bba08dd3a930457ef20aaea018b27676e5d', testPackage: '0x700de8dea1aac1de7531e9d20fc2568b12d74369f91b7fad3abc1c4f40396e52', globalStorage: '0x6604e142d39f0ac5d4dbc23628a9ebb4ae0ce1d004160c1105f599365e5c7773', }, stakeRegistry: { packageID: '0x6b7ff4f77cd99c563e36f8b3a14c1f0528e85c4020f0516a16173a5836c456f9', storageID: '0x8d81e8f990a3abd3f220b88bda989bf2eb24a76a1fe4cdaf306c3051c25905bc', }, limitOrderRegistry: { packageID: '0x0303449f10daec35aed66d5b70954bba08dd3a930457ef20aaea018b27676e5d', storageID: '0xb3a7671058bebb9e3645822ff6bc640c4bd27c2417803bbdfb2841f42bef2426', }, }, MAINNET: { swapRegistry: { packageID: '0x227f865230dd4fc947321619f56fee37dc7ac582eb22e3eab29816f717512d9d', testPackage: '0x700de8dea1aac1de7531e9d20fc2568b12d74369f91b7fad3abc1c4f40396e52', globalStorage: '0x53568bcc281b720f257e53397b45228186cc3f47e714ab2ab5afea87af7ed903', }, stakeRegistry: { packageID: '0xf5dba8346b5084d460f480698ff0305a8e847fdb08090e2e7b56cce738006743', storageID: '0xebe2d0fbe81fda6c479b9235c563ee62b6203b8b2bbab41687e8594c76b760b5', }, limitOrderRegistry: { packageID: '0x227f865230dd4fc947321619f56fee37dc7ac582eb22e3eab29816f717512d9d', storageID: '0x0efa4ab55a66fcd3b90ceef32d60df915d675c665296bc53a718b9d4b41a568d', }, }, }; export class SDK { constructor(options) { if (options) { this._provider = new JsonRpcProvider(new Connection({ fullnode: options.url, })); this._registry = options.registry; this._network = options.network; this._txBuilderConfig = options.txBuilderConfig ? options.txBuilderConfig : { gasBudget: DEFAULT_GAS_BUDGET }; } else { this._provider = new JsonRpcProvider(new Connection({ fullnode: 'https://fullnode.devnet.sui.io:443', })); this._registry = DefaultAddressRegistries.DEVNET; this._network = 'DEVNET'; this._txBuilderConfig = { gasBudget: 30000 }; } this._swap = new SwapModule(this._provider, this._registry.swapRegistry.globalStorage, this._txBuilderConfig); // TODO: refactor to use router Package ID for all modules this._liquidity = new LiquidityModule(this._registry.swapRegistry.routerPackageID ? this._registry.swapRegistry.routerPackageID : this._registry.swapRegistry.packageID, this._registry.swapRegistry.globalStorage, this._txBuilderConfig); this._faucet = new FaucetModule(this._txBuilderConfig); this._query = new QueryModule(this._provider, this._registry.swapRegistry); this._stake = new StakeModule(this._provider, this._registry.stakeRegistry, this._txBuilderConfig); this._limitOrder = new LimitOrderModule(this._provider, this._registry.limitOrderRegistry, this._txBuilderConfig); } } export default SDK; //# sourceMappingURL=sdk.js.map