@bayswap/sdk
Version:
SDK for BaySwap smart contract
99 lines • 4.89 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.SDK = exports.DefaultAddressRegistries = exports.GasRegistries = void 0;
const sui_js_1 = require("@mysten/sui.js");
const modules_1 = require("./modules");
const constants_1 = require("./constants");
exports.GasRegistries = {
TESTNET: {
swap: 10000000,
addLiquidity: 6000000,
removeLiquidity: 20000000,
zap: 20000000,
stake: 20000000,
claim: 20000000,
},
};
exports.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',
},
},
};
class SDK {
constructor(options) {
if (options) {
this._provider = new sui_js_1.JsonRpcProvider(new sui_js_1.Connection({
fullnode: options.url,
}));
this._registry = options.registry;
this._network = options.network;
this._txBuilderConfig = options.txBuilderConfig
? options.txBuilderConfig
: { gasBudget: constants_1.DEFAULT_GAS_BUDGET };
}
else {
this._provider = new sui_js_1.JsonRpcProvider(new sui_js_1.Connection({
fullnode: 'https://fullnode.devnet.sui.io:443',
}));
this._registry = exports.DefaultAddressRegistries.DEVNET;
this._network = 'DEVNET';
this._txBuilderConfig = { gasBudget: 30000 };
}
this._swap = new modules_1.SwapModule(this._provider, this._registry.swapRegistry.globalStorage, this._txBuilderConfig);
// TODO: refactor to use router Package ID for all modules
this._liquidity = new modules_1.LiquidityModule(this._registry.swapRegistry.routerPackageID
? this._registry.swapRegistry.routerPackageID
: this._registry.swapRegistry.packageID, this._registry.swapRegistry.globalStorage, this._txBuilderConfig);
this._faucet = new modules_1.FaucetModule(this._txBuilderConfig);
this._query = new modules_1.QueryModule(this._provider, this._registry.swapRegistry);
this._stake = new modules_1.StakeModule(this._provider, this._registry.stakeRegistry, this._txBuilderConfig);
this._limitOrder = new modules_1.LimitOrderModule(this._provider, this._registry.limitOrderRegistry, this._txBuilderConfig);
}
}
exports.SDK = SDK;
exports.default = SDK;
//# sourceMappingURL=sdk.js.map