Giter Site home page Giter Site logo

edgeapp / edge-currency-accountbased Goto Github PK

View Code? Open in Web Editor NEW
17.0 13.0 35.0 33.72 MB

Currency plugins for accounts based blockchains such as Ethereum, Xrp, and EOS

License: BSD 3-Clause "New" or "Revised" License

JavaScript 0.14% Shell 0.05% TypeScript 99.61% Java 0.10% Ruby 0.05% Objective-C 0.01% Swift 0.04%

edge-currency-accountbased's Introduction

Edge Currency Plugin for Account-Based currencies

Build Status

Plugins for edge-core-js, handling many networks not derived from Bitcoin.

These are compatible with edge-core-js v0.21.2 or later.

Installing

First, add this library to your project:

npm i -s edge-currency-accountbased

Node.js

For Node.js, you should call addEdgeCorePlugins to register these plugins with edge-core-js:

const { addEdgeCorePlugins, lockEdgeCorePlugins } = require('edge-core-js')
const plugins = require('edge-currency-accountbased')

addEdgeCorePlugins(plugins)

// Once you are done adding plugins, call this:
lockEdgeCorePlugins()

You can also add plugins individually if you want to be more picky:

addEdgeCorePlugins({
  ethereum: plugins.ethereum
})

Browser

The bundle located in dist/edge-currency-accountbased.js will automatically register itself with edge-core-js. Just serve the entire dist directory along with your app, and then load the script:

<script src='https://example.com/app/dist/edge-currency-accountbased.js'>

If you want to debug this project, run yarn start to start a Webpack server, and then adjust your script URL to http://localhost:8082/edge-currency-accountbased.js.

React Native

In addition to installing edge-currency-accountbased, you must also install Zcash and Pirate Chain React Native libraries as peer dependencies Follow the instructions in the Zcash React Native and Pirate Chain React Native packages to install the required native dependencies.

The edge-currency-accountbased package will automatically install itself using React Native autolinking. To integrate the plugins with edge-core-js, add its URI to the context component:

import { pluginUri, makePluginIo } from 'edge-currency-accountbased'
<MakeEdgeContext
  nativeIo={{
    'edge-currency-accountbased': makePluginIo()
  }}
  pluginUris={[pluginUri]}
  // Plus other props as required...
/>

To debug this project, run yarn start to start a Webpack server, and then use debugUri instead of pluginUri.

Contributing

You'll need to install Yarn 1.3.2 globally on your machine

To set up this project, just do:

git clone [email protected]:EdgeApp/edge-currency-accountbased.git`
cd edge-currency-accountbased
yarn
yarn prepare

Run yarn test to run the unit tests.

To test your changes in the full Edge wallet app, run yarn start to start a web server, and then set DEBUG_ACCOUNTBASED in your env.json to use the web server instead of the bundled library.

You can also do updot edge-currency-accountbased from within edge-react-gui to copy your edits in to node_modules. Re-build and re-launch the app to use the updated plugins.

Adding a New Blockchain / Currency

Please note that our team considers (but does not guarantee) PR's to add new currencies / blockchains to this repo's master branch (included into production version of Edge Wallet). Among other requirements the code must satisfy the following guidelines:

Naming Convention

Plugins take their names from the network, not the currency. For instance, the "ripple" plugin supports the Ripple network. There are many currencies on the Ripple network, including XRP, tokens, and bank-backed currencies, so naming the Ripple plugin "xrp" would be too narrow.

The same principle applies to all the plugins in this repository, with a few unfortunate exceptions.

License

BSD 3

edge-currency-accountbased's People

Contributors

adil651 avatar ahujsak avatar alepc253 avatar alex0735070005 avatar amanalili avatar andreyveze avatar bruscantini avatar dependabot[bot] avatar goodluckh avatar itayplav avatar jamesrisberg avatar jon-edge avatar kylanhurt avatar omahs avatar passabilities avatar paullinator avatar peachbits avatar rjrs2k avatar samholmes avatar sfncook avatar shawnarney avatar swansontec avatar thehobbit85 avatar westerly avatar wolverineks avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

edge-currency-accountbased's Issues

yarn add edge-currency-accountbased fails

running yarn add edge-currency-accountbased fails every time with the last bit looking like this:

2 warnings and 10 errors generated.
make: *** [Release/obj.target/scrypt/src/node-boilerplate/scrypt_params_async.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/Users/kevinsullivan/.nvm/versions/node/v13.6.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:321:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Darwin 19.4.0
gyp ERR! command "/Users/kevinsullivan/.nvm/versions/node/v13.6.0/bin/node" "/Users/kevinsullivan/.nvm/versions/node/v13.6.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/kevinsullivan/Desktop/wolverineks/edge-react-hooks/edge-hooks-react-dom/node_modules/scrypt

make enabledTokens available as property?

it looks like enabledTokens is available as a property on the engine, but wraps it in a promise for getEnabledTokens and then this gets forwarded in EdgeCurrencyWallet

could this be exposed and passed through to the wallet as a watchable property?

types out of date

edge-core-js has updated types
should edge-core-js be a peer dependency to keep types in sync?
also, update to most recent edge-core-js

AGLD Price not catching

Hi everyone.

I posted this in the herc slack channel.
Our feed is up but the AGLD is pulling 0.00 on the app.

Thanks

IMG-20190822-WA0014

enabling a custom token without adding token info

it looks like enabling a token assumes that the token info is already included or has already been added
this could lead to a state where a currency code is "enabled" but not really enabled

or am i missing something?

Add NFT Capability to Edge Account-Based

Currently Native and Add Custom ERC20 tokens are available in the Edge environment.

For this bounty we're looking to add Native and Custom NFT (ERC721) viewing to this plugin.

You should be able to

add custom nft contracts for viewing
transfer ownership of nfts
view metadata for nfts
if nfts allow for changing of metadata you should be able to do this also
Bonus : ERC1155 (Enjin Protocol) Availability

We're aware some of this would need UX flow.

We're looking to test this out in the HERC (https://github.com/hercone/herc-edge-login : stack-master branch) environment before merging the full flow into the full Edge app.

Finishing the plugin necessities in this bounty will unlock access to more bounties so do your best!

Time frames are realistic but we would like something solid by late april.

Cheers
Logan
Cto
Herc.one

Stellar memo rejected for not being int64

Stellar memos can be a variety of formats, unfortunately, including plain text:

Memo
The memo contains optional extra information. It is the responsibility of the client to interpret this value. Memos can be one of the following types:

MEMO_TEXT : A string encoded using either ASCII or UTF-8, up to 28-bytes long.
MEMO_ID : A 64 bit unsigned integer.
MEMO_HASH : A 32 byte hash.
MEMO_RETURN : A 32 byte hash intended to be interpreted as the hash of the transaction the sender is refunding.

update node version

id like to deploy to netlify via codesandbox.io, but they use a newer version of node
current version is 10 LTS
recommended version is 14 LTS

what are the steps to update thee build process?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.