Adapter

Simple Treasuries

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

Sub-Adapters 47

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)

Stakeborg DAO (stakeborg)

Stargate Finance (Stargate)

SushiSwap (sushi)

Synthetix (synthetix)

Tempus (tempus)

Tornado Cash (tornado)

Uniswap (uniswap)

Unslashed Finance (unslashed)

Yam Finance (yam)

Yearn (yearn)

Aura Finance (aura)

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.27';
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: 'stakeborg',
507      addresses: ['0xF0E1015C33dA062E53fEF545631e75eAD91a5456'],
508      nativeTokens: [
509        '0xDA0c94c73D127eE191955FB46bACd7FF999b2bcd',
510        '0x0acc0fee1d86d2cd5af372615bf59b298d50cd69'
511      ],
512      snapshotId: 'stakeborgdao.eth',
513      icon: 'QmPV95Fa5krahTh17aFTmdUSJcRT5WpVw45SL295LivTWd',
514      iconType: 'image/png',
515      metadata: {
516        name: 'Stakeborg DAO',
517        website: 'https://stakeborgdao.xyz/',
518        governanceForum: 'https://stakeborgdao.xyz/forums/'
519      }
520    },
521    {
522      id: 'Stargate',
523      addresses: [
524        '0x65bb797c2B9830d891D87288F029ed8dACc19705', // treasury on Ethereum
525        '0x6e690075eedBC52244Dd4822D9F7887d4f27442F', // treasury on BSC        
526        '0x2B065946d41ADf43BBc3BaF8118ae94Ed19D7A40', // treasury on Avalanche
527        '0x47290DE56E71DC6f46C26e50776fe86cc8b21656', // treasury on Polygon
528        '0x9CD50907aeb5D16F29Bddf7e1aBb10018Ee8717d', // treasury on Arbitrum       
529        '0x392AC17A9028515a3bFA6CCe51F8b70306C6bd43', // treasury on Optimism
530        '0x33B3639C51ABA98776673a42B95a02E444a4A9e5', // treasury on Fantom
531      ],
532      icon: 'QmatzgfJ9gKkEiMHft4vNTEfKvP2DGM1eavk1yPP5L3qCJ',
533      iconType: 'image/png',
534      snapshotId: 'stgdao.eth',
535      metadata: {
536        name: 'Stargate Finance',
537        website: 'https://stargate.finance',
538        governanceForum: 'https://commonwealth.im/stargatetoken',
539      }
540    },
541    {
542      id: 'sushi',
543      addresses: ['0xe94b5eec1fa96ceecbd33ef5baa8d00e4493f4f3'],
544      icon: 'QmVAko4auvE2NDr8kfnovVqTqujrJ69YrUZQFPZeREMWk5',
545      snapshotId: 'sushigov.eth',
546      metadata: {
547        name: 'SushiSwap',
548        website: 'https://sushi.com',
549        governanceForum: 'https://forum.sushi.com/',
550        governanceModel: '',
551      },
552    },
553    {
554      id: 'synthetix',
555      addresses: [
556        '0xEb3107117FEAd7de89Cd14D463D340A2E6917769', // synthetix DAO
557        '0x86626E1BbBd0ce95ED52e0C5E19f371a6640B591', // grants DAO
558        '0x99f4176ee457afedffcb1839c7ab7a030a5e4a92', // treasury council
559      ],
560      icon: 'QmYPqFXTqYcynD5hT9sZbsoPZXbvjSfL7WWQPL7EwYAyE5',
561      metadata: {
562        name: 'Synthetix',
563        website: 'https://synthetix.io',
564        governanceSite: 'https://staking.synthetix.io/gov',
565        governanceForum: 'https://research.synthetix.io',
566        governanceModel: '',
567      },
568    },
569    {
570        id: 'tempus',
571        addresses: [
572            '0xf41f9fC0B622Eb112445fD7b32fc5190d0c0D3f4', // Treasury
573        ],
574        vestingAddresses: [
575            '0xCa65E71EE7Fb8E85eDe0E7Ef30F029efa8FE4a08', // Vesting Contract
576        ],
577        icon: 'QmQTDzja23zxUd52KEE3ErVCvFLWdjH2RdmqTUR8hTaPZZ',
578        snapshotId: 'tempusgov.eth',
579        metadata: {
580            name: 'Tempus',
581            website: 'https://tempus.finance/',
582            governanceSite: 'https://vote.tempus.finance/',
583            governanceForum: 'https://forum.tempus.finance/',
584        },
585    },
586    {
587      id: 'tornado',
588      addresses: ['0x5efda50f22d34F262c29268506C5Fa42cB56A1Ce'],
589      vestingAddresses: ['0x179f48C78f57A3A78f0608cC9197B8972921d1D2'],
590      icon: 'QmeUzPPCdpqEYArWyMdUVZJk4GUmuR4TAkK6U4eb9vZDPa',
591      metadata: {
592        name: 'Tornado Cash',
593        website: 'https://tornado.cash',
594        governanceSite: 'https://app.tornado.cash/governance',
595        governanceForum: 'https://torn.community',
596        governanceModel: '',
597      },
598    },
599    {
600      id: 'uniswap',
601      addresses: [
602        '0x1a9c8182c09f50c8318d769245bea52c32be35bc', // treasury
603      ],
604      vestingAddresses: [
605        '0x4750c43867ef5f89869132eccf19b9b6c4286e1a',
606        '0xe3953d9d317b834592ab58ab2c7a6ad22b54075d',
607        '0x4b4e140d1f131fdad6fb59c13af796fd194e4135',
608        '0x3d30b1ab88d487b0f3061f40de76845bec3f1e94',
609      ],
610      icon: 'QmPXoiG66a9gCDX1NX51crWV7UAijoFd5wycHrfRKM6Y1n',
611      metadata: {
612        name: 'Uniswap',
613        website: 'https://uniswap.org',
614        governanceSite: 'https://app.uniswap.org/#/vote',
615        governanceForum: 'https://gov.uniswap.org',
616        governanceModel: '',
617      },
618      getProposals: async (sdk: Context) => {
619        const query = `{
620          proposals(
621            first: 5,
622            orderBy: creationTime,
623            orderDirection: desc
624          ) {
625            id
626            description
627            creationTime
628            status
629          }
630        }`
631        const { proposals } = await sdk.graph.query('arr00/uniswap-governance-v3', query);
632        return proposals.map((proposal: any) => ({
633          title: proposal.description.split(/\n|  /)[0],
634          start: proposal.creationTime,
635          state: proposal.status,
636          link: `https://app.uniswap.org/#/vote/${proposal.id.replace('.', '/')}`,
637        }))
638      }
639    },
640    {
641      id: 'unslashed',
642      addresses: ['0xf5be8b4c82b8a681bacf357cfb712ab9e9296cb2'],
643      icon: 'QmUjoauefQRJZCoEbDL7wRQYGkr4FbpYfHu4HC7LLJ4Qmc',
644      iconType: 'image/jpg',
645      snapshotId: 'unslashed.eth',
646      metadata: {
647        name: 'Unslashed Finance',
648        website: 'https://unslashed.finance/',
649        governanceForum: 'https://forum.unslashed.finance/',
650      },
651    },
652    {
653      id: 'yam',
654      addresses: [
655        '0x97990B693835da58A281636296D2Bf02787DEa17', // treasury
656        '0xd67c05523d8ec1c60760fd017ef006b9f6e496d0', // sushiTreasury
657        '0x205cc7463267861002b27021c7108bc230603d0f', // stakedDPI
658        '0xd67c05523d8ec1c60760fd017ef006b9f6e496d0', // randomHoldings
659      ],
660      icon: 'QmcPjtA1Q9QhnAeruXkrsYU3HZ5b8sm3eU78VUjHDXhior',
661      iconType: 'image/png',
662      snapshotId: 'yam',
663      metadata: {
664        name: 'Yam Finance',
665        website: 'https://yam.finance',
666        governanceForum: 'https://forum.yam.finance',
667        governanceModel: '',
668      },
669    },
670    {
671      id: 'yearn',
672      addresses: [
673        '0xfeb4acf3df3cdea7399794d0869ef76a6efaff52', // ychad.eth
674        '0x93A62dA5a14C80f265DAbC077fCEE437B1a0Efde', // treasury.ychad.eth
675        '0xd42e1cb8b98382df7db43e0f09dfe57365659d16', // DSProxy
676      ],
677      icon: 'QmYGdvDA6jM5AV1yBvQKUAz74wqGeBUwVohBWEgbwqXpjk',
678      snapshotId: 'yearn',
679      metadata: {
680        name: 'Yearn',
681        website: 'https://yearn.finance',
682        governanceForum: 'https://gov.yearn.finance',
683        governanceModel: '',
684      },
685    },
686    {
687      id: 'aura',
688      addresses: ['0xfc78f8e1af80a3bf5a1783bb59ed2d1b10f78ca9'],
689      icon: 'QmciKQazuPRpAoyQyjgzfrSisTKUwEok4i2tiKinVJhCCt',
690      iconType: 'image/png',
691      snapshotId: 'aurafinance.eth',
692      metadata: {
693        name: 'Aura Finance',
694        website: 'https://aura.finance/',
695        governanceForum: 'https://vote.aura.finance/',
696        governanceModel: '',
697      },
698    }
699  ];
700
701  async function getSnapshotProposals(id: string) {
702    const response = await sdk.http.post('https://hub.snapshot.org/graphql', {
703      query: `query Proposals($space: String!) {
704        proposals (
705          first: 5,
706          skip: 0,
707          where: { space_in: [$space] },
708          orderBy: "created",
709          orderDirection: desc
710        ) {
711          id
712          title
713          start
714          end
715          state
716          link
717        }
718      }`,
719      variables: { space: id },
720    });
721
722    return response.data.proposals;
723  }
724
725  const portfolioCache: { [addresses: string]: Promise<any> } = {}
726  const getPortfolio = (addresses: string[]): Promise<any> => {
727    const key = addresses.join(',')
728    if (!portfolioCache[key]) {
729      portfolioCache[key] = sdk.http.get(`https://zerion-api.vercel.app/api/portfolio/${key}`)
730        .then(result => {
731          if (result.success) {
732            return result.value
733          }
734          throw new Error(`Request to 'https://zerion-api.vercel.app/api/portfolio/${key}' failed: ${result.message}`)
735        });
736    }
737    return portfolioCache[key];
738  }
739
740  const createTreasuryLoader = (addresses: string[]) => async () => {
741    const portfolio = await getPortfolio(addresses)
742    return portfolio.totalValue
743  }
744
745  const createPortfolioLoader = (addresses: string[], vestingAddresses?: string[]) => async () => {
746    const [{ portfolio }, { portfolio: vestingPortfolio }] = await Promise.all([
747      getPortfolio(addresses),
748      vestingAddresses ? getPortfolio(vestingAddresses) : { portfolio: [] },
749    ]);
750
751    return [
752      ...portfolio,
753      ...vestingPortfolio.map((portfolioItem: any) => ({ ...portfolioItem, vesting: true }))
754    ];
755  };
756
757  for (const org of orgs) {
758    let recentProposals = async () => []
759    if (org.getProposals) {
760      recentProposals = () => org.getProposals!(sdk)
761    } else if (org.snapshotId) {
762      recentProposals = () => getSnapshotProposals(org.snapshotId!)
763    }
764
765    sdk.register({
766      id: org.id,
767      queries: {
768        currentTreasuryUSD: createTreasuryLoader([...org.addresses, ...(org.vestingAddresses || [])]),
769        currentLiquidTreasuryUSD: createTreasuryLoader(org.addresses),
770        currentTreasuryPortfolio: createPortfolioLoader(org.addresses, org.vestingAddresses),
771        recentProposals,
772      },
773      metadata: {
774        ...org.metadata,
775        governanceSite: org.snapshotId
776          ? `https://snapshot.org/#/${org.snapshotId}`
777          : org.governanceSite || null,
778        icon: org.icon ? sdk.ipfs.getDataURILoader(org.icon, org.iconType || 'image/svg+xml') : 0,
779        category: 'app',
780        treasuries: [...org.addresses, ...(org.vestingAddresses || [])],
781      },
782    });
783  }
784}
785

It's something off?

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

Adapter Info

Version

0.1.27

License

MIT

IPFS CID

QmeKio5DJfgyhAeiKQysvapd1ZJHcr8wuBU8waYtvn553s

CID (source)

QmRWb1Knn3YNYXJDezqXLdk6T5b6GvUWVe1eJU8aTnJq4j

Author

0x3000d9B2c0E6B9F97f30ABE379eaAa8A85A04afC