Sunflower Land
Search…
⌃K
🧑🌾

Bumpkin ERC721

Coming Soon
ADDRESS: 0x624E4fa6980Afcf8EA27BFe08e2fB5979b64DF1C
The Bumpkin NFT follows the ERC721 standard.

Bumpkin Details

To support a semi-custody model, each Bumpkin is allocated an address on the Blockchain. This means that when you equip a wearable, you actually send it to your Bumpkin to wear.
The BumpkinDetails.sol is a utility contract that provides useful methods on top of the ERC721 Standard.
ADDRESS: 0x687BcED586A8AECEdA5bd6b142577DE1d83a2a9c
You can use this contract to grab the wallet address for a Bumpkin

Example

How to get the Wallet address of a Bumpkin.
const contract = new web3.eth.Contract(
BumpkinDetailsABI as any,
BUMPKIN_DETAILS_ADDRESS
) as unknown as BumpkinDetails;
const bumpkin = await contract.methods.getBumpkin(bumpkinId).call();
ABI
[
{
"inputs": [
{
"internalType": "contract Bumpkin",
"name": "_bumpkinContract",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"inputs": [
{ "internalType": "address", "name": "_game", "type": "address" }
],
"name": "addGameRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "_game", "type": "address" }
],
"name": "gameAddGameRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "_game", "type": "address" }
],
"name": "gameRemoveGameRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [{ "internalType": "address", "name": "", "type": "address" }],
"name": "gameRoles",
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "uint256", "name": "_tokenId", "type": "uint256" }
],
"name": "getBumpkin",
"outputs": [
{
"components": [
{ "internalType": "uint256", "name": "tokenId", "type": "uint256" },
{ "internalType": "string", "name": "tokenURI", "type": "string" },
{ "internalType": "address", "name": "owner", "type": "address" },
{ "internalType": "uint256", "name": "createdAt", "type": "uint256" },
{ "internalType": "address", "name": "createdBy", "type": "address" },
{ "internalType": "address", "name": "wallet", "type": "address" }
],
"internalType": "struct BumpkinDetails.Bumpkin",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "uint256[]", "name": "_tokenIds", "type": "uint256[]" }
],
"name": "getBumpkinBatch",
"outputs": [
{
"components": [
{ "internalType": "uint256", "name": "tokenId", "type": "uint256" },
{ "internalType": "string", "name": "tokenURI", "type": "string" },
{ "internalType": "address", "name": "owner", "type": "address" },
{ "internalType": "uint256", "name": "createdAt", "type": "uint256" },
{ "internalType": "address", "name": "createdBy", "type": "address" },
{ "internalType": "address", "name": "wallet", "type": "address" }
],
"internalType": "struct BumpkinDetails.Bumpkin[]",
"name": "",
"type": "tuple[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "_bumpkinAddresses",
"type": "address[]"
}
],
"name": "getBumpkinBatchByAddresses",
"outputs": [
{
"components": [
{ "internalType": "uint256", "name": "tokenId", "type": "uint256" },
{ "internalType": "string", "name": "tokenURI", "type": "string" },
{ "internalType": "address", "name": "owner", "type": "address" },
{ "internalType": "uint256", "name": "createdAt", "type": "uint256" },
{ "internalType": "address", "name": "createdBy", "type": "address" },
{ "internalType": "address", "name": "wallet", "type": "address" }
],
"internalType": "struct BumpkinDetails.Bumpkin[]",
"name": "",
"type": "tuple[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_bumpkinAddress",
"type": "address"
}
],
"name": "getBumpkinByAddress",
"outputs": [
{
"components": [
{ "internalType": "uint256", "name": "tokenId", "type": "uint256" },
{ "internalType": "string", "name": "tokenURI", "type": "string" },
{ "internalType": "address", "name": "owner", "type": "address" },
{ "internalType": "uint256", "name": "createdAt", "type": "uint256" },
{ "internalType": "address", "name": "createdBy", "type": "address" },
{ "internalType": "address", "name": "wallet", "type": "address" }
],
"internalType": "struct BumpkinDetails.Bumpkin",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "_bumpkinOwner", "type": "address" }
],
"name": "loadBumpkins",
"outputs": [
{
"components": [
{ "internalType": "uint256", "name": "tokenId", "type": "uint256" },
{ "internalType": "string", "name": "tokenURI", "type": "string" },
{ "internalType": "address", "name": "owner", "type": "address" },
{ "internalType": "uint256", "name": "createdAt", "type": "uint256" },
{ "internalType": "address", "name": "createdBy", "type": "address" },
{ "internalType": "address", "name": "wallet", "type": "address" }
],
"internalType": "struct BumpkinDetails.Bumpkin[]",
"name": "",
"type": "tuple[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "_bumpkinOwners",
"type": "address[]"
}
],
"name": "loadBumpkinsBatch",
"outputs": [
{
"components": [
{ "internalType": "uint256", "name": "tokenId", "type": "uint256" },
{ "internalType": "string", "name": "tokenURI", "type": "string" },
{ "internalType": "address", "name": "owner", "type": "address" },
{ "internalType": "uint256", "name": "createdAt", "type": "uint256" },
{ "internalType": "address", "name": "createdBy", "type": "address" },
{ "internalType": "address", "name": "wallet", "type": "address" }
],
"internalType": "struct BumpkinDetails.Bumpkin[][]",
"name": "",
"type": "tuple[][]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "_game", "type": "address" }
],
"name": "removeGameRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "newOwner", "type": "address" }
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{ "internalType": "uint256", "name": "_tokenId", "type": "uint256" },
{
"components": [
{ "internalType": "uint256", "name": "createdAt", "type": "uint256" },
{ "internalType": "address", "name": "createdBy", "type": "address" },
{ "internalType": "address", "name": "wallet", "type": "address" }
],
"internalType": "struct BumpkinDetails.Details",
"name": "_details",
"type": "tuple"
}
],
"name": "updateBumpkinDetails",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{ "internalType": "uint256[]", "name": "_tokenIds", "type": "uint256[]" },
{
"components": [
{ "internalType": "uint256", "name": "createdAt", "type": "uint256" },
{ "internalType": "address", "name": "createdBy", "type": "address" },
{ "internalType": "address", "name": "wallet", "type": "address" }
],
"internalType": "struct BumpkinDetails.Details[]",
"name": "_details",
"type": "tuple[]"
}
],
"name": "updateBumpkinDetailsBatch",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]