Skip to content

Instantly share code, notes, and snippets.

View saeta-eth's full-sized avatar

saeta.eth saeta-eth

View GitHub Profile

Slang Query Language Documentation

Overview

Slang is a modular Solidity compiler tooling library that provides a declarative Query API for pattern matching in Solidity Abstract Syntax Trees (ASTs). This document covers all the expressions and patterns that can be used with the Slang Query API.

Note: All node types and examples in this documentation have been verified against the Slang v1.2.0 version to ensure accuracy.

Table of Contents

@saeta-eth
saeta-eth / CONTRIBUTING.md
Last active February 27, 2023 19:16
CONTRIBUTING.md

Contributing to the Aelin Frontend

devDAO

Aelin is a permissionless multi-chain protocol for capital raises and OTC deals. Through Aelin, protocols can use their communities to access funding. We are community-driven and welcome all contributions. Our goal is to provide a constructive, respectful, and enjoyable environment for collaboration. If you'd like to help out, join the Aelin devDAO on our #TBD Discord channel.

Introduction

In order to maintain a simple and straightforward process for contributing to the Aelin UI, this document serves to establish standards and guidelines for the structure of the codebase and the interaction between various components. By adhering to these guidelines, devDAO contributors can ensure consistency and coherence throughout the project, facilitating collaboration and making it easier to maintain and scale the UI.

This file has been truncated, but you can view the full file.
cannot estimate gas; transaction may fail or may require manual gas limit [ See: https://links.ethers.org/v5-errors-UNPREDICTABLE_GAS_LIMIT ] (error={"code":-32000,"message":"execution reverted"}, method="estimateGas", transaction={"from":"0xa834e550B45B4a469a05B846fb637bfcB12e3Df8","maxPriorityFeePerGas":{"type":"BigNumber","hex":"0x59682f00"},"maxFeePerGas":{"type":"BigNumber","hex":"0x0a67c31e2b"},"to":"0x3319cC75c43D7757Cb114b18500DE6cfaC800F65","data":"0x066e327000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000022b1c8c1227a000000000000000000000000000000000000000000000000000001bc16d674ec80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007080000000000000000000000000000000000000000000000000000000000000708000000000000000000000000000000000000000000000000000000000000070800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000
const deepFlatten = function(arr) {
const flatten = function(arr) {
return [].concat(...arr)
}
return flatten( // return shalowly flattened array
arr.map(x=> // with each x in array
Array.isArray(x) // is x an array?
? deepFlatten(x) // if yes, return deeply flattened x
: x // if no, return just x
)