isValidDomain
Validates the given domain syntax. It allows dots and alphanumeric lowercase characters.
Signature
isValidDomain(domain:string): boolean;
Parameters
domain
: Domain to be validated.Returns
bool
: true if valid, false if notExamples
Valid domain:
rns.utils.isValidDomain('testing123.rsk').then(console.log)
Invalid domain:
rns.utils.isValidDomain('nOtVali-d.rsk').then(console.log)
isValidLabel
Validates the given label syntax. It allows alphanumeric lowercase characters.
Signature
isValidLabel(label:string): boolean;
Parameters
label
: Label to be validated.Returns
bool
: true if valid, false if notExamples
Valid label:
rns.utils.isValidLabel('testing123').then(console.log)
Invalid label:
rns.utils.isValidLabel('no%tvAl1d').then(console.log)
isValidTld
Validates the given top level domain. For now, the only valid TLD is rsk
Signature
isValidTld(tld:string): boolean;
Parameters
tld
: TLD to be validated.Returns
bool
: true if valid, false if notExamples
Valid TLD:
rns.utils.isValidTld('rsk').then(console.log)
Invalid TLD:
rns.utils.isValidTld('notvalid').then(console.log)
namehash
Returns the namehash representation of the given domain
Signature
namehash(domain:string): boolean;
Parameters
domain
: Domain to be converted.Returns
string
: Namehash representation of the given domainExamples
rns.utils.namehash('testing.rsk').then(console.log)
labelhash
Returns 0x
+ the keccak256 representation of the given label.
Signature
labelhash(label:string): boolean;
Parameters
label
: Label to be converted.Returns
string
: Labelhash representation of the given domainExamples
rns.utils.labelhash('testing').then(console.log)
hasAccounts
Checks if the given web3 instance has accounts to sign transactions
Signature
hasAccounts(web3:Web3): boolean;
Parameters
web3
: Web3 instance.Returns
bool
: true if has accounts, false if notExamples
const web3 = new Web3('https://public-node.rsk.co');
rns.utils.hasAccounts(web3).then(console.log)
hasMethod
Checks if the contract in the given address has the given method
Signature
hasMethod(web3:Web3, contractAddress:string, methodId: string): boolean;
Parameters
web3
: Web3 instance.contractAddress
: address of the contract to check.methodId
: the first 4 bytes of the keccak256 hash of the ASCII form of the signatureHow to obtain the methodId?
Given the following Solidity function
function max(uint256 a, uint256 b) internal pure returns (uint256) { return a >= b ? a : b; }
The signature is
max(uint256,uint256)
.The methodId is calculated with this Javascript function:
function getMethodId(signature) { const hash = keccak256(signature); return `0x${hash.substring(0, 8)}`; }
Returns
bool
: true if has method, false if notExamples
const web3 = new Web3('https://public-node.rsk.co');
const address = '0x0000000000000000000000000000000000000001';
const methodHash = '0x01ffc9a7';
rns.utils.hasMethod(web3, contractAddress, methodHash).then(console.log)
Go to top