@windingtree/sdk-contracts-manager v1.5.2
@windingtree/sdk-contracts-manager
This package is a core component of the Winding Tree SDK. It provides an interface to interact with smart contracts, allowing developers to execute various operations including transactions and contract function calls.
The ProtocolContracts class exposed by this package contains methods to interact with smart contracts for entities such as offers and deals. These methods support functionalities like creating, fetching, and cancelling deals, registering entities, and handling various deal statuses (checking-in, checking-out, rejecting, claiming, and refunding).
Installation
pnpm i @windingtree/sdk-contracts-managerKey Concepts
PublicClientandWalletClientare used for blockchain interactions. APublicClientis used for reading blockchain state and data, while aWalletClientis used for writing transactions to the blockchain.- The
_sendHelpermethod is a private utility used to send transactions to the blockchain network. - The
TxCallbackis a type definition for a callback function that will be called with the transaction hash when a transaction is sent. - The methods in the
ProtocolContractsclass follow a pattern where they accept the parameters necessary for the specific blockchain operation, an optionalWalletClientto specify the signer of the transaction, and an optionalTxCallbackthat will be called with the transaction hash.
Usage
import { createPublicClient, createWalletClient, http } from 'viem';
import { polygonZkEvmTestnet } from 'viem/chains';
import { ProtocolContracts } from '@windingtree/sdk-contracts-manager';
// Instantiate with options
const protocolContracts = new ProtocolContracts({
contracts: {
/* contracts configuration */
},
publicClient: createPublicClient({
chain: polygonZkEvmTestnet,
transport: http(),
}),
walletClient: createWalletClient({
chain: polygonZkEvmTestnet,
transport: http(),
account: node.signer.address,
}),
});
// Use methods to interact with the blockchain
protocolContracts.createDeal(/* parameters */);
protocolContracts.getDeal(/* parameters */);
// and other methods...Documentation
For full documentation and examples, visit windingtree.github.io/sdk
Testing
pnpm testContributing
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago