You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
function enablePaymentMethod(address_paymentMethod) external nonpayable
Adds a new token as a valid payment method
The caller must have the admin role to call this function
Parameters
Name
Type
Description
_paymentMethod
address
New token to add
enabledPaymentMethod
function enabledPaymentMethod(address) externalviewreturns (bool)
Parameters
Name
Type
Description
_0
address
undefined
Returns
Name
Type
Description
_0
bool
undefined
enabledPaymentMethods
function enabledPaymentMethods(uint256) externalviewreturns (address)
Parameters
Name
Type
Description
_0
uint256
undefined
Returns
Name
Type
Description
_0
address
undefined
getEnabledPaymentMethods
function getEnabledPaymentMethods() externalviewreturns (address[])
Returns all available payment methods
Returns the address of all available payment methods
Returns
Name
Type
Description
_0
address[]
Array of all enabled payment methods
getNameRegistrationPricePerYear
function getNameRegistrationPricePerYear(uint256nameLength) externalviewreturns (uint256)
Returns the price of register a name per year in stable coin for an specific length
Returns the price for registering per year in USD for an specific name length
Parameters
Name
Type
Description
nameLength
uint256
Length of the name
Returns
Name
Type
Description
_0
uint256
Price in stable coin for that name length
getPriceForMintingName
function getPriceForMintingName(addresspaymentMethod, uint256nameLength, uint256yearsPeriod) externalviewreturns (uint256price)
Returns the price of the name minting
Returns current pricing for name minting for a given name length and years period
Parameters
Name
Type
Description
paymentMethod
address
Address of token that user want to pay
nameLength
uint256
Length of the name
yearsPeriod
uint256
Years of validity of the name
Returns
Name
Type
Description
price
uint256
Current price of the name minting in the given payment method
getPriceForMintingNameWithProtocolFee
function getPriceForMintingNameWithProtocolFee(addresspaymentMethod, uint256nameLength, uint256yearsPeriod) externalviewreturns (uint256price, uint256protocolFee)
Returns the price of the name minting with protocol fee
Returns current pricing for name minting for a given name length and years period with protocol fee
Parameters
Name
Type
Description
paymentMethod
address
Address of token that user want to pay
nameLength
uint256
Length of the name
yearsPeriod
uint256
Years of validity of the name
Returns
Name
Type
Description
price
uint256
Current price of the name minting in the given payment method
protocolFee
uint256
Current protocol fee of the name minting in the given payment method
getProtocolFee
function getProtocolFee(addresspaymentMethod, uint256amount) externalviewreturns (uint256)
Calculates the protocol fee added to the project fee
This method will calculate the protocol fee based on the payment method
Parameters
Name
Type
Description
paymentMethod
address
Address of token that user want to pay
amount
uint256
Price to be paid in the specified payment method
Returns
Name
Type
Description
_0
uint256
undefined
getProtocolFeeSub
function getProtocolFeeSub(uint256amount) externalviewreturns (uint256)
Calculates the protocol fee substracted from the amount
This method will calculate the protocol fee based on the payment method
Parameters
Name
Type
Description
amount
uint256
Price to be paid in the specified payment method
Returns
Name
Type
Description
_0
uint256
undefined
getRoleAdmin
function getRoleAdmin(bytes32role) externalviewreturns (bytes32)
Returns the admin role that controls role. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.
Parameters
Name
Type
Description
role
bytes32
undefined
Returns
Name
Type
Description
_0
bytes32
undefined
grantRole
function grantRole(bytes32role, addressaccount) external nonpayable
Grants role to account. If account had not been already granted role, emits a {RoleGranted} event. Requirements: - the caller must have role's admin role. May emit a {RoleGranted} event.
Parameters
Name
Type
Description
role
bytes32
undefined
account
address
undefined
hasRole
function hasRole(bytes32role, addressaccount) externalviewreturns (bool)
Returns true if account has been granted role.
Parameters
Name
Type
Description
role
bytes32
undefined
account
address
undefined
Returns
Name
Type
Description
_0
bool
undefined
masaToken
function masaToken() externalviewreturns (address)
Returns
Name
Type
Description
_0
address
undefined
nameRegistrationPricePerYear
function nameRegistrationPricePerYear(uint256) externalviewreturns (uint256)
Parameters
Name
Type
Description
_0
uint256
undefined
Returns
Name
Type
Description
_0
uint256
undefined
pause
function pause() external nonpayable
Pauses the smart contract
The caller must have the admin role to call this function
paused
function paused() externalviewreturns (bool)
Returns true if the contract is paused, and false otherwise.
Returns
Name
Type
Description
_0
bool
undefined
projectFeeReceiver
function projectFeeReceiver() externalviewreturns (address)
Returns
Name
Type
Description
_0
address
undefined
protocolFeeAmount
function protocolFeeAmount() externalviewreturns (uint256)
Returns
Name
Type
Description
_0
uint256
undefined
protocolFeePercent
function protocolFeePercent() externalviewreturns (uint256)
Returns
Name
Type
Description
_0
uint256
undefined
protocolFeePercentSub
function protocolFeePercentSub() externalviewreturns (uint256)
Returns
Name
Type
Description
_0
uint256
undefined
protocolFeeReceiver
function protocolFeeReceiver() externalviewreturns (address)
Returns
Name
Type
Description
_0
address
undefined
purchaseIdentity
function purchaseIdentity() external nonpayable returns (uint256)
Mints a new Soulbound Identity purchasing it
This function allows the purchase of a soulbound identity for free
Returns
Name
Type
Description
_0
uint256
TokenId of the new soulbound identity
purchaseIdentityAndName
function purchaseIdentityAndName(addresspaymentMethod, stringname, uint256nameLength, uint256yearsPeriod, stringtokenURI, addressauthorityAddress, bytessignature) externalpayablereturns (uint256)
Mints a new Soulbound Identity and Name purchasing it
This function allows the purchase of a soulbound identity and name using stable coin (USDC), native token (ETH) or utility token (MASA)
This function allows the purchase of a soul name using stable coin (USDC), native token (ETH) or utility token (MASA)
Parameters
Name
Type
Description
paymentMethod
address
Address of token that user want to pay
to
address
Address of the owner of the new soul name
name
string
Name of the new soul name
nameLength
uint256
Length of the name
yearsPeriod
uint256
Years of validity of the name
tokenURI
string
URI of the NFT
authorityAddress
address
Address of the authority
signature
bytes
Signature of the authority
Returns
Name
Type
Description
_0
uint256
TokenId of the new sou name
removeAuthority
function removeAuthority(address_authority) external nonpayable
Removes an authority from the list of authorities
The caller must have the admin or project admin role to call this function
Parameters
Name
Type
Description
_authority
address
Authority to remove
renounceRole
function renounceRole(bytes32role, addressaccount) external nonpayable
Revokes role from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked role, emits a {RoleRevoked} event. Requirements: - the caller must be account. May emit a {RoleRevoked} event.
Parameters
Name
Type
Description
role
bytes32
undefined
account
address
undefined
revokeRole
function revokeRole(bytes32role, addressaccount) external nonpayable
Revokes role from account. If account had been granted role, emits a {RoleRevoked} event. Requirements: - the caller must have role's admin role. May emit a {RoleRevoked} event.
Parameters
Name
Type
Description
role
bytes32
undefined
account
address
undefined
setMasaToken
function setMasaToken(address_masaToken) external nonpayable
Sets the utility token to pay the fee in (MASA)
The caller must have the admin role to call this function It can be set to address(0) to disable paying in MASA
Parameters
Name
Type
Description
_masaToken
address
New utility token to pay the fee in
setNameRegistrationPricePerYear
function setNameRegistrationPricePerYear(uint256_nameLength, uint256_nameRegistrationPricePerYear) external nonpayable
Sets the price of the name registering per one year in stable coin
The caller must have the admin or project admin role to call this function
Parameters
Name
Type
Description
_nameLength
uint256
Length of the name
_nameRegistrationPricePerYear
uint256
New price of the name registering per one year in stable coin for that name length per year
setProjectFeeReceiver
function setProjectFeeReceiver(address_projectFeeReceiver) external nonpayable
Set the project fee receiver wallet
The caller must have the admin or project admin role to call this function
Parameters
Name
Type
Description
_projectFeeReceiver
address
New project fee receiver wallet
setProtocolFeeAmount
function setProtocolFeeAmount(uint256_protocolFeeAmount) external nonpayable
Set the protocol fee amount
The caller must have the admin role to call this function
Parameters
Name
Type
Description
_protocolFeeAmount
uint256
New protocol fee amount
setProtocolFeePercent
function setProtocolFeePercent(uint256_protocolFeePercent) external nonpayable
Set the protocol fee percent added to the project fee
The caller must have the admin role to call this function
Parameters
Name
Type
Description
_protocolFeePercent
uint256
New protocol fee percent added to the project fee
setProtocolFeePercentSub
function setProtocolFeePercentSub(uint256_protocolFeePercentSub) external nonpayable
Set the protocol fee percent substracted from the amount
The caller must have the admin role to call this function
Parameters
Name
Type
Description
_protocolFeePercentSub
uint256
New protocol fee percent substracted from the amount
setProtocolFeeReceiver
function setProtocolFeeReceiver(address_protocolFeeReceiver) external nonpayable
Set the protocol fee wallet
The caller must have the admin role to call this function
Parameters
Name
Type
Description
_protocolFeeReceiver
address
New protocol fee wallet
setSoulName
function setSoulName(contractISoulName_soulName) externalnonpayable
Sets the SoulName contract address linked to this store
The caller must have the admin role to call this function
Parameters
Name
Type
Description
_soulName
contract ISoulName
New SoulName contract address
setSoulboundIdentity
function setSoulboundIdentity(contractISoulboundIdentity_soulboundIdentity) externalnonpayable
Sets the SoulboundIdentity contract address linked to this store
The caller must have the admin role to call this function
Parameters
Name
Type
Description
_soulboundIdentity
contract ISoulboundIdentity
New SoulboundIdentity contract address
setStableCoin
function setStableCoin(address_stableCoin) external nonpayable
Sets the stable coin to pay the fee in (USDC)
The caller must have the admin role to call this function
Parameters
Name
Type
Description
_stableCoin
address
New stable coin to pay the fee in
setSwapRouter
function setSwapRouter(address_swapRouter) external nonpayable
Sets the swap router address
The caller must have the admin role to call this function
Parameters
Name
Type
Description
_swapRouter
address
New swap router address
setWrappedNativeToken
function setWrappedNativeToken(address_wrappedNativeToken) external nonpayable
Sets the wrapped native token address
The caller must have the admin role to call this function
Parameters
Name
Type
Description
_wrappedNativeToken
address
New wrapped native token address
soulName
function soulName() externalviewreturns (contractISoulName)
Returns
Name
Type
Description
_0
contract ISoulName
undefined
soulboundIdentity
function soulboundIdentity() externalviewreturns (contractISoulboundIdentity)
Returns
Name
Type
Description
_0
contract ISoulboundIdentity
undefined
stableCoin
function stableCoin() externalviewreturns (address)
Returns
Name
Type
Description
_0
address
undefined
supportsInterface
function supportsInterface(bytes4interfaceId) externalviewreturns (bool)
See {IERC165-supportsInterface}.
Parameters
Name
Type
Description
interfaceId
bytes4
undefined
Returns
Name
Type
Description
_0
bool
undefined
swapRouter
function swapRouter() externalviewreturns (address)
Returns
Name
Type
Description
_0
address
undefined
unpause
function unpause() external nonpayable
Unpauses the smart contract
The caller must have the admin role to call this function
wrappedNativeToken
function wrappedNativeToken() externalviewreturns (address)
Returns
Name
Type
Description
_0
address
undefined
Events
EIP712DomainChanged
event EIP712DomainChanged()
MAY be emitted to signal that the domain could have changed.
Emitted when newAdminRole is set as role's admin role, replacing previousAdminRoleDEFAULT_ADMIN_ROLE is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. Available since v3.1.
Emitted when account is granted role. sender is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.
Emitted when account is revoked role. sender is the account that originated the contract call: - if using revokeRole, it is the admin role bearer - if using renounceRole, it is the role bearer (i.e. account)