Adapter

Simple Treasuries

Fetches treasuries that can be loaded from Zerion without special operations.

Sub-Adapters 44

Preview and test each sub adapter.

1inch (1inch)

Aavegotchi (aavegotchi)

Abracadabra (abracadabra)

Alchemix (alchemix)

API3 (api3)

Aragon (aragon)

Babylon Finance (babylon)

Badger (badger)

Balancer (balancer)

Bankless DAO (bankless)

BarnBridge (barnbridge)

BitDAO (bitdao)

Compound (compound)

Decentraland (decentraland)

Gitcoin (gitcoin)

Fei (fei)

Idle DAO (idle)

Index Coop (index-coop)

KeeperDAO (keeper)

The LAO (lao)

Lido (lido)

Linkswap (linkswap)

MetaCartel Ventures (metacartel-ventures)

mStable (mstable)

Nexus Mutual (nexus)

NFTX (nftx)

Nouns DAO (nouns)

Olympus DAO (olympus)

Paraswap (paraswap)

PieDAO (piedao)

Perpetual Protocol (perpetual)

PleaserDAO (pleaserdao)

PrimeDAO (primedao)

Radicle (radicle)

Rarible (rarible)

ShapeShift (shapeshift)

SushiSwap (sushi)

Synthetix (synthetix)

Tempus (tempus)

Tornado Cash (tornado)

Uniswap (uniswap)

Unslashed Finance (unslashed)

Yam Finance (yam)

Yearn (yearn)

Adapter Code

Check the entire code written for the Adapter.

Source code

