diff --git a/package.json b/package.json index b4f910a..e60f24e 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ }, "dependencies": { "@masa-finance/masa-contracts-oracle": "^0.2.0", - "@masa-finance/masa-sdk": "^3.30.3", + "@masa-finance/masa-sdk": "^3.31.0", "@types/clear": "^0.1.4", "@types/figlet": "^1.5.8", "chalk": "~4.1.2", diff --git a/src/cli.ts b/src/cli.ts index 5b6836c..46e598f 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -618,8 +618,10 @@ program .command("swap") .argument("", "To network") .argument("", "Amount to swap") - - .action((to: NetworkName, amount: string) => tokenSwap(to, amount)); + .option("-s, --slippage ", "Slippage") + .action((to: NetworkName, amount: string, { slippage }) => + tokenSwap(to, amount, slippage), + ); token .command("deposit") diff --git a/src/commands/token/swap.ts b/src/commands/token/swap.ts index bf1c461..2099fd6 100644 --- a/src/commands/token/swap.ts +++ b/src/commands/token/swap.ts @@ -6,5 +6,9 @@ export const swap = async ( amount: string, slippage?: number, ) => { - await masa.token.swap(to, amount, slippage); + await masa.token.swap( + to, + amount, + slippage ? Number(slippage) * 100 : undefined, + ); }; diff --git a/src/commands/token/timelock.ts b/src/commands/token/timelock.ts index 69ec0a5..a6385c7 100644 --- a/src/commands/token/timelock.ts +++ b/src/commands/token/timelock.ts @@ -4,7 +4,7 @@ import { NetworkName, SupportedNetworks, } from "@masa-finance/masa-sdk"; -import addresses from "@masa-finance/masa-token/addresses.json"; +import addresses from "@masa-finance/masa-sdk/node_modules/@masa-finance/masa-token/addresses.json"; import { TimeLock, TimeLock__factory } from "@masa-finance/masa-token"; import { constants, providers, VoidSigner } from "ethers"; @@ -28,9 +28,12 @@ export const timelock = async ( ) as Network[]; for (const network of masaTimelockNetworks) { - const provider = new providers.WebSocketProvider( - (network.rpcUrls[3] ? network.rpcUrls[3] : network.rpcUrls[2])!, - ); + const provider = + network.rpcUrls[3] || network.rpcUrls[2] + ? new providers.WebSocketProvider( + (network.rpcUrls[3] ? network.rpcUrls[3] : network.rpcUrls[2])!, + ) + : new providers.JsonRpcProvider(network.rpcUrls[0]); const networkMasa = new Masa({ networkName: network.networkName, @@ -45,26 +48,30 @@ export const timelock = async ( const lastBlockNumber = await networkMasa.config.signer.provider?.getBlockNumber(); - const offset = 3_333; - const maxCount = 25; + const offset = 2_047; + const maxCount = 30; let x = 0; const scheduledEvents = []; do { - const fromBlock = lastBlockNumber - ? lastBlockNumber - offset * (x + 1) - : 0; + let fromBlock = lastBlockNumber ? lastBlockNumber - offset * (x + 1) : 0; + + if (fromBlock < 0) { + fromBlock = 0; + } const toBlock = lastBlockNumber ? lastBlockNumber - offset * x : "latest"; - scheduledEvents.push( - ...(await timelock.queryFilter( - timelock.filters.CallScheduled(), - fromBlock, - toBlock, - )), - ); + if (toBlock !== "latest" && fromBlock < toBlock) { + scheduledEvents.push( + ...(await timelock.queryFilter( + timelock.filters.CallScheduled(), + fromBlock, + toBlock, + )), + ); + } x++; } while (scheduledEvents.length <= 10 && x < maxCount); @@ -102,6 +109,8 @@ export const timelock = async ( verbose ? `Parsed ${offset * maxCount} blocks!` : "", ); - provider._websocket.close(); + if (provider instanceof providers.WebSocketProvider) { + provider._websocket.close(); + } } }; diff --git a/yarn.lock b/yarn.lock index f2af041..de70689 100644 --- a/yarn.lock +++ b/yarn.lock @@ -465,7 +465,7 @@ dependencies: ethers "~5.7.2" -"@masa-finance/masa-sdk@^3.30.3": +"@masa-finance/masa-sdk@^3.31.0": version "3.31.0" resolved "https://registry.yarnpkg.com/@masa-finance/masa-sdk/-/masa-sdk-3.31.0.tgz#ba15abaa4d646f635c3751446a336f9ad0c14496" integrity sha512-BnXQHo1ejtE3HCpcrK8RHnMGlvcivlwFTLE9SY0xaj9OuQlM5kNvy5Ah6ymCmP3dhD6y/Kkc30CMtJ5cSQECyA==