How to use @airswap/indexer - 9 common examples

To help you get started, we’ve selected a few @airswap/indexer examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github airswap / airswap-maker-kit / scripts / indexer / get.js View on Github external
prompt.get(fields, values => {
    new ethers.Contract(indexerAddress, Indexer.abi, wallet)
      .getLocators(values.signerToken, values.senderToken, constants.PROTOCOL_CODE, constants.INDEX_HEAD, values.count)
      .then(result => {
        if (!result.locators.length) {
          console.log('No locators found.')
        } else {
          for (let i = 0; i < result.locators.length; i++) {
            try {
              console.log(`${i + 1}. ${ethers.utils.parseBytes32String(result.locators[i])} (${result.scores[i]})`)
            } catch (e) {
              console.log(`${i + 1}. Could not parse (${result.locators[i]})`)
            }
          }
        }
      })
      .catch(prompt.handleError)
  })
github airswap / airswap-maker-kit / scripts / indexer / set_bulk.js View on Github external
async function setIntent(signerToken, senderToken, locator, stakeAmount, wallet) {
  const indexerAddress = indexerDeploys[wallet.provider.network.chainId]
  console.log(chalk.white(`Indexer ${indexerAddress}\n`))
  console.log(chalk.white(`Signer Token ${signerToken}`))
  console.log(chalk.white(`Sender Token ${senderToken}`))
  console.log(chalk.white(`Locator ${locator}`))
  console.log(chalk.white(`Stake Amount ${stakeAmount}`))

  const indexerContract = new ethers.Contract(indexerAddress, Indexer.abi, wallet)
  const index = await indexerContract.indexes(signerToken, senderToken, constants.PROTOCOL_CODE)
  if (index == constants.ADDRESS_ZERO) {
    console.log(`\n${chalk.yellow('Error')}: Index does not exist`)
    console.log(`You can create one for this token pair using ${chalk.bold('yarn indexer:create')}\n`)
    return
  }

  const atomicAmount = stakeAmount * 10 ** constants.AST_DECIMALS
  const astContract = new ethers.Contract(
    constants.stakingTokenAddresses[wallet.provider.network.chainId],
    IERC20.abi,
    wallet,
  )

  const balance = await astContract.balanceOf(wallet.address)
  if (balance.toNumber() < atomicAmount) {
github airswap / airswap-maker-kit / scripts / indexer / create.js View on Github external
prompt.get(fields, values => {
    const indexerContract = new ethers.Contract(indexerAddress, Indexer.abi, wallet)
    indexerContract.indexes(values.signerToken, values.senderToken).then(index => {
      if (index !== constants.ADDRESS_ZERO) {
        console.log(`\n${chalk.yellow('Error')}: Index already exists`)
        console.log(`You can stake on this index using ${chalk.bold('yarn indexer:set')}\n`)
      } else {
        prompt.confirm('This will create a new Index for a token pair.', values, 'send transaction', () => {
          new ethers.Contract(indexerAddress, Indexer.abi, wallet)
            .createIndex(values.signerToken, values.senderToken)
            .then(prompt.handleTransaction)
            .catch(prompt.handleError)
        })
      }
    })
  })
})
github airswap / airswap-maker-kit / scripts / indexer / unset.js View on Github external
prompt.get(fields, values => {
    new ethers.Contract(indexerAddress, Indexer.abi, wallet)
      .indexes(values.signerToken, values.senderToken)
      .then(indexAddress => {
        if (indexAddress === '0x0000000000000000000000000000000000000000') {
          console.log(`\n${chalk.yellow('Error')}: Token Pair Not Found\n`)
        } else {
          prompt.confirm('Unset an Intent', values, 'send transaction', () => {
            new ethers.Contract(indexerAddress, Indexer.abi, wallet)
              .unsetIntent(values.signerToken, values.senderToken)
              .then(prompt.handleTransaction)
              .catch(prompt.handleError)
          })
        }
      })
  })
})
github airswap / airswap-maker-kit / scripts / indexer / set.js View on Github external
network.select('Set Intent to Trade', wallet => {
  const indexerAddress = indexerDeploys[wallet.provider.network.chainId]
  console.log(chalk.white(`Indexer ${indexerAddress}\n`))
  const indexerContract = new ethers.Contract(indexerAddress, Indexer.abi, wallet)
  prompt.get(fields, values => {
    indexerContract.indexes(values.signerToken, values.senderToken).then(index => {
      if (index === constants.ADDRESS_ZERO) {
        console.log(`\n${chalk.yellow('Error')}: Index does not exist`)
        console.log(`You can create one for this token pair using ${chalk.bold('yarn indexer:create')}\n`)
      } else {
        const atomicAmount = values.stakeAmount * 10 ** constants.AST_DECIMALS
        new ethers.Contract(constants.stakingTokenAddresses[wallet.provider.network.chainId], IERC20.abi, wallet)
          .balanceOf(wallet.address)
          .then(balance => {
            if (balance.toNumber() < atomicAmount) {
              console.log(
                chalk.red('\n\nError ') +
                  `The selected account cannot stake ${values.stakeAmount} AST. Its balance is ${balance.toNumber() /
                    10 ** constants.AST_DECIMALS}.\n`,
              )
github airswap / airswap-maker-kit / scripts / indexer / set.js View on Github external
prompt.confirm('Set an Intent', values, 'send transaction', () => {
                            const locatorBytes = ethers.utils.formatBytes32String(values.locator)
                            new ethers.Contract(indexerAddress, Indexer.abi, wallet)
                              .setIntent(values.signerToken, values.senderToken, atomicAmount, locatorBytes)
                              .then(prompt.handleTransaction)
                              .catch(prompt.handleError)
                          })
                        }
github airswap / airswap-maker-kit / scripts / indexer / unset.js View on Github external
prompt.confirm('Unset an Intent', values, 'send transaction', () => {
            new ethers.Contract(indexerAddress, Indexer.abi, wallet)
              .unsetIntent(values.signerToken, values.senderToken)
              .then(prompt.handleTransaction)
              .catch(prompt.handleError)
          })
        }
github airswap / airswap-maker-kit / scripts / peers / handlers.js View on Github external
prompt.get(getFields(['signerToken', 'senderToken'], signerSide, senderSide), values => {
    new ethers.Contract(indexerAddress, Indexer.abi, wallet)
      .getLocators(
        values.signerToken,
        values.senderToken,
        constants.PROTOCOL_CODE,
        constants.INDEX_HEAD,
        constants.MAX_LOCATORS,
      )
      .then(result => {
        callback(result, values)
      })
  })
}
github airswap / airswap-maker-kit / scripts / indexer / create.js View on Github external
prompt.confirm('This will create a new Index for a token pair.', values, 'send transaction', () => {
          new ethers.Contract(indexerAddress, Indexer.abi, wallet)
            .createIndex(values.signerToken, values.senderToken)
            .then(prompt.handleTransaction)
            .catch(prompt.handleError)
        })
      }

@airswap/indexer

Manage intent to trade on the AirSwap Network

MIT
Latest version published 3 years ago

Package Health Score

45 / 100
Full package analysis

Popular @airswap/indexer functions

Similar packages