All Projects → consenlabs → tokenlon-mmsk

consenlabs / tokenlon-mmsk

Licence: MIT license
Tokenlon Market Maker Service Kit

Programming Languages

typescript
32286 projects
solidity
1140 projects
javascript
184084 projects - #8 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to tokenlon-mmsk

Python Binance Chain
Binance Chain Exchange API python implementation for automated trading
Stars: ✭ 96 (+174.29%)
Mutual labels:  dex
Redexer
The Redexer binary instrumentation framework for Dalvik bytecode
Stars: ✭ 137 (+291.43%)
Mutual labels:  dex
Android Crack Tool
🐞Android crack tool For Mac
Stars: ✭ 2,666 (+7517.14%)
Mutual labels:  dex
Blackberrymanager
A simple solution to download and install BlackBerry apps on your Android device
Stars: ✭ 100 (+185.71%)
Mutual labels:  dex
Atomicdex Desktop
atomicDEX Desktop app - project codename "Dextop"
Stars: ✭ 126 (+260%)
Mutual labels:  dex
Blocknet
Official Blocknet cryptocurrency wallet
Stars: ✭ 179 (+411.43%)
Mutual labels:  dex
Dex Test Parser
Find all test methods in an Android instrumentation APK
Stars: ✭ 87 (+148.57%)
Mutual labels:  dex
Dexer
Dexer is an open source framework, written in C#, that reads and writes .DEX files (Dalvik Executable Format) used by the Android Open Source Project.
Stars: ✭ 81 (+131.43%)
Mutual labels:  dex
Photonoter
📓Material Design风格的开源照片笔记。(MVP+Dagger2+RxJava+AspectJ+Dex处理)
Stars: ✭ 1,592 (+4448.57%)
Mutual labels:  dex
Lief
Authors
Stars: ✭ 2,730 (+7700%)
Mutual labels:  dex
Fastdex
🚀 加快 apk 的编译速度 🚀
Stars: ✭ 1,457 (+4062.86%)
Mutual labels:  dex
Apk Changer
Command line program for modifying apk files
Stars: ✭ 122 (+248.57%)
Mutual labels:  dex
Chainx
Cross-chain hub for Crypto Asset on Polkadot
Stars: ✭ 187 (+434.29%)
Mutual labels:  dex
Darwinia
Internet of Tokens, Connected!
Stars: ✭ 97 (+177.14%)
Mutual labels:  dex
Dex K8s Authenticator
A Kubernetes Dex Client Authenticator
Stars: ✭ 249 (+611.43%)
Mutual labels:  dex
Jwt To Rbac
JWT-to-RBAC lets you automatically generate RBAC resources based on JWT tokens
Stars: ✭ 89 (+154.29%)
Mutual labels:  dex
Hidex Hack
anti reverse by hack dex file
Stars: ✭ 160 (+357.14%)
Mutual labels:  dex
airswap-web
AirSwap Web App
Stars: ✭ 94 (+168.57%)
Mutual labels:  dex
dex-backend
Backend for Digital Excellence Platform
Stars: ✭ 22 (-37.14%)
Mutual labels:  dex
Uniswap Python
🦄 The unofficial Python client for the Uniswap exchange.
Stars: ✭ 191 (+445.71%)
Mutual labels:  dex

Tokenlon MMSK

Market maker server kit, for tokenlon's MM(Market Maker).

See docs

Setup

Require Node.JS v12 as runtime.

Program setup,

  • Create a wallet as order signer, and save it as keystore or private key
  • Deploy market maker proxy contract on ethereum
    • with several permissions setting, such as token allowance, withdrawal account
    • deposit token asset to contract
  • Implement a market maker backend http server
    • see Quoter interface, mostly quote with (buy, sell, amount) returning a price number
  • Modify the options in app/mmConfig.js, including,
    • EXCHANGE_URL, point to tokenlon exchange server
    • PROVIDER_URL, point to ethereum node, like your infura endpoint
    • WALLET_ADDRESS, as your signer wallet address
    • WALLET_PRIVATE_KEY, private key of above wallet, or use WALLET_KEYSTORE
    • WALLET_TYPE, a market maker's wallet smart contract.
      • types.WalletType.MMP_VERSION_4 (compatible with PMM protocol, see example contract)
      • types.WalletType.MMP_VERSION_5
      • types.WalletType.ERC1271
      • types.WalletType.EOA
    • SIGNING_URL, If you wanna sign orders in your own service instead of the mmsk, please set the SIGNING_URL to your service endpoint. the mmsk would post every unsigned RFQ orders to your service. Remember to set the WALLET_ADDRESS as well. An example request is shown below:
    {
      rfqOrer: {
        takerAddr: '0x87fca7135c1c54876a62dc4922da3ce45f38debf',
        makerAddr: '0x86B9F429C3Ef44c599EB560Eb531A0E3f2E36f64',
        takerAssetAddr: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',
        makerAssetAddr: '0xdac17f958d2ee523a2206206994597c13d831ec7',
        takerAssetAmount: '1000000000000000000',
        makerAssetAmount: '100000000',
        deadline: 1620444917,
        feeFactor: 30,
        salt: '54987026777386128963216107663301166813737035846370728350988439404382800511006'
      },
      userAddr: '0x87fca7135c1c54876a62dc4922da3ce45f38debf',
      signer: '0xb5419119e04498C3eC43A9468D6480aF0DAE3A0c',
      chainId: 1,
      rfqAddr: '0xfD6C2d2499b1331101726A8AC68CCc9Da3fAB54F'
    }
    
    An example response the signing service should return
    {
      signature: "0x122344..."
    }
    
    • HTTP_SERVER_ENDPOINT, your backend http quoting server
    • CHAIN_ID, 1 for mainnet, 5 for testnet(Goerli)
  • Testing with node app/check.js
  • Register contract address & signer address & MMSK server url to Tokenlon team

Version Release

  1. bump version in package.json, please follow semantic versioning.
  2. update server version response at src/handler/version.ts
  3. commit above changes and git tag new version
  4. run release script under script folder
  5. upload tar file on github release page with writing change log

copyright© imToken PTE. LTD.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].