Git Product home page Git Product logo

signer's People

Contributors

spencerjibz avatar stefdegroot avatar

Stargazers

 avatar  avatar  avatar

signer's Issues

Base interface setup

Creating the base interface for the signing package. The base system needs to ask for enough info from the signer to be able to integrate with all the services.

Tasks:

  • create an interface for the signing functions
  • create an interface for wallet address management

Signing interface

The signing interface might look something like this.

const signedTxns = await sign(context, 'Pera', 'Failed to sign transaction',[[
      { txn: txns[0], signers: [addr], doNotSign: false }
]])

Where transactions are passed in the most advanced format so that complex signers like the Pera Wallet can be supported. In the dart-signer system, the transactions get formatted to fits every signing package's different needs.

Add transaction signing

Integrate the various ways of signing from the different integrations into one interface.

Tasks:

  • integrate MyAlgo
  • integrate Pera
  • integrate AlgoSigner
  • integrate Exodus

Support rekeyed accounts

Test and rework the Pera and AlgoSigner transaction formats to properly support rekeyed accounts.

Algo Signer

https://github.com/PureStake/algosigner/blob/develop/docs/dApp-integration.md

The AlgoSigner seems to be able to figure out the correct singing account if no signer array is passed. But when we do specify the signers we might need to set the authAddr field as well to get the proper account to sign the transaction.

Pera

https://docs.perawallet.app/references/pera-connect/

Pera wallet behaviour has not been tested yet. Might be the case here as well that is few specify the optional signers array, it won't be able to figure out the signer anymore. However, the Pera wallet does not have an authAddr field to compensate, so the behaviour might be different.

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.