A Metamask fork with Infura removed and default networks editable
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
const { readAddressAsContract } = require('./contract-utils');
|
|
|
|
|
|
|
|
describe('Contract Utils', () => {
|
|
|
|
it('checks is an address is a contract address or not', async () => {
|
|
|
|
let mockEthQuery = {
|
|
|
|
getCode: () => {
|
|
|
|
return '0xa';
|
|
|
|
},
|
|
|
|
};
|
|
|
|
const { isContractAddress } = await readAddressAsContract(
|
|
|
|
mockEthQuery,
|
|
|
|
'0x76B4aa9Fc4d351a0062c6af8d186DF959D564A84',
|
|
|
|
);
|
|
|
|
expect(isContractAddress).toStrictEqual(true);
|
|
|
|
|
|
|
|
mockEthQuery = {
|
|
|
|
getCode: () => {
|
|
|
|
return '0x';
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
const { isContractAddress: isNotContractAddress } =
|
|
|
|
await readAddressAsContract(
|
|
|
|
mockEthQuery,
|
|
|
|
'0x76B4aa9Fc4d351a0062c6af8d186DF959D564A84',
|
|
|
|
);
|
|
|
|
expect(isNotContractAddress).toStrictEqual(false);
|
|
|
|
});
|
|
|
|
});
|