@sandbox-smart-contracts/giveaway

1.0.0 • Public • Published

Signed Giveaways

This is a hardhat project, see https://hardhat.org

The main contract gives rewards in any ERC20, ERC721 or ERC1155 when the backend authorize it via message signing.

The message is composed of:

  • A list of signatures. If the contract holt too much value more than one signature is needed. Ideally the systems that sign must be independent.
  • A list of claim ids used by the backend to avoid double spending.
  • Expiration the expiration time of the message in unix timestamp. After the expiration the message cannot be used anymore.
  • From: usually the rewards must be transferred to the contract and this value is address(this), if a strategy with approve and transfer is used this is the address of the source.
  • To: the destination address that will get the rewards.
  • Claims: A list of union structs (ClaimEntry) that include: token type (ERC20, ERC721, ERC1155, etc), token address and a data field that depending on the token type may have: amount, tokenId, etc.

Usage

yarn hardhat help
yarn hardhat test
yarn hardhat coverage
REPORT_GAS=true yarn hardhat test
yarn hardhat markup

Deployment

This package exports the contract source code, for deployments see: @sandbox-smart-contract/deploy package.

Readme

Keywords

none

Package Sidebar

Install

npm i @sandbox-smart-contracts/giveaway

Weekly Downloads

6

Version

1.0.0

License

MIT

Unpacked Size

55.2 kB

Total Files

11

Last publish

Collaborators

  • felipeasf
  • wojciech-turek
  • atkinsonholly
  • mvanmeerbeck
  • adjisb