|
| 1 | +package reward_manager_test |
| 2 | + |
| 3 | +import ( |
| 4 | + "encoding/base64" |
| 5 | + "testing" |
| 6 | + |
| 7 | + "bridgerton.audius.co/api/spl/programs/reward_manager" |
| 8 | + bin "github.com/gagliardetto/binary" |
| 9 | + "github.com/stretchr/testify/require" |
| 10 | +) |
| 11 | + |
| 12 | +func TestDecodeAttestationsAccount(t *testing.T) { |
| 13 | + testData, err := base64.StdEncoding.DecodeString("AeeCH+of/iC5SPD28pk1Fv5CZ/fBO1jttO39bISSUz9sBAC2Ri6VXaWEG22eHiUpuDDwDzG/nxMmaYsG6TJgMoFyC0Aizx+D7iJfAOH1BQAAAABfYjo1ZjI1NjEyOjI5MzVkYWNiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkYulV2lhBttnh4lKbgw8A8xv/fJaRa9N6121O7dZTa4HClwbIBWnxMmaYsG6TJgMoFyC0Aizx+D7iJfAOH1BQAAAABfYjo1ZjI1NjEyOjI5MzVkYWNiXwC2Ri6VXaWEG22eHiUpuDDwDzG/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD3yWkWvTetdtTu3WU2uBwpcGyAVl6Yy+6qKs7ewIM6w9FjTip64PPCnxMmaYsG6TJgMoFyC0Aizx+D7iJfAOH1BQAAAABfYjo1ZjI1NjEyOjI5MzVkYWNiXwC2Ri6VXaWEG22eHiUpuDDwDzG/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABemMvuqirO3sCDOsPRY04qeuDzwo/PoQvTgIVwmH27Wx70q3RAD7/anxMmaYsG6TJgMoFyC0Aizx+D7iJfAOH1BQAAAABfYjo1ZjI1NjEyOjI5MzVkYWNiXwC2Ri6VXaWEG22eHiUpuDDwDzG/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACPz6EL04CFcJh9u1se9Kt0QA+/2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") |
| 14 | + require.NoError(t, err) |
| 15 | + |
| 16 | + result := reward_manager.AttestationsAccountData{} |
| 17 | + result.UnmarshalWithDecoder(bin.NewBinDecoder(testData)) |
| 18 | + |
| 19 | + require.Equal(t, uint8(1), result.Version) |
| 20 | + require.Equal(t, "GaiG9LDYHfZGqeNaoGRzFEnLiwUT7WiC6sA6FDJX9ZPq", result.RewardManagerState.String()) |
| 21 | + require.Equal(t, uint8(4), result.Count) |
| 22 | + require.Len(t, result.Messages, 4) |
| 23 | + |
| 24 | + // Message 1 |
| 25 | + require.Equal(t, "0x00b6462e955da5841b6d9e1e2529b830f00f31bf", result.Messages[0].SenderEthAddress) |
| 26 | + require.Equal(t, uint64(100000000), result.Messages[0].Claim.Amount) |
| 27 | + require.Equal(t, "b", result.Messages[0].Claim.RewardID) |
| 28 | + require.Equal(t, "5f25612:2935dacb", result.Messages[0].Claim.Specifier) |
| 29 | + require.Equal(t, "0x9f1326698b06e932603281720b4022cf1f83ee22", result.Messages[0].Claim.RecipientEthAddress) |
| 30 | + require.Equal(t, "", result.Messages[0].Claim.AntiAbuseOracleEthAddress) |
| 31 | + require.Equal(t, "0x00b6462e955da5841b6d9e1e2529b830f00f31bf", result.Messages[0].OperatorEthAddress) |
| 32 | + |
| 33 | + // Message 2 |
| 34 | + require.Equal(t, "0xf7c96916bd37ad76d4eedd6536b81c29706c8056", result.Messages[1].SenderEthAddress) |
| 35 | + require.Equal(t, uint64(100000000), result.Messages[1].Claim.Amount) |
| 36 | + require.Equal(t, "b", result.Messages[1].Claim.RewardID) |
| 37 | + require.Equal(t, "5f25612:2935dacb", result.Messages[1].Claim.Specifier) |
| 38 | + require.Equal(t, "0x9f1326698b06e932603281720b4022cf1f83ee22", result.Messages[1].Claim.RecipientEthAddress) |
| 39 | + require.Equal(t, "0x00b6462e955da5841b6d9e1e2529b830f00f31bf", result.Messages[1].Claim.AntiAbuseOracleEthAddress) |
| 40 | + require.Equal(t, "0xf7c96916bd37ad76d4eedd6536b81c29706c8056", result.Messages[1].OperatorEthAddress) |
| 41 | + |
| 42 | + // Message 3 |
| 43 | + require.Equal(t, "0x5e98cbeeaa2acedec0833ac3d1634e2a7ae0f3c2", result.Messages[2].SenderEthAddress) |
| 44 | + require.Equal(t, uint64(100000000), result.Messages[2].Claim.Amount) |
| 45 | + require.Equal(t, "b", result.Messages[2].Claim.RewardID) |
| 46 | + require.Equal(t, "5f25612:2935dacb", result.Messages[2].Claim.Specifier) |
| 47 | + require.Equal(t, "0x9f1326698b06e932603281720b4022cf1f83ee22", result.Messages[2].Claim.RecipientEthAddress) |
| 48 | + require.Equal(t, "0x00b6462e955da5841b6d9e1e2529b830f00f31bf", result.Messages[2].Claim.AntiAbuseOracleEthAddress) |
| 49 | + require.Equal(t, "0x5e98cbeeaa2acedec0833ac3d1634e2a7ae0f3c2", result.Messages[2].OperatorEthAddress) |
| 50 | + |
| 51 | + // Message 4 |
| 52 | + require.Equal(t, "0x8fcfa10bd3808570987dbb5b1ef4ab74400fbfda", result.Messages[3].SenderEthAddress) |
| 53 | + require.Equal(t, uint64(100000000), result.Messages[3].Claim.Amount) |
| 54 | + require.Equal(t, "b", result.Messages[3].Claim.RewardID) |
| 55 | + require.Equal(t, "5f25612:2935dacb", result.Messages[3].Claim.Specifier) |
| 56 | + require.Equal(t, "0x9f1326698b06e932603281720b4022cf1f83ee22", result.Messages[3].Claim.RecipientEthAddress) |
| 57 | + require.Equal(t, "0x00b6462e955da5841b6d9e1e2529b830f00f31bf", result.Messages[3].Claim.AntiAbuseOracleEthAddress) |
| 58 | + require.Equal(t, "0x8fcfa10bd3808570987dbb5b1ef4ab74400fbfda", result.Messages[3].OperatorEthAddress) |
| 59 | + |
| 60 | +} |
0 commit comments