# @actalink/modules

> Modules for Actalink client SDK

Latest version **0.1.5-alpha.4** (published 2025-05-02) · GPL-3.0-or-later license · 0 weekly downloads

## Install

```sh
npm install @actalink/modules
pnpm add @actalink/modules
yarn add @actalink/modules
bun add @actalink/modules
```

## Health

**Score 40/100 (D)** — status: maintenance-mode.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads; pre 1.0.

Negative: stale; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.5-alpha.4 |
| Published | 2025-05-02 |
| First published | 2024-01-29 |
| Weekly downloads | 0 |
| License | GPL-3.0-or-later |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 4 |
| Unpacked size | 106.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Aniket Singh |
| Maintainers | aniket6990, 0mkar |

## Links

- npm: https://www.npmjs.com/package/@actalink/modules
- Repository: https://github.com/actalink/aa-monorepo
- Homepage: https://github.com/actalink/aa-monorepo#readme
- Issues: https://github.com/actalink/aa-monorepo/issues
- npm.io page: https://npm.io/package/@actalink/modules

## Dependencies (4)

- [viem](https://npm.io/package/viem.md) ^2.21.2
- [typescript](https://npm.io/package/typescript.md) ^5.3.3
- [merkletreejs](https://npm.io/package/merkletreejs.md) 0.3.10
- [@actalink/sdk](https://npm.io/package/@actalink/sdk.md) ^0.1.5-alpha.3

## Recent versions

- 0.1.5-alpha.4 (latest) — 2025-05-02
- 0.1.5-alpha.3 (next) — 2025-04-25
- 0.1.5-alpha.2 — 2025-04-25
- 0.1.5-alpha.1 — 2025-04-25
- 0.1.5-alpha.0 — 2025-04-25
- 0.1.4 — 2025-04-08
- 0.1.4-alpha.2 — 2025-03-26
- 0.1.4-alpha.1 — 2025-03-26
- 0.1.4-alpha.0 — 2025-03-26
- 0.1.3 — 2025-02-03
- 0.1.2 — 2024-11-02
- 0.1.1 — 2024-10-25
- 0.1.0 — 2024-10-22
- 0.0.17 — 2024-10-14
- 0.0.16 — 2024-06-27
- … 13 more at https://npm.io/package/@actalink/modules/versions

## README

# Use validation module with actalink SDK

```typescript
import { SmartAccount, type SmartAccountConfig } from "@actalink/sdk";
import { addMinutes, getCurrentTimestamp, ScheduleopValidationModule } from "@actalink/modules";

const config: SmartAccountConfig = {
  chainId,
  provider,
  owner: wallet,
  bundlerUrl: "<bundler URL>",
  paymasterUrl: "<paymaster URL>"
};

const smartWallet = new SmartAccount(config);

const validationClient = new ScheduleopValidationModule({
  chainId,
  provider,
  owner: wallet,
  bundlerUrl: "<bundler URL>",
  paymasterUrl: "https://goerli-paymaster.acta.link", // Supported paymaster for ScheduleopValidationModule
});
const executionTimes = [
  addMinutes(getCurrentTimestamp(), { amount: 5 }),
  addMinutes(getCurrentTimestamp(), { amount: 7 }),
];
const userOpHashes = await validationClient.createScheduleOps(
  "<Address of contract which we are interacting with.For ERC20 payments use ERC20 contract address.>",
  transferData,
  0n,
  2, // number of times to repeat the payments
  [...executionTimes] // array of execution times in miliseconds
)
```

## Testing modules

### Deploy DecodeHelper contract
```shell
cd packages/contracts-v1
forge create src/lib/DecodeHelper.sol:DecodeHelper --rpc-url http://127.0.0.1:8545/ --private-key=$PRIVATE_KEY --via-ir
```

### Compile contracts with DecodeHelper library

```shell
forge build --via-ir --libraries src/lib/DecodeHelper.sol:DecodeHelper:<decodeHelper deployed address>
```

---
_Source: https://npm.io/package/@actalink/modules · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
