context: define a constant for transaction context type
This commit is contained in:
parent
6be9367f03
commit
541d4b49e1
4 changed files with 10 additions and 4 deletions
|
@ -15,7 +15,7 @@ import (
|
|||
// as an input to `multisig sign`. If a wallet.Account is given and can sign,
|
||||
// it's signed as well using it.
|
||||
func InitAndSave(net netmode.Magic, tx *transaction.Transaction, acc *wallet.Account, filename string) error {
|
||||
scCtx := context.NewParameterContext("Neo.Network.P2P.Payloads.Transaction", net, tx)
|
||||
scCtx := context.NewParameterContext(context.TransactionType, net, tx)
|
||||
if acc != nil && acc.CanSign() {
|
||||
sign := acc.SignHashable(net, tx)
|
||||
if err := scCtx.AddSignature(acc.ScriptHash(), acc.Contract, acc.PublicKey(), sign); err != nil {
|
||||
|
|
|
@ -108,7 +108,7 @@ func ExampleActor() {
|
|||
tx, _ := policyContract.SetStoragePriceUnsigned(10)
|
||||
|
||||
net := a.GetNetwork()
|
||||
scCtx := sccontext.NewParameterContext("Neo.Network.P2P.Payloads.Transaction", net, tx)
|
||||
scCtx := sccontext.NewParameterContext(sccontext.TransactionType, net, tx)
|
||||
sign := w.Accounts[0].SignHashable(net, tx)
|
||||
_ = scCtx.AddSignature(w.Accounts[0].ScriptHash(), w.Accounts[0].Contract, w.Accounts[0].PublicKey(), sign)
|
||||
|
||||
|
|
|
@ -21,6 +21,12 @@ import (
|
|||
"github.com/nspcc-dev/neo-go/pkg/wallet"
|
||||
)
|
||||
|
||||
// TransactionType is the ParameterContext Type used for transactions.
|
||||
const TransactionType = "Neo.Network.P2P.Payloads.Transaction"
|
||||
|
||||
// compatTransactionType is the old, 2.x type used for transactions.
|
||||
const compatTransactionType = "Neo.Core.ContractTransaction"
|
||||
|
||||
// ParameterContext represents smartcontract parameter's context.
|
||||
type ParameterContext struct {
|
||||
// Type is a type of a verifiable item.
|
||||
|
@ -213,7 +219,7 @@ func (c *ParameterContext) UnmarshalJSON(data []byte) error {
|
|||
|
||||
var verif crypto.VerifiableDecodable
|
||||
switch pc.Type {
|
||||
case "Neo.Core.ContractTransaction", "Neo.Network.P2P.Payloads.Transaction":
|
||||
case compatTransactionType, TransactionType:
|
||||
tx := new(transaction.Transaction)
|
||||
verif = tx
|
||||
default:
|
||||
|
|
|
@ -102,7 +102,7 @@ func TestParameterContext_AddSignatureMultisig(t *testing.T) {
|
|||
},
|
||||
}
|
||||
tx := getContractTx(ctr.ScriptHash())
|
||||
c := NewParameterContext("Neo.Network.P2P.Payloads.Transaction", netmode.UnitTestNet, tx)
|
||||
c := NewParameterContext(TransactionType, netmode.UnitTestNet, tx)
|
||||
priv, err := keys.NewPrivateKey()
|
||||
require.NoError(t, err)
|
||||
sig := priv.SignHashable(uint32(c.Network), tx)
|
||||
|
|
Loading…
Reference in a new issue