diff --git a/contracts/libraries/svgs/Profile/Body.sol b/contracts/libraries/svgs/Profile/Body.sol
index 8908b9d..1c93244 100644
--- a/contracts/libraries/svgs/Profile/Body.sol
+++ b/contracts/libraries/svgs/Profile/Body.sol
@@ -7,6 +7,7 @@ import {BodyJacket} from './Body/BodyJacket.sol';
import {BodyHoodie} from './Body/BodyHoodie.sol';
import {BodyTanktop} from './Body/BodyTanktop.sol';
import {BodyTShirt} from './Body/BodyTShirt.sol';
+import {BodyShibyua} from './Body/BodyShibyua.sol';
import {LensColors} from './LensColors.sol';
@@ -15,7 +16,8 @@ library Body {
HOODIE,
JACKET,
TANKTOP,
- TSHIRT
+ TSHIRT,
+ SHIBYUA
}
enum BodyColors {
@@ -53,6 +55,8 @@ library Body {
return BodyTanktop.getBody(handsVariant);
} else if (bodyVariant == BodyVariants.TSHIRT) {
return BodyTShirt.getBody(handsVariant);
+ } else if (bodyVariant == BodyVariants.SHIBYUA) {
+ return BodyShibyua.getBody(handsVariant);
} else {
revert(); // Avoid warnings.
}
@@ -68,7 +72,7 @@ library Body {
''
@@ -83,6 +87,8 @@ library Body {
} else if (bodyColor == BodyColors.DARK) {
if (bodyVariant == BodyVariants.JACKET) {
return LensColors.lightGray;
+ } else if (bodyVariant == BodyVariants.SHIBYUA) {
+ return LensColors.gray;
} else {
return LensColors.dark;
}
@@ -98,11 +104,15 @@ library Body {
}
// We don't need variant because this is only used in Jacket
- function getSecondaryBodyColor(BodyColors bodyColor) public pure returns (string memory) {
+ function getSecondaryBodyColor(BodyVariants bodyVariant, BodyColors bodyColor) public pure returns (string memory) {
if (bodyColor == BodyColors.GREEN) {
return LensColors.darkGreen;
} else if (bodyColor == BodyColors.LIGHT) {
- return LensColors.lightGray;
+ if (bodyVariant == BodyVariants.SHIBYUA) {
+ return LensColors.gray;
+ } else {
+ return LensColors.lightGray;
+ }
} else if (bodyColor == BodyColors.DARK) {
return LensColors.dark;
} else if (bodyColor == BodyColors.PINK) {
diff --git a/contracts/libraries/svgs/Profile/Body/BodyShibyua.sol b/contracts/libraries/svgs/Profile/Body/BodyShibyua.sol
new file mode 100644
index 0000000..cc93745
--- /dev/null
+++ b/contracts/libraries/svgs/Profile/Body/BodyShibyua.sol
@@ -0,0 +1,21 @@
+// SPDX-License-Identifier: MIT
+pragma solidity ^0.8.0;
+
+import {Hands} from '../Hands.sol';
+
+library BodyShibyua {
+ function getBody(Hands.HandsVariants handsVariant) public pure returns (string memory) {
+ if (handsVariant == Hands.HandsVariants.HANDSDOWN) {
+ return
+ '';
+ } else if (handsVariant == Hands.HandsVariants.PEACEDOUBLE) {
+ return
+ '';
+ } else if (handsVariant == Hands.HandsVariants.PEACESINGLE) {
+ return
+ '';
+ } else {
+ revert(); // Avoid warnings.
+ }
+ }
+}
diff --git a/contracts/libraries/svgs/Profile/Hands.sol b/contracts/libraries/svgs/Profile/Hands.sol
index ee7de90..4e1a776 100644
--- a/contracts/libraries/svgs/Profile/Hands.sol
+++ b/contracts/libraries/svgs/Profile/Hands.sol
@@ -52,7 +52,7 @@ library Hands {
}
function _getRightHand(Body.BodyVariants bodyVariant) internal pure returns (string memory) {
- if (bodyVariant == Body.BodyVariants.HOODIE) {
+ if (bodyVariant == Body.BodyVariants.HOODIE || bodyVariant == Body.BodyVariants.SHIBYUA) {
return
'';
} else if (bodyVariant == Body.BodyVariants.JACKET) {
@@ -70,7 +70,7 @@ library Hands {
}
function _getLeftHand(Body.BodyVariants bodyVariant) internal pure returns (string memory) {
- if (bodyVariant == Body.BodyVariants.HOODIE) {
+ if (bodyVariant == Body.BodyVariants.HOODIE || bodyVariant == Body.BodyVariants.SHIBYUA) {
return
'';
} else if (bodyVariant == Body.BodyVariants.JACKET) {
@@ -102,6 +102,7 @@ library Hands {
);
}
+ // Arm or sleeve color (depends on which clothing on body)
function _getArmColor(
HandsColors handsColor,
Body.BodyVariants bodyVariant,
@@ -114,7 +115,9 @@ library Hands {
} else if (bodyVariant == Body.BodyVariants.TANKTOP) {
return Skin.getSkinColor(Skin.SkinColors(uint8(handsColor)));
} else if (bodyVariant == Body.BodyVariants.JACKET) {
- return Body.getSecondaryBodyColor(bodyColor);
+ return Body.getSecondaryBodyColor(bodyVariant, bodyColor);
+ } else if (bodyVariant == Body.BodyVariants.SHIBYUA) {
+ return Body.getSecondaryBodyColor(bodyVariant, bodyColor);
} else {
revert(); // Avoid warnings.
}
diff --git a/contracts/libraries/svgs/Profile/Logo.sol b/contracts/libraries/svgs/Profile/Logo.sol
index f2623db..f3a1f78 100644
--- a/contracts/libraries/svgs/Profile/Logo.sol
+++ b/contracts/libraries/svgs/Profile/Logo.sol
@@ -45,6 +45,8 @@ library Logo {
return getLogoTshirtTanktop(logoVariant, logoColor);
} else if (bodyVariant == Body.BodyVariants.JACKET) {
return getLogoJacket(logoVariant, logoColor);
+ } else if (bodyVariant == Body.BodyVariants.SHIBYUA) {
+ return ''; // No logo for Shibyua
} else {
revert(); // Avoid warnings.
}
diff --git a/contracts/libraries/svgs/Profile/ProfileSVG.sol b/contracts/libraries/svgs/Profile/ProfileSVG.sol
index 2b3f6a3..f17ebb3 100644
--- a/contracts/libraries/svgs/Profile/ProfileSVG.sol
+++ b/contracts/libraries/svgs/Profile/ProfileSVG.sol
@@ -81,12 +81,16 @@ library ProfileSVG {
string memory stringBackgroundColor;
if (backgroundColor == Background.BackgroundColors.GREEN) {
stringBackgroundColor = 'Green';
+ } else if (backgroundColor == Background.BackgroundColors.PINK) {
+ stringBackgroundColor = 'Pink';
} else if (backgroundColor == Background.BackgroundColors.PURPLE) {
stringBackgroundColor = 'Purple';
} else if (backgroundColor == Background.BackgroundColors.BLUE) {
stringBackgroundColor = 'Blue';
} else if (backgroundColor == Background.BackgroundColors.GOLD) {
stringBackgroundColor = 'Gold';
+ } else {
+ revert();
}
return string.concat('{"trait_type":"Background","value":"', stringBackgroundColor, '"},');
}
@@ -95,12 +99,16 @@ library ProfileSVG {
string memory stringSkinColor;
if (skinColor == Skin.SkinColors.GREEN) {
stringSkinColor = 'Green';
+ } else if (skinColor == Skin.SkinColors.PINK) {
+ stringSkinColor = 'Pink';
} else if (skinColor == Skin.SkinColors.PURPLE) {
stringSkinColor = 'Purple';
} else if (skinColor == Skin.SkinColors.BLUE) {
stringSkinColor = 'Blue';
} else if (skinColor == Skin.SkinColors.GOLD) {
stringSkinColor = 'Gold';
+ } else {
+ revert();
}
return string.concat('{"trait_type":"Skin","value":"', stringSkinColor, '"},');
}
@@ -113,6 +121,14 @@ library ProfileSVG {
stringLegColor = 'Dark';
} else if (legColor == Legs.LegColors.LIGHT) {
stringLegColor = 'Light';
+ } else if (legColor == Legs.LegColors.PURPLE) {
+ stringLegColor = 'Purple';
+ } else if (legColor == Legs.LegColors.BLUE) {
+ stringLegColor = 'Blue';
+ } else if (legColor == Legs.LegColors.PINK) {
+ stringLegColor = 'Pink';
+ } else {
+ revert();
}
return string.concat('{"trait_type":"Legs","value":"', stringLegColor, '"},');
}
@@ -125,6 +141,14 @@ library ProfileSVG {
stringShoeColor = 'Dark';
} else if (shoeColor == Shoes.ShoeColors.LIGHT) {
stringShoeColor = 'Light';
+ } else if (shoeColor == Shoes.ShoeColors.PURPLE) {
+ stringShoeColor = 'Purple';
+ } else if (shoeColor == Shoes.ShoeColors.BLUE) {
+ stringShoeColor = 'Blue';
+ } else if (shoeColor == Shoes.ShoeColors.PINK) {
+ stringShoeColor = 'Pink';
+ } else {
+ revert();
}
return string.concat('{"trait_type":"Shoes","value":"', stringShoeColor, '"},');
}
@@ -137,6 +161,8 @@ library ProfileSVG {
stringHandsVariant = 'Double Peace';
} else if (handsVariant == Hands.HandsVariants.PEACESINGLE) {
stringHandsVariant = 'Peace';
+ } else {
+ revert();
}
return string.concat('{"trait_type":"Hands","value":"', stringHandsVariant, '"},');
}
@@ -151,6 +177,10 @@ library ProfileSVG {
stringBodyVariant = 'Tanktop';
} else if (bodyVariant == Body.BodyVariants.TSHIRT) {
stringBodyVariant = 'Tshirt';
+ } else if (bodyVariant == Body.BodyVariants.SHIBYUA) {
+ stringBodyVariant = 'Shibyua';
+ } else {
+ revert();
}
return string.concat('{"trait_type":"Body","value":"', stringBodyVariant, '"},');
}
@@ -167,6 +197,10 @@ library ProfileSVG {
stringBodyColor = 'Purple';
} else if (bodyColor == Body.BodyColors.BLUE) {
stringBodyColor = 'Blue';
+ } else if (bodyColor == Body.BodyColors.PINK) {
+ stringBodyColor = 'Pink';
+ } else {
+ revert();
}
return string.concat('{"trait_type":"Body Color","value":"', stringBodyColor, '"},');
}
@@ -181,6 +215,8 @@ library ProfileSVG {
stringLogoVariant = 'Lens';
} else if (logoVariant == Logo.LogoVariants.PEACE) {
stringLogoVariant = 'Peace';
+ } else {
+ revert();
}
return string.concat('{"trait_type":"Logo","value":"', stringLogoVariant, '"},');
}
@@ -189,6 +225,8 @@ library ProfileSVG {
string memory stringLogoColor;
if (logoColor == Logo.LogoColors.GREEN) {
stringLogoColor = 'Green';
+ } else if (logoColor == Logo.LogoColors.PINK) {
+ stringLogoColor = 'Pink';
} else if (logoColor == Logo.LogoColors.PURPLE) {
stringLogoColor = 'Purple';
} else if (logoColor == Logo.LogoColors.BLUE) {
@@ -197,6 +235,8 @@ library ProfileSVG {
stringLogoColor = 'Light';
} else if (logoColor == Logo.LogoColors.DARK) {
stringLogoColor = 'Dark';
+ } else {
+ revert();
}
return string.concat('{"trait_type":"Logo Color","value":"', stringLogoColor, '"},');
}
@@ -231,6 +271,8 @@ library ProfileSVG {
stringFaceVariant = 'Wow Tongue';
} else if (faceVariant == Face.FaceVariants.WOW) {
stringFaceVariant = 'Wow';
+ } else {
+ revert();
}
return string.concat('{"trait_type":"Face","value":"', stringFaceVariant, '"}');
}
@@ -261,6 +303,8 @@ library ProfileSVG {
stringHeadwearVariant = 'Partyhat';
} else if (headwearVariant == Headwear.HeadwearVariants.ICECREAM) {
stringHeadwearVariant = 'Icecream';
+ } else {
+ revert();
}
return string.concat(',{"trait_type":"Headwear","value":"', stringHeadwearVariant, '"}');
}
@@ -279,8 +323,12 @@ library ProfileSVG {
stringHeadwearColor = 'Purple';
} else if (headwearColor == Headwear.HeadwearColors.BLUE) {
stringHeadwearColor = 'Blue';
+ } else if (headwearColor == Headwear.HeadwearColors.PINK) {
+ stringHeadwearColor = 'Pink';
} else if (headwearColor == Headwear.HeadwearColors.GOLD) {
stringHeadwearColor = 'Gold';
+ } else {
+ revert();
}
return string.concat(',{"trait_type":"Headwear Color","value":"', stringHeadwearColor, '"}');
}