forked from TrueCloudLab/frostfs-node
[#728] neofs-adm: update to neofs-contract@v0.10.1
Add config parameters to netmap and neofs contracts. Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
This commit is contained in:
parent
01806db612
commit
9c1fb0b55e
2 changed files with 53 additions and 2 deletions
|
@ -119,6 +119,14 @@ func newInitializeContext(cmd *cobra.Command, v *viper.Viper) (*initializeContex
|
||||||
return nil, fmt.Errorf("can't find consensus account: %w", err)
|
return nil, fmt.Errorf("can't find consensus account: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if viper.GetInt64(epochDurationInitFlag) <= 0 {
|
||||||
|
return nil, fmt.Errorf("epoch duration must be positive")
|
||||||
|
}
|
||||||
|
|
||||||
|
if viper.GetInt64(maxObjectSizeInitFlag) <= 0 {
|
||||||
|
return nil, fmt.Errorf("max object size must be positive")
|
||||||
|
}
|
||||||
|
|
||||||
initCtx := &initializeContext{
|
initCtx := &initializeContext{
|
||||||
Client: c,
|
Client: c,
|
||||||
ConsensusAcc: consensusAcc,
|
ConsensusAcc: consensusAcc,
|
||||||
|
|
|
@ -15,6 +15,7 @@ import (
|
||||||
"github.com/nspcc-dev/neo-go/pkg/smartcontract/nef"
|
"github.com/nspcc-dev/neo-go/pkg/smartcontract/nef"
|
||||||
"github.com/nspcc-dev/neo-go/pkg/util"
|
"github.com/nspcc-dev/neo-go/pkg/util"
|
||||||
"github.com/nspcc-dev/neofs-node/pkg/innerring"
|
"github.com/nspcc-dev/neofs-node/pkg/innerring"
|
||||||
|
"github.com/spf13/viper"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -31,6 +32,26 @@ const (
|
||||||
reputationContract = "reputation"
|
reputationContract = "reputation"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
netmapEpochKey = "EpochDuration"
|
||||||
|
netmapMaxObjectSizeKey = "MaxObjectSize"
|
||||||
|
netmapAuditFeeKey = "AuditFee"
|
||||||
|
netmapContainerFeeKey = "ContainerFee"
|
||||||
|
netmapEigenTrustIterationsKey = "EigenTrustIterations"
|
||||||
|
netmapEigenTrustAlphaKey = "EigenTrustAlpha"
|
||||||
|
netmapBasicIncomeRateKey = "BasicIncomeRate"
|
||||||
|
netmapInnerRingCandidateFeeKey = "InnerRingCandidateFee"
|
||||||
|
netmapWithdrawFeeKey = "WithdrawFee"
|
||||||
|
|
||||||
|
defaultAuditFee = 10000
|
||||||
|
defaultContainerFee = 1000
|
||||||
|
defaultEigenTrustIterations = 4
|
||||||
|
defaultEigenTrustAlpha = "0.1"
|
||||||
|
defaultBasicIncomeRate = 100000000
|
||||||
|
defaultInnerRingCandidateFee = 10000000000
|
||||||
|
defaultWithdrawFee = 100000000
|
||||||
|
)
|
||||||
|
|
||||||
var contractList = []string{
|
var contractList = []string{
|
||||||
auditContract,
|
auditContract,
|
||||||
balanceContract,
|
balanceContract,
|
||||||
|
@ -238,7 +259,8 @@ func (c *initializeContext) getContractDeployData(ctrName string, keysParam []sm
|
||||||
case neofsContract:
|
case neofsContract:
|
||||||
items = append(items,
|
items = append(items,
|
||||||
newContractParameter(smartcontract.Hash160Type, c.Contracts[processingContract].Hash),
|
newContractParameter(smartcontract.Hash160Type, c.Contracts[processingContract].Hash),
|
||||||
newContractParameter(smartcontract.ArrayType, keysParam))
|
newContractParameter(smartcontract.ArrayType, keysParam),
|
||||||
|
newContractParameter(smartcontract.ArrayType, smartcontract.Parameter{}))
|
||||||
case processingContract:
|
case processingContract:
|
||||||
items = append(items, newContractParameter(smartcontract.Hash160Type, c.Contracts[neofsContract].Hash))
|
items = append(items, newContractParameter(smartcontract.Hash160Type, c.Contracts[neofsContract].Hash))
|
||||||
return items[1:] // no notary info
|
return items[1:] // no notary info
|
||||||
|
@ -259,10 +281,31 @@ func (c *initializeContext) getContractDeployData(ctrName string, keysParam []sm
|
||||||
newContractParameter(smartcontract.Hash160Type, c.Contracts[netmapContract].Hash),
|
newContractParameter(smartcontract.Hash160Type, c.Contracts[netmapContract].Hash),
|
||||||
newContractParameter(smartcontract.Hash160Type, c.Contracts[containerContract].Hash))
|
newContractParameter(smartcontract.Hash160Type, c.Contracts[containerContract].Hash))
|
||||||
case netmapContract:
|
case netmapContract:
|
||||||
|
configParam := []smartcontract.Parameter{
|
||||||
|
{Type: smartcontract.StringType, Value: netmapEpochKey},
|
||||||
|
{Type: smartcontract.IntegerType, Value: viper.GetInt64(epochDurationInitFlag)},
|
||||||
|
{Type: smartcontract.StringType, Value: netmapMaxObjectSizeKey},
|
||||||
|
{Type: smartcontract.IntegerType, Value: viper.GetInt64(maxObjectSizeInitFlag)},
|
||||||
|
{Type: smartcontract.StringType, Value: netmapAuditFeeKey},
|
||||||
|
{Type: smartcontract.IntegerType, Value: int64(defaultAuditFee)},
|
||||||
|
{Type: smartcontract.StringType, Value: netmapContainerFeeKey},
|
||||||
|
{Type: smartcontract.IntegerType, Value: int64(defaultContainerFee)},
|
||||||
|
{Type: smartcontract.StringType, Value: netmapEigenTrustIterationsKey},
|
||||||
|
{Type: smartcontract.IntegerType, Value: int64(defaultEigenTrustIterations)},
|
||||||
|
{Type: smartcontract.StringType, Value: netmapEigenTrustAlphaKey},
|
||||||
|
{Type: smartcontract.StringType, Value: defaultEigenTrustAlpha},
|
||||||
|
{Type: smartcontract.StringType, Value: netmapBasicIncomeRateKey},
|
||||||
|
{Type: smartcontract.IntegerType, Value: int64(defaultBasicIncomeRate)},
|
||||||
|
{Type: smartcontract.StringType, Value: netmapInnerRingCandidateFeeKey},
|
||||||
|
{Type: smartcontract.IntegerType, Value: int64(defaultInnerRingCandidateFee)},
|
||||||
|
{Type: smartcontract.StringType, Value: netmapWithdrawFeeKey},
|
||||||
|
{Type: smartcontract.IntegerType, Value: int64(defaultWithdrawFee)},
|
||||||
|
}
|
||||||
items = append(items,
|
items = append(items,
|
||||||
newContractParameter(smartcontract.Hash160Type, c.Contracts[balanceContract].Hash),
|
newContractParameter(smartcontract.Hash160Type, c.Contracts[balanceContract].Hash),
|
||||||
newContractParameter(smartcontract.Hash160Type, c.Contracts[containerContract].Hash),
|
newContractParameter(smartcontract.Hash160Type, c.Contracts[containerContract].Hash),
|
||||||
newContractParameter(smartcontract.ArrayType, keysParam))
|
newContractParameter(smartcontract.ArrayType, keysParam),
|
||||||
|
newContractParameter(smartcontract.ArrayType, configParam))
|
||||||
case proxyContract:
|
case proxyContract:
|
||||||
items = append(items, newContractParameter(smartcontract.Hash160Type, c.Contracts[netmapContract].Hash))
|
items = append(items, newContractParameter(smartcontract.Hash160Type, c.Contracts[netmapContract].Hash))
|
||||||
case reputationContract:
|
case reputationContract:
|
||||||
|
|
Loading…
Reference in a new issue