Documentation ¶
Overview ¶
Package tokenengine is a generated GoMock package.
Index ¶
- Constants
- func GenerateP2PKHUnlockScript(sign []byte, pubKey []byte) []byte
- func IsUnspendable(script []byte) bool
- type AddressGetPubKey
- type AddressGetSign
- type ITokenEngine
- type MockITokenEngine
- func (m *MockITokenEngine) CalcSignatureHash(tx *modules.Transaction, hashType uint32, msgIdx, inputIdx int, ...) ([]byte, error)
- func (m *MockITokenEngine) DisasmString(script []byte) (string, error)
- func (m *MockITokenEngine) EXPECT() *MockITokenEngineMockRecorder
- func (m *MockITokenEngine) GenerateLockScript(address common.Address) []byte
- func (m *MockITokenEngine) GenerateP2CHLockScript(contractId common.Address) []byte
- func (m *MockITokenEngine) GenerateP2PKHLockScript(pubKeyHash []byte) []byte
- func (m *MockITokenEngine) GenerateP2SHLockScript(redeemScriptHash []byte) []byte
- func (m *MockITokenEngine) GenerateRedeemScript(needed byte, pubKeys [][]byte) []byte
- func (m *MockITokenEngine) GetAddressFromScript(lockScript []byte) (common.Address, error)
- func (m *MockITokenEngine) GetAddressFromUnlockScript(unlockScript []byte) (common.Address, error)
- func (m *MockITokenEngine) GetScriptSigners(tx *modules.Transaction, msgIdx, inputIndex int) ([]common.Address, error)
- func (m *MockITokenEngine) MergeContractUnlockScript(signs [][]byte, redeemScript []byte) []byte
- func (m *MockITokenEngine) MultiSignOnePaymentInput(tx *modules.Transaction, hashType uint32, msgIdx, id int, ...) ([]byte, error)
- func (m *MockITokenEngine) ScriptValidate(utxoLockScript []byte, pickupJuryRedeemScript PickupJuryRedeemScript, ...) error
- func (m *MockITokenEngine) ScriptValidate1Msg(utxoLockScripts map[string][]byte, ...) error
- func (m *MockITokenEngine) SignTx1MsgPaymentInput(tx *modules.Transaction, msgIdx int, hashType uint32, ...) ([]common.SignatureError, error)
- func (m *MockITokenEngine) SignTxAllPaymentInput(tx *modules.Transaction, hashType uint32, ...) ([]common.SignatureError, error)
- type MockITokenEngineMockRecorder
- func (mr *MockITokenEngineMockRecorder) CalcSignatureHash(tx, hashType, msgIdx, inputIdx, lockOrRedeemScript interface{}) *gomock.Call
- func (mr *MockITokenEngineMockRecorder) DisasmString(script interface{}) *gomock.Call
- func (mr *MockITokenEngineMockRecorder) GenerateLockScript(address interface{}) *gomock.Call
- func (mr *MockITokenEngineMockRecorder) GenerateP2CHLockScript(contractId interface{}) *gomock.Call
- func (mr *MockITokenEngineMockRecorder) GenerateP2PKHLockScript(pubKeyHash interface{}) *gomock.Call
- func (mr *MockITokenEngineMockRecorder) GenerateP2SHLockScript(redeemScriptHash interface{}) *gomock.Call
- func (mr *MockITokenEngineMockRecorder) GenerateRedeemScript(needed, pubKeys interface{}) *gomock.Call
- func (mr *MockITokenEngineMockRecorder) GetAddressFromScript(lockScript interface{}) *gomock.Call
- func (mr *MockITokenEngineMockRecorder) GetAddressFromUnlockScript(unlockScript interface{}) *gomock.Call
- func (mr *MockITokenEngineMockRecorder) GetScriptSigners(tx, msgIdx, inputIndex interface{}) *gomock.Call
- func (mr *MockITokenEngineMockRecorder) MergeContractUnlockScript(signs, redeemScript interface{}) *gomock.Call
- func (mr *MockITokenEngineMockRecorder) MultiSignOnePaymentInput(...) *gomock.Call
- func (mr *MockITokenEngineMockRecorder) ScriptValidate(utxoLockScript, pickupJuryRedeemScript, tx, msgIdx, inputIndex interface{}) *gomock.Call
- func (mr *MockITokenEngineMockRecorder) ScriptValidate1Msg(utxoLockScripts, pickupJuryRedeemScript, tx, msgIdx interface{}) *gomock.Call
- func (mr *MockITokenEngineMockRecorder) SignTx1MsgPaymentInput(...) *gomock.Call
- func (mr *MockITokenEngineMockRecorder) SignTxAllPaymentInput(tx, hashType, utxoLockScripts, redeemScript, pubKeyFn, signFunc interface{}) *gomock.Call
- type PickupJuryRedeemScript
- type PubKey4Sort
- type TokenEngine
- func (engine *TokenEngine) CalcSignatureHash(tx *modules.Transaction, hashType uint32, msgIdx, inputIdx int, ...) ([]byte, error)
- func (engine *TokenEngine) DisasmString(script []byte) (string, error)
- func (engine *TokenEngine) GenerateLockScript(address common.Address) []byte
- func (engine *TokenEngine) GenerateP2CHLockScript(contractId common.Address) []byte
- func (engine *TokenEngine) GenerateP2PKHLockScript(pubKeyHash []byte) []byte
- func (engine *TokenEngine) GenerateP2SHLockScript(redeemScriptHash []byte) []byte
- func (engine *TokenEngine) GenerateRedeemScript(needed byte, pubKeys [][]byte) []byte
- func (engine *TokenEngine) GetAddressFromScript(lockScript []byte) (common.Address, error)
- func (engine *TokenEngine) GetAddressFromUnlockScript(unlockScript []byte) (common.Address, error)
- func (engine *TokenEngine) GetScriptSigners(tx *modules.Transaction, msgIdx, inputIndex int) ([]common.Address, error)
- func (engine *TokenEngine) MergeContractUnlockScript(signs [][]byte, redeemScript []byte) []byte
- func (engine *TokenEngine) MultiSignOnePaymentInput(tx *modules.Transaction, hashType uint32, msgIdx, id int, ...) ([]byte, error)
- func (engine *TokenEngine) ScriptValidate(utxoLockScript []byte, pickupJuryRedeemScript PickupJuryRedeemScript, ...) error
- func (engine *TokenEngine) ScriptValidate1Msg(utxoLockScripts map[string][]byte, ...) error
- func (engine *TokenEngine) SignTx1MsgPaymentInput(tx *modules.Transaction, msgIdx int, hashType uint32, ...) ([]common.SignatureError, error)
- func (engine *TokenEngine) SignTxAllPaymentInput(tx *modules.Transaction, hashType uint32, ...) ([]common.SignatureError, error)
Constants ¶
Variables ¶
This section is empty.
Functions ¶
func GenerateP2PKHUnlockScript ¶
根据签名和公钥信息生成解锁脚本 Use signature and public key to generate a P2PKH unlock script
func IsUnspendable ¶
Types ¶
type AddressGetSign ¶
用指定地址对应的私钥对消息进行签名,并返回签名结果
type ITokenEngine ¶ added in v1.0.2
type ITokenEngine interface { //根据公钥Hash,生成锁定脚本 GenerateP2PKHLockScript(pubKeyHash []byte) []byte //根据赎回脚本Hash,生成锁定脚本 GenerateP2SHLockScript(redeemScriptHash []byte) []byte //根据合约ID,生成锁定脚本 GenerateP2CHLockScript(contractId common.Address) []byte //根据地址生成锁定脚本 GenerateLockScript(address common.Address) []byte //根据锁定脚本,得出对应的地址 GetAddressFromScript(lockScript []byte) (common.Address, error) //根据解锁脚本,计算出地址 GetAddressFromUnlockScript(unlockScript []byte) (common.Address, error) //根据公钥列表和需要的签名数,获得赎回脚本 GenerateRedeemScript(needed byte, pubKeys [][]byte) []byte //将一个脚本二进制解析为字符串形式 DisasmString(script []byte) (string, error) //计算要对一个Tx的msgIdx和inputInx位置进行签名,对应的Hash CalcSignatureHash(tx *modules.Transaction, hashType uint32, msgIdx, inputIdx int, lockOrRedeemScript []byte) ([]byte, error) //根据tx,msgIdx和inputIdx,获得多签的解锁脚本,然后计算获得解锁脚本是哪些地址进行的该签名,主要用于计算手续费分摊 GetScriptSigners(tx *modules.Transaction, msgIdx, inputIndex int) ([]common.Address, error) //对一个未签名的tx进行签名,将所有input的解锁脚本填充完毕 SignTxAllPaymentInput(tx *modules.Transaction, hashType uint32, utxoLockScripts map[modules.OutPoint][]byte, redeemScript []byte, pubKeyFn AddressGetPubKey, signFunc AddressGetSign) ([]common.SignatureError, error) //对一个未签名交易的某条Message进行签名,如果msgIdx==-1表示对所有的Message进行签名 SignTx1MsgPaymentInput(tx *modules.Transaction, msgIdx int, hashType uint32, utxoLockScripts map[modules.OutPoint][]byte, redeemScript []byte, pubKeyFn AddressGetPubKey, signFunc AddressGetSign) ([]common.SignatureError, error) //对tx的某个多签input进行签名,如果已经有别人签名,则合并 MultiSignOnePaymentInput(tx *modules.Transaction, hashType uint32, msgIdx, id int, utxoLockScript []byte, redeemScript []byte, pubKeyFn AddressGetPubKey, signFunc AddressGetSign, previousScript []byte) ([]byte, error) //当用户合约需要解锁Token时,收集到了jury签名列表和赎回脚本,组合成合约的解锁脚本 MergeContractUnlockScript(signs [][]byte, redeemScript []byte) []byte //验证一个tx的指定input的解锁脚本是否正确 ScriptValidate(utxoLockScript []byte, pickupJuryRedeemScript PickupJuryRedeemScript, tx *modules.Transaction, msgIdx, inputIndex int) error //验证tx中的某个Payment message的所有input的解锁脚本是否正确 ScriptValidate1Msg(utxoLockScripts map[string][]byte, pickupJuryRedeemScript PickupJuryRedeemScript, tx *modules.Transaction, msgIdx int) error }
var Instance ITokenEngine = &TokenEngine{signCache: txscript.NewSigCache(20000)}
type MockITokenEngine ¶ added in v1.0.2
type MockITokenEngine struct {
// contains filtered or unexported fields
}
MockITokenEngine is a mock of ITokenEngine interface
func NewMockITokenEngine ¶ added in v1.0.2
func NewMockITokenEngine(ctrl *gomock.Controller) *MockITokenEngine
NewMockITokenEngine creates a new mock instance
func (*MockITokenEngine) CalcSignatureHash ¶ added in v1.0.2
func (m *MockITokenEngine) CalcSignatureHash(tx *modules.Transaction, hashType uint32, msgIdx, inputIdx int, lockOrRedeemScript []byte) ([]byte, error)
CalcSignatureHash mocks base method
func (*MockITokenEngine) DisasmString ¶ added in v1.0.2
func (m *MockITokenEngine) DisasmString(script []byte) (string, error)
DisasmString mocks base method
func (*MockITokenEngine) EXPECT ¶ added in v1.0.2
func (m *MockITokenEngine) EXPECT() *MockITokenEngineMockRecorder
EXPECT returns an object that allows the caller to indicate expected use
func (*MockITokenEngine) GenerateLockScript ¶ added in v1.0.2
func (m *MockITokenEngine) GenerateLockScript(address common.Address) []byte
GenerateLockScript mocks base method
func (*MockITokenEngine) GenerateP2CHLockScript ¶ added in v1.0.2
func (m *MockITokenEngine) GenerateP2CHLockScript(contractId common.Address) []byte
GenerateP2CHLockScript mocks base method
func (*MockITokenEngine) GenerateP2PKHLockScript ¶ added in v1.0.2
func (m *MockITokenEngine) GenerateP2PKHLockScript(pubKeyHash []byte) []byte
GenerateP2PKHLockScript mocks base method
func (*MockITokenEngine) GenerateP2SHLockScript ¶ added in v1.0.2
func (m *MockITokenEngine) GenerateP2SHLockScript(redeemScriptHash []byte) []byte
GenerateP2SHLockScript mocks base method
func (*MockITokenEngine) GenerateRedeemScript ¶ added in v1.0.2
func (m *MockITokenEngine) GenerateRedeemScript(needed byte, pubKeys [][]byte) []byte
GenerateRedeemScript mocks base method
func (*MockITokenEngine) GetAddressFromScript ¶ added in v1.0.2
func (m *MockITokenEngine) GetAddressFromScript(lockScript []byte) (common.Address, error)
GetAddressFromScript mocks base method
func (*MockITokenEngine) GetAddressFromUnlockScript ¶ added in v1.0.5
func (m *MockITokenEngine) GetAddressFromUnlockScript(unlockScript []byte) (common.Address, error)
GetAddressFromUnlockScript mocks base method
func (*MockITokenEngine) GetScriptSigners ¶ added in v1.0.2
func (m *MockITokenEngine) GetScriptSigners(tx *modules.Transaction, msgIdx, inputIndex int) ([]common.Address, error)
GetScriptSigners mocks base method
func (*MockITokenEngine) MergeContractUnlockScript ¶ added in v1.0.2
func (m *MockITokenEngine) MergeContractUnlockScript(signs [][]byte, redeemScript []byte) []byte
MergeContractUnlockScript mocks base method
func (*MockITokenEngine) MultiSignOnePaymentInput ¶ added in v1.0.2
func (m *MockITokenEngine) MultiSignOnePaymentInput(tx *modules.Transaction, hashType uint32, msgIdx, id int, utxoLockScript, redeemScript []byte, pubKeyFn AddressGetPubKey, signFunc AddressGetSign, previousScript []byte) ([]byte, error)
MultiSignOnePaymentInput mocks base method
func (*MockITokenEngine) ScriptValidate ¶ added in v1.0.2
func (m *MockITokenEngine) ScriptValidate(utxoLockScript []byte, pickupJuryRedeemScript PickupJuryRedeemScript, tx *modules.Transaction, msgIdx, inputIndex int) error
ScriptValidate mocks base method
func (*MockITokenEngine) ScriptValidate1Msg ¶ added in v1.0.2
func (m *MockITokenEngine) ScriptValidate1Msg(utxoLockScripts map[string][]byte, pickupJuryRedeemScript PickupJuryRedeemScript, tx *modules.Transaction, msgIdx int) error
ScriptValidate1Msg mocks base method
func (*MockITokenEngine) SignTx1MsgPaymentInput ¶ added in v1.0.5
func (m *MockITokenEngine) SignTx1MsgPaymentInput(tx *modules.Transaction, msgIdx int, hashType uint32, utxoLockScripts map[modules.OutPoint][]byte, redeemScript []byte, pubKeyFn AddressGetPubKey, signFunc AddressGetSign) ([]common.SignatureError, error)
SignTx1MsgPaymentInput mocks base method
func (*MockITokenEngine) SignTxAllPaymentInput ¶ added in v1.0.2
func (m *MockITokenEngine) SignTxAllPaymentInput(tx *modules.Transaction, hashType uint32, utxoLockScripts map[modules.OutPoint][]byte, redeemScript []byte, pubKeyFn AddressGetPubKey, signFunc AddressGetSign) ([]common.SignatureError, error)
SignTxAllPaymentInput mocks base method
type MockITokenEngineMockRecorder ¶ added in v1.0.2
type MockITokenEngineMockRecorder struct {
// contains filtered or unexported fields
}
MockITokenEngineMockRecorder is the mock recorder for MockITokenEngine
func (*MockITokenEngineMockRecorder) CalcSignatureHash ¶ added in v1.0.2
func (mr *MockITokenEngineMockRecorder) CalcSignatureHash(tx, hashType, msgIdx, inputIdx, lockOrRedeemScript interface{}) *gomock.Call
CalcSignatureHash indicates an expected call of CalcSignatureHash
func (*MockITokenEngineMockRecorder) DisasmString ¶ added in v1.0.2
func (mr *MockITokenEngineMockRecorder) DisasmString(script interface{}) *gomock.Call
DisasmString indicates an expected call of DisasmString
func (*MockITokenEngineMockRecorder) GenerateLockScript ¶ added in v1.0.2
func (mr *MockITokenEngineMockRecorder) GenerateLockScript(address interface{}) *gomock.Call
GenerateLockScript indicates an expected call of GenerateLockScript
func (*MockITokenEngineMockRecorder) GenerateP2CHLockScript ¶ added in v1.0.2
func (mr *MockITokenEngineMockRecorder) GenerateP2CHLockScript(contractId interface{}) *gomock.Call
GenerateP2CHLockScript indicates an expected call of GenerateP2CHLockScript
func (*MockITokenEngineMockRecorder) GenerateP2PKHLockScript ¶ added in v1.0.2
func (mr *MockITokenEngineMockRecorder) GenerateP2PKHLockScript(pubKeyHash interface{}) *gomock.Call
GenerateP2PKHLockScript indicates an expected call of GenerateP2PKHLockScript
func (*MockITokenEngineMockRecorder) GenerateP2SHLockScript ¶ added in v1.0.2
func (mr *MockITokenEngineMockRecorder) GenerateP2SHLockScript(redeemScriptHash interface{}) *gomock.Call
GenerateP2SHLockScript indicates an expected call of GenerateP2SHLockScript
func (*MockITokenEngineMockRecorder) GenerateRedeemScript ¶ added in v1.0.2
func (mr *MockITokenEngineMockRecorder) GenerateRedeemScript(needed, pubKeys interface{}) *gomock.Call
GenerateRedeemScript indicates an expected call of GenerateRedeemScript
func (*MockITokenEngineMockRecorder) GetAddressFromScript ¶ added in v1.0.2
func (mr *MockITokenEngineMockRecorder) GetAddressFromScript(lockScript interface{}) *gomock.Call
GetAddressFromScript indicates an expected call of GetAddressFromScript
func (*MockITokenEngineMockRecorder) GetAddressFromUnlockScript ¶ added in v1.0.5
func (mr *MockITokenEngineMockRecorder) GetAddressFromUnlockScript(unlockScript interface{}) *gomock.Call
GetAddressFromUnlockScript indicates an expected call of GetAddressFromUnlockScript
func (*MockITokenEngineMockRecorder) GetScriptSigners ¶ added in v1.0.2
func (mr *MockITokenEngineMockRecorder) GetScriptSigners(tx, msgIdx, inputIndex interface{}) *gomock.Call
GetScriptSigners indicates an expected call of GetScriptSigners
func (*MockITokenEngineMockRecorder) MergeContractUnlockScript ¶ added in v1.0.2
func (mr *MockITokenEngineMockRecorder) MergeContractUnlockScript(signs, redeemScript interface{}) *gomock.Call
MergeContractUnlockScript indicates an expected call of MergeContractUnlockScript
func (*MockITokenEngineMockRecorder) MultiSignOnePaymentInput ¶ added in v1.0.2
func (mr *MockITokenEngineMockRecorder) MultiSignOnePaymentInput(tx, hashType, msgIdx, id, utxoLockScript, redeemScript, pubKeyFn, signFunc, previousScript interface{}) *gomock.Call
MultiSignOnePaymentInput indicates an expected call of MultiSignOnePaymentInput
func (*MockITokenEngineMockRecorder) ScriptValidate ¶ added in v1.0.2
func (mr *MockITokenEngineMockRecorder) ScriptValidate(utxoLockScript, pickupJuryRedeemScript, tx, msgIdx, inputIndex interface{}) *gomock.Call
ScriptValidate indicates an expected call of ScriptValidate
func (*MockITokenEngineMockRecorder) ScriptValidate1Msg ¶ added in v1.0.2
func (mr *MockITokenEngineMockRecorder) ScriptValidate1Msg(utxoLockScripts, pickupJuryRedeemScript, tx, msgIdx interface{}) *gomock.Call
ScriptValidate1Msg indicates an expected call of ScriptValidate1Msg
func (*MockITokenEngineMockRecorder) SignTx1MsgPaymentInput ¶ added in v1.0.5
func (mr *MockITokenEngineMockRecorder) SignTx1MsgPaymentInput(tx, msgIdx, hashType, utxoLockScripts, redeemScript, pubKeyFn, signFunc interface{}) *gomock.Call
SignTx1MsgPaymentInput indicates an expected call of SignTx1MsgPaymentInput
func (*MockITokenEngineMockRecorder) SignTxAllPaymentInput ¶ added in v1.0.2
func (mr *MockITokenEngineMockRecorder) SignTxAllPaymentInput(tx, hashType, utxoLockScripts, redeemScript, pubKeyFn, signFunc interface{}) *gomock.Call
SignTxAllPaymentInput indicates an expected call of SignTxAllPaymentInput
type PickupJuryRedeemScript ¶ added in v1.0.2
根据合约地址,获得该合约对应的陪审团赎回脚本
type PubKey4Sort ¶
type PubKey4Sort [][]byte
func (PubKey4Sort) Len ¶
func (c PubKey4Sort) Len() int
func (PubKey4Sort) Less ¶
func (c PubKey4Sort) Less(i, j int) bool
func (PubKey4Sort) Swap ¶
func (c PubKey4Sort) Swap(i, j int)
type TokenEngine ¶ added in v1.0.2
type TokenEngine struct {
// contains filtered or unexported fields
}
func (*TokenEngine) CalcSignatureHash ¶ added in v1.0.2
func (engine *TokenEngine) CalcSignatureHash(tx *modules.Transaction, hashType uint32, msgIdx, inputIdx int, lockOrRedeemScript []byte) ([]byte, error)
为钱包计算要签名某个Input对应的Hash
func (*TokenEngine) DisasmString ¶ added in v1.0.2
func (engine *TokenEngine) DisasmString(script []byte) (string, error)
传入一个脚本二进制,解析为可读的文本形式
func (*TokenEngine) GenerateLockScript ¶ added in v1.0.2
func (engine *TokenEngine) GenerateLockScript(address common.Address) []byte
根据地址产生对应的锁定脚本
func (*TokenEngine) GenerateP2CHLockScript ¶ added in v1.0.2
func (engine *TokenEngine) GenerateP2CHLockScript(contractId common.Address) []byte
func (*TokenEngine) GenerateP2PKHLockScript ¶ added in v1.0.2
func (engine *TokenEngine) GenerateP2PKHLockScript(pubKeyHash []byte) []byte
Generate a P2PKH lock script, just only need input 20bytes public key hash. You can use Address.Bytes() to get address hash.
func (*TokenEngine) GenerateP2SHLockScript ¶ added in v1.0.2
func (engine *TokenEngine) GenerateP2SHLockScript(redeemScriptHash []byte) []byte
Give redeem script hash 160 result, generate a P2SH lock script. If you have built your redeem script, please use crypto.Hash160() to gnerate hash
func (*TokenEngine) GenerateRedeemScript ¶ added in v1.0.2
func (engine *TokenEngine) GenerateRedeemScript(needed byte, pubKeys [][]byte) []byte
生成多签用的赎回脚本 Generate redeem script
func (*TokenEngine) GetAddressFromScript ¶ added in v1.0.2
func (engine *TokenEngine) GetAddressFromScript(lockScript []byte) (common.Address, error)
根据锁定脚本获得对应的地址
func (*TokenEngine) GetAddressFromUnlockScript ¶ added in v1.0.5
func (engine *TokenEngine) GetAddressFromUnlockScript(unlockScript []byte) (common.Address, error)
func (*TokenEngine) GetScriptSigners ¶ added in v1.0.2
func (engine *TokenEngine) GetScriptSigners(tx *modules.Transaction, msgIdx, inputIndex int) ([]common.Address, error)
对于一个多签或者合约解锁脚本,获得到底哪些用户参与了签名
func (*TokenEngine) MergeContractUnlockScript ¶ added in v1.0.2
func (engine *TokenEngine) MergeContractUnlockScript(signs [][]byte, redeemScript []byte) []byte
func (*TokenEngine) MultiSignOnePaymentInput ¶ added in v1.0.2
func (engine *TokenEngine) MultiSignOnePaymentInput(tx *modules.Transaction, hashType uint32, msgIdx, id int, utxoLockScript []byte, redeemScript []byte, pubKeyFn AddressGetPubKey, hashFn AddressGetSign, previousScript []byte) ([]byte, error)
对交易中的Payment类型中的某个Input生成解锁脚本 func SignOnePaymentInput(tx *modules.Transaction, msgIdx, id int,
utxoLockScript []byte, privKey *ecdsa.PrivateKey, juryVersion int) ([]byte, error) { lookupKey := func(a common.Address) (*ecdsa.PrivateKey, bool, error) { return privKey, true, nil } sigScript, err := txscript.SignTxOutput(tx, msgIdx, id, utxoLockScript, txscript.SigHashAll, txscript.KeyClosure(lookupKey), nil, nil, juryVersion) if err != nil { return []byte{}, err } return sigScript, nil }
func (*TokenEngine) ScriptValidate ¶ added in v1.0.2
func (engine *TokenEngine) ScriptValidate(utxoLockScript []byte, pickupJuryRedeemScript PickupJuryRedeemScript, tx *modules.Transaction, msgIdx, inputIndex int) error
validate this transaction and input index script can unlock the utxo.
func (*TokenEngine) ScriptValidate1Msg ¶ added in v1.0.2
func (engine *TokenEngine) ScriptValidate1Msg(utxoLockScripts map[string][]byte, pickupJuryRedeemScript PickupJuryRedeemScript, tx *modules.Transaction, msgIdx int) error
验证一个PaymentMessage的所有Input解锁脚本是否正确
func (*TokenEngine) SignTx1MsgPaymentInput ¶ added in v1.0.5
func (engine *TokenEngine) SignTx1MsgPaymentInput(tx *modules.Transaction, msgIdx int, hashType uint32, utxoLockScripts map[modules.OutPoint][]byte, redeemScript []byte, pubKeyFn AddressGetPubKey, signFn AddressGetSign) ([]common.SignatureError, error)
Sign a message of transaction
func (*TokenEngine) SignTxAllPaymentInput ¶ added in v1.0.2
func (engine *TokenEngine) SignTxAllPaymentInput(tx *modules.Transaction, hashType uint32, utxoLockScripts map[modules.OutPoint][]byte, redeemScript []byte, pubKeyFn AddressGetPubKey, signFn AddressGetSign) ([]common.SignatureError, error)
Sign a full transaction