DeployLottery.s.sol --> failed: panic: arithmetic underflow or overflow #1956
Replies: 2 comments 9 replies
-
Hello @saikrishna5907, Please show your createSubscription script. |
Beta Was this translation helpful? Give feedback.
-
Hello @saikrishna5907, I want us to know that whenever you use Here in your function createSubscription(
address vrfCoordinator,
address account
) public returns (uint256, address) {
// create a subscription
console2.log(
"Creating a subscription on ChainId:",
block.chainid,
account
);
vm.startBroadcast();
uint256 subscriptionId = VRFCoordinatorV2_5Mock(vrfCoordinator)
.createSubscription();
vm.stopBroadcast();
console2.log("Your Subscription Id:", subscriptionId);
return (subscriptionId, vrfCoordinator);
} This function uses So when it got to the point where you wanted to add a consumer to that subscription you use the function below. function addConsumer(
address mostRecentlyDeployedLottery,
address vrfCoordinator,
uint256 subscriptionId,
address account
) public {
console2.log(
"Adding contract:",
mostRecentlyDeployedLottery,
"as a consumer"
);
console2.log("Using vrfCoordinator:", vrfCoordinator);
console2.log("Using Subscription:", subscriptionId);
console2.log("On ChainId:", block.chainid);
vm.startBroadcast(account);
VRFCoordinatorV2_5Mock(vrfCoordinator).addConsumer(
subscriptionId,
mostRecentlyDeployedLottery
);
vm.stopBroadcast();
} The Suggested Solution function createSubscription(
address vrfCoordinator,
address account
) public returns (uint256, address) {
// create a subscription
console2.log(
"Creating a subscription on ChainId:",
block.chainid,
account
);
vm.startBroadcast(account);
uint256 subscriptionId = VRFCoordinatorV2_5Mock(vrfCoordinator)
.createSubscription();
vm.stopBroadcast();
console2.log("Your Subscription Id:", subscriptionId);
return (subscriptionId, vrfCoordinator);
} |
Beta Was this translation helpful? Give feedback.
-
Hi,
Anyone facing this issue when we try to deploy the raffle contract on anvil
error screenshot
![image](https://private-user-images.githubusercontent.com/39937402/346297952-c8e06227-bf59-498a-9005-6b4d4c5c7f08.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA0NTYwOTUsIm5iZiI6MTcyMDQ1NTc5NSwicGF0aCI6Ii8zOTkzNzQwMi8zNDYyOTc5NTItYzhlMDYyMjctYmY1OS00OThhLTkwMDUtNmI0ZDRjNWM3ZjA4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzA4VDE2MjMxNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPThlYzQ1MTU1OWFkZGExMzBjZmNlMjg5MDEyM2RhYmRlYWI5NGNlM2IzNWJjYzk3ZWUxOGFmZjc3NDAwYWE0MTImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.5EPK4xGCegndkLVjOAWVWWYZJKsgtu0FHytI3J5dknU)
when I did some digging found out VRFCoordinatorV2_5Mock is extending SubscriptionAPI (from lib/chainlink-brownie-contracts/contracts/src/v0.8/vrf/dev/SubscriptionAPI.sol)
the error is causing by line number 355
![image](https://private-user-images.githubusercontent.com/39937402/346298050-bd28c82b-2db9-46da-82d9-10f3449e4509.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA0NTYwOTUsIm5iZiI6MTcyMDQ1NTc5NSwicGF0aCI6Ii8zOTkzNzQwMi8zNDYyOTgwNTAtYmQyOGM4MmItMmRiOS00NmRhLTgyZDktMTBmMzQ0OWU0NTA5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzA4VDE2MjMxNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQ5MDJkZjAyMDI5ODg1MWU2NjIyMGY3NmFlNzRhZmE4MjkyNTAyZmJkOWNjOWJhODc0NWRhNzk0NWUxMGIxODQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.aI6C0Xi8FfeAAEHcZFXvEJqJrxujaSkbq4BNTwa-Ptw)
particularly
here the block.number is 0, so when it evaluates (0 - 1) it is giving the error
script failed: panic: arithmetic underflow or overflow (0x11)
I did tried to change/ fix in SubscriptionAPI by adding this line
but now I get a new error on addConsumer function
![image](https://private-user-images.githubusercontent.com/39937402/346298309-a4c4b961-5fdb-449e-bb24-4ca54ecd9df9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA0NTYwOTUsIm5iZiI6MTcyMDQ1NTc5NSwicGF0aCI6Ii8zOTkzNzQwMi8zNDYyOTgzMDktYTRjNGI5NjEtNWZkYi00NDllLWJiMjQtNGNhNTRlY2Q5ZGY5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzA4VDE2MjMxNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTMwMDBkYTRkYWYxMWRlNzY4ZjQwZTJkMDRkY2VhNWQ2NTgyNjQxNjkwOTg5YWUwZDNlOTRjMTExZjcxNWM5ZGMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.i5yx8j-f1mlmQRrUlfUaGmeuK5VlQSCGukq8BCiaRNc)
coming from here
![image](https://private-user-images.githubusercontent.com/39937402/346298486-10403abb-b236-4eff-bbce-cc0dd23eccaa.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA0NTYwOTUsIm5iZiI6MTcyMDQ1NTc5NSwicGF0aCI6Ii8zOTkzNzQwMi8zNDYyOTg0ODYtMTA0MDNhYmItYjIzNi00ZWZmLWJiY2UtY2MwZGQyM2VjY2FhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzA4VDE2MjMxNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk5NTJlNjM1ZjA4MTA5ZDMyMDRmODMwYmMwYzc2OTFhNDc0ODVkZjUwMDNkOWRhZjUzMTdkOGIzNmFiN2IyNzkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.mYVuvmVCQG1PSaAsDzwdFnRdtUIFClPonfkeDoOu0Dw)
Can anyone help please?
Beta Was this translation helpful? Give feedback.
All reactions