Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
e13c050
added god mode address
raduchis Dec 5, 2025
d664fa8
Merge remote-tracking branch 'origin/master-bon' into supernova-bon
raduchis Jan 14, 2026
9ccd371
Merge branch 'feat/supernova-async-exec' into supernova-bon
raduchis Jan 23, 2026
ba39aa2
Merge branch 'feat/supernova-async-exec' into supernova-bon
raduchis Jan 23, 2026
9a437ce
Merge branch 'feat/supernova-async-exec' into supernova-bon
raduchis Jan 26, 2026
acae0ac
Merge branch 'feat/supernova-async-exec' into supernova-bon
raduchis Jan 28, 2026
e4a7a36
Merge branch 'feat/supernova-async-exec' into supernova-bon
raduchis Jan 30, 2026
d582ebb
Merge branch 'feat/supernova-async-exec' into supernova-bon
raduchis Feb 2, 2026
49a818d
Merge branch 'feat/supernova-async-exec' into supernova-bon
raduchis Feb 3, 2026
932f874
Merge branch 'feat/supernova-async-exec' into supernova-bon
raduchis Feb 4, 2026
8f0f7de
Merge branch 'feat/supernova-async-exec' into supernova-bon
raduchis Feb 5, 2026
7bf5f48
Merge branch 'feat/supernova-async-exec' into supernova-bon
raduchis Feb 5, 2026
67ff5ae
Merge branch 'feat/supernova-async-exec' into supernova-bon
raduchis Feb 5, 2026
aae20d7
Merge branch 'feat/supernova-async-exec' into supernova-bon
raduchis Feb 6, 2026
471751f
Merge branch 'feat/supernova-async-exec' into supernova-bon
raduchis Feb 13, 2026
7056e55
Merge remote-tracking branch 'origin/ai-audit-findings' into supernov…
raduchis Feb 16, 2026
1e5aef9
Merge remote-tracking branch 'origin/ai-audit-findings' into supernov…
raduchis Feb 17, 2026
bb525e3
Merge remote-tracking branch 'origin/ai-audit-findings' into supernov…
raduchis Feb 18, 2026
5083c34
Merge branch 'feat/supernova-async-exec' into supernova-bon
sstanculeanu Feb 24, 2026
b7c2b2c
Merge remote-tracking branch 'origin/feat/supernova-async-exec' into …
raduchis Feb 24, 2026
a5f81c2
removed guardian check for transaction processing
raduchis Feb 24, 2026
948b1c0
Merge branch 'feat/supernova-async-exec' into supernova-bon
raduchis Feb 24, 2026
45e7a1b
Merge branch 'feat/supernova-async-exec' into supernova-bon
sstanculeanu Feb 25, 2026
17da8fa
Merge branch 'feat/supernova-async-exec' into supernova-bon
sstanculeanu Feb 26, 2026
b886590
Merge branch 'feat/supernova-async-exec' into supernova-bon
sstanculeanu Feb 26, 2026
078d1bd
Merge branch 'feat/supernova-async-exec' into supernova-bon
sstanculeanu Feb 27, 2026
14087ad
Merge branch 'feat/supernova-async-exec' into supernova-bon
sstanculeanu Feb 27, 2026
f65ae5f
Merge branch 'feat/supernova-async-exec' into supernova-bon
sstanculeanu Mar 2, 2026
d5a3f7e
Merge branch 'feat/supernova-async-exec' into supernova-bon
sstanculeanu Mar 2, 2026
f340760
Merge branch 'feat/supernova-async-exec' into supernova-bon
raduchis Mar 5, 2026
a025cc5
Merge branch 'feat/supernova-async-exec' into supernova-bon
raduchis Mar 13, 2026
3183d74
Merge branch 'feat/supernova-async-exec' into supernova-bon
miiu96 Mar 13, 2026
411b599
Merge branch 'feat/supernova-async-exec' into supernova-bon
raduchis Mar 18, 2026
84750d8
fixed cleanup and storage
raduchis Mar 18, 2026
48ef61f
Merge remote-tracking branch 'origin/supernova-bon' into supernova-bo…
raduchis Mar 18, 2026
78db8ce
- devnet hardfork exceptions
iulianpascalau Jan 17, 2024
dfca165
merged hdr round blacklist
raduchis Mar 19, 2026
e9bfd37
updated round to 53
raduchis Mar 19, 2026
55a22e3
reverted logs
raduchis Mar 19, 2026
df486fa
updated blacklist round to 54
raduchis Mar 19, 2026
2f07372
Merge branch 'fix-pending-miniblocks-meta' into supernova-bon-fix18
ssd04 Mar 19, 2026
3f73615
Merge pull request #7796 from multiversx/supernova-bon-fix18
raduchis Mar 19, 2026
ceebb67
Merge branch 'feat/supernova-async-exec' into supernova-bon
raduchis Mar 26, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion factory/crypto/cryptoComponents.go
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,16 @@ func (ccf *cryptoComponentsFactory) Create() (*cryptoComponents, error) {
}

