npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

envoy-token

v1.0.1

Published

An ERC20 token with optional delegated transferring.

Downloads

11

Readme

Envoy

An ERC20-compliant token equipped with delegated transferring.

Envoy is an ERC20 token that borrows from the ERC865 standard. This allows tokens that descend from Envoy to be transferred without the sender having any Ether to spend as gas, as long as a delegate with Ether is willing to broadcast the transaction (while taking a fee as payment).

How do I incorporate it in my project?

Install via NPM to your Truffle project.

> npm install -S envoy-token

and import the installed package.

pragma solidity a.solc.version;

import "envoy-token/contracts/EnvoyToken.sol";

contract MyToken is EnvoyToken {}

Or import via the Github url!

pragma solidity a.solc.version;

import "github.com/aunyks/envoy-token/contracts/EnvoyToken.sol";

contract MyToken is EnvoyToken {}

API

This token contains all functions from the ERC20 standard that track supply, balances, and allowances. Thus, it does not have the symbol(), name(), and decimals() members.

The Envoy token adds two functions from the ERC865 standard: transferPreSigned() and transferPreSignedHashing().

transferPreSigned(
bytes signature,
address recipient,
uint256 value,
uint256 fee,
uint256 nonce
)

Returns true if transaction succeeds.

  • signature -- A byte array of the signature of keccak256(tokenContractAddress, recipient, value, fee, nonce)
  • recipient -- The account to which the tokens will be sent.
  • value -- The number of tokens to be sent to the recipient.
  • fee -- The number of tokens to be sent to the delegate.
  • nonce -- A transaction nonce.

transferPreSignedHashing(
address token,
address recipient,
uint256 value,
uint256 fee,
uint256 nonce
)

Returns the bytes32 digest of the function parameters after tightly packing.

  • token -- The address of the token contract.
  • recipient -- The account to which the tokens will be sent.
  • value -- The number of tokens to be sent to the recipient.
  • fee -- The number of tokens to be sent to the delegate.
  • nonce -- A transaction nonce.

Acknowledgements

Some code in this repository is borrowed from the OpenZeppelin Solidity project.

LICENSE

This project is licensed under the MIT License. If your project uses Envoy, this project must be publicly attributed.
Copyright (c) 2018 Gerald Nash