Given that your key has expired.
$ gpg --list-keys
$ gpg --edit-key KEYID
Use the expire command to set a new expire date:
//install ipfs-cluster | |
cd $HOME | |
wget https://dist.ipfs.io/go-ipfs/v0.4.14-rc1/go-ipfs_v0.4.14-rc1_linux-amd64.tar.gz | |
tar xf go-ipfs_v0.4.14-rc1_linux-amd64.tar.gz | |
sudo mv go-ipfs/ipfs /usr/local/bin/ipfs | |
ipfs init | |
//installing go | |
cd $HOME/ && wget https://storage.googleapis.com/golang/go1.10.1.linux-amd64.tar.gz |
#!/usr/bin/env ansible-playbook -c local | |
# | |
# AWS STS token update playbook. | |
# | |
# Updating AWS session tokens with STS can be a pain. But MFA is good. So let's | |
# automate the management of the .aws/credentials file to make it not painful! | |
# | |
# Usage: | |
# | |
# 1. Save this to a file like /usr/local/bin/aws-sts-token |
I recently stumbled upon Falsehoods programmers believe about time zones, which got a good laugh out of me. It reminded me of other great lists of falsehoods, such as about names or time, and made me look for an equivalent for Ethereum. Having found none, here is my humble contribution to this set.
estimateGas
will return the gas required by my transactionCalling estimateGas
will return the gas that your transaction would require if it were mined now. The current state of the chain may be very different to the state in which your tx will get mined. So when your tx i
# Automatically save updated `yarn.lock` file for dependabot PRs. | |
# This is necessary because dependabot doesn't support Yarn v2 yet: | |
# https://github.com/dependabot/dependabot-core/issues/1297 | |
# | |
# Note: We use the `pull_request_target` event due to GitHub security measures. | |
# It is important to ensure we don't execute any untrusted PR code in this context. | |
# See: https://github.blog/changelog/2021-02-19-github-actions-workflows-triggered-by-dependabot-prs-will-run-with-read-only-permissions/ | |
# https://securitylab.github.com/research/github-actions-preventing-pwn-requests | |
name: Dependabot |
To push container images to ghcr, you need peronal access token (PAT) - see how to create PAT
Personal Settings > Developer settings > Personal access tokens
//SPDX-License-Identifier: Unlicense | |
pragma solidity ^0.8.0; | |
contract L1Sender { | |
address payable immutable l2Receiver; | |
constructor(address _l2Receiver) { | |
l2Receiver = payable(_l2Receiver); | |
} | |
// SPDX-License-Identifier: MIT | |
pragma solidity 0.8.16; | |
contract Enum { | |
enum Operation { | |
Call, | |
DelegateCall | |
} | |
} |
Single Messages - Single messages have a single target address, target chainId
, and data payload. The vast majority of cross-chain messages today are single messages.
Example:
function dispatchMessage(uint256 toChainId, address to, bytes calldata data) external payable returns (bytes32 messageId);