txSignKeyGen := signing.NewKeyGenerator(ed25519.NewEd25519())
txSingleSigner := &singlesig.Ed25519Signer{}
txSingleSignerOrig := &singlesig.Ed25519Signer{}
txSingleSigner, err := NewWhiteListEd25519Signer(ArgsWhiteListedSingleSigner{
KeyGen: txSignKeyGen,
SingleSigner: txSingleSignerOrig,
WhitelistedAddressHex: "e7b75955a997dc845bc01ca7fd1090d3e2212985b450781ee0200ed27f3af632", // erd1u7m4j4dfjlwggk7qrjnl6yys603zz2v9k3g8s8hqyq8dyle67ceq3uru9s - god mode address
})
if err != nil {
return nil, err
}

processingSingleSigner, err := ccf.createSingleSigner(false)
if err != nil {
return nil, err
Expand Down
3 changes: 3 additions & 0 deletions factory/crypto/errors.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,6 @@ var ErrNilMessage = errors.New("message to be signed or to be verified is nil")

// ErrBitmapMismatch is raised when an invalid bitmap is passed to the multisigner
var ErrBitmapMismatch = errors.New("multi signer reported a mismatch in used bitmap")

// ErrEmptyWhitelistedAddressHex is raised when an empty whitelisted address hex is provided
var ErrEmptyWhitelistedAddressHex = errors.New("whitelisted address hex is empty")
58 changes: 58 additions & 0 deletions factory/crypto/whitelistedSingleSigner.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
package crypto

import (
"encoding/hex"

crypto "github.com/multiversx/mx-chain-crypto-go"
"github.com/multiversx/mx-chain-crypto-go/signing/ed25519/singlesig"
)

// ArgsWhiteListedSingleSigner holds the arguments needed to create a whitelisted single signer
type ArgsWhiteListedSingleSigner struct {
KeyGen crypto.KeyGenerator
SingleSigner *singlesig.Ed25519Signer
WhitelistedAddressHex string
}

// whitelistedSingleSigner exposes the signing and verification functionalities from the ed25519 signature scheme
type whitelistedSingleSigner struct {
whitelistedPublicKey crypto.PublicKey
*singlesig.Ed25519Signer
}

// NewWhiteListEd25519Signer creates a new whitelisted single signer with the provided arguments
func NewWhiteListEd25519Signer(args ArgsWhiteListedSingleSigner) (*whitelistedSingleSigner, error) {
if args.KeyGen == nil {
return nil, ErrNilKeyGenerator
}
if args.SingleSigner == nil {
return nil, ErrNilSingleSigner
}
if len(args.WhitelistedAddressHex) == 0 {
return nil, ErrEmptyWhitelistedAddressHex
}

whitelistedAddressBytes, err := hex.DecodeString(args.WhitelistedAddressHex)
if err != nil {
return nil, err
}
whitelistedAddressPublicKey, err := args.KeyGen.PublicKeyFromByteArray(whitelistedAddressBytes)
if err != nil {
return nil, err
}

return &whitelistedSingleSigner{
Ed25519Signer: args.SingleSigner,
whitelistedPublicKey: whitelistedAddressPublicKey,
}, nil
}

// Verify verifies a signature using a single signature ed25519 scheme
func (e *whitelistedSingleSigner) Verify(public crypto.PublicKey, msg []byte, sig []byte) error {
err := e.Ed25519Signer.Verify(public, msg, sig)
if err == nil {
return nil
}

return e.Ed25519Signer.Verify(e.whitelistedPublicKey, msg, sig)
}
Loading
Loading