Unreal Engine
Each of the following functions has
2 pins: OnResponseOuput and OnFailure
2 output values: Response and StatusCode
Fetch NFTs
Fetch requested NFTs
How it looks like:
static UGetRequestedNFTs* GetRequestedNFTs(
TArray<FString> metaverseFilter,
TArray<FString> typeFilter,
TArray<FString> subtypeFilter,
int32 cursor = 0,
int32 amount = 100,
int32 chainId = 5
)
metaverseFilter: TArray<FString>
- Using for metaverse filter. Currently possible values are:decentranland
,sandbox
,somnium_space
,cryptovoxels, fabwelt
. Use empty array to get items from all metaverses.typeFilter: TArray<FString>
- Using for asset type filter. Currently possible values are:AVATAR
,WEARABLE
,MISC
. Use empty array to get items of all types.subtypeFilter: TArray<FString>
- Using for asset subtype filter. Use empty array to get items of all types.cursor: int32
- Start index ofgetStakes
protocol`s function (as it uses pagination).amount: int32
- Number of viewed indexes ofgetStakes
protocol`s function (as it uses pagination).chainId: int32
- Chain Id to be able to use it cross-chain.
Return value:
If succeded:
Response = "
{
tokenAddress: "0xc36442b4a4522e871399cd717abdd847ab11fe88",
tokenId: 36639,
payment: {
value: { type: "BigNumber", hex: "0x014d1120d7b1600000" },
stringValue: "24",
},
paymentToken: {
address: "0x48d373E2B7f0930DAEF4C51CA63711bdD9b5C5B0",
name: "USD Circle",
symbol: "USDC",
},
type: "AVATAR",
subtype: "Other",
tailorId: "632422280100cd8980997351",
jobId: "633dd5ae8e81caae508afad9",
uri: "https://stylexchange.mypinata.cloud/ipfs/QmVab2rT96LjdqTWEaQihj4CDVvq9bbm7bgTxUZ5b8YeVt",
bidder: "0xb396aedb7e8eea5b29501f5dba173d82458c8e17",
signature:
"0x531fa0f96276037b14f61ebd2bf1702594e5ed9a67e6261e763e2163a63352d34e57d1e9d2ebee6255da18f313a873255842d4b8d391a2da63a5fe043fb5de2e1b",
environment: "0x67701e71F9412Af1BcB2D77897F40139B6Ccc073",
metaverseId: 0,
adminSignature:
"0x5a16fe5d80fa1c9a3a4400babfba2e298465eb04e429e9ea0e2e0d52cf33aea404143ffb77e03487adb56c6d048c6e6390a98da8333adb0dd1070b98fdba4a401c",
asset: {
name: "Derivative from Uniswap - 0.3% - USDC/SP - MIN<>100050",
description:
"StyleXchange derivative from Uniswap - 0.3% - USDC/SP - MIN<>100050 for DECENTRALAND",
image:
"https://stylexchange.mypinata.cloud/ipfs/QmdE18pYr2RE8toGZVC8PJ87ryfZ2u1pL73wX6y4Ansuz6",
animation_url:
"https://stylexchange.mypinata.cloud/ipfs/bafkreidqpr3ixz5wahwmpuoqwdhlwsraju3tz2wbf3nnopo4uexxnafgpu",
},
cid: "QmSTGGifjf669XWEFA7RxHkTGDNS23GLXjzyHKPFFuhBV8",
numberOfDerivatives: 5,
}|*/|*/|*/|*/|*/|*/|*/|*/|*/|*/|*/|*/|*/|*/|*/
..."
If failed:
StatusCode <= 199 || StatusCode >= 300
Fetch Owned Derivatives
How it looks like:
static UGetOwnedDerivatives* GetOwnedDerivatives(
TArray<FString> metaverseFilter,
TArray<FString> typeFilter,
TArray<FString> subtypeFilter,
FString userProof,
int32 chainId = 5
)
metaverseFilter: TArray<FString>
- Using for metaverse filter. Currently possible values are:decentranland
,sandbox
,somnium_space
,cryptovoxels, fabwelt
. Use empty array to get items from all metaverses.typeFilter: TArray<FString>
- Using for asset type filter. Currently possible values are:AVATAR
,WEARABLE
,MISC
. Use empty array to get items of all types.subtypeFilter: TArray<FString>
- Using for asset subtype filter. Use empty array to get items of all types.userProof: FString
- User Proof with walletAddress and signature.chainId: int32
- Chain Id to be able to use it cross-chain.
Return value:
If succeded:
Response = "
{
contract: {
address: "0x4d49b4c5dbd23f56811cb1b753bc58db63809b55",
name: "Derivative of Derivative of Derivative of StyleProtocol Temps",
symbol: "SPTSPSPSP",
totalSupply: "2",
tokenType: "ERC721",
openSea: {
lastIngestedAt: "2023-03-28T09:57:15.000Z",
},
},
tokenId: "1",
tokenType: "ERC721",
title: "Derivative of Derivative of Derivative of Example3",
description:
"Style Protocol derivative from Derivative of Derivative of Example3 for SOMNIUM_SPACE\n\nhttps://www.protocol.style",
timeLastUpdated: "2023-03-28T14:35:43.144Z",
rawMetadata: {
name: "Derivative of Derivative of Derivative of Example3",
description:
"Style Protocol derivative from Derivative of Derivative of Example3 for SOMNIUM_SPACE\n\nhttps://www.protocol.style",
image:
"https://ipfs.io/ipfs/bafybeigd7x5pfrpxtth7mthfbyvpepxhodsahvq46rfu2thtd2wpgpbaja/image.png",
animation_url:
"https://style-protocol-api.vercel.app/api/data/0x4D49B4C5DbD23f56811CB1B753BC58DB63809b55/0xb15175d683d88007e8121811122abd16895b7e2ad47aaa64d5883f38d0c57c434a695c6ef01526ca94a9dce6aa38221afd31d80a65468d00b62f672beab753c51b/0x67701e71f9412af1bcb2d77897f40139b6ccc073/yaku_test_anim.glb",
model_url:
"https://style-protocol-api.vercel.app/api/data/0x4D49B4C5DbD23f56811CB1B753BC58DB63809b55/yaku_test_anim.glb",
image_url:
"https://ipfs.io/ipfs/bafybeigd7x5pfrpxtth7mthfbyvpepxhodsahvq46rfu2thtd2wpgpbaja/image.png",
},
tokenUri: {
gateway:
"https://ipfs.io/ipfs/QmP6nxCCiqKcb6SszKgNz3MmqQUgQK6vJdL5cWywMEPH1S",
raw: "ipfs://QmP6nxCCiqKcb6SszKgNz3MmqQUgQK6vJdL5cWywMEPH1S",
},
media: [
{
gateway:
"https://nft-cdn.alchemy.com/eth-goerli/0c21dde76fca76c4824d0cd8b3f90f0f",
thumbnail:
"https://res.cloudinary.com/alchemyapi/image/upload/thumbnailv2/eth-goerli/0c21dde76fca76c4824d0cd8b3f90f0f",
raw: "ipfs://bafybeigd7x5pfrpxtth7mthfbyvpepxhodsahvq46rfu2thtd2wpgpbaja/image.png",
format: "png",
bytes: 31555,
},
],
balance: 1,
metadata: {
name: "Derivative of Derivative of Derivative of Example3",
description:
"Style Protocol derivative from Derivative of Derivative of Example3 for SOMNIUM_SPACE\n\nhttps://www.protocol.style",
image:
"https://ipfs.io/ipfs/bafybeigd7x5pfrpxtth7mthfbyvpepxhodsahvq46rfu2thtd2wpgpbaja/image.png",
animation_url:
"https://style-protocol-api.vercel.app/api/data/0x4D49B4C5DbD23f56811CB1B753BC58DB63809b55/0xb15175d683d88007e8121811122abd16895b7e2ad47aaa64d5883f38d0c57c434a695c6ef01526ca94a9dce6aa38221afd31d80a65468d00b62f672beab753c51b/0x67701e71f9412af1bcb2d77897f40139b6ccc073/yaku_test_anim.glb",
model_url:
"https://style-protocol-api.vercel.app/api/data/0x4D49B4C5DbD23f56811CB1B753BC58DB63809b55/yaku_test_anim.glb",
image_url:
"https://ipfs.io/ipfs/bafybeigd7x5pfrpxtth7mthfbyvpepxhodsahvq46rfu2thtd2wpgpbaja/image.png",
},
asset: {
name: "Derivative of Derivative of Derivative of Example3",
description:
"Style Protocol derivative from Derivative of Derivative of Example3 for SOMNIUM_SPACE\n\nhttps://www.protocol.style",
image:
"https://ipfs.io/ipfs/bafybeigd7x5pfrpxtth7mthfbyvpepxhodsahvq46rfu2thtd2wpgpbaja/image.png",
animation_url:
"https://style-protocol-api.vercel.app/api/data/0x4D49B4C5DbD23f56811CB1B753BC58DB63809b55/0xb15175d683d88007e8121811122abd16895b7e2ad47aaa64d5883f38d0c57c434a695c6ef01526ca94a9dce6aa38221afd31d80a65468d00b62f672beab753c51b/0x67701e71f9412af1bcb2d77897f40139b6ccc073/yaku_test_anim.glb",
model_url:
"https://style-protocol-api.vercel.app/api/data/0x4D49B4C5DbD23f56811CB1B753BC58DB63809b55/yaku_test_anim.glb",
image_url:
"https://ipfs.io/ipfs/bafybeigd7x5pfrpxtth7mthfbyvpepxhodsahvq46rfu2thtd2wpgpbaja/image.png",
},
threed_job_file_url:
"https://style-protocol-api.vercel.app/api/data/0x4D49B4C5DbD23f56811CB1B753BC58DB63809b55/0xb15175d683d88007e8121811122abd16895b7e2ad47aaa64d5883f38d0c57c434a695c6ef01526ca94a9dce6aa38221afd31d80a65468d00b62f672beab753c51b/0x67701e71f9412af1bcb2d77897f40139b6ccc073/yaku_test_anim.glb",
is_3djob: true,
metaverse: "SOMNIUM_SPACE",
type: "AVATAR",
subType: "",
source: {
tokenAddress: "0x793DEdf81DbEf444602d80c81bE1960A6b0aE4Fb",
tokenId: "0",
},
}|*/|*/|*/|*/|*/|*/|*/|*/|*/|*/|*/|*/|*/|*/|*/
..."
If failed:
StatusCode <= 199 || StatusCode >= 300
Buy NFTs
Approve ERC20 tokens to protocol
How it looks like:
static UApproveERC20* ApproveERC20(
FString NFT,
int32 chainId = 5
)
NFT: FString
- Object with NFT data (element of array taken from fetch functions).chainId: int32
- Chain Id to be able to use it cross-chain.
Return value:
If succeded:
Response = "true"
If failed:
StatusCode <= 199 || StatusCode >= 300
Buy requested NFTs
How it looks like:
static UBuyAndMintItem* BuyAndMintItem(
FString NFT,
int32 chainId = 5
)
NFT: FString
- Object with NFT data (element of array taken from fetch functions).chainId: int32
- Chain Id to be able to use it cross-chain.
Return value:
If succeded:
Response = "true"
If failed:
StatusCode <= 199 || StatusCode >= 300
User Proof
Get User Proof
How it looks like:
static UGetUserProof* GetUserProof()
Return value:
If succeded:
Response = "{
"signature": "<your signature>",
"walletAddress": "0x67701e71f9412af1bcb2d77897f40139b6ccc073"
}"
If failed:
StatusCode <= 199 || StatusCode >= 300
Last updated