github.com/0chain/gosdk@v1.17.11/zcnbridge/authorizer/proofBurnTicket_test.go (about) 1 package authorizer_test 2 3 import ( 4 "encoding/json" 5 "testing" 6 7 "github.com/0chain/gosdk/zcncore" 8 9 "github.com/0chain/gosdk/core/zcncrypto" 10 "github.com/0chain/gosdk/zcnbridge/authorizer" 11 "github.com/stretchr/testify/require" 12 "github.com/stretchr/testify/suite" 13 ) 14 15 const walletString = `{ 16 "client_id": "39ac4c04401762778de45d00c51934b2ff15d8168722585daa422195a1ebc5d5", 17 "client_key": "9cf22d230343a68a149a2ccea1137846dd6d0fe653985eb8bebfbe2583ab0e1e2281b78218f480a50cac78cd0c716c3aafa8d741af813a94ca0a5b4e0b8e7a22", 18 "keys": [ 19 { 20 "public_key": "9cf22d230343a68a149a2ccea1137846dd6d0fe653985eb8bebfbe2583ab0e1e2281b78218f480a50cac78cd0c716c3aafa8d741af813a94ca0a5b4e0b8e7a22", 21 "private_key": "9c6c9022bdbd05670c07eae339dbb5491b1c035c2287a83c56581c505b824623" 22 } 23 ], 24 "mnemonics": "fortune guitar marine bachelor ocean raven hunt silver pass hurt industry forget cradle shuffle render used used order chat shallow aerobic cry exercise junior", 25 "version": "1.0", 26 "date_created": "2022-07-17T16:12:25+05:00", 27 "nonce": 0 28 } 29 ` 30 31 type TicketTestSuite struct { 32 suite.Suite 33 w *zcncrypto.Wallet 34 } 35 36 func TestTicketTestSuite(t *testing.T) { 37 suite.Run(t, new(TicketTestSuite)) 38 } 39 40 func (suite *TicketTestSuite) SetupTest() { 41 w := &zcncrypto.Wallet{} 42 err := json.Unmarshal([]byte(walletString), w) 43 require.NoError(suite.T(), err) 44 suite.w = w 45 } 46 47 func (suite *TicketTestSuite) TestBasicSignature() { 48 hash := zcncrypto.Sha3Sum256("test") 49 signScheme := zcncrypto.NewSignatureScheme("bls0chain") 50 err := signScheme.SetPrivateKey(suite.w.Keys[0].PrivateKey) 51 require.NoError(suite.T(), err) 52 sign, err := signScheme.Sign(hash) 53 require.NoError(suite.T(), err) 54 require.NotEmpty(suite.T(), sign) 55 } 56 57 func (suite *TicketTestSuite) TestTicketSignature() { 58 pb := &authorizer.ProofOfBurn{ 59 TxnID: "TxnID", 60 Nonce: 100, 61 Amount: 10, 62 EthereumAddress: "0xBEEF", 63 Signature: nil, 64 } 65 66 zcncore.InitSignatureScheme("bls0chain") 67 err := pb.SignWith0Chain(suite.w) 68 require.NoError(suite.T(), err) 69 require.NotEmpty(suite.T(), pb.Signature) 70 }