Skip to content

Commit

Permalink
Merge pull request #694 from iotaledger/unify-blockissuerkey
Browse files Browse the repository at this point in the history
Remove regular Ed25519 Pubkey Block Issuer Key
  • Loading branch information
PhilippGackstatter authored Jan 25, 2024
2 parents bc82536 + a9f0d90 commit 6d1576c
Show file tree
Hide file tree
Showing 18 changed files with 53 additions and 65 deletions.
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ require (
github.com/iotaledger/inx-app v1.0.0-rc.3.0.20240123171338-c9f82bbb8ad6
github.com/iotaledger/inx/go v1.0.0-rc.2.0.20240123170953-fc68d7c1303b
github.com/iotaledger/iota-crypto-demo v0.0.0-20231208171603-786bb32fdb00
github.com/iotaledger/iota.go/v4 v4.0.0-20240123170900-42c1479d3f30
github.com/iotaledger/iota.go/v4 v4.0.0-20240125083751-2a637ee97ebb
github.com/labstack/echo/v4 v4.11.4
github.com/labstack/gommon v0.4.2
github.com/libp2p/go-libp2p v0.32.2
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -309,8 +309,8 @@ github.com/iotaledger/inx/go v1.0.0-rc.2.0.20240123170953-fc68d7c1303b h1:KzsDGz
github.com/iotaledger/inx/go v1.0.0-rc.2.0.20240123170953-fc68d7c1303b/go.mod h1:M4DqLsDD23/MkvmBEXJrEikqNIB/lL9vbGuIBRfjTY4=
github.com/iotaledger/iota-crypto-demo v0.0.0-20231208171603-786bb32fdb00 h1:j5udgLtSN6wQgFI9vnhkdJsqsVdJmwtoc0yOmT/Ila4=
github.com/iotaledger/iota-crypto-demo v0.0.0-20231208171603-786bb32fdb00/go.mod h1:gt+URx7DZu414nZME7jtGgxR4DVTSnNa1jF2trTUTZ0=
github.com/iotaledger/iota.go/v4 v4.0.0-20240123170900-42c1479d3f30 h1:W+a1Ne7Be+woCuzoueO5NAcDR+v/E5jdEKriv9XyFpQ=
github.com/iotaledger/iota.go/v4 v4.0.0-20240123170900-42c1479d3f30/go.mod h1:ZsbAtAhfjPO88C4k6gOJQUHHlulAMhNCW1MVzMqEfA4=
github.com/iotaledger/iota.go/v4 v4.0.0-20240125083751-2a637ee97ebb h1:toyYlq90YaKr13ScdJFdBN/yzfG02DGchL+Fp+X00Nk=
github.com/iotaledger/iota.go/v4 v4.0.0-20240125083751-2a637ee97ebb/go.mod h1:ZsbAtAhfjPO88C4k6gOJQUHHlulAMhNCW1MVzMqEfA4=
github.com/ipfs/boxo v0.13.1 h1:nQ5oQzcMZR3oL41REJDcTbrvDvuZh3J9ckc9+ILeRQI=
github.com/ipfs/boxo v0.13.1/go.mod h1:btrtHy0lmO1ODMECbbEY1pxNtrLilvKSYLoGQt1yYCk=
github.com/ipfs/go-cid v0.4.1 h1:A/T3qGvxi4kpKWWcPC/PgbvDA2bjVLO7n4UeVwnbs/s=
Expand Down
2 changes: 1 addition & 1 deletion pkg/protocol/commitment_verifier.go
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ func (c *CommitmentVerifier) verifyAttestations(attestations []*iotago.Attestati
switch signature := att.Signature.(type) {
case *iotago.Ed25519Signature:
// We found the accountData, but we don't know the public key used to sign this block/attestation. Ignore.
if !accountData.BlockIssuerKeys.Has(iotago.Ed25519PublicKeyBlockIssuerKeyFromPublicKey(signature.PublicKey)) {
if !accountData.BlockIssuerKeys.Has(iotago.Ed25519PublicKeyHashBlockIssuerKeyFromPublicKey(signature.PublicKey)) {
continue
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -158,24 +158,17 @@ func (c *PostSolidBlockFilter) ProcessSolidBlock(block *blocks.Block) {
{
switch signature := block.ProtocolBlock().Signature.(type) {
case *iotago.Ed25519Signature:
if !accountData.BlockIssuerKeys.Has(iotago.Ed25519PublicKeyBlockIssuerKeyFromPublicKey(signature.PublicKey)) {
// If the block issuer does not have the public key in the slot commitment, check if it is an implicit account with the corresponding address.
// There must be at least one block issuer key on any account, so extracting index 0 is fine.
// For implicit accounts there is exactly one key, so we do not have to check any other indices.
blockIssuerKey := accountData.BlockIssuerKeys[0]
// Implicit Accounts can only have Block Issuer Keys of type Ed25519PublicKeyHashBlockIssuerKey.
bikPubKeyHash, isBikPubKeyHash := blockIssuerKey.(*iotago.Ed25519PublicKeyHashBlockIssuerKey)

// PreSolidFilter the block if it's not a Block Issuer Key from an Implicit Account or if the Pub Key Hashes do not match.
if !isBikPubKeyHash || bikPubKeyHash.PublicKeyHash != iotago.Ed25519PublicKeyHashBlockIssuerKeyFromPublicKey(signature.PublicKey[:]).PublicKeyHash {
c.events.BlockFiltered.Trigger(&postsolidfilter.BlockFilteredEvent{
Block: block,
Reason: ierrors.Wrapf(iotago.ErrInvalidSignature, "block issuer account %s does not have block issuer key corresponding to public key %s in slot %d", block.ProtocolBlock().Header.IssuerID, signature.PublicKey, block.ProtocolBlock().Header.SlotCommitmentID.Index()),
})

return
}
expectedBlockIssuerKey := iotago.Ed25519PublicKeyHashBlockIssuerKeyFromPublicKey(signature.PublicKey)

if !accountData.BlockIssuerKeys.Has(expectedBlockIssuerKey) {
c.events.BlockFiltered.Trigger(&postsolidfilter.BlockFilteredEvent{
Block: block,
Reason: ierrors.Wrapf(iotago.ErrInvalidSignature, "block issuer account %s does not have block issuer key corresponding to public key %s in slot %d", block.ProtocolBlock().Header.IssuerID, signature.PublicKey, block.ProtocolBlock().Header.SlotCommitmentID.Index()),
})

return
}

signingMessage, err := block.ProtocolBlock().SigningMessage()
if err != nil {
c.events.BlockFiltered.Trigger(&postsolidfilter.BlockFilteredEvent{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ func TestPostSolidFilter_NoAccount(t *testing.T) {
accounts.NewAccountData(
accountID,
accounts.WithExpirySlot(iotago.MaxSlotIndex),
accounts.WithBlockIssuerKeys(iotago.Ed25519PublicKeyBlockIssuerKeyFromPublicKey(keyPairAccount.PublicKey)),
accounts.WithBlockIssuerKeys(iotago.Ed25519PublicKeyHashBlockIssuerKeyFromPublicKey(keyPairAccount.PublicKey)),
),
)
keyPairImplicitAccount := ed25519.GenerateKeyPair()
Expand Down Expand Up @@ -213,7 +213,7 @@ func TestPostSolidFilter_BurnedMana(t *testing.T) {
accounts.NewAccountData(
accountID,
accounts.WithExpirySlot(iotago.MaxSlotIndex),
accounts.WithBlockIssuerKeys(iotago.Ed25519PublicKeyBlockIssuerKeyFromPublicKey(keyPair.PublicKey)),
accounts.WithBlockIssuerKeys(iotago.Ed25519PublicKeyHashBlockIssuerKeyFromPublicKey(keyPair.PublicKey)),
),
)

Expand Down Expand Up @@ -251,7 +251,7 @@ func TestPostSolidFilter_Expiry(t *testing.T) {
accounts.NewAccountData(
accountID,
accounts.WithExpirySlot(100),
accounts.WithBlockIssuerKeys(iotago.Ed25519PublicKeyBlockIssuerKeyFromPublicKey(keyPair.PublicKey)),
accounts.WithBlockIssuerKeys(iotago.Ed25519PublicKeyHashBlockIssuerKeyFromPublicKey(keyPair.PublicKey)),
),
)

Expand Down
14 changes: 7 additions & 7 deletions pkg/tests/upgrade_signaling_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ func Test_Upgrade_Signaling(t *testing.T) {
Credits: &accounts.BlockIssuanceCredits{Value: iotago.MaxBlockIssuanceCredits / 2, UpdateSlot: 0},
ExpirySlot: iotago.MaxSlotIndex,
OutputID: ts.AccountOutput("Genesis:1").OutputID(),
BlockIssuerKeys: iotago.NewBlockIssuerKeys(iotago.Ed25519PublicKeyBlockIssuerKeyFromPublicKey(ed25519.PublicKey(ts.Node("nodeA").Validator.PublicKey))),
BlockIssuerKeys: iotago.NewBlockIssuerKeys(iotago.Ed25519PublicKeyHashBlockIssuerKeyFromPublicKey(ed25519.PublicKey(ts.Node("nodeA").Validator.PublicKey))),
ValidatorStake: mock.MinValidatorAccountAmount(ts.API.ProtocolParameters()),
DelegationStake: 0,
FixedCost: 0,
Expand All @@ -150,7 +150,7 @@ func Test_Upgrade_Signaling(t *testing.T) {
Credits: &accounts.BlockIssuanceCredits{Value: iotago.MaxBlockIssuanceCredits / 2, UpdateSlot: 0},
ExpirySlot: iotago.MaxSlotIndex,
OutputID: ts.AccountOutput("Genesis:5").OutputID(),
BlockIssuerKeys: iotago.NewBlockIssuerKeys(iotago.Ed25519PublicKeyBlockIssuerKeyFromPublicKey(ed25519.PublicKey(wallet.BlockIssuer.PublicKey))),
BlockIssuerKeys: iotago.NewBlockIssuerKeys(iotago.Ed25519PublicKeyHashBlockIssuerKeyFromPublicKey(ed25519.PublicKey(wallet.BlockIssuer.PublicKey))),
ValidatorStake: 0,
DelegationStake: 0,
FixedCost: 0,
Expand All @@ -171,7 +171,7 @@ func Test_Upgrade_Signaling(t *testing.T) {
Credits: &accounts.BlockIssuanceCredits{Value: iotago.MaxBlockIssuanceCredits / 2, UpdateSlot: 0},
ExpirySlot: iotago.MaxSlotIndex,
OutputID: ts.AccountOutput("Genesis:1").OutputID(),
BlockIssuerKeys: iotago.NewBlockIssuerKeys(iotago.Ed25519PublicKeyBlockIssuerKeyFromPublicKey(ed25519.PublicKey(ts.Node("nodeA").Validator.PublicKey))),
BlockIssuerKeys: iotago.NewBlockIssuerKeys(iotago.Ed25519PublicKeyHashBlockIssuerKeyFromPublicKey(ed25519.PublicKey(ts.Node("nodeA").Validator.PublicKey))),
ValidatorStake: mock.MinValidatorAccountAmount(ts.API.ProtocolParameters()),
DelegationStake: 0,
FixedCost: 0,
Expand All @@ -184,7 +184,7 @@ func Test_Upgrade_Signaling(t *testing.T) {
Credits: &accounts.BlockIssuanceCredits{Value: iotago.MaxBlockIssuanceCredits / 2, UpdateSlot: 0},
ExpirySlot: iotago.MaxSlotIndex,
OutputID: ts.AccountOutput("Genesis:4").OutputID(),
BlockIssuerKeys: iotago.NewBlockIssuerKeys(iotago.Ed25519PublicKeyBlockIssuerKeyFromPublicKey(ed25519.PublicKey(ts.Node("nodeD").Validator.PublicKey))),
BlockIssuerKeys: iotago.NewBlockIssuerKeys(iotago.Ed25519PublicKeyHashBlockIssuerKeyFromPublicKey(ed25519.PublicKey(ts.Node("nodeD").Validator.PublicKey))),
ValidatorStake: mock.MinValidatorAccountAmount(ts.API.ProtocolParameters()),
DelegationStake: 0,
FixedCost: 0,
Expand All @@ -205,7 +205,7 @@ func Test_Upgrade_Signaling(t *testing.T) {
Credits: &accounts.BlockIssuanceCredits{Value: iotago.MaxBlockIssuanceCredits / 2, UpdateSlot: 0},
ExpirySlot: iotago.MaxSlotIndex,
OutputID: ts.AccountOutput("Genesis:1").OutputID(),
BlockIssuerKeys: iotago.NewBlockIssuerKeys(iotago.Ed25519PublicKeyBlockIssuerKeyFromPublicKey(ed25519.PublicKey(ts.Node("nodeA").Validator.PublicKey))),
BlockIssuerKeys: iotago.NewBlockIssuerKeys(iotago.Ed25519PublicKeyHashBlockIssuerKeyFromPublicKey(ed25519.PublicKey(ts.Node("nodeA").Validator.PublicKey))),
ValidatorStake: mock.MinValidatorAccountAmount(ts.API.ProtocolParameters()),
DelegationStake: 0,
FixedCost: 0,
Expand Down Expand Up @@ -370,7 +370,7 @@ func Test_Upgrade_Signaling(t *testing.T) {
Credits: &accounts.BlockIssuanceCredits{Value: iotago.MaxBlockIssuanceCredits / 2, UpdateSlot: 0},
ExpirySlot: iotago.MaxSlotIndex,
OutputID: ts.AccountOutput("Genesis:1").OutputID(),
BlockIssuerKeys: iotago.NewBlockIssuerKeys(iotago.Ed25519PublicKeyBlockIssuerKeyFromPublicKey(ed25519.PublicKey(ts.Node("nodeA").Validator.PublicKey))),
BlockIssuerKeys: iotago.NewBlockIssuerKeys(iotago.Ed25519PublicKeyHashBlockIssuerKeyFromPublicKey(ed25519.PublicKey(ts.Node("nodeA").Validator.PublicKey))),
ValidatorStake: mock.MinValidatorAccountAmount(ts.API.ProtocolParameters()),
DelegationStake: 0,
FixedCost: 0,
Expand All @@ -383,7 +383,7 @@ func Test_Upgrade_Signaling(t *testing.T) {
Credits: &accounts.BlockIssuanceCredits{Value: iotago.MaxBlockIssuanceCredits / 2, UpdateSlot: 0},
ExpirySlot: iotago.MaxSlotIndex,
OutputID: ts.AccountOutput("Genesis:4").OutputID(),
BlockIssuerKeys: iotago.NewBlockIssuerKeys(iotago.Ed25519PublicKeyBlockIssuerKeyFromPublicKey(ed25519.PublicKey(ts.Node("nodeD").Validator.PublicKey))),
BlockIssuerKeys: iotago.NewBlockIssuerKeys(iotago.Ed25519PublicKeyHashBlockIssuerKeyFromPublicKey(ed25519.PublicKey(ts.Node("nodeD").Validator.PublicKey))),
ValidatorStake: mock.MinValidatorAccountAmount(ts.API.ProtocolParameters()),
DelegationStake: 0,
FixedCost: 0,
Expand Down
2 changes: 1 addition & 1 deletion pkg/testsuite/depositcalculator/depositcalculator.go
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ func getFeatures[T iotago.Feature](opts *Options) iotago.Features[T] {
if opts.BlockIssuerKeys > 0 {
blockIssuerKeys := make([]iotago.BlockIssuerKey, 0, opts.BlockIssuerKeys)
for i := 0; i < opts.BlockIssuerKeys; i++ {
blockIssuerKeys = append(blockIssuerKeys, &iotago.Ed25519PublicKeyBlockIssuerKey{})
blockIssuerKeys = append(blockIssuerKeys, &iotago.Ed25519PublicKeyHashBlockIssuerKey{})
}

features = append(features, &iotago.BlockIssuerFeature{BlockIssuerKeys: blockIssuerKeys})
Expand Down
4 changes: 2 additions & 2 deletions pkg/testsuite/depositcalculator/depositcalculator_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,8 @@ func TestCalculate(t *testing.T) {
Features: iotago.AccountOutputFeatures{
&iotago.BlockIssuerFeature{
BlockIssuerKeys: iotago.BlockIssuerKeys{
&iotago.Ed25519PublicKeyBlockIssuerKey{},
&iotago.Ed25519PublicKeyBlockIssuerKey{},
&iotago.Ed25519PublicKeyHashBlockIssuerKey{},
&iotago.Ed25519PublicKeyHashBlockIssuerKey{},
},
ExpirySlot: 0,
},
Expand Down
2 changes: 1 addition & 1 deletion pkg/testsuite/mock/blockissuer.go
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ func NewBlockIssuer(t *testing.T, name string, keyManager *wallet.KeyManager, ac
}

func (i *BlockIssuer) BlockIssuerKey() iotago.BlockIssuerKey {
return iotago.Ed25519PublicKeyBlockIssuerKeyFromPublicKey(hiveEd25519.PublicKey(i.PublicKey))
return iotago.Ed25519PublicKeyHashBlockIssuerKeyFromPublicKey(hiveEd25519.PublicKey(i.PublicKey))
}

func (i *BlockIssuer) BlockIssuerKeys() iotago.BlockIssuerKeys {
Expand Down
2 changes: 1 addition & 1 deletion pkg/testsuite/mock/wallet.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ func (w *Wallet) BlockIssuerKey() iotago.BlockIssuerKey {
}
_, pub := w.keyManager.KeyPair()

return iotago.Ed25519PublicKeyBlockIssuerKeyFromPublicKey(hiveEd25519.PublicKey(pub))
return iotago.Ed25519PublicKeyHashBlockIssuerKeyFromPublicKey(hiveEd25519.PublicKey(pub))
}

func (w *Wallet) SetDefaultNode(node *Node) {
Expand Down
7 changes: 2 additions & 5 deletions pkg/testsuite/snapshotcreator/snapshotcreator.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ package snapshotcreator
import (
"os"

"golang.org/x/crypto/blake2b"

"github.com/iotaledger/hive.go/ierrors"
"github.com/iotaledger/hive.go/lo"
"github.com/iotaledger/hive.go/log"
Expand Down Expand Up @@ -72,12 +70,11 @@ func CreateSnapshot(opts ...options.Option[Options]) error {
for _, snapshotAccountDetails := range opt.Accounts {
// Only add genesis validators if an account has both - StakedAmount and StakingEndEpoch - specified.
if snapshotAccountDetails.StakedAmount > 0 && snapshotAccountDetails.StakingEndEpoch > 0 {
blockIssuerKeyEd25519, ok := snapshotAccountDetails.IssuerKey.(*iotago.Ed25519PublicKeyBlockIssuerKey)
blockIssuerKeyEd25519, ok := snapshotAccountDetails.IssuerKey.(*iotago.Ed25519PublicKeyHashBlockIssuerKey)
if !ok {
panic("block issuer key must be of type ed25519")
}
ed25519PubKey := blockIssuerKeyEd25519.ToEd25519PublicKey()
accountID := blake2b.Sum256(ed25519PubKey[:])
accountID := blockIssuerKeyEd25519.PublicKeyHash
committeeAccountsData = append(committeeAccountsData, &accounts.AccountData{
ID: accountID,
Credits: &accounts.BlockIssuanceCredits{Value: snapshotAccountDetails.BlockIssuanceCredits, UpdateSlot: 0},
Expand Down
10 changes: 4 additions & 6 deletions pkg/testsuite/testsuite.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import (
"time"

"github.com/stretchr/testify/require"
"golang.org/x/crypto/blake2b"

"github.com/iotaledger/hive.go/crypto/ed25519"
"github.com/iotaledger/hive.go/ds/orderedmap"
Expand Down Expand Up @@ -350,7 +349,7 @@ func (t *TestSuite) addNodeToPartition(name string, partition string, validator
Address: iotago.Ed25519AddressFromPubKey(node.Validator.PublicKey),
Amount: walletOptions.Amount,
Mana: iotago.Mana(walletOptions.Amount),
IssuerKey: iotago.Ed25519PublicKeyBlockIssuerKeyFromPublicKey(ed25519.PublicKey(node.Validator.PublicKey)),
IssuerKey: iotago.Ed25519PublicKeyHashBlockIssuerKeyFromPublicKey(ed25519.PublicKey(node.Validator.PublicKey)),
ExpirySlot: iotago.MaxSlotIndex,
BlockIssuanceCredits: iotago.MaxBlockIssuanceCredits / 2,
StakedAmount: walletOptions.Amount,
Expand Down Expand Up @@ -410,7 +409,7 @@ func (t *TestSuite) AddGenesisWallet(name string, node *mock.Node, walletOpts ..
Address: iotago.Ed25519AddressFromPubKey(newWallet.BlockIssuer.PublicKey),
Amount: walletOptions.Amount,
Mana: iotago.Mana(mock.MinIssuerAccountAmount(t.API.ProtocolParameters())),
IssuerKey: iotago.Ed25519PublicKeyBlockIssuerKeyFromPublicKey(ed25519.PublicKey(newWallet.BlockIssuer.PublicKey)),
IssuerKey: iotago.Ed25519PublicKeyHashBlockIssuerKeyFromPublicKey(ed25519.PublicKey(newWallet.BlockIssuer.PublicKey)),
ExpirySlot: iotago.MaxSlotIndex,
BlockIssuanceCredits: walletOptions.BlockIssuanceCredits,
}
Expand Down Expand Up @@ -486,12 +485,11 @@ func (t *TestSuite) Run(failOnBlockFiltered bool, nodesOptions ...map[string][]o
}

if accountDetails.AccountID.Empty() {
blockIssuerKeyEd25519, ok := accountDetails.IssuerKey.(*iotago.Ed25519PublicKeyBlockIssuerKey)
blockIssuerKeyEd25519, ok := accountDetails.IssuerKey.(*iotago.Ed25519PublicKeyHashBlockIssuerKey)
if !ok {
panic("block issuer key must be of type ed25519")
}
ed25519PubKey := blockIssuerKeyEd25519.ToEd25519PublicKey()
accountID := blake2b.Sum256(ed25519PubKey[:])
accountID := blockIssuerKeyEd25519.PublicKeyHash
accountDetails.AccountID = accountID
}

Expand Down
2 changes: 1 addition & 1 deletion tools/gendoc/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ require (
github.com/iotaledger/inx-app v1.0.0-rc.3.0.20240123171338-c9f82bbb8ad6 // indirect
github.com/iotaledger/inx/go v1.0.0-rc.2.0.20240123170953-fc68d7c1303b // indirect
github.com/iotaledger/iota-crypto-demo v0.0.0-20231208171603-786bb32fdb00 // indirect
github.com/iotaledger/iota.go/v4 v4.0.0-20240123170900-42c1479d3f30 // indirect
github.com/iotaledger/iota.go/v4 v4.0.0-20240125083751-2a637ee97ebb // indirect
github.com/ipfs/boxo v0.13.1 // indirect
github.com/ipfs/go-cid v0.4.1 // indirect
github.com/ipfs/go-datastore v0.6.0 // indirect
Expand Down
4 changes: 2 additions & 2 deletions tools/gendoc/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -313,8 +313,8 @@ github.com/iotaledger/inx/go v1.0.0-rc.2.0.20240123170953-fc68d7c1303b h1:KzsDGz
github.com/iotaledger/inx/go v1.0.0-rc.2.0.20240123170953-fc68d7c1303b/go.mod h1:M4DqLsDD23/MkvmBEXJrEikqNIB/lL9vbGuIBRfjTY4=
github.com/iotaledger/iota-crypto-demo v0.0.0-20231208171603-786bb32fdb00 h1:j5udgLtSN6wQgFI9vnhkdJsqsVdJmwtoc0yOmT/Ila4=
github.com/iotaledger/iota-crypto-demo v0.0.0-20231208171603-786bb32fdb00/go.mod h1:gt+URx7DZu414nZME7jtGgxR4DVTSnNa1jF2trTUTZ0=
github.com/iotaledger/iota.go/v4 v4.0.0-20240123170900-42c1479d3f30 h1:W+a1Ne7Be+woCuzoueO5NAcDR+v/E5jdEKriv9XyFpQ=
github.com/iotaledger/iota.go/v4 v4.0.0-20240123170900-42c1479d3f30/go.mod h1:ZsbAtAhfjPO88C4k6gOJQUHHlulAMhNCW1MVzMqEfA4=
github.com/iotaledger/iota.go/v4 v4.0.0-20240125083751-2a637ee97ebb h1:toyYlq90YaKr13ScdJFdBN/yzfG02DGchL+Fp+X00Nk=
github.com/iotaledger/iota.go/v4 v4.0.0-20240125083751-2a637ee97ebb/go.mod h1:ZsbAtAhfjPO88C4k6gOJQUHHlulAMhNCW1MVzMqEfA4=
github.com/ipfs/boxo v0.13.1 h1:nQ5oQzcMZR3oL41REJDcTbrvDvuZh3J9ckc9+ILeRQI=
github.com/ipfs/boxo v0.13.1/go.mod h1:btrtHy0lmO1ODMECbbEY1pxNtrLilvKSYLoGQt1yYCk=
github.com/ipfs/go-cid v0.4.1 h1:A/T3qGvxi4kpKWWcPC/PgbvDA2bjVLO7n4UeVwnbs/s=
Expand Down
2 changes: 1 addition & 1 deletion tools/genesis-snapshot/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ require (
github.com/iotaledger/hive.go/lo v0.0.0-20240123132714-180e65c33a1d
github.com/iotaledger/hive.go/runtime v0.0.0-20240123132714-180e65c33a1d
github.com/iotaledger/iota-core v0.0.0-00010101000000-000000000000
github.com/iotaledger/iota.go/v4 v4.0.0-20240123170900-42c1479d3f30
github.com/iotaledger/iota.go/v4 v4.0.0-20240125083751-2a637ee97ebb
github.com/mr-tron/base58 v1.2.0
github.com/spf13/pflag v1.0.5
golang.org/x/crypto v0.18.0
Expand Down
Loading

0 comments on commit 6d1576c

Please sign in to comment.