sign

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 25, 2016 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FetchContract

func FetchContract(passphrase, uuid, path string) error

FetchContract tries to download contract metadata from specified uuid, and stores the resulting json at path

func SendNewContract

func SendNewContract(passphrase, filepath, comment string, signers []string) error

SendNewContract tries to create a contract on the platform and returns an error or nil

Types

type Archives

type Archives struct {
	// contains filtered or unexported fields
}

Archives stores the received and sent messages, as evidence if needed

type CreateManager

type CreateManager struct {
	// contains filtered or unexported fields
}

CreateManager handles the creation of a new contract.

type SignatureManager

type SignatureManager struct {

	// Callbacks
	OnSignerStatusUpdate func(mail string, status SignerStatus, data string)
	OnProgressUpdate     func(current int, end int)
	// contains filtered or unexported fields
}

SignatureManager handles the signature of a contract.

func NewSignatureManager

func NewSignatureManager(passphrase string, c *contract.JSON) (*SignatureManager, error)

NewSignatureManager populates a SignatureManager and connects to the platform.

func (*SignatureManager) ConnectToPeers

func (m *SignatureManager) ConnectToPeers() error

ConnectToPeers tries to fetch the list of users for this contract, and tries to establish a connection to each peer.

func (*SignatureManager) CreatePromise

func (m *SignatureManager) CreatePromise(from, to uint32) (*cAPI.Promise, error)

CreatePromise creates a promise from 'from' to 'to', in the context of the SignatureManager provided the specified sequence indexes are valid

func (*SignatureManager) CreateSignature

func (m *SignatureManager) CreateSignature(from, to uint32) (*cAPI.Signature, error)

CreateSignature creates a signature from a sequence ID to another provided the specified sequence indexes are valid

func (*SignatureManager) ExchangeAllSignatures

func (m *SignatureManager) ExchangeAllSignatures() error

ExchangeAllSignatures creates and sends signatures to all the signers of the contract

func (*SignatureManager) FindID

func (m *SignatureManager) FindID() (uint32, error)

FindID finds the sequence id for the user's email and the contract to sign

func (*SignatureManager) GetClient

func (m *SignatureManager) GetClient(to uint32) (client *cAPI.ClientClient, mail string)

GetClient retrieves the Client to the specified sequence id provided it exists

func (*SignatureManager) GetServer

func (m *SignatureManager) GetServer() *grpc.Server

GetServer create and registers a ClientServer, returning the associated GRPC server

func (*SignatureManager) Initialize

func (m *SignatureManager) Initialize() (uint32, int, error)

Initialize computes the values needed for the start of the signing

func (*SignatureManager) PersistSignaturesToFile

func (m *SignatureManager) PersistSignaturesToFile() error

PersistSignaturesToFile save contract informations and signatures to disk

func (*SignatureManager) ReceiveAllSignatures

func (m *SignatureManager) ReceiveAllSignatures(out chan error)

ReceiveAllSignatures receive all the signatures

func (*SignatureManager) SendEvidence

func (m *SignatureManager) SendEvidence(promise *cAPI.Promise, signature *cAPI.Signature, to uint32) (err error)

SendEvidence factorizes the send code between promises and signatures. You can use it by setting either promise or signature to `nil`. The successfully sent evidence is then added to the archives.

func (*SignatureManager) SendReadySign

func (m *SignatureManager) SendReadySign() (signatureUUID string, err error)

SendReadySign sends the READY signal to the platform, and wait (potentially a long time) for START signal.

func (*SignatureManager) Sign

func (m *SignatureManager) Sign() error

Sign performs all the message exchanges for the contract to be signed

* Initialize the SignatureManager from starter.go * Compute the reversed map [mail -> ID] of signers * Make channels for handlers * Promises rounds * Signature round

type SignedContractJSON

type SignedContractJSON struct {
	Contract   contract.JSON
	Signatures []cAPI.Signature
}

SignedContractJSON is an union of contract and related signatures

type SignerStatus added in v0.2.0

type SignerStatus int

SignerStatus represents the current state of a signer.

const (
	StatusWaiting SignerStatus = iota
	StatusConnecting
	StatusConnected
	StatusError
)

These constants represent the different states of a signer.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL