var emptyJSONObject = json.RawMessage(`{}`)
-func isValidJSON(b []byte) bool {
- var v interface{}
- err := json.Unmarshal(b, &v)
- return err == nil
-}
-
func (w *Wallet) buildAnnotatedTransaction(orig *types.Tx, b *types.Block, statusFail bool, indexInBlock int) *query.AnnotatedTx {
tx := &query.AnnotatedTx{
ID: orig.ID,
in.InputID = id
e := tx.Entries[id]
switch e := e.(type) {
+ case *bc.CrossChainInput:
+ in.Type = "cross_chain_in"
+ in.ControlProgram = orig.ControlProgram()
+ in.Address = w.getAddressFromControlProgram(in.ControlProgram)
+ in.SpentOutputID = e.MainchainOutputId
+ arguments := orig.Arguments()
+ for _, arg := range arguments {
+ in.WitnessArguments = append(in.WitnessArguments, arg)
+ }
+
case *bc.Spend:
in.Type = "spend"
in.ControlProgram = orig.ControlProgram()
for _, arg := range arguments {
in.WitnessArguments = append(in.WitnessArguments, arg)
}
+
case *bc.Coinbase:
in.Type = "coinbase"
in.Arbitrary = e.Arbitrary