@intercoin/escrow

1.1.1 • Public • Published

EscrowContract

A smart contract with the ability to exchange one token against others.

Deploy

when deploy it is need to pass parameters in to init method that started new escrow mechanism
Params:

name type description
participants address[] addresses list of participants who will exchange own tokens. see Note#1
tokens address[] addresses list of tokens. see Note#1
minimums uint256 minimum amount list of tokens. see Note#1
duration uint256 escrow duration in seconds. started after escrow have been locked up
quorumCount uint256 how participants need to deposit minimum tokens that escrow will be locked up
swapFrom address[] addresses list or participants which tokens will be swapped from. see Note#2
swapTo address[] addresses list or participants which tokens will be swapped to. see Note#2
swapBackAfterEscrow bool if true, participants can withdraw own deposited tokens after escrow expired

Methods

once installed will be use methods to exchange Note that contract accept tokens, it should be approve before

deposit

Params:

name type description
tokens address address of token.

unlock

Params:

name type description
recipient address recipient address
token address address of token.
amount uint256 amount

unlockAll

there are no parameters

withdraw

there are no parameters

Examples

  • life cycle
    • deploy contract
    • all participants deposited own tokens until escrow locked up
    • escrow started and all participants starting to unlock own deposited tokens in favor to recipients. Now in any time recipients can withdraw tokens
    • if duration passed - escrow are expired. Now all participants can withdraw own tokens which are not locked (if param swapBackAfterEscrow is true)

Notes:

  1. participants/tokens/minimums are combined and linked arrays with the same length. It is means that if participant#1 have address '0x1111...' and want to trade 100 tokens with address '0x2222...' than

participants=['0x1111...']
tokens=['0x222...']
minimums=[100]

if will be added participant#2 with address '0x3333...' and want to trade 200 tokens with address '0x4444...' than

participants=['0x1111...','0x3333...']
tokens=['0x222...','0x4444...']
minimums=[100,200]

and so on 2. swapFrom/swapTo are combined and linked arrays with the same length too

Readme

Keywords

none

Package Sidebar

Install

npm i @intercoin/escrow

Weekly Downloads

0

Version

1.1.1

License

ISC

Unpacked Size

135 kB

Total Files

17

Last publish

Collaborators

  • artman325
  • gregmozart