npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@cod3x/openapi

v0.0.33

Published

## @cod3x/openapi Package Documentation

Downloads

15

Readme

@cod3x/openapi

@cod3x/openapi Package Documentation

The @cod3x/openapi package is a comprehensive library that provides a set of APIs for interacting with various blockchain networks and decentralized finance (DeFi) protocols. This package includes support for Ethereum, Bitcoin, Bitcoin Cash, Dogecoin, Litecoin, EOS, Solana, Cosmos, Tron, and more.

Generating @cod3x/openapi

npx swagger-typescript-api -p swagger.json -o ./src/lib --modular --route-types   --unwrap-response-data   --sort-types       --sort-routes      --enum-names-as-values   --extract-request-params       --extract-request-body     --extract-response-body   --extract-response-error    --extract-enums --single-http-client

Installing Cod3x API:

To use the Cod3x API package, first install it to a project:

To install Cod3x API:

{% tabs %} {% tab title="npm" %}

npm install @cod3x/openapi

{% endtab %}

{% tab title="yarn" %}

yarn add @cod3x/openapi

{% endtab %}

{% tab title="pnpm" %}

pnpm add @cod3x/openapi

{% endtab %} {% endtabs %}

Usage

To use the @cod3x/openapi package, you'll first need to install it using a package manager like npm or Yarn. Once you've installed the package, you can import the classes and methods you need into your project.

Here's an example of how to use the Accounts class to create a new Ethereum account and transfer ETH:

import { HttpClient, Accounts } from '@cod3x/openapi';

// Initialize the HttpClient with your API base URL and security worker
const http = new HttpClient({
  baseUrl: 'https://beta.usemoon.ai',
  securityWorker: async (securityData) => {
    return {
      headers: {
        Authorization: `Bearer ${securityData.token}`,
      },
    };
  },
});

// Create an instance of the Accounts class
const accounts = new Accounts(http);

// Create a new Ethereum account
const createAccountData = await accounts.createAccount({ private_key: 'your_private_key' });
console.log('New account created:', createAccountData.address);

// Transfer ETH from the new account to another account
const transferEthData = await accounts.transferEth(createAccountData.name, {
  to: '0xAnotherAccountAddress',
  value: '1000000000000000000', // 1 ETH in wei
});
console.log('Transfer successful:', transferEthData.transactionHash);

This example demonstrates how to use the Accounts class to create a new Ethereum account and transfer ETH to another account. The HttpClient class is used to make HTTP requests to the API, and the securityWorker function is used to add an authorization header to the requests.

Initialization

To use the @cod3x/openapi package, you'll first need to initialize an HttpClient object with your API base URL and security worker. The security worker is a function that returns the headers to be included in the API requests. In this case, it returns an authorization header with a bearer token.

Here's an example of how to initialize the HttpClient object:

import { HttpClient } from '@cod3x/openapi';

const http = new HttpClient({
  baseUrl: 'https://beta.usemoon.ai',
  securityWorker: async (securityData) => {
    return {
      headers: {
        Authorization: `Bearer ${securityData.token}`,
      },
    };
  },
});

In this example, the baseUrl property is set to the URL of the API, and the securityWorker property is set to a function that returns an authorization header with a bearer token. The securityData object is passed to the securityWorker function, which can be used to retrieve the bearer token.

Once you've initialized the HttpClient object, you can use it to create instances of the classes provided by the @cod3x/openapi package. For example:

import { Accounts } from '@cod3x/openapi';

const accounts = new Accounts(http);

In this example, the Accounts class is imported from the @cod3x/openapi package, and an instance of the class is created using the HttpClient object.

Classes

The package is organized into several files, each containing a class that provides methods for interacting with a specific blockchain network or DeFi protocol. The main files in the package are:

\

accounts.md

Provides methods for creating and managing Ethereum accounts, deploying contracts, signing messages and transactions, and transferring ETH.

bitcoin.md

Provide methods for creating and managing Bitcoin accounts, and signing transactions

bitcoin-cash.md

Provide methods for creating and managing Bitcoin Cash accounts, and signing transactions

cosmos.md

Provide methods for interacting with the Cosmos blockchain networks, including creating and managing accounts, and signing transactions.

dogecoin.md

Provide methods for creating and managing Dogecoin accounts, and signing transactions

ens.md

Provides methods for interacting with the Ethereum Name Service (ENS), including registering and resolving domain names.

eos.md

Provide methods for interacting with the EOS blockchain networks, including creating and managing accounts, and signing transactions.

erc20.md

Provide methods for interacting with Ethereum-based tokens, including transferring tokens, checking balances, and approving contracts.

erc721.md

Provide methods for interacting with Ethereum-based tokens, including transferring tokens, checking balances, and approving contracts.

erc1155.md

Provide methods for interacting with Ethereum-based tokens, including transferring tokens, checking balances, and approving contracts.

litecoin.md

Provide methods for creating and managing Litecoin accounts, and signing transactions

onramper.md

Provides methods for interacting with the Onramper fiat onramp service, allowing users to buy cryptocurrencies with fiat currency.

ripple.md

Provides methods for interacting with the Ripple blockchain network, including creating and managing accounts, and sending and receiving payments.

solana.md

Provides methods for interacting with the Solana blockchain network, including creating and managing accounts, and sending and receiving tokens.

tron.md

Provides methods for interacting with the TRON blockchain network, including creating and managing accounts, and sending and receiving tokens.

uniswap.md

Provide methods for interacting with the Uniswap decentralized exchange (DEX) protocols, including swapping tokens and checking prices

Overall, the @cod3x/openapi package is a powerful and flexible library that provides a wide range of APIs for interacting with various blockchain networks and DeFi protocols. Whether you're building a simple wallet application or a complex decentralized finance platform, this package has the tools you need to get the job done.

Contributing

We welcome contributions to the @cod3x/openapi package! Here's how you can help:

Reporting Issues

If you find a bug or have a suggestion for improving the package:

  1. Check if the issue already exists in the GitHub Issues.
  2. If not, open a new issue, providing as much detail as possible about the problem or suggestion.

Submitting Pull Requests

  1. Fork the repository and create your branch from main.
  2. Install dependencies: npm install
  3. Make your changes, adding tests if applicable.
  4. Ensure the test suite passes: npm test
  5. Run the linter and fix any issues: npm run lint:fix
  6. Format your code: npm run prettier:fix
  7. Commit your changes using a descriptive commit message.
  8. Push to your fork and submit a pull request to the main branch.

Development Scripts

  • npm run build: Build the package
  • npm run dev: Build and watch for changes
  • npm test: Run tests
  • npm run coverage: Run tests with coverage report
  • npm run lint: Check for linting errors
  • npm run lint:fix: Fix linting errors
  • npm run prettier: Check code formatting
  • npm run prettier:fix: Fix code formatting
  • npm run verify: Run linter and prettier checks
  • npm run verify:fix: Fix linter and prettier issues

Coding Style

Please follow the existing coding style. We use ESLint and Prettier to maintain code quality and consistency.

License

By contributing to @cod3x/openapi, you agree that your contributions will be licensed under its MIT License.

Thank you for your interest in improving @cod3x/openapi!