Golang implemented sidechain for Bytom
修订版 | 4076224cd6404eecd1c0357fe6aebbc7b21b7116 (tree) |
---|---|
时间 | 2020-09-17 14:05:23 |
作者 | Chengcheng Zhang <943420582@qq.c...> |
Commiter | Chengcheng Zhang |
update
@@ -157,6 +157,8 @@ func (w *Wallet) BuildAnnotatedInput(tx *types.Tx, i uint32) *query.AnnotatedInp | ||
157 | 157 | in.ControlProgram = orig.ControlProgram() |
158 | 158 | in.Address = w.getAddressFromControlProgram(in.ControlProgram, false) |
159 | 159 | in.SpentOutputID = e.SpentOutputId |
160 | + _, assetDefinition := w.getAliasDefinition(in.AssetID) | |
161 | + in.AssetDefinition = &assetDefinition | |
160 | 162 | arguments := orig.Arguments() |
161 | 163 | for _, arg := range arguments { |
162 | 164 | in.WitnessArguments = append(in.WitnessArguments, arg) |
@@ -180,6 +182,8 @@ func (w *Wallet) BuildAnnotatedInput(tx *types.Tx, i uint32) *query.AnnotatedInp | ||
180 | 182 | in.Address = w.getAddressFromControlProgram(in.ControlProgram, false) |
181 | 183 | in.SpentOutputID = e.SpentOutputId |
182 | 184 | arguments := orig.Arguments() |
185 | + _, assetDefinition := w.getAliasDefinition(in.AssetID) | |
186 | + in.AssetDefinition = &assetDefinition | |
183 | 187 | for _, arg := range arguments { |
184 | 188 | in.WitnessArguments = append(in.WitnessArguments, arg) |
185 | 189 | } |
@@ -187,6 +191,8 @@ func (w *Wallet) BuildAnnotatedInput(tx *types.Tx, i uint32) *query.AnnotatedInp | ||
187 | 191 | case *bc.Coinbase: |
188 | 192 | in.Type = "coinbase" |
189 | 193 | in.Arbitrary = e.Arbitrary |
194 | + _, assetDefinition := w.getAliasDefinition(in.AssetID) | |
195 | + in.AssetDefinition = &assetDefinition | |
190 | 196 | } |
191 | 197 | return in |
192 | 198 | } |
@@ -246,15 +252,21 @@ func (w *Wallet) BuildAnnotatedOutput(tx *types.Tx, idx int) *query.AnnotatedOut | ||
246 | 252 | case *bc.IntraChainOutput: |
247 | 253 | out.Type = "control" |
248 | 254 | isMainchainAddress = false |
255 | + _, assetDefinition := w.getAliasDefinition(out.AssetID) | |
256 | + out.AssetDefinition = &assetDefinition | |
249 | 257 | |
250 | 258 | case *bc.CrossChainOutput: |
251 | 259 | out.Type = "cross_chain_out" |
252 | 260 | isMainchainAddress = true |
261 | + _, assetDefinition := w.getAliasDefinition(out.AssetID) | |
262 | + out.AssetDefinition = &assetDefinition | |
253 | 263 | |
254 | 264 | case *bc.VoteOutput: |
255 | 265 | out.Type = "vote" |
256 | 266 | out.Vote = e.Vote |
257 | 267 | isMainchainAddress = false |
268 | + _, assetDefinition := w.getAliasDefinition(out.AssetID) | |
269 | + out.AssetDefinition = &assetDefinition | |
258 | 270 | } |
259 | 271 | |
260 | 272 | out.Address = w.getAddressFromControlProgram(orig.ControlProgram(), isMainchainAddress) |