burnable-tech/elm-ethereum/1.0.2

Renamed to team-toast/elm-ethereum. That is where the repository lives now. It has not been published as a package under the new name.

Versions published as burnable-tech/elm-ethereum still install under that name. 3 versions of 3 come from the new location (see their notes).

Rerouted (renamed, verified). The GitHub user or repository was renamed. The tag is still there, at the new name. The Lamdera package server serves a copy recovered from https://github.com/team-toast/elm-ethereum.

What we checked: The repo moved to github.com/team-toast/elm-ethereum. Rebuilt with git archive from commit e79bdd0efe57 of https://github.com/team-toast/elm-ethereum (zip prefix burnable-tech-elm-ethereum-e941bde/, America/Los_Angeles times): the zip is byte-identical to the one package.elm-lang.org recorded, SHA-1 01059137ad1764d5dd33de9f23e5d647595ca709.

The Lamdera compiler uses this copy and prints a one-line notice saying so. elm itself fails to download this version.

Details · package.elm-lang.org's zip: https://github.com/burnable-tech/elm-ethereum/zipball/1.0.2/

Eth.Sentry.Tx

Core

type TxSentry msg
type Msg
update : Msg -> TxSentry msg -> ( TxSentry msg, Cmd msg )
init : ( OutPort, InPort ) -> (Msg -> msg) -> HttpProvider -> TxSentry msg
type alias OutPort =
Value -> Cmd Msg

The txOut port. Where information from your elm app is sent OUT to javascript land. Used for sending Send Tx parameters to Metamask, or other wallets.

port txOut : Value -> Cmd msg
type alias InPort =
(Value -> Msg) -> Sub Msg

The txIn subscription. Where information from the outside comes IN to your elm app. Used for getting the TxHash response from Metamask, or other wallets.

 port txIn : (Value -> msg) -> Sub msg
listen : TxSentry msg -> Sub msg

Send Txs

(Result String Tx -> msg)
-> TxSentry msg
-> Send
-> ( TxSentry msg, Cmd msg )
(Result String Tx -> msg)
-> (Result String TxReceipt -> msg)
-> TxSentry msg
-> Send
-> ( TxSentry msg, Cmd msg )

Custom Send

type alias CustomSend msg =
{ onSign : Maybe (Result String TxHash -> msg)
, onBroadcast : Maybe (Result String Tx -> msg)
, onMined :
Maybe
( Result String TxReceipt -> msg
, Maybe
{ confirmations : Int
, toMsg : TxTracker -> msg
}
)
}
onSign : Message after metamask/wallet has signed tx and returned tx hash
onBroadcast : Message after tx is confirmed sitting in tx queue on the node
onMined : ( message after tx is mined,
            (number of blocks deep to watch tx, message on each mined block after tx is sent - stops sending messages when first tuple value is reached)
          )
type alias TxTracker =
{ currentDepth : Int
, minedInBlock : Int
, stopWatchingAtBlock : Int
, lastCheckedBlock : Int
, txHash : TxHash
, doneWatching : Bool
, reOrg : Bool
}

For checking whether a tx has reached a certain block depth (# of confirmations) in a customSend

customSend : TxSentry msg -> CustomSend msg -> Send -> ( TxSentry msg, Cmd msg )

Utils

changeNode : HttpProvider -> TxSentry msg -> TxSentry msg

Look into the errors this might cause, some kind of cleanup process should probably occur on changing a node.