Skip to content

Commit 5b5d1fe

Browse files
cairoethmds1
andauthored
feat: finish populating existing precompiles and predeploys (#9)
* 🔧 Precompile descriptions and inputs + ouputs * âž• Added references for mainnet precompiles * 🎨 Format Arbitrum and Mainnet precompiles * 🩹 Fix references, dynamic lengths and input order * chore: mainnet precompile tweaks and fixes * chore: remove third party contracts from arbitrum --------- Co-authored-by: Matt Solomon <[email protected]>
1 parent b656ddd commit 5b5d1fe

File tree

3 files changed

+323
-61
lines changed

3 files changed

+323
-61
lines changed

‎src/chains/arbitrum/vm/precompiles.ts

Lines changed: 25 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -15,126 +15,115 @@ export const precompiles: (Precompile | Predeploy)[] = [
1515
{
1616
address: '0x09e9222E96E7B4AE2a407B98d48e330053351EEe',
1717
name: 'L2 ERC20 Gateway',
18-
description: 'TODO',
18+
description:
19+
"Initiates Arbitrum to Ethereum ERC20 transfers, which are forwarded to the token's L2 Gateway to communicate with its corresponding L1 Gateway.",
1920
deprecated: false,
2021
references: ['https://developer.arbitrum.io/for-devs/useful-addresses'],
2122
},
2223
{
2324
address: '0x096760F208390250649E3e8763348E783AEF5562',
2425
name: 'L2 Arb-Custom Gateway',
25-
description: 'TODO',
26+
description:
27+
'Allows to transfer of custom tokens from Arbitrum to Ethereum, which are forwarded to the L2 Gateway to communicate with its corresponding L1 Gateway.',
2628
deprecated: false,
2729
references: ['https://developer.arbitrum.io/for-devs/useful-addresses'],
2830
},
2931
{
3032
address: '0x6c411aD3E74De3E7Bd422b94A27770f5B86C623B',
3133
name: 'L2 Weth Gateway',
32-
description: 'TODO',
34+
description:
35+
"Handles Arbitrum to Ethereum transfers of WETH by unwrapping the Ether and re-wrapping it on Ethereum, ensuring that all WETH tokens are always fully collateralized on the layer it's transferred to.",
3336
deprecated: false,
3437
references: ['https://developer.arbitrum.io/for-devs/useful-addresses'],
3538
},
3639
{
3740
address: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1',
3841
name: 'L2 Weth',
39-
description: 'TODO',
42+
description:
43+
'Wrapped Ether contract on Arbitrum, which is an ERC-20 token that represents 1 Ether.',
4044
deprecated: false,
4145
references: ['https://developer.arbitrum.io/for-devs/useful-addresses'],
4246
},
4347
{
4448
address: '0xd570aCE65C43af47101fC6250FD6fC63D1c22a86',
4549
name: 'L2 Proxy Admin',
46-
description: 'TODO',
47-
deprecated: false,
48-
references: ['https://developer.arbitrum.io/for-devs/useful-addresses'],
49-
},
50-
{
51-
address: '0x467194771dAe2967Aef3ECbEDD3Bf9a310C76C65',
52-
name: 'L2 Dai Gateway',
53-
description: 'TODO',
54-
deprecated: false,
55-
references: ['https://developer.arbitrum.io/for-devs/useful-addresses'],
56-
},
57-
{
58-
address: '0x6D2457a4ad276000A615295f7A80F79E48CcD318',
59-
name: 'L2 Livepeer Gateway',
60-
description: 'TODO',
50+
description: 'The owner of all of the Arbitrum proxy contracts set at the predeploys.',
6151
deprecated: false,
6252
references: ['https://developer.arbitrum.io/for-devs/useful-addresses'],
6353
},
6454
{
6555
address: '0x0000000000000000000000000000000000000064',
6656
name: 'ArbSys',
67-
description: 'TODO',
57+
description:
58+
'Exposes a variety of system-level functionality for interacting with Ethereum and understanding the call stack.',
6859
deprecated: false,
6960
references: ['https://developer.arbitrum.io/for-devs/useful-addresses'],
7061
},
7162
{
7263
address: '0x000000000000000000000000000000000000006E',
7364
name: 'ArbRetryableTx',
74-
description: 'TODO',
65+
description: 'Manages retryable transactions related to data retrieval and interactions.',
7566
deprecated: false,
7667
references: ['https://developer.arbitrum.io/for-devs/useful-addresses'],
7768
},
7869
{
7970
address: '0x000000000000000000000000000000000000006C',
8071
name: 'ArbGasInfo',
81-
description: 'TODO',
72+
description: 'Provides insight into the costs of using Arbitrum.',
8273
deprecated: false,
8374
references: ['https://developer.arbitrum.io/for-devs/useful-addresses'],
8475
},
8576
{
8677
address: '0x0000000000000000000000000000000000000066',
8778
name: 'ArbAddressTable',
88-
description: 'TODO',
79+
description:
80+
'Allows registering and retrieving commonly used addresses via indices, saving calldata.',
8981
deprecated: false,
9082
references: ['https://developer.arbitrum.io/for-devs/useful-addresses'],
9183
},
9284
{
9385
address: '0x000000000000000000000000000000000000006F',
9486
name: 'ArbStatistics',
95-
description: 'TODO',
87+
description:
88+
'Provides statistics about Arbitrum, such as the number of blocks, accounts, transactions, and contracts.',
9689
deprecated: false,
9790
references: ['https://developer.arbitrum.io/for-devs/useful-addresses'],
9891
},
9992
{
10093
address: '0x00000000000000000000000000000000000000C8',
10194
name: 'NodeInterface',
102-
description: 'TODO',
95+
description:
96+
'Retrieves the revenant data of calls by Arbitrum contracts to execute them in Ethereum via the Outbox contract.',
10397
deprecated: false,
10498
references: ['https://developer.arbitrum.io/for-devs/useful-addresses'],
10599
},
106100
{
107101
address: '0x0000000000000000000000000000000000000067',
108102
name: 'ArbBLS',
109-
description: 'TODO',
103+
description: 'Provides a registry of BLS public keys for accounts.',
110104
deprecated: false,
111105
references: ['https://developer.arbitrum.io/for-devs/useful-addresses'],
112106
},
113107
{
114108
address: '0x0000000000000000000000000000000000000065',
115109
name: 'ArbInfo',
116-
description: 'TODO',
110+
description: 'Provides the ability to lookup basic info about accounts and contracts.',
117111
deprecated: false,
118112
references: ['https://developer.arbitrum.io/for-devs/useful-addresses'],
119113
},
120114
{
121115
address: '0x000000000000000000000000000000000000006D',
122116
name: 'ArbAggregator',
123-
description: 'TODO',
117+
description:
118+
"Provides aggregators and their users methods for configuring how they participate in Ethereum aggregation. The default aggregator is Arbitrum's Sequencer.",
124119
deprecated: false,
125120
references: ['https://developer.arbitrum.io/for-devs/useful-addresses'],
126121
},
127122
{
128123
address: '0x0000000000000000000000000000000000000068',
129124
name: 'ArbFunctionTable',
130-
description: 'TODO',
131-
deprecated: false,
132-
references: ['https://developer.arbitrum.io/for-devs/useful-addresses'],
133-
},
134-
{
135-
address: '0x7eCfBaa8742fDf5756DAC92fbc8b90a19b8815bF',
136-
name: 'L2 Multicall',
137-
description: 'TODO',
125+
description:
126+
'Allows aggregators to manage function tables for one form of transaction compression.',
138127
deprecated: false,
139128
references: ['https://developer.arbitrum.io/for-devs/useful-addresses'],
140129
},

0 commit comments

Comments
 (0)