0.1.3 • Published 9 months ago

@okcontract/sdk v0.1.3

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
9 months ago

OKcontract SDK

Overview

OKcontract SDK is a low-level library for managing smart contract interactions. It interprets high-level inputs—like slippage, off-chain data, and clear gas estimates—to produce transactions. You can explore prebuilt interactions on the OKcontract Interactions Hub.

If you’re building with React, consider using the higher-level OKcontract SDK for React.

OKcontract Interactions Hub

Use the OKcontract Interactions Hub to discover smart contracts, view their ABIs, and choose methods and parameters for interactions. An interactionID is automatically generated, such as AbX2IbtBDbgJdkAXucGu.

The Hub also lets you:

  • Name an interaction and add descriptive text
  • Set allowances, pre-conditions, slippage
  • Adjust the action button text
  • And more

Getting Started

Installation

Install both cells and sdk:

npm i --save @okcontract/cells @okcontract/sdk

Example

Below is a quick example of setting up an OKContract instance:

import { optimism } from "@okcontract/multichain";
import { type AppID, OKCore, baseOptions } from "@okcontract/sdk";

const id = "myApp" as AppID;
const core = new OKCore(baseOptions(id));
const page = new OKPage(core);
const proxy = page.proxy;

// Query an existing contract interaction on Optimism
const query = proxy.new("con:velodrome/router_optimism");
const chain = proxy.new(optimism.id);
const contract = new OKContract(page, query, chain);

See the OKcontract docs for details on this setup.

Demo

For a working demo, refer to abi2ui, which provides the contract and token pages on the Hub.

Methods & Properties

A complete list of methods and properties is at docs.okcontract.com/sdk.

Features

  • Less Manual Code: Interactions reduce the amount of custom code needed for contract calls.
  • Transaction Computation: Automatically handles gas estimates, slippage, and off-chain data.
  • Wallet Connection: Connects to a user’s wallet, triggers transactions, and reads balances.
  • Onchain and Off-chain Data: Synchronizes all required data for transactions.
  • Event Listening: Monitors contract events to update UI state in real time.
  • Error Handling: Surfaces clear error messages for failed transactions or data issues.
  • Multiple Chains: Works with EVM-compatible blockchains (Starknet support coming).

Design & Philosophy

The SDK is designed to be permissionless and easy to set up. No API key is required.

Documentation

For more examples and detailed explanations, visit docs.okcontract.com/sdk.

License

The OKcontract SDK is built by OKcontract. The npm package is available under the Apache license. The source repository will also be released under an open source license.