open-index/open-npm huggingface dataset:
npm package: @samhagan/ethcall
Description: ethers.js-compatible wrapper around Multicall
Author: Timur Badretdinov
Latest version: 4.0.8

# ethcall

Utility library to make calls to Ethereum blockchain.

Uses MakerDAO's [Multicall contracts](https://github.com/makerdao/multicall) to make multiple requests in a single HTTP query. Encodes and decodes data automatically.

Inspired and powered by [ethers.js](https://github.com/ethers-io/ethers.js/).

```
npm install ethcall
```

## API

* `Contract(address, abi)`: create contract instance; calling `contract.call_func_name` will yield a `call` object.
* `all(calls)`: execute all calls in a single request.
* `tryAll(calls)`: execute all calls in a single request. Ignores reverted calls and returns `null` value in place of return data.
* `calls`: list of helper call methods
  * `getEthBalance(address)`: returns account ether balance

## Example

```js
import { Contract, Provider } from 'ethcall';
import { InfuraProvider } from '@ethersproject/providers';

import erc20Abi from './abi/erc20.json';

const infuraKey = 'INSERT_YOUR_KEY_HERE';
const provider = new InfuraProvider('mainnet', infuraKey);

const daiAddress = '0x6b175474e89094c44da98b954eedeac495271d0f';

async function call() {
	const ethcallProvider = new Provider();
	await ethcallProvider.init(provider);

	const daiContract = new Contract(daiAddress, erc20Abi);

	const uniswapDaiPool = '0x2a1530c4c41db0b0b2bb646cb5eb1a67b7158667';

	const ethBalanceCall = ethcallProvider.getEthBalance(uniswapDaiPool);
	const daiBalanceCall = daiContract.balanceOf(uniswapDaiPool);

	const data = await ethcallProvider.all([ethBalanceCall, daiBalanceCall]);

	const ethBalance = data[0];
	const daiBalance = data[1];

	console.log('eth balance', ethBalance.toString());
	console.log('dai balance', daiBalance.toString());
}

call();

```
npm package: @samhammer/ckeditor5-simple-button-plugin
Description: [![npm version](https://badge.fury.io/js/%40samhammer%2Fckeditor5-simple-button-plugin.svg)](https://www.npmjs.com/package/@samhammer/ckeditor5-simple-button-plugin)
Author: SamhammerAG
Latest version: 2.20.0



# ckeditor5-simple-button-plugin

[![npm version](https://badge.fury.io/js/%40samhammer%2Fckeditor5-simple-button-plugin.svg)](https://www.npmjs.com/package/@samhammer/ckeditor5-simple-button-plugin)

A generic ckeditor plugin to configure toolbar-buttons from outside.

## Features

 - Simply configure ui buttons directly via the configuration object.
 - Possibility to enable those buttons even if the editor is in readonly state.

## How to use
To be able to use this plugin you need a custom build of ckeditor.

Further instructions can be found here:
https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/installing-plugins.html

Installation:

```bash
npm i @samhammer/ckeditor5-simple-button-plugin
```

## Configuration

Each button is described with a configuration object as shown below. The `onClick` function can return a promise. The button is always disabled before the `onClick` function is called. It is enabled again after the returned promise is resolved or rejected. If no promise is returned the button is enabled again immediately. The `onClick` function receives the `ButtonView` object which makes it possible to change properties of the button (icon, tooltip or something else). The parameter `syncDisabledState` is optional and defaults to `true`. If `true` the enabled-state is always in sync with the readonly-state of the editor. If you need a button in enabled-state when the editor is readonly you have to set this parameter to `false`.

Example:

```js
InlineEditor
	.create( editorElement, {
		simpleButton: [
            {
                name: "myFirstButton",
                label: "My First button - Click me",
                icon: svgXmlContent,
                syncDisabledState: false,
                onClick: (buttonView) => { /* ... */ }
            },
            ...
        ]
	} )
	.then( ... )
	.catch( ... );
```


## How to publish

For publishing an npm account that is referenced to the organization is required.

See the following how to:

https://docs.npmjs.com/getting-started/publishing-npm-packages

If everything is configured correctly just count up the version number in our package.json and execute one of the following commands:

```bash
npm publish --access public
```

## License

ckeditor5-simple-button-plugin is released under the MIT License. See LICENSE file for details.
npm package: @samhammer/ckeditor5-simple-image-upload-plugin
Description: [![npm version](https://badge.fury.io/js/%40samhammer%2Fckeditor5-simple-image-upload-plugin.svg)](https://www.npmjs.com/package/@samhammer/ckeditor5-simple-image-upload-plugin)
Author: SamhammerAG
Latest version: 3.22.0



# ckeditor5-simple-image-upload-plugin

[![npm version](https://badge.fury.io/js/%40samhammer%2Fckeditor5-simple-image-upload-plugin.svg)](https://www.npmjs.com/package/@samhammer/ckeditor5-simple-image-upload-plugin)

A generic ckeditor plugin to upload images with a custom api backend.

## Features

 - Simple UploadAdapter to upload files with a custom backend.

## How to use
To be able to use this plugin you need a custom build of ckeditor.

Further instructions can be found here:
https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/installing-plugins.html

Installation:

```bash
npm i @samhammer/ckeditor5-simple-image-upload-plugin
```

## Configuration

This plugin uses a hook which can be configured like shown below. This hook is called with the JS-File-Object as parameter and has to return a Promise which
resolves to the full URL of the uploaded image.

Example:

```js
InlineEditor
	.create( editorElement, {
        simpleImageUpload: {
            onUpload: file => {
                // do any upload stuff here with the JS-File-Object
                return Promise.resolve("http://path/to/the/uploaded/image.jpg");
            },
            onAbort: () => { // OPTIONAL
                // abort the upload here. The promise from onImageUpload should be rejected after that.
            }
        }
	} )
	.then( ... )
	.catch( ... );
```


## How to publish

For publishing an npm account that is referenced to the organization is required.

See the following how to:

https://docs.npmjs.com/getting-started/publishing-npm-packages

If everything is configured correctly just count up the version number in our package.json and execute one of the following commands:

```bash
npm publish --access public
```

## License

ckeditor5-simple-image-upload-plugin is released under the MIT License. See LICENSE file for details.
npm package: @samhammer/hd-common-styles
Description: Common styles for HD projects
Latest version: 1.0.0

# hd-common-styles
Common styles for HD projects

## Publishing
1. Increase the version in the `package.json` file.
2. Publish the package with `npm publish`.
3. Create a tag for the new version.

## Usage
Import what you need, like this for example:
```scss
@import "~@samhammer/hd-common-styles/src/mixins/input_effect";
```
npm package: @samhammer/jquery.zoomer
Description: A jQuery plugin for smooth image exploration. Part of the formstone library.
Author: Ben Plum
Latest version: 3.1.0

## Only forked to publish npm package!

<h2>Development of this plugin has ended. Please upgrade to the new <a href="http://formstone.it">Formstone</a>.</h2><br> 

<a href="http://gruntjs.com" target="_blank"><img src="https://cdn.gruntjs.com/builtwith.png" alt="Built with Grunt"></a> 
# Zoomer 

A jQuery plugin for smooth image exploration. Part of the formstone library. 

- [Demo](http://classic.formstone.it/components/Zoomer/demo/index.html) 
- [Documentation](http://classic.formstone.it/components/zoomer/) 

#### Bower Support 
`bower install Zoomer`

#### Forked by Marc Brooks for 3.1.0
- Allow multiple intances of zoomers on the same page while using custom UI control selectors.
- Use a div around your zoomer container that scopes the custom controls
- Potentially breaking change if the controls were not shared by the parent previously.