"math"
"sync"
+ "github.com/vapor/common"
"github.com/vapor/config"
"github.com/vapor/consensus"
"github.com/vapor/errors"
return errors.New("incorrect asset_id while checking CrossChainInput")
}
- prog := &bc.Program{
- VmVersion: e.ControlProgram.VmVersion,
- Code: config.FederationWScript(config.CommonConfig),
+ prog := e.ControlProgram
+
+ if !common.IsOpenFederationIssueAsset(e.RawDefinitionByte) {
+ prog.Code = config.FederationWScript(config.CommonConfig)
}
if _, err := vm.Verify(NewTxVMContext(vs, e, prog, e.WitnessArguments), consensus.ActiveNetParams.DefaultGasCredit); err != nil {