diff --git a/Assets/proto/protocol.bytes b/Assets/proto/protocol.bytes
index f0c8719d1..969eeca75 100644
--- a/Assets/proto/protocol.bytes
+++ b/Assets/proto/protocol.bytes
@@ -1,12 +1,6 @@
 
-å²
-pb/proto/protocol.protocspb"ž
-Gift
-act_type (RactType
-id (Rid
-	buy_count (RbuyCount"
-
latest_buy_at (RlatestBuyAt*
-latest_order_uuid (	RlatestOrderUuid"'
+îÂ
+pb/proto/protocol.protocspb"'
 Act 
 gifts (2
 .cspb.GiftRgifts"6
@@ -36,16 +30,7 @@ rechargeId
 	ActPayNtf&
 rewards (2.cspb.RewardRrewards
 act_type (RactType
-id (Rid"Y
-AppStorePaidReq
-	pay_token (	RpayToken
-act_type (RactType
-id (Rid"ƒ
-AppStorePaidRsp(
-err_code (2
.cspb.ErrCodeRerrCode
-gift (2
-.cspb.GiftRgift&
-rewards (2.cspb.RewardRrewards"�
+id (Rid"�
 ActArenaGift&
 current_gift_id (R
currentGiftId$
 gift_expire_at (RgiftExpireAt#
@@ -141,8 +126,8 @@ growUpGift"U
 HeroFundData!
 free_awarded (RfreeAwarded&
 pay_low_awarded (R
payLowAwarded(
-pay_high_awarded (RpayHighAwarded"l
-HeroFund
+pay_high_awarded (RpayHighAwarded"o
+HeroFundOld
 open_at (RopenAt(
 funds (2.cspb.HeroFundDataRfunds
 
@@ -641,7 +626,27 @@ proClaimed:
 rewards (2.cspb.RewardRrewards"?
 BountyBoughtNtf
 season (Rseason
-level (Rlevel"D
+level (Rlevel"›
+CardData/
+cards (2.cspb.CardData.CardsEntryRcards
+claimed (RclaimedD
+
+CardsEntry
+key (Rkey 
+value (2
+.cspb.CardRvalue:8";
+Card
+	expire_at (RexpireAt
+reward (Rreward"
+
CardRewardReq
+id (Rid"a
+
CardRewardRsp(
+err_code (2
.cspb.ErrCodeRerrCode&
+rewards (2.cspb.RewardRrewards"
+CardDailyRewardReq"f
+CardDailyRewardRsp(
+err_code (2
.cspb.ErrCodeRerrCode&
+rewards (2.cspb.RewardRrewards"D
 ChapterInfo
 total_count (R
 totalCount
@@ -956,35 +961,7 @@ trigger_at (R	triggerAt
 chapter_weapon_id (RchapterWeaponId"~
  ChapterWeaponLatestPlayerInfoRsp(
 err_code (2
.cspb.ErrCodeRerrCode0
-players (2.cspb.LatestPlayerInfoRplayers"–
-
-Collection
-level (Rlevel
-point (Rpoint4
-Heroes (2.cspb.Collection.HeroesEntryRHeroes1
-Skins (2.cspb.Collection.SkinsEntryRSkins9
-HeroesEntry
-key (Rkey
-value (Rvalue:88
-
-SkinsEntry
-key (Rkey
-value (Rvalue:8"
-CollectionUpgradeReq"h
-CollectionUpgradeRsp(
-err_code (2
.cspb.ErrCodeRerrCode&
-rewards (2.cspb.RewardRrewards"1
-HeroCollectionPointReq
-hero_id (RheroId"ƒ
-HeroCollectionPointRsp(
-err_code (2
.cspb.ErrCodeRerrCode)
-collection_level (RcollectionLevel
-point (Rpoint"1
-SkinCollectionPointReq
-skin_id (RskinId"X
-SkinCollectionPointRsp(
-err_code (2
.cspb.ErrCodeRerrCode
-point (Rpoint"ˆ
+players (2.cspb.LatestPlayerInfoRplayers"ˆ
 Reward
 type (Rtype
 item (2
@@ -1123,7 +1100,77 @@ TasksEntry
 id (Rid"o
 FullMoonChapterSkinClaimRsp(
 err_code (2
.cspb.ErrCodeRerrCode&
-rewards (2.cspb.RewardRrewards"k
+rewards (2.cspb.RewardRrewards" 
+Gift
+	gift_type (RgiftType
+id (Rid
+	buy_count (RbuyCount"
+
latest_buy_at (RlatestBuyAt*
+latest_order_uuid (	RlatestOrderUuid"Ã
+GiftData 
+gifts (2
+.cspb.GiftRgifts<
+
+refresh_at (2.cspb.GiftData.RefreshAtEntryR	refreshAtE
+
trigger_gifts (2 .cspb.GiftData.TriggerGiftsEntryRtriggerGifts<
+RefreshAtEntry
+key (Rkey
+value (Rvalue:8R
+TriggerGiftsEntry
+key (Rkey'
+value (2.cspb.TriggerGiftRvalue:8"e
+TriggerGift
+id (Rid
+limit (Rlimit
+start_at (RstartAt
+end_at (RendAt"k
+
+GiftPayReq
+	gift_type (RgiftType
+id (Rid
+voucher (Rvoucher
+choose (Rchoose"†
+
+GiftPayRsp(
+err_code (2
.cspb.ErrCodeRerrCode&
+rewards (2.cspb.RewardRrewards
+uuid (	Ruuid
+recharge_id (R
+rechargeId
+	gift_type (RgiftType
+id (Rid"
+costs (2.cspb.RewardRcosts 
+gifts (2
+.cspb.GiftRgifts"E
+GiftPaidResultReq
+channel (Rchannel
+params (	Rparams"…
+GiftPaidResultRsp(
+err_code (2
.cspb.ErrCodeRerrCode
+gift (2
+.cspb.GiftRgift&
+rewards (2.cspb.RewardRrewards"µ
+GiftTriggerGiftReqO
+
trigger_gifts (2*.cspb.GiftTriggerGiftReq.TriggerGiftsEntryRtriggerGiftsM
+
not_buy_count (2).cspb.GiftTriggerGiftReq.NotBuyCountEntryRnotBuyCount?
+TriggerGiftsEntry
+key (Rkey
+value (Rvalue:8>
+NotBuyCountEntry
+key (Rkey
+value (Rvalue:8"Æ
+GiftTriggerGiftRsp(
+err_code (2
.cspb.ErrCodeRerrCode9
+gifts (2#.cspb.GiftTriggerGiftRsp.GiftsEntryRgiftsK
+
+GiftsEntry
+key (Rkey'
+value (2.cspb.TriggerGiftRvalue:8"a
+
+GiftPayNtf&
+rewards (2.cspb.RewardRrewards
+	gift_type (RgiftType
+id (Rid"k
 Guide)
 func (2.cspb.Guide.FuncEntryRfunc7
 	FuncEntry
@@ -1132,7 +1179,21 @@ TasksEntry
 GuideFundMarkReq
 id (Rid"<
 GuideFundMarkRsp(
-err_code (2
.cspb.ErrCodeRerrCode"6
+err_code (2
.cspb.ErrCodeRerrCode"”
+HeroData2
+heroes (2.cspb.HeroData.HeroesEntryRheroes/
+skins (2.cspb.HeroData.SkinsEntryRskins"
+fund (2.cspb.HeroFundRfundE
+HeroesEntry
+key (Rkey 
+value (2
+.cspb.HeroRvalue:88
+
+SkinsEntry
+key (Rkey
+value (Rvalue:8"0
+HeroFund$
+fund (2.cspb.BaseBountyRfund"6
 HeroUpgradeReq
 id (Rid
 level (Rlevel"~
@@ -1418,7 +1479,7 @@ player_ids (2.cspb.AuthRsp.PlayerIdsEntryR	playerIds
 client_info (2.cspb.ClientInfoR
 clientInfo
 
-skip_guide (R	skipGuide"ò
+skip_guide (R	skipGuide"â
 LoginRsp(
 err_code (2
.cspb.ErrCodeRerrCode*
 today_first_login (RtodayFirstLogin
@@ -1430,8 +1491,8 @@ basic_info (2.cspb.BasicInfoR	basicInfo
 .cspb.StatRstat
 bag (2	.cspb.BagRbag.
 
-fight_info (2.cspb.FightInfoR	fightInfo
-act	 (2	.cspb.ActRact!
+fight_info (2.cspb.FightInfoR	fightInfo"
+gift	 (2.cspb.GiftDataRgift!
 guide
  (2.cspb.GuideRguide.
 
@@ -1443,10 +1504,11 @@ task_daily (2.cspb.TaskDailyR	taskDaily+
 .cspb.FundRfund'
 chapter (2
.cspb.ChapterRchapter
 pig (2	.cspb.PigRpig4
-energy_limit (2.cspb.EnergyLimitRenergyLimit<
-act_grow_up_gift (2.cspb.ActGrowUpGiftR
actGrowUpGift?
-act_level_up_gift (2.cspb.ActLevelUpGiftRactLevelUpGift$
-summon (2.cspb.SummonRsummon
+energy_limit (2.cspb.EnergyLimitRenergyLimit"
+card (2.cspb.CardDataRcard$
+talent (2.cspb.TalentRtalent1
+summon_data (2.cspb.SummonDataR
+summonData
 idle (2
 .cspb.IdleRidle.
 
@@ -1455,26 +1517,21 @@ mall_daily (2.cspb.MallDailyR	mallDaily+
 chapter_daily_challenge (2.cspb.ChapterDailyChallengeRchapterDailyChallengeP
 chapter_gold_challenge (2.cspb.ChapterGoldChallengeRchapterGoldChallengeV
 chapter_shards_challenge (2.cspb.ChapterShardsChallengeRchapterShardsChallenge4
-arena_bounty (2.cspb.ArenaBountyRarenaBountyM
-act_introductory_gift (2.cspb.ActIntroductoryGiftRactIntroductoryGift8
-act_arena_gift (2.cspb.ActArenaGiftRactArenaGift?
-act_grow_up_gift2  (2.cspb.ActGrowUpGift2RactGrowUpGift27
+arena_bounty (2.cspb.ArenaBountyRarenaBounty8
+act_arena_gift (2.cspb.ActArenaGiftRactArenaGift7
 
heroes_equips! (2.cspb.HeroesEquipsRheroesEquipsV
 chapter_weapon_challenge" (2.cspb.ChapterWeaponChallengeRchapterWeaponChallengeS
-chapter_armor_challenge# (2.cspb.ChapterArmorChallengeRchapterArmorChallenge0
-
-collection$ (2.cspb.CollectionR
-collection!
-game_version% (	RgameVersion+
-	hero_fund& (2.cspb.HeroFundRheroFundK
-act_weapon_armor_gift' (2.cspb.ActWeaponArmorGiftRactWeaponArmorGift=
+chapter_armor_challenge# (2.cspb.ChapterArmorChallengeRchapterArmorChallenge!
+game_version% (	RgameVersion.
+	hero_fund& (2.cspb.HeroFundOldRheroFund=
 fourteen_bounty( (2.cspb.FourteenBountyRfourteenBounty
 rune) (2
 .cspb.RuneRrune.
 
 activities* (2.cspb.ActivityR
 activitiesP
-chapter_rune_challenge+ (2.cspb.ChapterRuneChallengeRchapterRuneChallenge"U
+chapter_rune_challenge+ (2.cspb.ChapterRuneChallengeRchapterRuneChallenge
+actc (2	.cspb.ActRact"U
 PipedReq
 id (
Rid
 ts (Rts
@@ -1518,7 +1575,15 @@ LevelUpRsp(
 id (Rid
 type (Rtype
 start_at (RstartAt
-end_at (RendAt"\
+end_at (RendAt"=
+FormationSetReq
+type (Rtype
+heroes (Rheroes";
+FormationSetRsp(
+err_code (2
.cspb.ErrCodeRerrCode"#
+	Formation
+heroes (Rheroes"
+	FightStat"\
 Grid
 quality (Rquality
 suit (Rsuit
@@ -1618,24 +1683,52 @@ summerTaskG
 id (Rid"m
 SummerBountyClaimByDiamondRsp(
 err_code (2
.cspb.ErrCodeRerrCode"
-costs (2.cspb.RewardRcosts"™
-Summon
-level (Rlevel
-exp (Rexp-
-count (2.cspb.Summon.CountEntryRcount8
+costs (2.cspb.RewardRcosts"�
 
-CountEntry
-key (Rkey
-value (Rvalue:8"B
-	SummonReq
-type (Rtype!
-consume_type (RconsumeType"°
+SummonData7
+summons (2.cspb.SummonData.SummonsEntryRsummonsH
+SummonsEntry
+key (Rkey"
+value (2.cspb.SummonRvalue:8"�
+Summon
+free_at (RfreeAt
+
+stat_count (R	statCount#
+
trigger_count (RtriggerCount
+wish_id (RwishId
+
+wish_count (R	wishCount"E
+	SummonReq
+times (Rtimes
+free (Rfree
+id (Rid"�
 	SummonRsp(
 err_code (2
.cspb.ErrCodeRerrCode&
 rewards (2.cspb.RewardRrewards"
-costs (2.cspb.RewardRcosts-
-summon_info (2.cspb.SummonR
-summonInfo"R
+costs (2.cspb.RewardRcosts"6
+SummonWishSetReq
+id (Rid
+hero (Rhero"<
+SummonWishSetRsp(
+err_code (2
.cspb.ErrCodeRerrCode"$
+SummonWishClaimReq
+id (Rid"f
+SummonWishClaimRsp(
+err_code (2
.cspb.ErrCodeRerrCode&
+rewards (2.cspb.RewardRrewards"‹
+Talent
+stage (Rstage0
+levels (2.cspb.Talent.LevelsEntryRlevels9
+LevelsEntry
+key (Rkey
+value (Rvalue:8"
+TalentUpgradeReq"œ
+TalentUpgradeRsp(
+err_code (2
.cspb.ErrCodeRerrCode
+stage (Rstage
+id (Rid
+level (Rlevel"
+costs (2.cspb.RewardRcosts"R
 
 TaskSingle
 id (Rid
@@ -1846,7 +1939,7 @@ tourn_wave (2.cspb.TournWaveR	tournWave"
 CHAT	
 EMOJI
 
-FRAMES*Ò
+FRAMES*Ï
 ErrCode
 SUCCESS
 
@@ -1865,8 +1958,8 @@ tourn_wave (2.cspb.TournWaveR	tournWave"
 ITEM_IS_NOT_ENOUGHf
 HERO_DOES_NOT_EXISTg
 ITEM_TYPE_IS_NOT_MATCHEDh
-EQUIP_DOES_NOT_EXISTi
-SKIN_DOES_NOT_EXISTj
+EQUIP_DOES_NOT_EXISTi
+OBJECT_NOT_EXISTj
 NAME_HAS_EXISTEDk
 PLAYER_LEVEL_NOT_ENOUGHl
 REWARD_CLAIMEDm
