Skip to content

Commit be55b45

Browse files
committed
Public commit
1 parent 1769409 commit be55b45

File tree

128 files changed

+56134
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

128 files changed

+56134
-0
lines changed

.changeset/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Changesets
2+
3+
Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
4+
with multi-package repos, or single-package repos to help you version and publish your code. You can
5+
find the full documentation for it [in our repository](https://github.com/changesets/changesets)
6+
7+
We have a quick list of common questions to get you started engaging with this project in
8+
[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)

.changeset/config.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"$schema": "https://unpkg.com/@changesets/[email protected]/schema.json",
3+
"changelog": "@changesets/cli/changelog",
4+
"commit": false,
5+
"fixed": [],
6+
"linked": [],
7+
"access": "restricted",
8+
"baseBranch": "main",
9+
"updateInternalDependencies": "patch",
10+
"ignore": []
11+
}

.circleci/config.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
version: 2.1
2+
3+
jobs:
4+
audit_build_lint_test:
5+
docker:
6+
- image: cimg/node:22.14.0
7+
steps:
8+
- checkout
9+
- run:
10+
name: Install dependencies
11+
command: npm install
12+
- run:
13+
name: Security audit
14+
command: npm audit
15+
- run:
16+
name: Check format
17+
command: npm run check-format
18+
- run:
19+
name: Build packages
20+
command: npm run build
21+
- run:
22+
name: Check exports
23+
command: npm run check-exports
24+
- run:
25+
name: Check lint
26+
command: npm run lint
27+
- run:
28+
name: Test packages
29+
command: npm run test
30+
31+
workflows:
32+
audit_build_lint_test:
33+
jobs:
34+
- audit_build_lint_test

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
node_modules
2+
**/dist
3+
**/build
4+
wip
5+
.env
6+
tsconfig.tsbuildinfo

.nvmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
22.14.0

.prettierignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.legacy

.prettierrc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"singleQuote": true,
3+
"endOfLine": "lf",
4+
"tabWidth": 2,
5+
"semi": false,
6+
"bracketSpacing": true
7+
}

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 Applied Blockchain Ltd.
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
![Silent Data By Applied Blockchain Logo](https://cdn.prod.website-files.com/66e010db8f2318d36725b915/6703b717b513df4231a5ee72_sd-logo-landscape.svg)
2+
3+
# Silent Data [Rollup] Providers
4+
5+
## Table of Contents
6+
7+
- [Introduction](#introduction)
8+
- [Features](#features)
9+
- [Prerequisites](#prerequisites)
10+
- [Troubleshooting](#troubleshooting)
11+
- [License](#license)
12+
13+
## Introduction
14+
15+
This monorepo contains multiple packages for custom providers for Silent Data [Rollup], compatible with ethers.js and Hardhat plugins.
16+
17+
## Features
18+
19+
These packages offer several key features:
20+
21+
1. **RPC Call Interception**: Automatically intercepts RPC calls and appends necessary authentication headers, simplifying the integration process.
22+
23+
2. **Ethers.js Compatibility**: Seamlessly integrates with ethers.js, allowing developers to use familiar tools and patterns.
24+
25+
3. **Multiple Provider Types**: Supports various provider types, including basic usage, contract interaction, Fireblocks integration, and Hardhat compatibility.
26+
27+
4. **Flexible Authentication**: Transparently handles authentication, supporting both private key and Fireblocks-based methods.
28+
29+
5. **Simplified Contract Interactions**: Provides a `SilentDataRollupContract` class that streamlines interactions with smart contracts, automatically handling method signing when necessary.
30+
31+
6. **Network Abstraction**: Offers a `NetworkName` enum to easily switch between different Silent Data [Rollup] networks (e.g., testnet, mainnet).
32+
33+
7. **Customizable Configuration**: Allows developers to configure providers with custom RPC URLs, network settings, and authentication details.
34+
35+
These features make it easier for developers to integrate Silent Data [Rollup] into their Ethereum-based applications, handling the complexities of authentication and network interactions behind the scenes.
36+
37+
## Prerequisites
38+
39+
- Node.js (version 18 or higher)
40+
- npm
41+
- Basic knowledge of Ethereum and smart contracts
42+
43+
## Packages and Integration Options
44+
45+
- [Core](./packages/core/README.md)
46+
- [Custom RPC](./packages/custom-rpc/README.md)
47+
- [Ethers Provider](./packages/ethers-provider/README.md)
48+
- [Fireblocks Ethers Provider](./packages/ethers-provider-fireblocks/README.md)
49+
- [Hardhat Plugin](./packages/hardhat-plugin/README.md)
50+
- [Fireblocks Hardhat Plugin](./packages/hardhat-plugin-fireblocks/README.md)
51+
52+
## Troubleshooting
53+
54+
If you encounter any issues, please check the following:
55+
56+
1. Ensure you're using the correct RPC URL for your desired network.
57+
2. Verify that your private key is correctly set and has sufficient funds.
58+
3. Ensure that your token is still active on the Silent Data AppChains dashboard.
59+
4. If using Fireblocks, validate your user and API keys.
60+
61+
## License
62+
63+
This project is licensed under the [MIT License](LICENSE).

eslint.config.mjs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import globals from 'globals'
2+
import pluginJs from '@eslint/js'
3+
import tseslint from 'typescript-eslint'
4+
import { globalIgnores } from 'eslint/config'
5+
6+
/** @type {import('eslint').Linter.Config[]} */
7+
export default [
8+
{ files: ['**/*.{js,mjs,cjs,ts}'] },
9+
{ languageOptions: { globals: { ...globals.browser, ...globals.node } } },
10+
pluginJs.configs.recommended,
11+
...tseslint.configs.recommended,
12+
{
13+
rules: {
14+
'@typescript-eslint/no-explicit-any': 'warn',
15+
},
16+
},
17+
globalIgnores(['packages/**/dist/*', '.legacy/*']),
18+
]

0 commit comments

Comments
 (0)