Contract package
The ContractPackage
entity provides a normalized representation of the Casper Network Contract Package. It includes the contract package's metadata based on Contract's type and named keys values and the latest version of the contract type within the package.
Properties
The ContractPackage
entity has the following properties:
contract_package_hash
string(64)
Contract package hash represented as a hexadecimal string. Unique contract package identifier
owner_public_key
string(68)
Public key of the owner of the contract package. May be null
if the public key is not known, but the owner_hash
will still be present. Represented as a hexadecimal string
owner_hash
string(64)
Hash of the owner of the contract package. Represented as a hexadecimal string
name
string
Name of the contract package.
description
string
Description of the contract package.
metadata
ContractPackageMetadata
Metadata associated with the contract package. Details described in the next table.
timestamp
datetime
Timestamp indicating when the contract package was created.
icon_url
string
URL pointing to an icon representing the contract package.
website_url
string
URL pointing to the website representing the contract.
Metadata Property:
name
string
Name associated with the contract package.
symbol
string
Contract package name pulled from the last version named keys. Contract package symbol pulled from the last version named keys. Applicable only for token contracts.
decimals
uint8
Contract package token decimals pulled from the last version named keys. Applicable only for token contracts.
balances_uref
string(72)
Contract package balances dictionary URef pulled from the last version named keys. Applicable only for token contracts.
total_supply_uref
string(72)
Contract package total supply URef pulled from the last version named keys. Applicable only for token contracts.
metadata_mutability
uint8
CEP-78 contract metadata mutability mode. Applicable only for CEP-78 contracts.
owner_reverse_lookup_mode
uint8
CEP-78 contract owner reverse lookup mode. Applicable only for CEP-78 contracts.
Optional properties
Depending on the endpoint, the following optional property may be included in the ContractPackage
entity:
deploys_number
int
Number of deploys in the specified number of the past days. It's a function includer that accepts the number of days as an argument.
owner_cspr_name
string
Owner's primary CSPR.name
friendlymarket_data
Market data fetched from the FriendlyMarket
for the specified currency
. It's a function includer that accepts the currency id as an argument.
coingecko_data
Market data fetched from CoinGecko
for the specified currency
. It's a function includer that accepts the currency id as an argument.
Example
{
"contract_package_hash": "ae2feaa4e86841c1c6f40f1779e1e1cb1d9d4d52a0eb82a8962829646524e744",
"owner_public_key": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef01",
"name": "MyContractPackage",
"description": "A sample contract package",
"metadata": {
"name": "MyToken",
"symbol": "MT",
"decimals": 18,
"balances_uref": "uref-0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef-007",
"total_supply_uref": "uref-abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef-007",
"ownership_mode": 1,
"nft_kind": 2,
"nft_metadata_kind": 1,
"whitelist_mode": 0,
"holder_mode": 1,
"minting_mode": 2,
"burn_mode": 1,
"identifier_mode": 0,
"metadata_mutability": 1,
"owner_reverse_lookup_mode": 1,
"events_mode": 2
},
"latest_version_contract_type_id": 3,
"timestamp": "2023-01-01T12:00:00Z",
"icon_url": "https://example.com/icon.png",
"website_url": "https://example.com",
"deploys_number": 42
}
CoingeckoData:
{
"price": 0.0000145998465,
"volume_24h": 100.1,
"change_24h": 3.5
}
FriendlyMarketData:
{
"price": 0.0000145998465,
"volume_24h": 0
}
Relations
The ContractPackage
entity has the following relations with other entities:
contract_package_hash
Contracts are different versions of the same smart contract included in the contract package
contract_package_hash
Occurs within the contract package that defines the fungible token
contract_package_hash
Indicates which accounts own tokens from a specific contract package
contract_package_hash
Takes place within the contract package that defines the NFT collection
contract_package_hash
Indicates which accounts own NFTs from a specific contract package
Endpoints
The ContractPackage
entity has the following endpoints:
Relation endpoints
The ContractPackage
entity has the following relation endpoints:
Get contract package NFT tokens (applicable only to NFT contract packages)
Get contract package NFT token actions (applicable only to NFT contract package)
Get contract package NFT token ownership (applicable only to NFT contract package)
Get contract package fungible token ownership (applicable only to fungible token contract package)
Get contract package fungible token actions (applicable only to fungible token contract package)
Last updated