Skip to content

Commit 8862ad5

Browse files
authored
Support geas smart contract language 🪿 (#2848)
* Support for `geas` smart contract language 🪿 Fixes #2818 * support fallback method with inputs and outputs * fix data that is passed to fallback method * add "pragma" and "define" to builtins * add "inputs" and "outputs" to the fallback method for all contracts ABI
1 parent 3c47613 commit 8862ad5

24 files changed

+370
-96
lines changed

configs/envs/.env.eth_sepolia

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,3 +71,4 @@ NEXT_PUBLIC_VIEWS_CONTRACT_SOLIDITYSCAN_ENABLED=true
7171
NEXT_PUBLIC_VIEWS_TOKEN_SCAM_TOGGLE_ENABLED=true
7272
NEXT_PUBLIC_VISUALIZE_API_HOST=https://visualizer.services.blockscout.com
7373
NEXT_PUBLIC_XSTAR_SCORE_URL=https://docs.xname.app/the-solution-adaptive-proof-of-humanity-on-blockchain/xhs-scoring-algorithm?utm_source=blockscout&utm_medium=address
74+
NEXT_PUBLIC_VIEWS_CONTRACT_LANGUAGE_FILTERS=['solidity','vyper','yul','geas']

docs/ENVS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ Settings for meta tags, OG tags and SEO
280280
| NEXT_PUBLIC_VIEWS_ADDRESS_HIDDEN_VIEWS | `Array<AddressViewId>` | Address views that should not be displayed. See below the list of the possible id values. | - | - | `'["top_accounts"]'` | v1.15.0+ |
281281
| NEXT_PUBLIC_VIEWS_CONTRACT_SOLIDITYSCAN_ENABLED | `boolean` | Set to `true` if SolidityScan reports are supported | - | - | `true` | v1.19.0+ |
282282
| NEXT_PUBLIC_VIEWS_CONTRACT_EXTRA_VERIFICATION_METHODS | `Array<'solidity-hardhat' \| 'solidity-foundry'>` | Pass an array of additional methods from which users can choose while verifying a smart contract. Both methods are available by default, pass `'none'` string to disable them all. | - | - | `['solidity-hardhat']` | v1.33.0+ |
283-
| NEXT_PUBLIC_VIEWS_CONTRACT_LANGUAGE_FILTERS | `Array<'solidity' \| 'vyper' \| 'yul' \| 'scilla'>` | Pass an array of contract languages that will be displayed as options in the filter on the verified contract page. | - | `['solidity','vyper','yul']` | `['solidity','vyper','yul','scilla']` | v1.37.0+ |
283+
| NEXT_PUBLIC_VIEWS_CONTRACT_LANGUAGE_FILTERS | `Array<'solidity' \| 'vyper' \| 'yul' \| 'scilla' \| 'geas'>` | Pass an array of contract languages that will be displayed as options in the filter on the verified contract page. | - | `['solidity','vyper','yul']` | `['solidity','vyper','yul','scilla']` | v1.37.0+ |
284284
| NEXT_PUBLIC_VIEWS_CONTRACT_DECODED_BYTECODE_ENABLED | `boolean` | If set to true, the deployed bytecode for unverified contracts will be parsed on the client side to retrieve the source code. If successful, the source code will be displayed in the snippet along with the content type selector. This feature works only for Scilla contracts. | - | - | `true` | v2.3.0+ |
285285

286286
##### Address views list

mocks/contract/methods.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@ export const write: Array<SmartContractMethodWrite> = [
3434
payable: true,
3535
stateMutability: 'payable',
3636
type: 'fallback',
37+
inputs: [
38+
{ internalType: 'bytes', name: 'input', type: 'bytes' },
39+
],
40+
outputs: [
41+
{ internalType: 'bytes', name: 'output', type: 'bytes' },
42+
],
3743
},
3844
{
3945
constant: false,

public/static/merits/cells.svg

Lines changed: 28 additions & 28 deletions
Loading

0 commit comments

Comments
 (0)