Skip to content

Commit

Permalink
Merge pull request #55 from make-software/release/v1.4.1
Browse files Browse the repository at this point in the history
Release/v1.4.1
  • Loading branch information
koltsov-iv authored Oct 12, 2023
2 parents 7a79b3d + c16c73b commit dbb3149
Show file tree
Hide file tree
Showing 6 changed files with 60 additions and 30 deletions.
2 changes: 1 addition & 1 deletion sse/http_connection.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ func (c *HttpConnection) Request(ctx context.Context, lastEventID int) (*http.Re
req.Header.Set("Accept", "text/event-stream")
req.Header.Set("Connection", "keep-alive")

if lastEventID != 0 {
if lastEventID >= 0 {
query := req.URL.Query()
query.Add("start_from", strconv.Itoa(lastEventID))
req.URL.RawQuery = query.Encode()
Expand Down
2 changes: 1 addition & 1 deletion tests/sse/client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,6 @@ func Test_withOneWorker_shouldProcessRequest(t *testing.T) {
result = true
return nil
})
assert.Error(t, client.Start(context.Background(), 0))
assert.Error(t, client.Start(context.Background(), -1))
assert.True(t, result)
}
6 changes: 6 additions & 0 deletions tests/types/cl_value/key_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,12 @@ func Test_KeyEraID_ToBytes(t *testing.T) {
assert.Equal(t, "050004000000000000", hex.EncodeToString(res.Bytes()))
}

func Test_KeyEraSummary_ToBytes(t *testing.T) {
res, err := key.NewKey("era-summary-0000000000000000000000000000000000000000000000000000000000000000")
require.NoError(t, err)
assert.Equal(t, "0b0000000000000000000000000000000000000000000000000000000000000000", hex.EncodeToString(res.Bytes()))
}

func Test_KeyEraID_FromBytesByType(t *testing.T) {
source := "050004000000000000"
decoded, err := hex.DecodeString(source)
Expand Down
24 changes: 0 additions & 24 deletions types/key/constants.go

This file was deleted.

52 changes: 49 additions & 3 deletions types/key/key.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,30 @@ import (
"strings"
)

type PrefixName = string

const (
PrefixNameAccount PrefixName = "account-hash-"
PrefixNameHash PrefixName = "hash-"
PrefixNameContractPackageWasm PrefixName = "contract-package-wasm"
PrefixNameContractPackage PrefixName = "contract-package-"
PrefixNameContractWasm PrefixName = "contract-wasm-"
PrefixNameContract PrefixName = "contract-"
PrefixNameURef PrefixName = "uref-"
PrefixNameTransfer PrefixName = "transfer-"
PrefixNameDeployInfo PrefixName = "deploy-"
PrefixNameEraId PrefixName = "era-"
PrefixNameBid PrefixName = "bid-"
PrefixNameBalance PrefixName = "balance-"
PrefixNameWithdraw PrefixName = "withdraw-"
PrefixNameDictionary PrefixName = "dictionary-"
PrefixNameSystemContractRegistry PrefixName = "system-contract-registry-"
PrefixNameEraSummary PrefixName = "era-summary-"
PrefixNameUnbond PrefixName = "unbond-"
PrefixNameChainspecRegistry PrefixName = "chainspec-registry-"
PrefixNameChecksumRegistry PrefixName = "checksum-registry-"
)

var ErrNotFoundPrefix = errors.New("prefix is not found")

type TypeID = byte
Expand All @@ -26,6 +50,7 @@ const (
TypeIDWithdraw
TypeIDDictionary
TypeIDSystemContractRegistry
TypeIDEraSummary
TypeIDUnbond
TypeIDChainspecRegistry
TypeIDChecksumRegistry
Expand All @@ -44,8 +69,9 @@ const (
TypeNameBalance TypeName = "Balance"
TypeNameWithdraw TypeName = "Withdraw"
TypeNameDictionary TypeName = "Dictionary"
TypeNameUnbond TypeName = "Unbond"
TypeNameSystemContractRegistry TypeName = "SystemContractRegistry"
TypeNameEraSummary TypeName = "EraSummary"
TypeNameUnbond TypeName = "Unbond"
TypeNameChainspecRegistry TypeName = "ChainspecRegistry"
TypeNameChecksumRegistry TypeName = "ChecksumRegistry"
)
Expand All @@ -61,8 +87,9 @@ var typeIDbyNames = map[TypeName]TypeID{
TypeNameBalance: TypeIDBalance,
TypeNameWithdraw: TypeIDWithdraw,
TypeNameDictionary: TypeIDDictionary,
TypeNameUnbond: TypeIDUnbond,
TypeNameSystemContractRegistry: TypeIDSystemContractRegistry,
TypeNameEraSummary: TypeIDEraSummary,
TypeNameUnbond: TypeIDUnbond,
TypeNameChainspecRegistry: TypeIDChainspecRegistry,
TypeNameChecksumRegistry: TypeIDChecksumRegistry,
}
Expand All @@ -78,8 +105,9 @@ var keyIDbyPrefix = map[PrefixName]TypeID{
PrefixNameBalance: TypeIDBalance,
PrefixNameWithdraw: TypeIDWithdraw,
PrefixNameDictionary: TypeIDDictionary,
PrefixNameUnbond: TypeIDUnbond,
PrefixNameSystemContractRegistry: TypeIDSystemContractRegistry,
PrefixNameEraSummary: TypeIDEraSummary,
PrefixNameUnbond: TypeIDUnbond,
PrefixNameChainspecRegistry: TypeIDChainspecRegistry,
PrefixNameChecksumRegistry: TypeIDChecksumRegistry,
}
Expand Down Expand Up @@ -108,6 +136,8 @@ type Key struct {
Dictionary *Hash
// A `Key` variant under which system contract hashes are stored.
SystemContactRegistry *Hash
// A `Key` under which we store current era info.
EraSummary *Hash
// A `Key` under which we store unbond information.
Unbond *AccountHash
// A `Key` variant under which chainspec and other hashes are stored.
Expand All @@ -132,6 +162,8 @@ func (k Key) Bytes() []byte {
return append([]byte{TypeIDChainspecRegistry}, k.ChainspecRegistry.Bytes()...)
case TypeIDChecksumRegistry:
return append([]byte{TypeIDChecksumRegistry}, k.ChecksumRegistry.Bytes()...)
case TypeIDEraSummary:
return append([]byte{TypeIDEraSummary}, k.EraSummary.Bytes()...)
case TypeIDAccount:
return append([]byte{TypeIDAccount}, k.Account.Bytes()...)
case TypeIDHash:
Expand Down Expand Up @@ -180,6 +212,8 @@ func (k Key) ToPrefixedString() string {
return PrefixNameWithdraw + k.Withdraw.ToHex()
case TypeIDSystemContractRegistry:
return PrefixNameSystemContractRegistry + k.SystemContactRegistry.ToHex()
case TypeIDEraSummary:
return PrefixNameEraSummary + k.EraSummary.ToHex()
case TypeIDUnbond:
return PrefixNameUnbond + k.Unbond.ToHex()
case TypeIDChainspecRegistry:
Expand Down Expand Up @@ -230,6 +264,10 @@ func findPrefixByMap(source string, prefixes map[PrefixName]TypeID) PrefixName {
var prefix PrefixName
for one := range prefixes {
if strings.HasPrefix(source, one) {
// handle the special case when prefix era- is the part of the prefix era-summary-
if one == PrefixNameEraId && strings.HasPrefix(source, PrefixNameEraSummary) {
return PrefixNameEraSummary
}
prefix = one
break
}
Expand Down Expand Up @@ -323,6 +361,10 @@ func createByType(source string, typeID TypeID) (result Key, err error) {
hash, err := NewHash(strings.TrimPrefix(source, PrefixNameSystemContractRegistry))
result.SystemContactRegistry = &hash
return result, err
case TypeIDEraSummary:
hash, err := NewHash(strings.TrimPrefix(source, PrefixNameEraSummary))
result.EraSummary = &hash
return result, err
case TypeIDUnbond:
data, err := NewAccountHash(strings.TrimPrefix(source, PrefixNameUnbond))
result.Unbond = &data
Expand Down Expand Up @@ -395,6 +437,10 @@ func NewKeyFromBuffer(buffer *bytes.Buffer) (result Key, err error) {
data, err := NewURefFromBuffer(buffer)
result.URef = &data
return result, err
case TypeIDEraSummary:
data, err := NewByteHashFromBuffer(buffer)
result.EraSummary = &data
return result, err
case TypeIDUnbond:
data, err := NewByteHashFromBuffer(buffer)
result.Unbond = &AccountHash{Hash: data}
Expand Down
4 changes: 3 additions & 1 deletion types/named_key.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import (
"github.com/make-software/casper-go-sdk/types/key"
)

var ErrNamedKeyNotFound = errors.New("NamedKey not found")

// NamedKey is a key in an Account or Contract.
type NamedKey struct {
// The name of the entry.
Expand All @@ -31,5 +33,5 @@ func (k NamedKeys) Find(target string) (key.Key, error) {
}
}

return key.Key{}, errors.New("NamedKey not found")
return key.Key{}, ErrNamedKeyNotFound
}

0 comments on commit dbb3149

Please sign in to comment.