
Product
Introducing Repository Access Permissions and Custom Roles
Socket now supports Custom Roles and Repository Access Permissions so organizations can control who can access specific repositories and actions.
smartweave-testing
Advanced tools
A testing client for SmartWeave contracts. You can execute any kind of interactWrite input against your contract. It does not require any connection to Arweave.
This enables fast and reliable testing. The new state
of the contract will be stored and by this enabling multi input testing.
yarn add --dev smartweave-testing
import SmartWeaveTester from "smartweave-testing"
import { handle } from [my-contract]
const caller = "..." // -> e.g your Arweave Address
const initialState = {}
const smartweave = new SmartWeaveTester(handle, initialState, caller)
input = { function: "my_function" };
result = await smartweave.execute(input); // -> state of the contract
In case you don't want to update the state of your contract use execute({}, false)
If your contract uses SmartWeave.block.height, the client will make use of it's internal block logic.
Every time you execute an action, the block height will increase by 1. You can use
smartweave.block.height = ... to manually adjust the block height.
If you want to use custom transaction information like tags, quantity or a target, you can add
these into the constructor or the execute function:
import {TransactionInput} from "smartweave-testing/faces";
const txInformation: TransactionInput = {
quantity: {winston: "1"} // -> quantity in winston,
target: "...."
}
result = await smartweave.execute(input, true, txInformation);
import SmartWeaveTester from "smartweave-testing"
import { handle } from [my-contract]
const caller = "..." // -> e.g your Arweave Address
const initialState = {
balances: {}
}
const smartweave = new SmartWeaveTester(handle, initialState, caller)
let input, result;
// the dispense function increases the callers balance by 100
input = { function: "dispense" };
result = await smartweave.execute(input);
if (result.balances[caller] !== 100) throw Error("Dispense does not work")
// be rerunning the action, the old state is preserved and get's updated
input = { function: "dispense" };
result = await smartweave.execute(input);
if (result.balances[caller] !== 200) throw Error("Dispense does not work")
FAQs
A testing client for SmartWeave contracts.
The npm package smartweave-testing receives a total of 23 weekly downloads. As such, smartweave-testing popularity was classified as not popular.
We found that smartweave-testing demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket now supports Custom Roles and Repository Access Permissions so organizations can control who can access specific repositories and actions.

Product
Socket MCP now lets AI assistants review org alerts, investigate threats using the Socket threat feed, and inspect package files in addition to dependency scoring.

Product
Socket Firewall blocks malicious VS Code and Open VSX extensions before install, protecting developers from compromised editor marketplaces.