func ComposeEntrySubmit(name string, data []byte) ([]byte, error) { type entrysubmit struct { EntryCommit json.RawMessage EntryReveal json.RawMessage } e := factom.NewEntry() if err := e.UnmarshalJSON(data); err != nil { return nil, err } sub := new(entrysubmit) we := factoidState.GetDB().GetRaw([]byte(fct.W_NAME), []byte(name)) switch we.(type) { case wallet.IWalletEntry: pub := new([fct.ADDRESS_LENGTH]byte) copy(pub[:], we.(wallet.IWalletEntry).GetKey(0)) pri := new([fct.PRIVATE_LENGTH]byte) copy(pri[:], we.(wallet.IWalletEntry).GetPrivKey(0)) if j, err := factom.ComposeEntryCommit(pub, pri, e); err != nil { return nil, err } else { sub.EntryCommit = j } if j, err := factom.ComposeEntryReveal(e); err != nil { return nil, err } else { sub.EntryReveal = j } default: return nil, fmt.Errorf("Cannot use non Entry Credit Address for Entry Commit") } return json.Marshal(sub) }
errorln(err) return } // check ec address balance balance, err := factom.GetECBalance(ecpub) if err != nil { errorln(err) return } if balance == 0 { errorln("Entry Credit balance is zero") return } j, err := factom.ComposeEntryCommit(e, ec) if err != nil { errorln(err) return } fmt.Println(j) j, err = factom.ComposeEntryReveal(e) if err != nil { errorln(err) return } fmt.Println(j) } help.Add("composeentry", cmd) return cmd