Skip to content

Commit 49631b8

Browse files
authored
feat: add more ctors for felt-like types (and remove unnecessary utilities) (#3142)
1 parent 2773af1 commit 49631b8

File tree

85 files changed

+1416
-1469
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+1416
-1469
lines changed

adapters/consensus2p2p/testutils/consensus_p2p_adapters_test_utils.go

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import (
1414
"github.com/starknet-io/starknet-p2pspecs/p2p/proto/common"
1515
p2pconsensus "github.com/starknet-io/starknet-p2pspecs/p2p/proto/consensus/consensus"
1616
"github.com/starknet-io/starknet-p2pspecs/p2p/proto/transaction"
17-
"github.com/stretchr/testify/require"
1817
)
1918

2019
var TransactionBuilder = transactiontestutils.TransactionBuilder[consensus.Transaction, *p2pconsensus.ConsensusTransaction]{
@@ -60,12 +59,11 @@ var TransactionBuilder = transactiontestutils.TransactionBuilder[consensus.Trans
6059
}
6160

6261
func getRandomFelt(t *testing.T) (felt.Felt, []byte) {
63-
felt := felt.Felt{}
64-
_, err := felt.SetRandom()
65-
require.NoError(t, err)
62+
t.Helper()
6663

67-
feltBytes := felt.Bytes()
68-
return felt, feltBytes[:]
64+
f := felt.Random[felt.Felt]()
65+
feltBytes := f.Bytes()
66+
return f, feltBytes[:]
6967
}
7068

7169
func getRandomUint128() (*felt.Felt, *common.Uint128) {

adapters/p2p2core/felt_test.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import (
44
"testing"
55

66
"github.com/NethermindEth/juno/core/felt"
7-
"github.com/NethermindEth/juno/utils"
87
"github.com/starknet-io/starknet-p2pspecs/p2p/proto/common"
98
"github.com/stretchr/testify/assert"
109
)
@@ -25,7 +24,7 @@ func TestAdaptUint128(t *testing.T) {
2524
Low, High uint64
2625
Expect *felt.Felt
2726
}{
28-
{32, 64, utils.HexToFelt(t, "0x400000000000000020")},
27+
{32, 64, felt.NewUnsafeFromString[felt.Felt]("0x400000000000000020")},
2928
}
3029

3130
for _, c := range cases {

adapters/p2p2core/receipt_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ import (
44
"testing"
55

66
"github.com/NethermindEth/juno/adapters/p2p2core"
7-
"github.com/NethermindEth/juno/utils"
7+
"github.com/NethermindEth/juno/core/felt"
88
"github.com/starknet-io/starknet-p2pspecs/p2p/proto/sync/receipt"
99
"github.com/stretchr/testify/assert"
1010
)
1111

1212
func TestAdaptReceipt(t *testing.T) {
1313
t.Run("successful", func(t *testing.T) {
14-
hash := utils.HexToFelt(t, "0xCAFEBABE")
14+
hash := felt.NewUnsafeFromString[felt.Felt]("0xCAFEBABE")
1515
receipt := &receipt.Receipt{
1616
Type: &receipt.Receipt_L1Handler_{
1717
L1Handler: &receipt.Receipt_L1Handler{
@@ -29,7 +29,7 @@ func TestAdaptReceipt(t *testing.T) {
2929
reasons := []string{"reason", ""}
3030

3131
for _, reason := range reasons {
32-
hash := utils.HexToFelt(t, "0xCAFEDEAD")
32+
hash := felt.NewUnsafeFromString[felt.Felt]("0xCAFEDEAD")
3333
receipt := &receipt.Receipt{
3434
Type: &receipt.Receipt_L1Handler_{
3535
L1Handler: &receipt.Receipt_L1Handler{

adapters/sn2core/sn2core_test.go

Lines changed: 75 additions & 75 deletions
Large diffs are not rendered by default.

adapters/testutils/transaction_test_utils.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,16 +46,15 @@ func GetTestTransactions[C, P any](t *testing.T, network *utils.Network, factori
4646

4747
func getRandomFelt(t *testing.T) (felt.Felt, []byte) {
4848
t.Helper()
49-
felt := felt.Felt{}
50-
_, err := felt.SetRandom()
51-
require.NoError(t, err)
5249

53-
feltBytes := felt.Bytes()
54-
return felt, feltBytes[:]
50+
f := felt.Random[felt.Felt]()
51+
feltBytes := f.Bytes()
52+
return f, feltBytes[:]
5553
}
5654

5755
func getRandomFeltSlice(t *testing.T) ([]*felt.Felt, [][]byte) {
5856
t.Helper()
57+
5958
size := rand.IntN(maxTransactionSize)
6059
underlyingFelts := make([]felt.Felt, size)
6160
felts := make([]*felt.Felt, size)

blockchain/aggregated_bloom_filter_cache_test.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@ import (
1616
// randomContractAddress generates a random contract address (felt) for testing.
1717
func randomContractAddress(t *testing.T) *felt.Felt {
1818
t.Helper()
19-
addr, err := new(felt.Felt).SetRandom()
20-
require.NoError(t, err)
19+
addr := felt.NewRandom[felt.Felt]()
2120
return addr
2221
}
2322

@@ -29,8 +28,7 @@ func randomEventKeys(t *testing.T, keysPerEvent, subKeysPerKey int) [][]felt.Fel
2928
for i := range keys {
3029
keys[i] = make([]felt.Felt, subKeysPerKey)
3130
for j := range keys[i] {
32-
key, err := new(felt.Felt).SetRandom()
33-
require.NoError(t, err)
31+
key := felt.NewRandom[felt.Felt]()
3432
keys[i][j] = *key
3533
}
3634
}

blockchain/blockchain_test.go

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -99,16 +99,14 @@ func TestBlockByNumberAndHash(t *testing.T) {
9999
assert.EqualError(t, err, db.ErrKeyNotFound.Error())
100100
})
101101
t.Run("GetBlockByHash returns error if block doesn't exist", func(t *testing.T) {
102-
f, err := new(felt.Felt).SetRandom()
103-
require.NoError(t, err)
104-
_, err = chain.BlockByHash(f)
102+
f := felt.NewRandom[felt.Felt]()
103+
_, err := chain.BlockByHash(f)
105104
assert.EqualError(t, err, db.ErrKeyNotFound.Error())
106105
})
107106
}
108107

109108
func TestVerifyBlock(t *testing.T) {
110-
h1, err := new(felt.Felt).SetRandom()
111-
require.NoError(t, err)
109+
h1 := felt.NewRandom[felt.Felt]()
112110

113111
chain := blockchain.New(memory.New(), &utils.Mainnet)
114112

@@ -198,8 +196,7 @@ func TestVerifyBlock(t *testing.T) {
198196
}
199197

200198
func TestSanityCheckNewHeight(t *testing.T) {
201-
h1, err := new(felt.Felt).SetRandom()
202-
require.NoError(t, err)
199+
h1 := felt.NewRandom[felt.Felt]()
203200

204201
chain := blockchain.New(memory.New(), &utils.Mainnet)
205202

@@ -310,7 +307,7 @@ func TestStoreL1HandlerTxnHash(t *testing.T) {
310307
l1HandlerMsgHash := common.HexToHash("0x42e76df4e3d5255262929c27132bd0d295a8d3db2cfe63d2fcd061c7a7a7ab34")
311308
l1HandlerTxnHash, err := chain.L1HandlerTxnHash(&l1HandlerMsgHash)
312309
require.NoError(t, err)
313-
require.Equal(t, utils.HexToFelt(t, "0x785c2ada3f53fbc66078d47715c27718f92e6e48b96372b36e5197de69b82b5"), l1HandlerTxnHash)
310+
require.Equal(t, felt.NewUnsafeFromString[felt.Felt]("0x785c2ada3f53fbc66078d47715c27718f92e6e48b96372b36e5197de69b82b5"), l1HandlerTxnHash)
314311
}
315312

316313
func TestBlockCommitments(t *testing.T) {
@@ -472,7 +469,7 @@ func TestState(t *testing.T) {
472469
})
473470

474471
t.Run("non-existent hash", func(t *testing.T) {
475-
hash, _ := new(felt.Felt).SetRandom()
472+
hash := felt.NewRandom[felt.Felt]()
476473
_, _, err := chain.StateAtBlockHash(hash)
477474
require.Error(t, err)
478475
})
@@ -533,7 +530,7 @@ func TestEvents(t *testing.T) {
533530
require.NoError(t, filter.Close())
534531
})
535532

536-
from := utils.HexToFelt(t, "0x49d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7")
533+
from := felt.NewUnsafeFromString[felt.Felt]("0x49d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7")
537534
t.Run("filter with no keys", func(t *testing.T) {
538535
filter, err := chain.EventFilter(from, [][]felt.Felt{{}, {}, {}}, pendingBlockFn)
539536
require.NoError(t, err)
@@ -575,14 +572,14 @@ func TestEvents(t *testing.T) {
575572
})
576573

577574
t.Run("filter with keys", func(t *testing.T) {
578-
key := utils.HexToFelt(t, "0x3774b0545aabb37c45c1eddc6a7dae57de498aae6d5e3589e362d4b4323a533")
575+
key := felt.NewUnsafeFromString[felt.Felt]("0x3774b0545aabb37c45c1eddc6a7dae57de498aae6d5e3589e362d4b4323a533")
579576
filter, err := chain.EventFilter(from, [][]felt.Felt{{*key}}, pendingBlockFn)
580577
require.NoError(t, err)
581578

582579
require.NoError(t, filter.SetRangeEndBlockByHash(blockchain.EventFilterFrom,
583-
utils.HexToFelt(t, "0x3b43b334f46b921938854ba85ffc890c1b1321f8fd69e7b2961b18b4260de14")))
580+
felt.NewUnsafeFromString[felt.Felt]("0x3b43b334f46b921938854ba85ffc890c1b1321f8fd69e7b2961b18b4260de14")))
584581
require.NoError(t, filter.SetRangeEndBlockByHash(blockchain.EventFilterTo,
585-
utils.HexToFelt(t, "0x3b43b334f46b921938854ba85ffc890c1b1321f8fd69e7b2961b18b4260de14")))
582+
felt.NewUnsafeFromString[felt.Felt]("0x3b43b334f46b921938854ba85ffc890c1b1321f8fd69e7b2961b18b4260de14")))
586583

587584
t.Run("get all events without pagination", func(t *testing.T) {
588585
events, cToken, err := filter.Events(nil, 10)
@@ -595,8 +592,8 @@ func TestEvents(t *testing.T) {
595592

596593
t.Run("filter with not matching keys", func(t *testing.T) {
597594
filter, err := chain.EventFilter(from, [][]felt.Felt{
598-
{*utils.HexToFelt(t, "0x3774b0545aabb37c45c1eddc6a7dae57de498aae6d5e3589e362d4b4323a533")},
599-
{*utils.HexToFelt(t, "0xDEADBEEF")},
595+
{*felt.NewUnsafeFromString[felt.Felt]("0x3774b0545aabb37c45c1eddc6a7dae57de498aae6d5e3589e362d4b4323a533")},
596+
{*felt.NewUnsafeFromString[felt.Felt]("0xDEADBEEF")},
600597
}, pendingBlockFn)
601598
require.NoError(t, err)
602599
require.NoError(t, filter.SetRangeEndBlockByNumber(blockchain.EventFilterFrom, 0))

0 commit comments

Comments
 (0)