Showing TS source.
1export const name = 'Simple Treasuries';
2export const version = '0.1.22';
3export const license = 'MIT';
4export const description = 'Fetches treasuries that can be loaded from Zerion without special operations.';
5export const changeLog = 'Added Tempus Treasury';
6
7interface Org {
8  id: string
9  icon?: string
10  addresses: string[]
11  vestingAddresses?: string[]
12  nativeTokens?: string[]
13  iconType?: string
14  snapshotId?: string
15  governanceSite?: string
16  metadata: any
17  getProposals?: (sdk: Context) => Promise<any>
18}
19
20export async function setup(sdk: Context) {
21  const orgs: Org[] = [
22    {
23      id: '1inch',
24      addresses: ['0x7951c7ef839e26F63DA87a42C9a87986507f1c07'],
25      icon: 'QmebJTDWem5sHs9ZTv7DHtpoTQFQchdN7tXJjwYXabwgTP',
26      snapshotId: '1inch.eth',
27      metadata: {
28        name: '1inch',
29        website: 'https://1inch.io',
30        governanceForum: 'https://gov.1inch.io',
31      },
32    },
33    {
34      id: 'aavegotchi',
35      addresses: [ '0xffe6280ae4e864d9af836b562359fd828ece8020' ],
36      icon: 'QmPe79ZtTxhpLXrRGBCjkhoMaTMrBmb7YDkycEFgcmBNVc',
37      iconType: 'image/png',
38      snapshotId: 'aavegotchi.eth',
39      metadata: {
40        name: 'Aavegotchi',
41        website: 'https://aavegotchi.com/',
42        governanceForum: 'https://dao.aavegotchi.com/',
43      },
44    },
45    {
46      id: 'abracadabra',
47      addresses: ['0x5a7c5505f3cfb9a0d9a8493ec41bf27ee48c406d'],
48      icon: 'QmR8XgrW7cGncTjPQJ2LBnoQHBFBRve7mN1PT6yLjrKX6s',
49      iconType: 'image/png',
50      snapshotId: 'abracadabrabymerlinthemagician.eth',
51      metadata: {
52        name: 'Abracadabra',
53        website: 'https://abracadabra.money/',
54        governanceSite: 'https://snapshot.page/#/abracadabrabymerlinthemagician.eth',
55        governanceForum: 'https://forum.abracadabra.money/',
56        governanceModel: '',
57      },
58    },
59    {
60      id: 'alchemix',
61      addresses: ['0x8392f6669292fa56123f71949b52d883ae57e225'],
62      icon: 'QmSuSUcAvGkxkJ7n5RxnDyqXUchAjXMwTmNioz2xzXVfxo',
63      iconType: 'image/jpeg',
64      snapshotId: 'alchemixstakers.eth',
65      metadata: {
66        name: 'Alchemix',
67        website: 'https://alchemix.fi/',
68        governanceSite: 'https://snapshot.page/#/alchemixstakers.eth',
69        governanceForum: 'https://forum.alchemix.fi',
70        governanceModel: '',
71      },
72    },
73    {
74      id: 'api3',
75      addresses: [
76        '0xe7aF7c5982e073aC6525a34821fe1B3e8E432099', // v1
77        '0xD9F80Bdb37E6Bad114D747E60cE6d2aaF26704Ae', // v2_primary
78        '0x556ECbb0311D350491Ba0EC7E019c354D7723CE0' // v2_secondary
79      ],
80      icon: 'QmVp2hVgfD8sQRFosydPsNAVmttno5tRhun44YiXagNeGX',
81      iconType: 'image/jpeg',
82      metadata: {
83        name: 'API3',
84        website: 'https://api3.org',
85        governanceSite: 'https://api3.eth.link/#/governance',
86        governanceModel: '',
87      },
88    },
89    {
90      id: 'aragon',
91      addresses: ['0xfb633f47a84a1450ee0413f2c32dc1772ccaea3e'],
92      icon: 'QmVCYznBiU8ibk1YuuuhgRu6pWx1PQTYptvvjiVbGGTdyn',
93      iconType: 'image/png',
94      metadata: {
95        name: 'Aragon',
96        website: 'https://aragon.org/',
97        governanceSite: 'https://client.aragon.org/#/budget/0x6c871f1fc69c23809413a96fb359cb428245aa60/',
98      },
99    },
100    {
101      id: 'babylon',
102      addresses: [
103        '0xD7AAf4676F0F52993cb33aD36784BF970f0E1259', 
104      ],
105      icon: 'QmVQFJ6mC1wyeQcfQcVDZGC83a2rVPrc92ncVfeAR5VExE',
106      iconType: 'image/jpeg',
107      metadata: {
108        name: 'Babylon Finance',
109        website: 'https://www.babylon.finance/',
110        governanceSite: 'https://www.withtally.com/governance/eip155:1:0xBEC3de5b14902C660Bd2C7EfD2F259998424cc24',
111      },
112    },
113    {
114      id: 'badger',
115      addresses: [
116        '0x4441776e6a5d61fa024a5117bfc26b953ad1f425',
117        '0x5a54ca44e8f5a1a695f8621f15bfa159a140bb61',
118        '0x8de82c4c968663a0284b01069dde6ef231d0ef9b',
119        '0xb65cef03b9b89f99517643226d76e286ee999e77',
120      ],
121      icon: 'QmSraKiNmctuShFEqgGmLVamKuwZC6TFs26R27959ugExn',
122      iconType: 'image/png',
123      snapshotId: 'badgerdao.eth',
124      metadata: {
125        name: 'Badger',
126        description: 'Badger DAO is dedicated to building products and infrastructure to bring Bitcoin to DeFi.',
127        website: 'https://badger.finance',
128        governanceForum: 'https://forum.badger.finance',
129        governanceModel: '',
130      },
131    },
132    {
133      id: 'balancer',
134      addresses: [
135        '0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f', // ecosystem fund
136        '0xce88686553686DA562CE7Cea497CE749DA109f9F', // protocol fee collector
137      ],
138      icon: 'Qma9agewDVEhZjnLrY2aWy3ZHvYmUtZ5uXM3tCHZu5eDM2',
139      metadata: {
140        name: 'Balancer',
141        website: 'https://balancer.finance',
142        governanceSite: 'https://vote.balancer.finance',
143        governanceForum: 'https://forum.balancer.fi/',
144        governanceModel: '',
145      },
146    },
147    {
148      id: 'bankless',
149      addresses: [ '0xf26d1bb347a59f6c283c53156519cc1b1abaca51' ],
150      icon: 'QmfXpfiEavuqHB9wHxeup9QHttaeindCzwtnFvN756vnQW',
151      iconType: 'image/png',
152      snapshotId: 'banklessvault.eth',
153      metadata: {
154        name: 'Bankless DAO',
155        website: 'https://www.bankless.community/',
156        governanceForum: 'https://forum.bankless.community/',
157      },
158    },
159    {
160      id: 'barnbridge',
161      addresses: ['0x4cAE362D7F227e3d306f70ce4878E245563F3069'],
162      icon: 'QmWD4Eg6AdYmyAb9aSfELP7L4cU2uTFYoejHVsWjerYWZo',
163      metadata: {
164        name: 'BarnBridge',
165        website: 'https://barnbridge.com/',
166        governanceSite: 'https://app.barnbridge.com/governance',
167        governanceForum: 'https://forum.barnbridge.com/',
168        governanceModel: '',
169      },
170    },
171    {
172      id: 'bitdao',
173      addresses: ['0x78605Df79524164911C144801f41e9811B7DB73D'],
174      icon: 'QmVG1ziAPLtJkX7xogmLVxwnBiT5qEEy1P9aHWPM9J9Y17',
175      metadata: {
176        name: 'BitDAO',
177        website: 'https://bitdao.io',
178        governanceSite: 'https://snapshot.org/#/bitdao.eth',
179        governanceForum: 'https://discourse.bitdao.io/',
180        governanceModel: '',
181      },
182    },
183    {
184      id: 'compound',
185      addresses: ['0x3d9819210a31b4961b30ef54be2aed79b9c9cd3b'],
186      vestingAddresses: ['0x2775b1c75658Be0F640272CCb8c72ac986009e38'],
187      icon: 'QmZpZsg829EnBxE2MPZykZpAfsxyRsu6EuGbtfTkf2EFNj',
188      metadata: {
189        name: 'Compound',
190        website: 'https://compound.finance',
191        governanceSite: 'https://compound.finance/governance',
192        governanceForum: 'https://www.comp.xyz',
193        governanceModel: '',
194      },
195    },
196    {
197      id: 'decentraland',
198      addresses: ['0x9a6ebe7e2a7722f8200d0ffb63a1f6406a0d7dce'],
199      icon: 'QmQGRHYnYF6gGSrAvou945hcVi2nygTar6U6hwPuC2vyfi',
200      iconType: 'image/png',
201      metadata: {
202        name: 'Decentraland',
203        website: 'https://decentraland.org/',
204        governanceSite: 'https://client.aragon.org/#/0xf47917b108ca4b820ccea2587546fbb9f7564b56/0x41e83d829459f99bf4ee2e26d0d79748fb16b94f/',
205        governanceForum: 'https://forum.decentraland.org/c/governance/13',
206      },
207    },
208    {
209      id: 'gitcoin',
210      addresses: [
211        '0x57a8865cfB1eCEf7253c27da6B4BC3dAEE5Be518', // Treasury
212        '0xde21F729137C5Af1b01d73aF1dC21eFfa2B8a0d6', // Grants
213      ],
214      vestingAddresses: ['0x44aa9c5a034c1499ec27906e2d427b704b567ffe'],
215      icon: 'QmR8nFrnSu7Mby5tdPPdUrTZttaK7L3TVsZheuwZ1KPUCT',
216      snapshotId: 'gitcoindao.eth',
217      metadata: {
218        name: 'Gitcoin',
219        website: 'https://gitcoin.co',
220        governanceForum: 'https://gov.gitcoin.co',
221      },
222    },
223    {
224      id: 'fei',
225      addresses: [
226        '0x8d5ed43dca8c2f7dfb20cf7b53cc7e593635d7b9', // Core
227        '0xd51dba7a94e1adea403553a8235c302cebf41a3c', // Timelock
228      ],
229      icon: 'QmaeWtW4HDNCKRMTrtE3kabu2xQDtb5iaZduEEm68F7rqR',
230      snapshotId: 'fei.eth',
231      metadata: {
232        name: 'Fei',
233        website: 'https://fei.money',
234        governanceForum: 'https://tribe.fei.money',
235      },
236    },
237
238    { 
239      id: 'idle', 
240      addresses:[
241        '0x69a62C24F16d4914a48919613e8eE330641Bcb94', // Fee Treasury 
242        '0xbecc659bfc6edca552fa1a67451cc6b38a0108e4', // Fee Collector 
243        '0x076ff8e6402b02855ff82119b53e59bbdd67f0ee', // SUSHI Collector
244        '0x107A369bc066c77FF061c7d2420618a6ce31B925', // LongTerm Fund 
245        '0xb0aA1f98523Ec15932dd5fAAC5d86e57115571C7', // Ecosystem Fund 
246        '0x031f71B5369c251a6544c41CE059e6b3d61e42C6', // Reservoir 
247        '0xFb3bD022D5DAcF95eE28a6B07825D4Ff9C5b3814', // Treasury League Multisig 
248        '0xe8eA8bAE250028a8709A3841E0Ae1a44820d677b', // Dev League Multisig Wallet 
249      ], 
250      icon: 'QmQZypfk7tLvAo68dtzEwqte2AAsn5SbzxSj48wwva2FdZ',
251      iconType: 'image/png',
252      snapshotId: 'idlefinance.eth' , 
253
254      metadata: { 
255        name: 'Idle DAO',
256        description:'Idle is a decentralized protocol dedicated to bringing automatic asset allocation and yield aggregation to the interest-bearing tokens economy.',
257        website: 'https://idle.finance', 
258        governanceForum: 'https://gov.idle.finance', 
259      },
260    },
261
262    {
263      id: 'index-coop',
264      addresses: ['0x9467cfADC9DE245010dF95Ec6a585A506A8ad5FC'],
265      icon: 'QmcatsG9WgkB6m9vSF3mbgwXFJyG8qSDNsZyi2mEGRk4oa',
266      snapshotId: 'index-coop.eth',
267      metadata: {
268        name: 'Index Coop',
269        website: 'https://indexcoop.com',
270        governanceForum: 'https://gov.indexcoop.com',
271        governanceModel: '',
272      },
273    },
274    {
275      id: 'keeper',
276      addresses: ['0x9a67f1940164d0318612b497e8e6038f902a00a4'],
277      nativeTokens: ['0xfa5047c9c78b8877af97bdcb85db743fd7313d4a'],
278      icon: 'QmQ8Fxi73dFhyYb5LncV7133q4XBwXNvR1hK9aW6aHaQWQ',
279      snapshotId: 'rook.eth',
280      metadata: {
281        name: 'KeeperDAO',
282        website: 'https://keeperdao.com',
283        governanceForum: 'https://forum.keeperdao.com',
284      },
285    },
286    {
287      id: 'lao',
288      addresses: ['0x8f56682a50becb1df2fb8136954f2062871bc7fc'],
289      icon: 'QmcBBSvXC4nUQHSRy5BcGvX7RGWyhzeUifyHNR3e4q26T2',
290      iconType: 'image/jpeg',
291      metadata: {
292        name: 'The LAO',
293        website: 'https://linkswap.app',
294        governanceSite: 'https://app.daohaus.club/dao/0x1/0x8f56682a50becb1df2fb8136954f2062871bc7fc',
295      },
296    },
297    {
298      id: 'lido',
299      addresses: ['0x3e40d73eb977dc6a537af587d48316fee66e9c8c'],
300      icon: 'QmcsGcopqrVyzTLXETtecJuhqxqxbzUvuFMqBd27yFKCMt',
301      metadata: {
302        name: 'Lido',
303        website: 'https://lido.fi',
304        governanceForum: 'https://research.lido.fi',
305        governanceSite: 'https://mainnet.lido.fi/#/lido-dao.aragonid.eth',
306      },
307    },
308    {
309      id: 'linkswap',
310      addresses: ['0xE69A81b96FBF5Cb6CAe95d2cE5323Eff2bA0EAE4'],
311      icon: 'QmdAhG1qWuW6wEcuW29ZjAvqPz8grSYHsR7HZJLSkqkGQ5',
312      snapshotId: 'yflink.eth',
313      metadata: {
314        name: 'Linkswap',
315        website: 'https://linkswap.app',
316        governanceModel: '',
317      },
318    },
319    {
320      id: 'metacartel-ventures',
321      addresses: ['0x4570b4faf71e23942b8b9f934b47ccedf7540162'],
322      icon: 'QmRfpPMV471hsVE4Zz6dTxoAyoNmc2UZPjDr6X8o34QAZz',
323      iconType: 'image/jpeg',
324      metadata: {
325        name: 'MetaCartel Ventures',
326        website: 'https://metacartel.xyz',
327        governanceSite: 'https://app.daohaus.club/dao/0x1/0x4570b4faf71e23942b8b9f934b47ccedf7540162',
328      },
329    },
330    {
331      id: 'mstable',
332      addresses: [
333        '0x3dd46846eed8D147841AE162C8425c08BD8E1b41',
334        '0xfcf455d6eb48b3289a712c0b3bc3c7ee0b0ee4c6', // Funding subDAO
335        '0x67905d3e4fec0c85dce68195f66dc8eb32f59179', // Asset Management subDAO
336      ],
337      icon: 'QmTkxsvMnSPb7A2bPUxA4uJRwJefkyzFgGar5NVxV5UJjr',
338      metadata: {
339        name: 'mStable',
340        website: 'https://mstable.org',
341        governanceSite: 'https://snapshot.page/#/mstable',
342        governanceForum: 'https://forum.mstable.org',
343        governanceModel: '',
344      },
345    },
346    {
347      id: 'nexus',
348      addresses: ['0x586b9b2F8010b284A0197f392156f1A7Eb5e86e9'],
349      icon: 'QmWA5VaHWMH96mLmoaLKaxKVf86GLUJQVBp6BfaUoLH81g',
350      metadata: {
351        name: 'Nexus Mutual',
352        website: 'https://nexusmutual.io/',
353        governanceSite: 'https://app.nexusmutual.io/governance',
354        governanceForum: 'https://forum.nexusmutual.io/',
355        governanceModel: '',
356      },
357    },
358    {
359      id: 'nftx',
360      addresses: ['0x40d73df4f99bae688ce3c23a01022224fe16c7b2'],
361      icon: 'QmU4gtLcxZ4q3Vq27AU1hPdUSxi1o87UESwjNC8DXmCnpH',
362      iconType: 'image/png',
363      metadata: {
364        name: 'NFTX',
365        website: 'https://nftx.io/',
366        governanceForum: 'https://forum.nftx.org/',
367        governanceSite: 'https://client.aragon.org/#/nftx/0xf20e3d05813ce460d42994d26eb4b7d85381d117/',
368      },
369    },
370    {
371      id: 'nouns',
372      addresses: ['0x0BC3807Ec262cB779b38D65b38158acC3bfedE10'],
373      icon: 'QmXCYbSzPAWTUiNuHaFt6AxRkwhq9ho1cDfJ2Vc1Yeb4Js',
374      metadata: {
375        name: 'Nouns DAO',
376        website: 'https://nouns.wtf',
377        governanceSite: 'https://nouns.wtf/vote',
378        governanceForum: 'https://discourse.nouns.wtf',
379      },
380    },
381    {
382      id: 'olympus',
383      addresses: [
384        '0x9A315BdF513367C0377FB36545857d12e85813Ef', // Olympus Treasury v2
385        '0x31F8Cc382c9898b273eff4e0b7626a6987C846E8', // Olympus Treasury v1
386        '0xde7b85f52577b113181921a7aa8fc0c22e309475', // Frax Allocator
387        '0xdbf0683fc4fc8ac11e64a6817d3285ec4f2fc42d', // Convex Allocator - Updated
388        '0x3df5a355457db3a4b5c744b8623a7721bf56df78', // Convex Allocator - Old
389        '0xdFC95aaf0a107DaAe2b350458DED4b7906E7f728', // Convex Holder
390        '0x0316508a1b5abf1CAe42912Dc2C8B9774b682fFC', // Onsen Allocator
391        '0x0e1177e47151Be72e5992E0975000E73Ab5fd9D4', // Aave Allocator
392      ],
393      icon: 'QmbtqUKno2FATf4RFPXAvWCamYrRT6UAKurKiNCuMCJw1J',
394      snapshotId: 'olympusdao.eth',
395      metadata: {
396        name: 'Olympus DAO',
397        website: 'https://olympusdao.finance',
398      },
399    },
400    {
401      id: 'paraswap',
402      addresses: [
403        '0x5a61d9214adefd7669428a03a4e8734a00e9f464', // Main Paraswap MultiSig
404        '0x6DF5e7b236a4F14e08C27E09202B4d1865905e9b', // Operational MultiSig
405      ],
406      vestingAddresses: [
407        '0x6a3CCa09b1C2B83834124c8646a68b9Bad2a07b9', // PSP Reserve Vesting Contract Y1
408        '0x348aa814a72970e76d5756a2cda16e7e8f245aab', // PSP Reserve Vesting Contract Y2
409        '0xb074094d2e858b25d129989644248f9f6946e081', // PSP Reserve Vesting Contract Y3
410        '0x51d2f2c65d043118eb4329fcbc738943f494609f', // PSP Reserve Vesting Contract Y4
411      ],
412      icon: 'QmaxpaLjvz27n3t4piqqR8upEAxmUbX8mixo2cPmR56mbw',
413      iconType: 'image/jpeg',
414      snapshotId: 'paraswap-dao.eth',
415      metadata: {
416        name: 'Paraswap',
417        website: 'https://paraswap.io/',
418        governanceForum: 'https://gov.paraswap.network/',
419      },
420    },
421    {
422      id: 'piedao',
423      addresses: ['0x3bcf3db69897125aa61496fc8a8b55a5e3f245d5'],
424      icon: 'QmahuQPfbqJEE9tXZKfubWPviy5wxesdfBbdUXhf8JRcN4',
425      snapshotId: 'piedao.eth',
426      metadata: {
427        name: 'PieDAO',
428        website: 'https://piedao.org',
429        governanceForum: 'https://forum.piedao.org/',
430      },
431    },
432    {
433      id: 'perpetual',
434      addresses: ['0xd374225abb84dca94e121f0b8a06b93e39ad7a99'],
435      icon: 'QmQf19AsfwAAozFtvhtQmzX4aowJeLDyEB9KV52z5ZKycZ',
436      iconType: 'image/png',
437      snapshotId: 'vote-perp.eth',
438      metadata: {
439        name: 'Perpetual Protocol',
440        website: 'https://www.perp.com/',
441        governanceForum: 'https://gov.perp.fi/',
442      },
443    },
444    {
445      id: 'pleaserdao',
446      addresses: ['0xf5c27c6fe782cbb5c85989ea3e75754748153459'],
447      icon: 'QmQDpmGaDJey2nDzziNUdoVqy76FCqg5XsP1y8ciTpwq7N',
448      iconType: 'image/jpg',
449      metadata: {
450        name: 'PleaserDAO',
451        website: 'https://pleasr.org/',
452      },
453    },
454    {
455      id: 'primedao',
456      addresses: ['0x567d220B0169836cBF351DF70A9c517096ec9De7'],
457      icon: 'QmeYo2DNFPDqYQdDJNwbcHn4zr1eQUTh6zQQapeiRj4HyK',
458      iconType: 'image/png',
459      snapshotId: 'primexyz.eth',
460      metadata: {
461        name: 'PrimeDAO',
462        website: 'https://www.prime.xyz/',
463        governanceForum: 'https://forum.prime.xyz/',
464      },
465    },
466    {
467      id: 'radicle',
468      addresses: ['0x8da8f82d2bbdd896822de723f55d6edf416130ba'],
469      icon: 'QmWQrRGqXBoyMixvVXDfAFEashjX6dj1JZq27qEcAXDoCC',
470      iconType: 'image/jpg',
471      snapshotId: 'gov.radicle.eth',
472      metadata: {
473        name: 'Radicle',
474        website: 'https://radicle.xyz/',
475        governanceForum: 'https://radicle.community/',
476      },
477    },
478    {
479      id: 'rarible',
480      addresses: [
481        '0xfdff6b56cce39482032b27140252ff4f16432785', // RARI treasury
482        '0x1cf0df2a5a20cd61d68d4489eebbf85b8d39e18a'  // other treasury
483      ],
484      icon: 'QmcpJWurowq4eQqCU9mbsxmd7yYfvpgdmv14yz9nDXiRya',
485      iconType: 'image/jpeg',
486      snapshotId: 'rarible.eth',
487      metadata: {
488        name: 'Rarible',
489        website: 'https://rarible.com/',
490        governanceForum: 'https://gov.rarible.org/',
491      },
492    },
493    {
494      id: 'shapeshift',
495      addresses: ['0x90A48D5CF7343B08dA12E067680B4C6dbfE551Be'],
496      nativeTokens: ['0xc770EEfAd204B5180dF6a14Ee197D99d808ee52d'],
497      icon: 'QmWTua7CSYcgb1YZCZZFQ2CvHxJxFyTK3SC1V86czCBTjL',
498      snapshotId: 'shapeshiftdao.eth',
499      metadata: {
500        name: 'ShapeShift',
501        website: 'https://shapeshift.com',
502        governanceForum: 'https://forum.shapeshift.com',
503      },
504    },
505    {
506      id: 'sushi',
507      addresses: ['0xe94b5eec1fa96ceecbd33ef5baa8d00e4493f4f3'],
508      icon: 'QmVAko4auvE2NDr8kfnovVqTqujrJ69YrUZQFPZeREMWk5',
509      snapshotId: 'sushigov.eth',
510      metadata: {
511        name: 'SushiSwap',
512        website: 'https://sushi.com',
513        governanceForum: 'https://forum.sushi.com/',
514        governanceModel: '',
515      },
516    },
517    {
518      id: 'synthetix',
519      addresses: [
520        '0xEb3107117FEAd7de89Cd14D463D340A2E6917769', // synthetix DAO
521        '0x86626E1BbBd0ce95ED52e0C5E19f371a6640B591', // grants DAO
522        '0x99f4176ee457afedffcb1839c7ab7a030a5e4a92', // treasury council
523      ],
524      icon: 'QmYPqFXTqYcynD5hT9sZbsoPZXbvjSfL7WWQPL7EwYAyE5',
525      metadata: {
526        name: 'Synthetix',
527        website: 'https://synthetix.io',
528        governanceSite: 'https://staking.synthetix.io/gov',
529        governanceForum: 'https://research.synthetix.io',
530        governanceModel: '',
531      },
532    },
533    {
534        id: 'tempus',
535        addresses: [
536            '0xf41f9fC0B622Eb112445fD7b32fc5190d0c0D3f4', // Treasury
537        ],
538        vestingAddresses: [
539            '0xCa65E71EE7Fb8E85eDe0E7Ef30F029efa8FE4a08', // Vesting Contract
540        ],
541        icon: 'QmWqzVRqhKxG28DqdBDdUbBDXnzE6tP1ymgGhH6SAkaBM4',
542        snapshotId: 'tempusgov.eth',
543        metadata: {
544            name: 'Tempus',
545            website: 'https://tempus.finance/',
546            governanceSite: 'https://vote.tempus.finance/',
547            governanceForum: 'https://forum.tempus.finance/',
548        },
549    },
550    {
551      id: 'tornado',
552      addresses: ['0x5efda50f22d34F262c29268506C5Fa42cB56A1Ce'],
553      vestingAddresses: ['0x179f48C78f57A3A78f0608cC9197B8972921d1D2'],
554      icon: 'QmeUzPPCdpqEYArWyMdUVZJk4GUmuR4TAkK6U4eb9vZDPa',
555      metadata: {
556        name: 'Tornado Cash',
557        website: 'https://tornado.cash',
558        governanceSite: 'https://app.tornado.cash/governance',
559        governanceForum: 'https://torn.community',
560        governanceModel: '',
561      },
562    },
563    {
564      id: 'uniswap',
565      addresses: [
566        '0x1a9c8182c09f50c8318d769245bea52c32be35bc', // treasury
567      ],
568      vestingAddresses: [
569        '0x4750c43867ef5f89869132eccf19b9b6c4286e1a',
570        '0xe3953d9d317b834592ab58ab2c7a6ad22b54075d',
571        '0x4b4e140d1f131fdad6fb59c13af796fd194e4135',
572        '0x3d30b1ab88d487b0f3061f40de76845bec3f1e94',
573      ],
574      icon: 'QmPXoiG66a9gCDX1NX51crWV7UAijoFd5wycHrfRKM6Y1n',
575      metadata: {
576        name: 'Uniswap',
577        website: 'https://uniswap.org',
578        governanceSite: 'https://app.uniswap.org/#/vote',
579        governanceForum: 'https://gov.uniswap.org',
580        governanceModel: '',
581      },
582      getProposals: async (sdk: Context) => {
583        const query = `{
584          proposals(
585            first: 5,
586            orderBy: creationTime,
587            orderDirection: desc
588          ) {
589            id
590            description
591            creationTime
592            status
593          }
594        }`
595        const { proposals } = await sdk.graph.query('arr00/uniswap-governance-v3', query);
596        return proposals.map((proposal: any) => ({
597          title: proposal.description.split(/\n|  /)[0],
598          start: proposal.creationTime,
599          state: proposal.status,
600          link: `https://app.uniswap.org/#/vote/${proposal.id.replace('.', '/')}`,
601        }))
602      }
603    },
604    {
605      id: 'unslashed',
606      addresses: ['0xf5be8b4c82b8a681bacf357cfb712ab9e9296cb2'],
607      icon: 'QmUjoauefQRJZCoEbDL7wRQYGkr4FbpYfHu4HC7LLJ4Qmc',
608      iconType: 'image/jpg',
609      snapshotId: 'unslashed.eth',
610      metadata: {
611        name: 'Unslashed Finance',
612        website: 'https://unslashed.finance/',
613        governanceForum: 'https://forum.unslashed.finance/',
614      },
615    },
616    {
617      id: 'yam',
618      addresses: [
619        '0x97990B693835da58A281636296D2Bf02787DEa17', // treasury
620        '0xd67c05523d8ec1c60760fd017ef006b9f6e496d0', // sushiTreasury
621        '0x205cc7463267861002b27021c7108bc230603d0f', // stakedDPI
622        '0xd67c05523d8ec1c60760fd017ef006b9f6e496d0', // randomHoldings
623      ],
624      icon: 'QmcPjtA1Q9QhnAeruXkrsYU3HZ5b8sm3eU78VUjHDXhior',
625      iconType: 'image/png',
626      snapshotId: 'yam',
627      metadata: {
628        name: 'Yam Finance',
629        website: 'https://yam.finance',
630        governanceForum: 'https://forum.yam.finance',
631        governanceModel: '',
632      },
633    },
634    {
635      id: 'yearn',
636      addresses: [
637        '0xfeb4acf3df3cdea7399794d0869ef76a6efaff52', // ychad.eth
638        '0x93A62dA5a14C80f265DAbC077fCEE437B1a0Efde', // treasury.ychad.eth
639        '0xd42e1cb8b98382df7db43e0f09dfe57365659d16', // DSProxy
640      ],
641      icon: 'QmYGdvDA6jM5AV1yBvQKUAz74wqGeBUwVohBWEgbwqXpjk',
642      snapshotId: 'yearn',
643      metadata: {
644        name: 'Yearn',
645        website: 'https://yearn.finance',
646        governanceForum: 'https://gov.yearn.finance',
647        governanceModel: '',
648      },
649    },
650  ];
651
652  async function getSnapshotProposals(id: string) {
653    const response = await sdk.http.post('https://hub.snapshot.org/graphql', {
654      query: `query Proposals($space: String!) {
655        proposals (
656          first: 5,
657          skip: 0,
658          where: { space_in: [$space] },
659          orderBy: "created",
660          orderDirection: desc
661        ) {
662          id
663          title
664          start
665          end
666          state
667          link
668        }
669      }`,
670      variables: { space: id },
671    });
672
673    return response.data.proposals;
674  }
675
676  const portfolioCache: { [addresses: string]: Promise<any> } = {}
677  const getPortfolio = (addresses: string[]): Promise<any> => {
678    const key = addresses.join(',')
679    if (!portfolioCache[key]) {
680      portfolioCache[key] = sdk.http.get(`https://zerion-api.vercel.app/api/portfolio/${key}`)
681        .then(result => {
682          if (result.success) {
683            return result.value
684          }
685          throw new Error(`Request to 'https://zerion-api.vercel.app/api/portfolio/${key}' failed: ${result.message}`)
686        });
687    }
688    return portfolioCache[key];
689  }
690
691  const createTreasuryLoader = (addresses: string[]) => async () => {
692    const portfolio = await getPortfolio(addresses)
693    return portfolio.totalValue
694  }
695
696  const createPortfolioLoader = (addresses: string[], vestingAddresses?: string[]) => async () => {
697    const [{ portfolio }, { portfolio: vestingPortfolio }] = await Promise.all([
698      getPortfolio(addresses),
699      vestingAddresses ? getPortfolio(vestingAddresses) : { portfolio: [] },
700    ]);
701
702    return [
703      ...portfolio,
704      ...vestingPortfolio.map((portfolioItem: any) => ({ ...portfolioItem, vesting: true }))
705    ];
706  };
707
708  for (const org of orgs) {
709    let recentProposals = async () => []
710    if (org.getProposals) {
711      recentProposals = () => org.getProposals!(sdk)
712    } else if (org.snapshotId) {
713      recentProposals = () => getSnapshotProposals(org.snapshotId!)
714    }
715
716    sdk.register({
717      id: org.id,
718      queries: {
719        currentTreasuryUSD: createTreasuryLoader([...org.addresses, ...(org.vestingAddresses || [])]),
720        currentLiquidTreasuryUSD: createTreasuryLoader(org.addresses),
721        currentTreasuryPortfolio: createPortfolioLoader(org.addresses, org.vestingAddresses),
722        recentProposals,
723      },
724      metadata: {
725        ...org.metadata,
726        governanceSite: org.snapshotId
727          ? `https://snapshot.org/#/${org.snapshotId}`
728          : org.governanceSite || null,
729        icon: org.icon ? sdk.ipfs.getDataURILoader(org.icon, org.iconType || 'image/svg+xml') : 0,
730        category: 'app',
731        treasuries: [...org.addresses, ...(org.vestingAddresses || [])],
732      },
733    });
734  }
735}
736

It's something off?

Report it to the discussion board on Discord, we will take care of it.

Adapter Info

Version

0.1.22

License

MIT

IPFS CID

QmevLP6Z3wvbkCYPscVjMTitgohF8MepVFMAPjuZtPs7vg

CID (source)

QmewVhtZVtnWY7pMP6ZcHqzVuphReRcmVZgT4fSjMBWwNR

Author

0xafD0659e7993bD4D820f17a2bb2e79205feaF9B9