Архитектура мреже Протокола
Примена усаглашена са CPP-ом може повезати више ваучера и Тржница преко необавезних регистара, индекса, модула за понуде и проналажења путања на нивоу апликације. Свака Тржница остаје засебан трезор са сопственом ликвидношћу, власником, администратором проксија, подешавањима и зависностима.
Grassroots Economics Foundation управља јавном апликацијом на cosmolocal.credit. Други интерфејси и примене могу користити исти јавни протокол. Управљање апликацијом не чини GEF аутоматски власником, издаваоцем, Управником, примаоцем накнаде нити гарантом сваког уговора приказаног у наставку.
Појмови и речник објашњавају разлику између одговорних улога и техничких овлашћења.
Могуће путање и извршење
Заједничка имовина ствара могућу путању у графу, а не загарантовану руту. У овом примеру Ваучер A могао би да се размени за прелазну имовину у Тржници A, а затим та имовина за Ваучер B у Тржници B. Сваки корак и даље зависи од актуелног прихватања токена, ограничења Тржнице, расположиве залихе, подешавања понуда и накнада, стања оракла, одобрења, граница трансакције и извршења на мрежи.
SwapRouter само позива функције за понуде у Тржницама дуж предложене путање. Не држи средства, не одобрава токене и не извршава размене. Интегратор или усаглашена апликација може користити те понуде да састави уређени низ одобрења и позива Тржницама у потписаној групи позива паметног налога; то не значи да актуелна јавна апликација нуди вишекорачно извршење. Сваки корак се поравнава у новчанику пре него што тај новчаник достави прелазну имовину следећој Тржници, а интегратор може подесити да се цела група поништи ако један позив не успе.
Понуде су тренутни снимци. Успешно добијена понуда за путању и даље може пропасти или се другачије поравнати ако се релевантно стање промени пре извршења. Ограничена варијанта SwapPool.withdraw додаје заштите minAmountOut и deadline за један корак; интегратори морају одлучити како ће применити границе на целу путању.
Накнаде Тржнице остају у одговарајућој Тржници ради касније наплате. Свака протоколска накнада је додатна и током размене се непосредно преноси из те Тржнице њеном подешеном примаоцу протоколске накнаде.
Унутрашњи делови Тржнице
Регистар, Limiter, Quoter, политика накнада и контролор протоколске накнаде су необавезни. Без регистра сваки токен пролази проверу прихватања; без Limiter-а депозити нису ограничени; без Quoter-а Тржница користи једнакост сирових јединица; без модула накнада одговарајуће накнаде су нула.
Пет поља која се могу запечатити су feePolicy, feeAddress, quoter, tokenRegistry и tokenLimiter. Печат спречава актуелног власника Тржнице да замени ту адресу преко њеног подешавача, али не замрзава унутрашње стање зависности. Адреса protocolFeeController и режим feesDecoupled нису обухваћени тим печатима. Овлашћење администратора проксија да надогради Тржницу такође је одвојено од печаћења.
Власник уговора може повући расположиву ликвидност Тржнице на изабрану адресу. У режиму одвојених накнада прикупљене накнаде су изузете из тог пута, али овлашћење за повлачење преостале ликвидности и даље постоји. Учесници треба да провере власника, администратора проксија, контролоре зависности, стање печата, примаоце накнада и објављена правила Тржнице пре него што се ослоне на њу.
За концептуални модел иза ових уговора — укључујући избор, вредновање, ограничење, размену и управљање — погледајте Белу књигу.