GSN.adoc 166 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949
  1. :GSNRecipient: pass:normal[xref:GSN.adoc#GSNRecipient[`GSNRecipient`]]
  2. :xref-GSNRecipient: xref:GSN.adoc#GSNRecipient
  3. :GSNRecipient-_POST_RELAYED_CALL_MAX_GAS: pass:normal[xref:GSN.adoc#GSNRecipient-_POST_RELAYED_CALL_MAX_GAS-uint256[`GSNRecipient._POST_RELAYED_CALL_MAX_GAS`]]
  4. :xref-GSNRecipient-_POST_RELAYED_CALL_MAX_GAS-uint256: xref:GSN.adoc#GSNRecipient-_POST_RELAYED_CALL_MAX_GAS-uint256
  5. :GSNRecipient-getHubAddr: pass:normal[xref:GSN.adoc#GSNRecipient-getHubAddr--[`GSNRecipient.getHubAddr`]]
  6. :xref-GSNRecipient-getHubAddr--: xref:GSN.adoc#GSNRecipient-getHubAddr--
  7. :GSNRecipient-_upgradeRelayHub: pass:normal[xref:GSN.adoc#GSNRecipient-_upgradeRelayHub-address-[`GSNRecipient._upgradeRelayHub`]]
  8. :xref-GSNRecipient-_upgradeRelayHub-address-: xref:GSN.adoc#GSNRecipient-_upgradeRelayHub-address-
  9. :GSNRecipient-relayHubVersion: pass:normal[xref:GSN.adoc#GSNRecipient-relayHubVersion--[`GSNRecipient.relayHubVersion`]]
  10. :xref-GSNRecipient-relayHubVersion--: xref:GSN.adoc#GSNRecipient-relayHubVersion--
  11. :GSNRecipient-_withdrawDeposits: pass:normal[xref:GSN.adoc#GSNRecipient-_withdrawDeposits-uint256-address-payable-[`GSNRecipient._withdrawDeposits`]]
  12. :xref-GSNRecipient-_withdrawDeposits-uint256-address-payable-: xref:GSN.adoc#GSNRecipient-_withdrawDeposits-uint256-address-payable-
  13. :GSNRecipient-_msgSender: pass:normal[xref:GSN.adoc#GSNRecipient-_msgSender--[`GSNRecipient._msgSender`]]
  14. :xref-GSNRecipient-_msgSender--: xref:GSN.adoc#GSNRecipient-_msgSender--
  15. :GSNRecipient-_msgData: pass:normal[xref:GSN.adoc#GSNRecipient-_msgData--[`GSNRecipient._msgData`]]
  16. :xref-GSNRecipient-_msgData--: xref:GSN.adoc#GSNRecipient-_msgData--
  17. :GSNRecipient-preRelayedCall: pass:normal[xref:GSN.adoc#GSNRecipient-preRelayedCall-bytes-[`GSNRecipient.preRelayedCall`]]
  18. :xref-GSNRecipient-preRelayedCall-bytes-: xref:GSN.adoc#GSNRecipient-preRelayedCall-bytes-
  19. :GSNRecipient-_preRelayedCall: pass:normal[xref:GSN.adoc#GSNRecipient-_preRelayedCall-bytes-[`GSNRecipient._preRelayedCall`]]
  20. :xref-GSNRecipient-_preRelayedCall-bytes-: xref:GSN.adoc#GSNRecipient-_preRelayedCall-bytes-
  21. :GSNRecipient-postRelayedCall: pass:normal[xref:GSN.adoc#GSNRecipient-postRelayedCall-bytes-bool-uint256-bytes32-[`GSNRecipient.postRelayedCall`]]
  22. :xref-GSNRecipient-postRelayedCall-bytes-bool-uint256-bytes32-: xref:GSN.adoc#GSNRecipient-postRelayedCall-bytes-bool-uint256-bytes32-
  23. :GSNRecipient-_postRelayedCall: pass:normal[xref:GSN.adoc#GSNRecipient-_postRelayedCall-bytes-bool-uint256-bytes32-[`GSNRecipient._postRelayedCall`]]
  24. :xref-GSNRecipient-_postRelayedCall-bytes-bool-uint256-bytes32-: xref:GSN.adoc#GSNRecipient-_postRelayedCall-bytes-bool-uint256-bytes32-
  25. :GSNRecipient-_approveRelayedCall: pass:normal[xref:GSN.adoc#GSNRecipient-_approveRelayedCall--[`GSNRecipient._approveRelayedCall`]]
  26. :xref-GSNRecipient-_approveRelayedCall--: xref:GSN.adoc#GSNRecipient-_approveRelayedCall--
  27. :GSNRecipient-_approveRelayedCall: pass:normal[xref:GSN.adoc#GSNRecipient-_approveRelayedCall-bytes-[`GSNRecipient._approveRelayedCall`]]
  28. :xref-GSNRecipient-_approveRelayedCall-bytes-: xref:GSN.adoc#GSNRecipient-_approveRelayedCall-bytes-
  29. :GSNRecipient-_rejectRelayedCall: pass:normal[xref:GSN.adoc#GSNRecipient-_rejectRelayedCall-uint256-[`GSNRecipient._rejectRelayedCall`]]
  30. :xref-GSNRecipient-_rejectRelayedCall-uint256-: xref:GSN.adoc#GSNRecipient-_rejectRelayedCall-uint256-
  31. :GSNRecipient-_computeCharge: pass:normal[xref:GSN.adoc#GSNRecipient-_computeCharge-uint256-uint256-uint256-[`GSNRecipient._computeCharge`]]
  32. :xref-GSNRecipient-_computeCharge-uint256-uint256-uint256-: xref:GSN.adoc#GSNRecipient-_computeCharge-uint256-uint256-uint256-
  33. :GSNRecipient-RelayHubChanged: pass:normal[xref:GSN.adoc#GSNRecipient-RelayHubChanged-address-address-[`GSNRecipient.RelayHubChanged`]]
  34. :xref-GSNRecipient-RelayHubChanged-address-address-: xref:GSN.adoc#GSNRecipient-RelayHubChanged-address-address-
  35. :GSNRecipientERC20Fee: pass:normal[xref:GSN.adoc#GSNRecipientERC20Fee[`GSNRecipientERC20Fee`]]
  36. :xref-GSNRecipientERC20Fee: xref:GSN.adoc#GSNRecipientERC20Fee
  37. :GSNRecipientERC20Fee-constructor: pass:normal[xref:GSN.adoc#GSNRecipientERC20Fee-constructor-string-string-[`GSNRecipientERC20Fee.constructor`]]
  38. :xref-GSNRecipientERC20Fee-constructor-string-string-: xref:GSN.adoc#GSNRecipientERC20Fee-constructor-string-string-
  39. :GSNRecipientERC20Fee-token: pass:normal[xref:GSN.adoc#GSNRecipientERC20Fee-token--[`GSNRecipientERC20Fee.token`]]
  40. :xref-GSNRecipientERC20Fee-token--: xref:GSN.adoc#GSNRecipientERC20Fee-token--
  41. :GSNRecipientERC20Fee-_mint: pass:normal[xref:GSN.adoc#GSNRecipientERC20Fee-_mint-address-uint256-[`GSNRecipientERC20Fee._mint`]]
  42. :xref-GSNRecipientERC20Fee-_mint-address-uint256-: xref:GSN.adoc#GSNRecipientERC20Fee-_mint-address-uint256-
  43. :GSNRecipientERC20Fee-acceptRelayedCall: pass:normal[xref:GSN.adoc#GSNRecipientERC20Fee-acceptRelayedCall-address-address-bytes-uint256-uint256-uint256-uint256-bytes-uint256-[`GSNRecipientERC20Fee.acceptRelayedCall`]]
  44. :xref-GSNRecipientERC20Fee-acceptRelayedCall-address-address-bytes-uint256-uint256-uint256-uint256-bytes-uint256-: xref:GSN.adoc#GSNRecipientERC20Fee-acceptRelayedCall-address-address-bytes-uint256-uint256-uint256-uint256-bytes-uint256-
  45. :GSNRecipientERC20Fee-_preRelayedCall: pass:normal[xref:GSN.adoc#GSNRecipientERC20Fee-_preRelayedCall-bytes-[`GSNRecipientERC20Fee._preRelayedCall`]]
  46. :xref-GSNRecipientERC20Fee-_preRelayedCall-bytes-: xref:GSN.adoc#GSNRecipientERC20Fee-_preRelayedCall-bytes-
  47. :GSNRecipientERC20Fee-_postRelayedCall: pass:normal[xref:GSN.adoc#GSNRecipientERC20Fee-_postRelayedCall-bytes-bool-uint256-bytes32-[`GSNRecipientERC20Fee._postRelayedCall`]]
  48. :xref-GSNRecipientERC20Fee-_postRelayedCall-bytes-bool-uint256-bytes32-: xref:GSN.adoc#GSNRecipientERC20Fee-_postRelayedCall-bytes-bool-uint256-bytes32-
  49. :__unstable__ERC20Owned: pass:normal[xref:GSN.adoc#__unstable__ERC20Owned[`__unstable__ERC20Owned`]]
  50. :xref-__unstable__ERC20Owned: xref:GSN.adoc#__unstable__ERC20Owned
  51. :__unstable__ERC20Owned-constructor: pass:normal[xref:GSN.adoc#__unstable__ERC20Owned-constructor-string-string-[`__unstable__ERC20Owned.constructor`]]
  52. :xref-__unstable__ERC20Owned-constructor-string-string-: xref:GSN.adoc#__unstable__ERC20Owned-constructor-string-string-
  53. :__unstable__ERC20Owned-mint: pass:normal[xref:GSN.adoc#__unstable__ERC20Owned-mint-address-uint256-[`__unstable__ERC20Owned.mint`]]
  54. :xref-__unstable__ERC20Owned-mint-address-uint256-: xref:GSN.adoc#__unstable__ERC20Owned-mint-address-uint256-
  55. :__unstable__ERC20Owned-allowance: pass:normal[xref:GSN.adoc#__unstable__ERC20Owned-allowance-address-address-[`__unstable__ERC20Owned.allowance`]]
  56. :xref-__unstable__ERC20Owned-allowance-address-address-: xref:GSN.adoc#__unstable__ERC20Owned-allowance-address-address-
  57. :__unstable__ERC20Owned-_approve: pass:normal[xref:GSN.adoc#__unstable__ERC20Owned-_approve-address-address-uint256-[`__unstable__ERC20Owned._approve`]]
  58. :xref-__unstable__ERC20Owned-_approve-address-address-uint256-: xref:GSN.adoc#__unstable__ERC20Owned-_approve-address-address-uint256-
  59. :__unstable__ERC20Owned-transferFrom: pass:normal[xref:GSN.adoc#__unstable__ERC20Owned-transferFrom-address-address-uint256-[`__unstable__ERC20Owned.transferFrom`]]
  60. :xref-__unstable__ERC20Owned-transferFrom-address-address-uint256-: xref:GSN.adoc#__unstable__ERC20Owned-transferFrom-address-address-uint256-
  61. :GSNRecipientSignature: pass:normal[xref:GSN.adoc#GSNRecipientSignature[`GSNRecipientSignature`]]
  62. :xref-GSNRecipientSignature: xref:GSN.adoc#GSNRecipientSignature
  63. :GSNRecipientSignature-constructor: pass:normal[xref:GSN.adoc#GSNRecipientSignature-constructor-address-[`GSNRecipientSignature.constructor`]]
  64. :xref-GSNRecipientSignature-constructor-address-: xref:GSN.adoc#GSNRecipientSignature-constructor-address-
  65. :GSNRecipientSignature-acceptRelayedCall: pass:normal[xref:GSN.adoc#GSNRecipientSignature-acceptRelayedCall-address-address-bytes-uint256-uint256-uint256-uint256-bytes-uint256-[`GSNRecipientSignature.acceptRelayedCall`]]
  66. :xref-GSNRecipientSignature-acceptRelayedCall-address-address-bytes-uint256-uint256-uint256-uint256-bytes-uint256-: xref:GSN.adoc#GSNRecipientSignature-acceptRelayedCall-address-address-bytes-uint256-uint256-uint256-uint256-bytes-uint256-
  67. :GSNRecipientSignature-_preRelayedCall: pass:normal[xref:GSN.adoc#GSNRecipientSignature-_preRelayedCall-bytes-[`GSNRecipientSignature._preRelayedCall`]]
  68. :xref-GSNRecipientSignature-_preRelayedCall-bytes-: xref:GSN.adoc#GSNRecipientSignature-_preRelayedCall-bytes-
  69. :GSNRecipientSignature-_postRelayedCall: pass:normal[xref:GSN.adoc#GSNRecipientSignature-_postRelayedCall-bytes-bool-uint256-bytes32-[`GSNRecipientSignature._postRelayedCall`]]
  70. :xref-GSNRecipientSignature-_postRelayedCall-bytes-bool-uint256-bytes32-: xref:GSN.adoc#GSNRecipientSignature-_postRelayedCall-bytes-bool-uint256-bytes32-
  71. :IRelayHub: pass:normal[xref:GSN.adoc#IRelayHub[`IRelayHub`]]
  72. :xref-IRelayHub: xref:GSN.adoc#IRelayHub
  73. :IRelayHub-stake: pass:normal[xref:GSN.adoc#IRelayHub-stake-address-uint256-[`IRelayHub.stake`]]
  74. :xref-IRelayHub-stake-address-uint256-: xref:GSN.adoc#IRelayHub-stake-address-uint256-
  75. :IRelayHub-registerRelay: pass:normal[xref:GSN.adoc#IRelayHub-registerRelay-uint256-string-[`IRelayHub.registerRelay`]]
  76. :xref-IRelayHub-registerRelay-uint256-string-: xref:GSN.adoc#IRelayHub-registerRelay-uint256-string-
  77. :IRelayHub-removeRelayByOwner: pass:normal[xref:GSN.adoc#IRelayHub-removeRelayByOwner-address-[`IRelayHub.removeRelayByOwner`]]
  78. :xref-IRelayHub-removeRelayByOwner-address-: xref:GSN.adoc#IRelayHub-removeRelayByOwner-address-
  79. :IRelayHub-unstake: pass:normal[xref:GSN.adoc#IRelayHub-unstake-address-[`IRelayHub.unstake`]]
  80. :xref-IRelayHub-unstake-address-: xref:GSN.adoc#IRelayHub-unstake-address-
  81. :IRelayHub-getRelay: pass:normal[xref:GSN.adoc#IRelayHub-getRelay-address-[`IRelayHub.getRelay`]]
  82. :xref-IRelayHub-getRelay-address-: xref:GSN.adoc#IRelayHub-getRelay-address-
  83. :IRelayHub-depositFor: pass:normal[xref:GSN.adoc#IRelayHub-depositFor-address-[`IRelayHub.depositFor`]]
  84. :xref-IRelayHub-depositFor-address-: xref:GSN.adoc#IRelayHub-depositFor-address-
  85. :IRelayHub-balanceOf: pass:normal[xref:GSN.adoc#IRelayHub-balanceOf-address-[`IRelayHub.balanceOf`]]
  86. :xref-IRelayHub-balanceOf-address-: xref:GSN.adoc#IRelayHub-balanceOf-address-
  87. :IRelayHub-withdraw: pass:normal[xref:GSN.adoc#IRelayHub-withdraw-uint256-address-payable-[`IRelayHub.withdraw`]]
  88. :xref-IRelayHub-withdraw-uint256-address-payable-: xref:GSN.adoc#IRelayHub-withdraw-uint256-address-payable-
  89. :IRelayHub-canRelay: pass:normal[xref:GSN.adoc#IRelayHub-canRelay-address-address-address-bytes-uint256-uint256-uint256-uint256-bytes-bytes-[`IRelayHub.canRelay`]]
  90. :xref-IRelayHub-canRelay-address-address-address-bytes-uint256-uint256-uint256-uint256-bytes-bytes-: xref:GSN.adoc#IRelayHub-canRelay-address-address-address-bytes-uint256-uint256-uint256-uint256-bytes-bytes-
  91. :IRelayHub-relayCall: pass:normal[xref:GSN.adoc#IRelayHub-relayCall-address-address-bytes-uint256-uint256-uint256-uint256-bytes-bytes-[`IRelayHub.relayCall`]]
  92. :xref-IRelayHub-relayCall-address-address-bytes-uint256-uint256-uint256-uint256-bytes-bytes-: xref:GSN.adoc#IRelayHub-relayCall-address-address-bytes-uint256-uint256-uint256-uint256-bytes-bytes-
  93. :IRelayHub-requiredGas: pass:normal[xref:GSN.adoc#IRelayHub-requiredGas-uint256-[`IRelayHub.requiredGas`]]
  94. :xref-IRelayHub-requiredGas-uint256-: xref:GSN.adoc#IRelayHub-requiredGas-uint256-
  95. :IRelayHub-maxPossibleCharge: pass:normal[xref:GSN.adoc#IRelayHub-maxPossibleCharge-uint256-uint256-uint256-[`IRelayHub.maxPossibleCharge`]]
  96. :xref-IRelayHub-maxPossibleCharge-uint256-uint256-uint256-: xref:GSN.adoc#IRelayHub-maxPossibleCharge-uint256-uint256-uint256-
  97. :IRelayHub-penalizeRepeatedNonce: pass:normal[xref:GSN.adoc#IRelayHub-penalizeRepeatedNonce-bytes-bytes-bytes-bytes-[`IRelayHub.penalizeRepeatedNonce`]]
  98. :xref-IRelayHub-penalizeRepeatedNonce-bytes-bytes-bytes-bytes-: xref:GSN.adoc#IRelayHub-penalizeRepeatedNonce-bytes-bytes-bytes-bytes-
  99. :IRelayHub-penalizeIllegalTransaction: pass:normal[xref:GSN.adoc#IRelayHub-penalizeIllegalTransaction-bytes-bytes-[`IRelayHub.penalizeIllegalTransaction`]]
  100. :xref-IRelayHub-penalizeIllegalTransaction-bytes-bytes-: xref:GSN.adoc#IRelayHub-penalizeIllegalTransaction-bytes-bytes-
  101. :IRelayHub-getNonce: pass:normal[xref:GSN.adoc#IRelayHub-getNonce-address-[`IRelayHub.getNonce`]]
  102. :xref-IRelayHub-getNonce-address-: xref:GSN.adoc#IRelayHub-getNonce-address-
  103. :IRelayHub-Staked: pass:normal[xref:GSN.adoc#IRelayHub-Staked-address-uint256-uint256-[`IRelayHub.Staked`]]
  104. :xref-IRelayHub-Staked-address-uint256-uint256-: xref:GSN.adoc#IRelayHub-Staked-address-uint256-uint256-
  105. :IRelayHub-RelayAdded: pass:normal[xref:GSN.adoc#IRelayHub-RelayAdded-address-address-uint256-uint256-uint256-string-[`IRelayHub.RelayAdded`]]
  106. :xref-IRelayHub-RelayAdded-address-address-uint256-uint256-uint256-string-: xref:GSN.adoc#IRelayHub-RelayAdded-address-address-uint256-uint256-uint256-string-
  107. :IRelayHub-RelayRemoved: pass:normal[xref:GSN.adoc#IRelayHub-RelayRemoved-address-uint256-[`IRelayHub.RelayRemoved`]]
  108. :xref-IRelayHub-RelayRemoved-address-uint256-: xref:GSN.adoc#IRelayHub-RelayRemoved-address-uint256-
  109. :IRelayHub-Unstaked: pass:normal[xref:GSN.adoc#IRelayHub-Unstaked-address-uint256-[`IRelayHub.Unstaked`]]
  110. :xref-IRelayHub-Unstaked-address-uint256-: xref:GSN.adoc#IRelayHub-Unstaked-address-uint256-
  111. :IRelayHub-Deposited: pass:normal[xref:GSN.adoc#IRelayHub-Deposited-address-address-uint256-[`IRelayHub.Deposited`]]
  112. :xref-IRelayHub-Deposited-address-address-uint256-: xref:GSN.adoc#IRelayHub-Deposited-address-address-uint256-
  113. :IRelayHub-Withdrawn: pass:normal[xref:GSN.adoc#IRelayHub-Withdrawn-address-address-uint256-[`IRelayHub.Withdrawn`]]
  114. :xref-IRelayHub-Withdrawn-address-address-uint256-: xref:GSN.adoc#IRelayHub-Withdrawn-address-address-uint256-
  115. :IRelayHub-CanRelayFailed: pass:normal[xref:GSN.adoc#IRelayHub-CanRelayFailed-address-address-address-bytes4-uint256-[`IRelayHub.CanRelayFailed`]]
  116. :xref-IRelayHub-CanRelayFailed-address-address-address-bytes4-uint256-: xref:GSN.adoc#IRelayHub-CanRelayFailed-address-address-address-bytes4-uint256-
  117. :IRelayHub-TransactionRelayed: pass:normal[xref:GSN.adoc#IRelayHub-TransactionRelayed-address-address-address-bytes4-enum-IRelayHub-RelayCallStatus-uint256-[`IRelayHub.TransactionRelayed`]]
  118. :xref-IRelayHub-TransactionRelayed-address-address-address-bytes4-enum-IRelayHub-RelayCallStatus-uint256-: xref:GSN.adoc#IRelayHub-TransactionRelayed-address-address-address-bytes4-enum-IRelayHub-RelayCallStatus-uint256-
  119. :IRelayHub-Penalized: pass:normal[xref:GSN.adoc#IRelayHub-Penalized-address-address-uint256-[`IRelayHub.Penalized`]]
  120. :xref-IRelayHub-Penalized-address-address-uint256-: xref:GSN.adoc#IRelayHub-Penalized-address-address-uint256-
  121. :IRelayRecipient: pass:normal[xref:GSN.adoc#IRelayRecipient[`IRelayRecipient`]]
  122. :xref-IRelayRecipient: xref:GSN.adoc#IRelayRecipient
  123. :IRelayRecipient-getHubAddr: pass:normal[xref:GSN.adoc#IRelayRecipient-getHubAddr--[`IRelayRecipient.getHubAddr`]]
  124. :xref-IRelayRecipient-getHubAddr--: xref:GSN.adoc#IRelayRecipient-getHubAddr--
  125. :IRelayRecipient-acceptRelayedCall: pass:normal[xref:GSN.adoc#IRelayRecipient-acceptRelayedCall-address-address-bytes-uint256-uint256-uint256-uint256-bytes-uint256-[`IRelayRecipient.acceptRelayedCall`]]
  126. :xref-IRelayRecipient-acceptRelayedCall-address-address-bytes-uint256-uint256-uint256-uint256-bytes-uint256-: xref:GSN.adoc#IRelayRecipient-acceptRelayedCall-address-address-bytes-uint256-uint256-uint256-uint256-bytes-uint256-
  127. :IRelayRecipient-preRelayedCall: pass:normal[xref:GSN.adoc#IRelayRecipient-preRelayedCall-bytes-[`IRelayRecipient.preRelayedCall`]]
  128. :xref-IRelayRecipient-preRelayedCall-bytes-: xref:GSN.adoc#IRelayRecipient-preRelayedCall-bytes-
  129. :IRelayRecipient-postRelayedCall: pass:normal[xref:GSN.adoc#IRelayRecipient-postRelayedCall-bytes-bool-uint256-bytes32-[`IRelayRecipient.postRelayedCall`]]
  130. :xref-IRelayRecipient-postRelayedCall-bytes-bool-uint256-bytes32-: xref:GSN.adoc#IRelayRecipient-postRelayedCall-bytes-bool-uint256-bytes32-
  131. :AccessControl: pass:normal[xref:access.adoc#AccessControl[`AccessControl`]]
  132. :xref-AccessControl: xref:access.adoc#AccessControl
  133. :AccessControl-DEFAULT_ADMIN_ROLE: pass:normal[xref:access.adoc#AccessControl-DEFAULT_ADMIN_ROLE-bytes32[`AccessControl.DEFAULT_ADMIN_ROLE`]]
  134. :xref-AccessControl-DEFAULT_ADMIN_ROLE-bytes32: xref:access.adoc#AccessControl-DEFAULT_ADMIN_ROLE-bytes32
  135. :AccessControl-hasRole: pass:normal[xref:access.adoc#AccessControl-hasRole-bytes32-address-[`AccessControl.hasRole`]]
  136. :xref-AccessControl-hasRole-bytes32-address-: xref:access.adoc#AccessControl-hasRole-bytes32-address-
  137. :AccessControl-getRoleMemberCount: pass:normal[xref:access.adoc#AccessControl-getRoleMemberCount-bytes32-[`AccessControl.getRoleMemberCount`]]
  138. :xref-AccessControl-getRoleMemberCount-bytes32-: xref:access.adoc#AccessControl-getRoleMemberCount-bytes32-
  139. :AccessControl-getRoleMember: pass:normal[xref:access.adoc#AccessControl-getRoleMember-bytes32-uint256-[`AccessControl.getRoleMember`]]
  140. :xref-AccessControl-getRoleMember-bytes32-uint256-: xref:access.adoc#AccessControl-getRoleMember-bytes32-uint256-
  141. :AccessControl-getRoleAdmin: pass:normal[xref:access.adoc#AccessControl-getRoleAdmin-bytes32-[`AccessControl.getRoleAdmin`]]
  142. :xref-AccessControl-getRoleAdmin-bytes32-: xref:access.adoc#AccessControl-getRoleAdmin-bytes32-
  143. :AccessControl-grantRole: pass:normal[xref:access.adoc#AccessControl-grantRole-bytes32-address-[`AccessControl.grantRole`]]
  144. :xref-AccessControl-grantRole-bytes32-address-: xref:access.adoc#AccessControl-grantRole-bytes32-address-
  145. :AccessControl-revokeRole: pass:normal[xref:access.adoc#AccessControl-revokeRole-bytes32-address-[`AccessControl.revokeRole`]]
  146. :xref-AccessControl-revokeRole-bytes32-address-: xref:access.adoc#AccessControl-revokeRole-bytes32-address-
  147. :AccessControl-renounceRole: pass:normal[xref:access.adoc#AccessControl-renounceRole-bytes32-address-[`AccessControl.renounceRole`]]
  148. :xref-AccessControl-renounceRole-bytes32-address-: xref:access.adoc#AccessControl-renounceRole-bytes32-address-
  149. :AccessControl-_setupRole: pass:normal[xref:access.adoc#AccessControl-_setupRole-bytes32-address-[`AccessControl._setupRole`]]
  150. :xref-AccessControl-_setupRole-bytes32-address-: xref:access.adoc#AccessControl-_setupRole-bytes32-address-
  151. :AccessControl-_setRoleAdmin: pass:normal[xref:access.adoc#AccessControl-_setRoleAdmin-bytes32-bytes32-[`AccessControl._setRoleAdmin`]]
  152. :xref-AccessControl-_setRoleAdmin-bytes32-bytes32-: xref:access.adoc#AccessControl-_setRoleAdmin-bytes32-bytes32-
  153. :AccessControl-RoleAdminChanged: pass:normal[xref:access.adoc#AccessControl-RoleAdminChanged-bytes32-bytes32-bytes32-[`AccessControl.RoleAdminChanged`]]
  154. :xref-AccessControl-RoleAdminChanged-bytes32-bytes32-bytes32-: xref:access.adoc#AccessControl-RoleAdminChanged-bytes32-bytes32-bytes32-
  155. :AccessControl-RoleGranted: pass:normal[xref:access.adoc#AccessControl-RoleGranted-bytes32-address-address-[`AccessControl.RoleGranted`]]
  156. :xref-AccessControl-RoleGranted-bytes32-address-address-: xref:access.adoc#AccessControl-RoleGranted-bytes32-address-address-
  157. :AccessControl-RoleRevoked: pass:normal[xref:access.adoc#AccessControl-RoleRevoked-bytes32-address-address-[`AccessControl.RoleRevoked`]]
  158. :xref-AccessControl-RoleRevoked-bytes32-address-address-: xref:access.adoc#AccessControl-RoleRevoked-bytes32-address-address-
  159. :Ownable: pass:normal[xref:access.adoc#Ownable[`Ownable`]]
  160. :xref-Ownable: xref:access.adoc#Ownable
  161. :Ownable-onlyOwner: pass:normal[xref:access.adoc#Ownable-onlyOwner--[`Ownable.onlyOwner`]]
  162. :xref-Ownable-onlyOwner--: xref:access.adoc#Ownable-onlyOwner--
  163. :Ownable-constructor: pass:normal[xref:access.adoc#Ownable-constructor--[`Ownable.constructor`]]
  164. :xref-Ownable-constructor--: xref:access.adoc#Ownable-constructor--
  165. :Ownable-owner: pass:normal[xref:access.adoc#Ownable-owner--[`Ownable.owner`]]
  166. :xref-Ownable-owner--: xref:access.adoc#Ownable-owner--
  167. :Ownable-renounceOwnership: pass:normal[xref:access.adoc#Ownable-renounceOwnership--[`Ownable.renounceOwnership`]]
  168. :xref-Ownable-renounceOwnership--: xref:access.adoc#Ownable-renounceOwnership--
  169. :Ownable-transferOwnership: pass:normal[xref:access.adoc#Ownable-transferOwnership-address-[`Ownable.transferOwnership`]]
  170. :xref-Ownable-transferOwnership-address-: xref:access.adoc#Ownable-transferOwnership-address-
  171. :Ownable-OwnershipTransferred: pass:normal[xref:access.adoc#Ownable-OwnershipTransferred-address-address-[`Ownable.OwnershipTransferred`]]
  172. :xref-Ownable-OwnershipTransferred-address-address-: xref:access.adoc#Ownable-OwnershipTransferred-address-address-
  173. :TimelockController: pass:normal[xref:access.adoc#TimelockController[`TimelockController`]]
  174. :xref-TimelockController: xref:access.adoc#TimelockController
  175. :TimelockController-onlyRole: pass:normal[xref:access.adoc#TimelockController-onlyRole-bytes32-[`TimelockController.onlyRole`]]
  176. :xref-TimelockController-onlyRole-bytes32-: xref:access.adoc#TimelockController-onlyRole-bytes32-
  177. :TimelockController-TIMELOCK_ADMIN_ROLE: pass:normal[xref:access.adoc#TimelockController-TIMELOCK_ADMIN_ROLE-bytes32[`TimelockController.TIMELOCK_ADMIN_ROLE`]]
  178. :xref-TimelockController-TIMELOCK_ADMIN_ROLE-bytes32: xref:access.adoc#TimelockController-TIMELOCK_ADMIN_ROLE-bytes32
  179. :TimelockController-PROPOSER_ROLE: pass:normal[xref:access.adoc#TimelockController-PROPOSER_ROLE-bytes32[`TimelockController.PROPOSER_ROLE`]]
  180. :xref-TimelockController-PROPOSER_ROLE-bytes32: xref:access.adoc#TimelockController-PROPOSER_ROLE-bytes32
  181. :TimelockController-EXECUTOR_ROLE: pass:normal[xref:access.adoc#TimelockController-EXECUTOR_ROLE-bytes32[`TimelockController.EXECUTOR_ROLE`]]
  182. :xref-TimelockController-EXECUTOR_ROLE-bytes32: xref:access.adoc#TimelockController-EXECUTOR_ROLE-bytes32
  183. :TimelockController-_DONE_TIMESTAMP: pass:normal[xref:access.adoc#TimelockController-_DONE_TIMESTAMP-uint256[`TimelockController._DONE_TIMESTAMP`]]
  184. :xref-TimelockController-_DONE_TIMESTAMP-uint256: xref:access.adoc#TimelockController-_DONE_TIMESTAMP-uint256
  185. :TimelockController-constructor: pass:normal[xref:access.adoc#TimelockController-constructor-uint256-address---address---[`TimelockController.constructor`]]
  186. :xref-TimelockController-constructor-uint256-address---address---: xref:access.adoc#TimelockController-constructor-uint256-address---address---
  187. :TimelockController-receive: pass:normal[xref:access.adoc#TimelockController-receive--[`TimelockController.receive`]]
  188. :xref-TimelockController-receive--: xref:access.adoc#TimelockController-receive--
  189. :TimelockController-isOperation: pass:normal[xref:access.adoc#TimelockController-isOperation-bytes32-[`TimelockController.isOperation`]]
  190. :xref-TimelockController-isOperation-bytes32-: xref:access.adoc#TimelockController-isOperation-bytes32-
  191. :TimelockController-isOperationPending: pass:normal[xref:access.adoc#TimelockController-isOperationPending-bytes32-[`TimelockController.isOperationPending`]]
  192. :xref-TimelockController-isOperationPending-bytes32-: xref:access.adoc#TimelockController-isOperationPending-bytes32-
  193. :TimelockController-isOperationReady: pass:normal[xref:access.adoc#TimelockController-isOperationReady-bytes32-[`TimelockController.isOperationReady`]]
  194. :xref-TimelockController-isOperationReady-bytes32-: xref:access.adoc#TimelockController-isOperationReady-bytes32-
  195. :TimelockController-isOperationDone: pass:normal[xref:access.adoc#TimelockController-isOperationDone-bytes32-[`TimelockController.isOperationDone`]]
  196. :xref-TimelockController-isOperationDone-bytes32-: xref:access.adoc#TimelockController-isOperationDone-bytes32-
  197. :TimelockController-getTimestamp: pass:normal[xref:access.adoc#TimelockController-getTimestamp-bytes32-[`TimelockController.getTimestamp`]]
  198. :xref-TimelockController-getTimestamp-bytes32-: xref:access.adoc#TimelockController-getTimestamp-bytes32-
  199. :TimelockController-getMinDelay: pass:normal[xref:access.adoc#TimelockController-getMinDelay--[`TimelockController.getMinDelay`]]
  200. :xref-TimelockController-getMinDelay--: xref:access.adoc#TimelockController-getMinDelay--
  201. :TimelockController-hashOperation: pass:normal[xref:access.adoc#TimelockController-hashOperation-address-uint256-bytes-bytes32-bytes32-[`TimelockController.hashOperation`]]
  202. :xref-TimelockController-hashOperation-address-uint256-bytes-bytes32-bytes32-: xref:access.adoc#TimelockController-hashOperation-address-uint256-bytes-bytes32-bytes32-
  203. :TimelockController-hashOperationBatch: pass:normal[xref:access.adoc#TimelockController-hashOperationBatch-address---uint256---bytes---bytes32-bytes32-[`TimelockController.hashOperationBatch`]]
  204. :xref-TimelockController-hashOperationBatch-address---uint256---bytes---bytes32-bytes32-: xref:access.adoc#TimelockController-hashOperationBatch-address---uint256---bytes---bytes32-bytes32-
  205. :TimelockController-schedule: pass:normal[xref:access.adoc#TimelockController-schedule-address-uint256-bytes-bytes32-bytes32-uint256-[`TimelockController.schedule`]]
  206. :xref-TimelockController-schedule-address-uint256-bytes-bytes32-bytes32-uint256-: xref:access.adoc#TimelockController-schedule-address-uint256-bytes-bytes32-bytes32-uint256-
  207. :TimelockController-scheduleBatch: pass:normal[xref:access.adoc#TimelockController-scheduleBatch-address---uint256---bytes---bytes32-bytes32-uint256-[`TimelockController.scheduleBatch`]]
  208. :xref-TimelockController-scheduleBatch-address---uint256---bytes---bytes32-bytes32-uint256-: xref:access.adoc#TimelockController-scheduleBatch-address---uint256---bytes---bytes32-bytes32-uint256-
  209. :TimelockController-cancel: pass:normal[xref:access.adoc#TimelockController-cancel-bytes32-[`TimelockController.cancel`]]
  210. :xref-TimelockController-cancel-bytes32-: xref:access.adoc#TimelockController-cancel-bytes32-
  211. :TimelockController-execute: pass:normal[xref:access.adoc#TimelockController-execute-address-uint256-bytes-bytes32-bytes32-[`TimelockController.execute`]]
  212. :xref-TimelockController-execute-address-uint256-bytes-bytes32-bytes32-: xref:access.adoc#TimelockController-execute-address-uint256-bytes-bytes32-bytes32-
  213. :TimelockController-executeBatch: pass:normal[xref:access.adoc#TimelockController-executeBatch-address---uint256---bytes---bytes32-bytes32-[`TimelockController.executeBatch`]]
  214. :xref-TimelockController-executeBatch-address---uint256---bytes---bytes32-bytes32-: xref:access.adoc#TimelockController-executeBatch-address---uint256---bytes---bytes32-bytes32-
  215. :TimelockController-updateDelay: pass:normal[xref:access.adoc#TimelockController-updateDelay-uint256-[`TimelockController.updateDelay`]]
  216. :xref-TimelockController-updateDelay-uint256-: xref:access.adoc#TimelockController-updateDelay-uint256-
  217. :TimelockController-CallScheduled: pass:normal[xref:access.adoc#TimelockController-CallScheduled-bytes32-uint256-address-uint256-bytes-bytes32-uint256-[`TimelockController.CallScheduled`]]
  218. :xref-TimelockController-CallScheduled-bytes32-uint256-address-uint256-bytes-bytes32-uint256-: xref:access.adoc#TimelockController-CallScheduled-bytes32-uint256-address-uint256-bytes-bytes32-uint256-
  219. :TimelockController-CallExecuted: pass:normal[xref:access.adoc#TimelockController-CallExecuted-bytes32-uint256-address-uint256-bytes-[`TimelockController.CallExecuted`]]
  220. :xref-TimelockController-CallExecuted-bytes32-uint256-address-uint256-bytes-: xref:access.adoc#TimelockController-CallExecuted-bytes32-uint256-address-uint256-bytes-
  221. :TimelockController-Cancelled: pass:normal[xref:access.adoc#TimelockController-Cancelled-bytes32-[`TimelockController.Cancelled`]]
  222. :xref-TimelockController-Cancelled-bytes32-: xref:access.adoc#TimelockController-Cancelled-bytes32-
  223. :TimelockController-MinDelayChange: pass:normal[xref:access.adoc#TimelockController-MinDelayChange-uint256-uint256-[`TimelockController.MinDelayChange`]]
  224. :xref-TimelockController-MinDelayChange-uint256-uint256-: xref:access.adoc#TimelockController-MinDelayChange-uint256-uint256-
  225. :ECDSA: pass:normal[xref:cryptography.adoc#ECDSA[`ECDSA`]]
  226. :xref-ECDSA: xref:cryptography.adoc#ECDSA
  227. :ECDSA-recover: pass:normal[xref:cryptography.adoc#ECDSA-recover-bytes32-bytes-[`ECDSA.recover`]]
  228. :xref-ECDSA-recover-bytes32-bytes-: xref:cryptography.adoc#ECDSA-recover-bytes32-bytes-
  229. :ECDSA-recover: pass:normal[xref:cryptography.adoc#ECDSA-recover-bytes32-uint8-bytes32-bytes32-[`ECDSA.recover`]]
  230. :xref-ECDSA-recover-bytes32-uint8-bytes32-bytes32-: xref:cryptography.adoc#ECDSA-recover-bytes32-uint8-bytes32-bytes32-
  231. :ECDSA-toEthSignedMessageHash: pass:normal[xref:cryptography.adoc#ECDSA-toEthSignedMessageHash-bytes32-[`ECDSA.toEthSignedMessageHash`]]
  232. :xref-ECDSA-toEthSignedMessageHash-bytes32-: xref:cryptography.adoc#ECDSA-toEthSignedMessageHash-bytes32-
  233. :MerkleProof: pass:normal[xref:cryptography.adoc#MerkleProof[`MerkleProof`]]
  234. :xref-MerkleProof: xref:cryptography.adoc#MerkleProof
  235. :MerkleProof-verify: pass:normal[xref:cryptography.adoc#MerkleProof-verify-bytes32---bytes32-bytes32-[`MerkleProof.verify`]]
  236. :xref-MerkleProof-verify-bytes32---bytes32-bytes32-: xref:cryptography.adoc#MerkleProof-verify-bytes32---bytes32-bytes32-
  237. :EIP712: pass:normal[xref:drafts.adoc#EIP712[`EIP712`]]
  238. :xref-EIP712: xref:drafts.adoc#EIP712
  239. :EIP712-constructor: pass:normal[xref:drafts.adoc#EIP712-constructor-string-string-[`EIP712.constructor`]]
  240. :xref-EIP712-constructor-string-string-: xref:drafts.adoc#EIP712-constructor-string-string-
  241. :EIP712-_domainSeparatorV4: pass:normal[xref:drafts.adoc#EIP712-_domainSeparatorV4--[`EIP712._domainSeparatorV4`]]
  242. :xref-EIP712-_domainSeparatorV4--: xref:drafts.adoc#EIP712-_domainSeparatorV4--
  243. :EIP712-_hashTypedDataV4: pass:normal[xref:drafts.adoc#EIP712-_hashTypedDataV4-bytes32-[`EIP712._hashTypedDataV4`]]
  244. :xref-EIP712-_hashTypedDataV4-bytes32-: xref:drafts.adoc#EIP712-_hashTypedDataV4-bytes32-
  245. :ERC20Permit: pass:normal[xref:drafts.adoc#ERC20Permit[`ERC20Permit`]]
  246. :xref-ERC20Permit: xref:drafts.adoc#ERC20Permit
  247. :ERC20Permit-constructor: pass:normal[xref:drafts.adoc#ERC20Permit-constructor-string-[`ERC20Permit.constructor`]]
  248. :xref-ERC20Permit-constructor-string-: xref:drafts.adoc#ERC20Permit-constructor-string-
  249. :ERC20Permit-permit: pass:normal[xref:drafts.adoc#ERC20Permit-permit-address-address-uint256-uint256-uint8-bytes32-bytes32-[`ERC20Permit.permit`]]
  250. :xref-ERC20Permit-permit-address-address-uint256-uint256-uint8-bytes32-bytes32-: xref:drafts.adoc#ERC20Permit-permit-address-address-uint256-uint256-uint8-bytes32-bytes32-
  251. :ERC20Permit-nonces: pass:normal[xref:drafts.adoc#ERC20Permit-nonces-address-[`ERC20Permit.nonces`]]
  252. :xref-ERC20Permit-nonces-address-: xref:drafts.adoc#ERC20Permit-nonces-address-
  253. :ERC20Permit-DOMAIN_SEPARATOR: pass:normal[xref:drafts.adoc#ERC20Permit-DOMAIN_SEPARATOR--[`ERC20Permit.DOMAIN_SEPARATOR`]]
  254. :xref-ERC20Permit-DOMAIN_SEPARATOR--: xref:drafts.adoc#ERC20Permit-DOMAIN_SEPARATOR--
  255. :IERC20Permit: pass:normal[xref:drafts.adoc#IERC20Permit[`IERC20Permit`]]
  256. :xref-IERC20Permit: xref:drafts.adoc#IERC20Permit
  257. :IERC20Permit-permit: pass:normal[xref:drafts.adoc#IERC20Permit-permit-address-address-uint256-uint256-uint8-bytes32-bytes32-[`IERC20Permit.permit`]]
  258. :xref-IERC20Permit-permit-address-address-uint256-uint256-uint8-bytes32-bytes32-: xref:drafts.adoc#IERC20Permit-permit-address-address-uint256-uint256-uint8-bytes32-bytes32-
  259. :IERC20Permit-nonces: pass:normal[xref:drafts.adoc#IERC20Permit-nonces-address-[`IERC20Permit.nonces`]]
  260. :xref-IERC20Permit-nonces-address-: xref:drafts.adoc#IERC20Permit-nonces-address-
  261. :IERC20Permit-DOMAIN_SEPARATOR: pass:normal[xref:drafts.adoc#IERC20Permit-DOMAIN_SEPARATOR--[`IERC20Permit.DOMAIN_SEPARATOR`]]
  262. :xref-IERC20Permit-DOMAIN_SEPARATOR--: xref:drafts.adoc#IERC20Permit-DOMAIN_SEPARATOR--
  263. :ERC165: pass:normal[xref:introspection.adoc#ERC165[`ERC165`]]
  264. :xref-ERC165: xref:introspection.adoc#ERC165
  265. :ERC165-constructor: pass:normal[xref:introspection.adoc#ERC165-constructor--[`ERC165.constructor`]]
  266. :xref-ERC165-constructor--: xref:introspection.adoc#ERC165-constructor--
  267. :ERC165-supportsInterface: pass:normal[xref:introspection.adoc#ERC165-supportsInterface-bytes4-[`ERC165.supportsInterface`]]
  268. :xref-ERC165-supportsInterface-bytes4-: xref:introspection.adoc#ERC165-supportsInterface-bytes4-
  269. :ERC165-_registerInterface: pass:normal[xref:introspection.adoc#ERC165-_registerInterface-bytes4-[`ERC165._registerInterface`]]
  270. :xref-ERC165-_registerInterface-bytes4-: xref:introspection.adoc#ERC165-_registerInterface-bytes4-
  271. :ERC165Checker: pass:normal[xref:introspection.adoc#ERC165Checker[`ERC165Checker`]]
  272. :xref-ERC165Checker: xref:introspection.adoc#ERC165Checker
  273. :ERC165Checker-supportsERC165: pass:normal[xref:introspection.adoc#ERC165Checker-supportsERC165-address-[`ERC165Checker.supportsERC165`]]
  274. :xref-ERC165Checker-supportsERC165-address-: xref:introspection.adoc#ERC165Checker-supportsERC165-address-
  275. :ERC165Checker-supportsInterface: pass:normal[xref:introspection.adoc#ERC165Checker-supportsInterface-address-bytes4-[`ERC165Checker.supportsInterface`]]
  276. :xref-ERC165Checker-supportsInterface-address-bytes4-: xref:introspection.adoc#ERC165Checker-supportsInterface-address-bytes4-
  277. :ERC165Checker-getSupportedInterfaces: pass:normal[xref:introspection.adoc#ERC165Checker-getSupportedInterfaces-address-bytes4---[`ERC165Checker.getSupportedInterfaces`]]
  278. :xref-ERC165Checker-getSupportedInterfaces-address-bytes4---: xref:introspection.adoc#ERC165Checker-getSupportedInterfaces-address-bytes4---
  279. :ERC165Checker-supportsAllInterfaces: pass:normal[xref:introspection.adoc#ERC165Checker-supportsAllInterfaces-address-bytes4---[`ERC165Checker.supportsAllInterfaces`]]
  280. :xref-ERC165Checker-supportsAllInterfaces-address-bytes4---: xref:introspection.adoc#ERC165Checker-supportsAllInterfaces-address-bytes4---
  281. :ERC1820Implementer: pass:normal[xref:introspection.adoc#ERC1820Implementer[`ERC1820Implementer`]]
  282. :xref-ERC1820Implementer: xref:introspection.adoc#ERC1820Implementer
  283. :ERC1820Implementer-canImplementInterfaceForAddress: pass:normal[xref:introspection.adoc#ERC1820Implementer-canImplementInterfaceForAddress-bytes32-address-[`ERC1820Implementer.canImplementInterfaceForAddress`]]
  284. :xref-ERC1820Implementer-canImplementInterfaceForAddress-bytes32-address-: xref:introspection.adoc#ERC1820Implementer-canImplementInterfaceForAddress-bytes32-address-
  285. :ERC1820Implementer-_registerInterfaceForAddress: pass:normal[xref:introspection.adoc#ERC1820Implementer-_registerInterfaceForAddress-bytes32-address-[`ERC1820Implementer._registerInterfaceForAddress`]]
  286. :xref-ERC1820Implementer-_registerInterfaceForAddress-bytes32-address-: xref:introspection.adoc#ERC1820Implementer-_registerInterfaceForAddress-bytes32-address-
  287. :IERC165: pass:normal[xref:introspection.adoc#IERC165[`IERC165`]]
  288. :xref-IERC165: xref:introspection.adoc#IERC165
  289. :IERC165-supportsInterface: pass:normal[xref:introspection.adoc#IERC165-supportsInterface-bytes4-[`IERC165.supportsInterface`]]
  290. :xref-IERC165-supportsInterface-bytes4-: xref:introspection.adoc#IERC165-supportsInterface-bytes4-
  291. :IERC1820Implementer: pass:normal[xref:introspection.adoc#IERC1820Implementer[`IERC1820Implementer`]]
  292. :xref-IERC1820Implementer: xref:introspection.adoc#IERC1820Implementer
  293. :IERC1820Implementer-canImplementInterfaceForAddress: pass:normal[xref:introspection.adoc#IERC1820Implementer-canImplementInterfaceForAddress-bytes32-address-[`IERC1820Implementer.canImplementInterfaceForAddress`]]
  294. :xref-IERC1820Implementer-canImplementInterfaceForAddress-bytes32-address-: xref:introspection.adoc#IERC1820Implementer-canImplementInterfaceForAddress-bytes32-address-
  295. :IERC1820Registry: pass:normal[xref:introspection.adoc#IERC1820Registry[`IERC1820Registry`]]
  296. :xref-IERC1820Registry: xref:introspection.adoc#IERC1820Registry
  297. :IERC1820Registry-setManager: pass:normal[xref:introspection.adoc#IERC1820Registry-setManager-address-address-[`IERC1820Registry.setManager`]]
  298. :xref-IERC1820Registry-setManager-address-address-: xref:introspection.adoc#IERC1820Registry-setManager-address-address-
  299. :IERC1820Registry-getManager: pass:normal[xref:introspection.adoc#IERC1820Registry-getManager-address-[`IERC1820Registry.getManager`]]
  300. :xref-IERC1820Registry-getManager-address-: xref:introspection.adoc#IERC1820Registry-getManager-address-
  301. :IERC1820Registry-setInterfaceImplementer: pass:normal[xref:introspection.adoc#IERC1820Registry-setInterfaceImplementer-address-bytes32-address-[`IERC1820Registry.setInterfaceImplementer`]]
  302. :xref-IERC1820Registry-setInterfaceImplementer-address-bytes32-address-: xref:introspection.adoc#IERC1820Registry-setInterfaceImplementer-address-bytes32-address-
  303. :IERC1820Registry-getInterfaceImplementer: pass:normal[xref:introspection.adoc#IERC1820Registry-getInterfaceImplementer-address-bytes32-[`IERC1820Registry.getInterfaceImplementer`]]
  304. :xref-IERC1820Registry-getInterfaceImplementer-address-bytes32-: xref:introspection.adoc#IERC1820Registry-getInterfaceImplementer-address-bytes32-
  305. :IERC1820Registry-interfaceHash: pass:normal[xref:introspection.adoc#IERC1820Registry-interfaceHash-string-[`IERC1820Registry.interfaceHash`]]
  306. :xref-IERC1820Registry-interfaceHash-string-: xref:introspection.adoc#IERC1820Registry-interfaceHash-string-
  307. :IERC1820Registry-updateERC165Cache: pass:normal[xref:introspection.adoc#IERC1820Registry-updateERC165Cache-address-bytes4-[`IERC1820Registry.updateERC165Cache`]]
  308. :xref-IERC1820Registry-updateERC165Cache-address-bytes4-: xref:introspection.adoc#IERC1820Registry-updateERC165Cache-address-bytes4-
  309. :IERC1820Registry-implementsERC165Interface: pass:normal[xref:introspection.adoc#IERC1820Registry-implementsERC165Interface-address-bytes4-[`IERC1820Registry.implementsERC165Interface`]]
  310. :xref-IERC1820Registry-implementsERC165Interface-address-bytes4-: xref:introspection.adoc#IERC1820Registry-implementsERC165Interface-address-bytes4-
  311. :IERC1820Registry-implementsERC165InterfaceNoCache: pass:normal[xref:introspection.adoc#IERC1820Registry-implementsERC165InterfaceNoCache-address-bytes4-[`IERC1820Registry.implementsERC165InterfaceNoCache`]]
  312. :xref-IERC1820Registry-implementsERC165InterfaceNoCache-address-bytes4-: xref:introspection.adoc#IERC1820Registry-implementsERC165InterfaceNoCache-address-bytes4-
  313. :IERC1820Registry-InterfaceImplementerSet: pass:normal[xref:introspection.adoc#IERC1820Registry-InterfaceImplementerSet-address-bytes32-address-[`IERC1820Registry.InterfaceImplementerSet`]]
  314. :xref-IERC1820Registry-InterfaceImplementerSet-address-bytes32-address-: xref:introspection.adoc#IERC1820Registry-InterfaceImplementerSet-address-bytes32-address-
  315. :IERC1820Registry-ManagerChanged: pass:normal[xref:introspection.adoc#IERC1820Registry-ManagerChanged-address-address-[`IERC1820Registry.ManagerChanged`]]
  316. :xref-IERC1820Registry-ManagerChanged-address-address-: xref:introspection.adoc#IERC1820Registry-ManagerChanged-address-address-
  317. :Math: pass:normal[xref:math.adoc#Math[`Math`]]
  318. :xref-Math: xref:math.adoc#Math
  319. :Math-max: pass:normal[xref:math.adoc#Math-max-uint256-uint256-[`Math.max`]]
  320. :xref-Math-max-uint256-uint256-: xref:math.adoc#Math-max-uint256-uint256-
  321. :Math-min: pass:normal[xref:math.adoc#Math-min-uint256-uint256-[`Math.min`]]
  322. :xref-Math-min-uint256-uint256-: xref:math.adoc#Math-min-uint256-uint256-
  323. :Math-average: pass:normal[xref:math.adoc#Math-average-uint256-uint256-[`Math.average`]]
  324. :xref-Math-average-uint256-uint256-: xref:math.adoc#Math-average-uint256-uint256-
  325. :SafeMath: pass:normal[xref:math.adoc#SafeMath[`SafeMath`]]
  326. :xref-SafeMath: xref:math.adoc#SafeMath
  327. :SafeMath-tryAdd: pass:normal[xref:math.adoc#SafeMath-tryAdd-uint256-uint256-[`SafeMath.tryAdd`]]
  328. :xref-SafeMath-tryAdd-uint256-uint256-: xref:math.adoc#SafeMath-tryAdd-uint256-uint256-
  329. :SafeMath-trySub: pass:normal[xref:math.adoc#SafeMath-trySub-uint256-uint256-[`SafeMath.trySub`]]
  330. :xref-SafeMath-trySub-uint256-uint256-: xref:math.adoc#SafeMath-trySub-uint256-uint256-
  331. :SafeMath-tryMul: pass:normal[xref:math.adoc#SafeMath-tryMul-uint256-uint256-[`SafeMath.tryMul`]]
  332. :xref-SafeMath-tryMul-uint256-uint256-: xref:math.adoc#SafeMath-tryMul-uint256-uint256-
  333. :SafeMath-tryDiv: pass:normal[xref:math.adoc#SafeMath-tryDiv-uint256-uint256-[`SafeMath.tryDiv`]]
  334. :xref-SafeMath-tryDiv-uint256-uint256-: xref:math.adoc#SafeMath-tryDiv-uint256-uint256-
  335. :SafeMath-tryMod: pass:normal[xref:math.adoc#SafeMath-tryMod-uint256-uint256-[`SafeMath.tryMod`]]
  336. :xref-SafeMath-tryMod-uint256-uint256-: xref:math.adoc#SafeMath-tryMod-uint256-uint256-
  337. :SafeMath-add: pass:normal[xref:math.adoc#SafeMath-add-uint256-uint256-[`SafeMath.add`]]
  338. :xref-SafeMath-add-uint256-uint256-: xref:math.adoc#SafeMath-add-uint256-uint256-
  339. :SafeMath-sub: pass:normal[xref:math.adoc#SafeMath-sub-uint256-uint256-[`SafeMath.sub`]]
  340. :xref-SafeMath-sub-uint256-uint256-: xref:math.adoc#SafeMath-sub-uint256-uint256-
  341. :SafeMath-mul: pass:normal[xref:math.adoc#SafeMath-mul-uint256-uint256-[`SafeMath.mul`]]
  342. :xref-SafeMath-mul-uint256-uint256-: xref:math.adoc#SafeMath-mul-uint256-uint256-
  343. :SafeMath-div: pass:normal[xref:math.adoc#SafeMath-div-uint256-uint256-[`SafeMath.div`]]
  344. :xref-SafeMath-div-uint256-uint256-: xref:math.adoc#SafeMath-div-uint256-uint256-
  345. :SafeMath-mod: pass:normal[xref:math.adoc#SafeMath-mod-uint256-uint256-[`SafeMath.mod`]]
  346. :xref-SafeMath-mod-uint256-uint256-: xref:math.adoc#SafeMath-mod-uint256-uint256-
  347. :SafeMath-sub: pass:normal[xref:math.adoc#SafeMath-sub-uint256-uint256-string-[`SafeMath.sub`]]
  348. :xref-SafeMath-sub-uint256-uint256-string-: xref:math.adoc#SafeMath-sub-uint256-uint256-string-
  349. :SafeMath-div: pass:normal[xref:math.adoc#SafeMath-div-uint256-uint256-string-[`SafeMath.div`]]
  350. :xref-SafeMath-div-uint256-uint256-string-: xref:math.adoc#SafeMath-div-uint256-uint256-string-
  351. :SafeMath-mod: pass:normal[xref:math.adoc#SafeMath-mod-uint256-uint256-string-[`SafeMath.mod`]]
  352. :xref-SafeMath-mod-uint256-uint256-string-: xref:math.adoc#SafeMath-mod-uint256-uint256-string-
  353. :SignedSafeMath: pass:normal[xref:math.adoc#SignedSafeMath[`SignedSafeMath`]]
  354. :xref-SignedSafeMath: xref:math.adoc#SignedSafeMath
  355. :SignedSafeMath-mul: pass:normal[xref:math.adoc#SignedSafeMath-mul-int256-int256-[`SignedSafeMath.mul`]]
  356. :xref-SignedSafeMath-mul-int256-int256-: xref:math.adoc#SignedSafeMath-mul-int256-int256-
  357. :SignedSafeMath-div: pass:normal[xref:math.adoc#SignedSafeMath-div-int256-int256-[`SignedSafeMath.div`]]
  358. :xref-SignedSafeMath-div-int256-int256-: xref:math.adoc#SignedSafeMath-div-int256-int256-
  359. :SignedSafeMath-sub: pass:normal[xref:math.adoc#SignedSafeMath-sub-int256-int256-[`SignedSafeMath.sub`]]
  360. :xref-SignedSafeMath-sub-int256-int256-: xref:math.adoc#SignedSafeMath-sub-int256-int256-
  361. :SignedSafeMath-add: pass:normal[xref:math.adoc#SignedSafeMath-add-int256-int256-[`SignedSafeMath.add`]]
  362. :xref-SignedSafeMath-add-int256-int256-: xref:math.adoc#SignedSafeMath-add-int256-int256-
  363. :PaymentSplitter: pass:normal[xref:payment.adoc#PaymentSplitter[`PaymentSplitter`]]
  364. :xref-PaymentSplitter: xref:payment.adoc#PaymentSplitter
  365. :PaymentSplitter-constructor: pass:normal[xref:payment.adoc#PaymentSplitter-constructor-address---uint256---[`PaymentSplitter.constructor`]]
  366. :xref-PaymentSplitter-constructor-address---uint256---: xref:payment.adoc#PaymentSplitter-constructor-address---uint256---
  367. :PaymentSplitter-receive: pass:normal[xref:payment.adoc#PaymentSplitter-receive--[`PaymentSplitter.receive`]]
  368. :xref-PaymentSplitter-receive--: xref:payment.adoc#PaymentSplitter-receive--
  369. :PaymentSplitter-totalShares: pass:normal[xref:payment.adoc#PaymentSplitter-totalShares--[`PaymentSplitter.totalShares`]]
  370. :xref-PaymentSplitter-totalShares--: xref:payment.adoc#PaymentSplitter-totalShares--
  371. :PaymentSplitter-totalReleased: pass:normal[xref:payment.adoc#PaymentSplitter-totalReleased--[`PaymentSplitter.totalReleased`]]
  372. :xref-PaymentSplitter-totalReleased--: xref:payment.adoc#PaymentSplitter-totalReleased--
  373. :PaymentSplitter-shares: pass:normal[xref:payment.adoc#PaymentSplitter-shares-address-[`PaymentSplitter.shares`]]
  374. :xref-PaymentSplitter-shares-address-: xref:payment.adoc#PaymentSplitter-shares-address-
  375. :PaymentSplitter-released: pass:normal[xref:payment.adoc#PaymentSplitter-released-address-[`PaymentSplitter.released`]]
  376. :xref-PaymentSplitter-released-address-: xref:payment.adoc#PaymentSplitter-released-address-
  377. :PaymentSplitter-payee: pass:normal[xref:payment.adoc#PaymentSplitter-payee-uint256-[`PaymentSplitter.payee`]]
  378. :xref-PaymentSplitter-payee-uint256-: xref:payment.adoc#PaymentSplitter-payee-uint256-
  379. :PaymentSplitter-release: pass:normal[xref:payment.adoc#PaymentSplitter-release-address-payable-[`PaymentSplitter.release`]]
  380. :xref-PaymentSplitter-release-address-payable-: xref:payment.adoc#PaymentSplitter-release-address-payable-
  381. :PaymentSplitter-PayeeAdded: pass:normal[xref:payment.adoc#PaymentSplitter-PayeeAdded-address-uint256-[`PaymentSplitter.PayeeAdded`]]
  382. :xref-PaymentSplitter-PayeeAdded-address-uint256-: xref:payment.adoc#PaymentSplitter-PayeeAdded-address-uint256-
  383. :PaymentSplitter-PaymentReleased: pass:normal[xref:payment.adoc#PaymentSplitter-PaymentReleased-address-uint256-[`PaymentSplitter.PaymentReleased`]]
  384. :xref-PaymentSplitter-PaymentReleased-address-uint256-: xref:payment.adoc#PaymentSplitter-PaymentReleased-address-uint256-
  385. :PaymentSplitter-PaymentReceived: pass:normal[xref:payment.adoc#PaymentSplitter-PaymentReceived-address-uint256-[`PaymentSplitter.PaymentReceived`]]
  386. :xref-PaymentSplitter-PaymentReceived-address-uint256-: xref:payment.adoc#PaymentSplitter-PaymentReceived-address-uint256-
  387. :PullPayment: pass:normal[xref:payment.adoc#PullPayment[`PullPayment`]]
  388. :xref-PullPayment: xref:payment.adoc#PullPayment
  389. :PullPayment-constructor: pass:normal[xref:payment.adoc#PullPayment-constructor--[`PullPayment.constructor`]]
  390. :xref-PullPayment-constructor--: xref:payment.adoc#PullPayment-constructor--
  391. :PullPayment-withdrawPayments: pass:normal[xref:payment.adoc#PullPayment-withdrawPayments-address-payable-[`PullPayment.withdrawPayments`]]
  392. :xref-PullPayment-withdrawPayments-address-payable-: xref:payment.adoc#PullPayment-withdrawPayments-address-payable-
  393. :PullPayment-payments: pass:normal[xref:payment.adoc#PullPayment-payments-address-[`PullPayment.payments`]]
  394. :xref-PullPayment-payments-address-: xref:payment.adoc#PullPayment-payments-address-
  395. :PullPayment-_asyncTransfer: pass:normal[xref:payment.adoc#PullPayment-_asyncTransfer-address-uint256-[`PullPayment._asyncTransfer`]]
  396. :xref-PullPayment-_asyncTransfer-address-uint256-: xref:payment.adoc#PullPayment-_asyncTransfer-address-uint256-
  397. :ConditionalEscrow: pass:normal[xref:payment.adoc#ConditionalEscrow[`ConditionalEscrow`]]
  398. :xref-ConditionalEscrow: xref:payment.adoc#ConditionalEscrow
  399. :ConditionalEscrow-withdrawalAllowed: pass:normal[xref:payment.adoc#ConditionalEscrow-withdrawalAllowed-address-[`ConditionalEscrow.withdrawalAllowed`]]
  400. :xref-ConditionalEscrow-withdrawalAllowed-address-: xref:payment.adoc#ConditionalEscrow-withdrawalAllowed-address-
  401. :ConditionalEscrow-withdraw: pass:normal[xref:payment.adoc#ConditionalEscrow-withdraw-address-payable-[`ConditionalEscrow.withdraw`]]
  402. :xref-ConditionalEscrow-withdraw-address-payable-: xref:payment.adoc#ConditionalEscrow-withdraw-address-payable-
  403. :Escrow: pass:normal[xref:payment.adoc#Escrow[`Escrow`]]
  404. :xref-Escrow: xref:payment.adoc#Escrow
  405. :Escrow-depositsOf: pass:normal[xref:payment.adoc#Escrow-depositsOf-address-[`Escrow.depositsOf`]]
  406. :xref-Escrow-depositsOf-address-: xref:payment.adoc#Escrow-depositsOf-address-
  407. :Escrow-deposit: pass:normal[xref:payment.adoc#Escrow-deposit-address-[`Escrow.deposit`]]
  408. :xref-Escrow-deposit-address-: xref:payment.adoc#Escrow-deposit-address-
  409. :Escrow-withdraw: pass:normal[xref:payment.adoc#Escrow-withdraw-address-payable-[`Escrow.withdraw`]]
  410. :xref-Escrow-withdraw-address-payable-: xref:payment.adoc#Escrow-withdraw-address-payable-
  411. :Escrow-Deposited: pass:normal[xref:payment.adoc#Escrow-Deposited-address-uint256-[`Escrow.Deposited`]]
  412. :xref-Escrow-Deposited-address-uint256-: xref:payment.adoc#Escrow-Deposited-address-uint256-
  413. :Escrow-Withdrawn: pass:normal[xref:payment.adoc#Escrow-Withdrawn-address-uint256-[`Escrow.Withdrawn`]]
  414. :xref-Escrow-Withdrawn-address-uint256-: xref:payment.adoc#Escrow-Withdrawn-address-uint256-
  415. :RefundEscrow: pass:normal[xref:payment.adoc#RefundEscrow[`RefundEscrow`]]
  416. :xref-RefundEscrow: xref:payment.adoc#RefundEscrow
  417. :RefundEscrow-constructor: pass:normal[xref:payment.adoc#RefundEscrow-constructor-address-payable-[`RefundEscrow.constructor`]]
  418. :xref-RefundEscrow-constructor-address-payable-: xref:payment.adoc#RefundEscrow-constructor-address-payable-
  419. :RefundEscrow-state: pass:normal[xref:payment.adoc#RefundEscrow-state--[`RefundEscrow.state`]]
  420. :xref-RefundEscrow-state--: xref:payment.adoc#RefundEscrow-state--
  421. :RefundEscrow-beneficiary: pass:normal[xref:payment.adoc#RefundEscrow-beneficiary--[`RefundEscrow.beneficiary`]]
  422. :xref-RefundEscrow-beneficiary--: xref:payment.adoc#RefundEscrow-beneficiary--
  423. :RefundEscrow-deposit: pass:normal[xref:payment.adoc#RefundEscrow-deposit-address-[`RefundEscrow.deposit`]]
  424. :xref-RefundEscrow-deposit-address-: xref:payment.adoc#RefundEscrow-deposit-address-
  425. :RefundEscrow-close: pass:normal[xref:payment.adoc#RefundEscrow-close--[`RefundEscrow.close`]]
  426. :xref-RefundEscrow-close--: xref:payment.adoc#RefundEscrow-close--
  427. :RefundEscrow-enableRefunds: pass:normal[xref:payment.adoc#RefundEscrow-enableRefunds--[`RefundEscrow.enableRefunds`]]
  428. :xref-RefundEscrow-enableRefunds--: xref:payment.adoc#RefundEscrow-enableRefunds--
  429. :RefundEscrow-beneficiaryWithdraw: pass:normal[xref:payment.adoc#RefundEscrow-beneficiaryWithdraw--[`RefundEscrow.beneficiaryWithdraw`]]
  430. :xref-RefundEscrow-beneficiaryWithdraw--: xref:payment.adoc#RefundEscrow-beneficiaryWithdraw--
  431. :RefundEscrow-withdrawalAllowed: pass:normal[xref:payment.adoc#RefundEscrow-withdrawalAllowed-address-[`RefundEscrow.withdrawalAllowed`]]
  432. :xref-RefundEscrow-withdrawalAllowed-address-: xref:payment.adoc#RefundEscrow-withdrawalAllowed-address-
  433. :RefundEscrow-RefundsClosed: pass:normal[xref:payment.adoc#RefundEscrow-RefundsClosed--[`RefundEscrow.RefundsClosed`]]
  434. :xref-RefundEscrow-RefundsClosed--: xref:payment.adoc#RefundEscrow-RefundsClosed--
  435. :RefundEscrow-RefundsEnabled: pass:normal[xref:payment.adoc#RefundEscrow-RefundsEnabled--[`RefundEscrow.RefundsEnabled`]]
  436. :xref-RefundEscrow-RefundsEnabled--: xref:payment.adoc#RefundEscrow-RefundsEnabled--
  437. :ERC1155PresetMinterPauser: pass:normal[xref:presets.adoc#ERC1155PresetMinterPauser[`ERC1155PresetMinterPauser`]]
  438. :xref-ERC1155PresetMinterPauser: xref:presets.adoc#ERC1155PresetMinterPauser
  439. :ERC1155PresetMinterPauser-MINTER_ROLE: pass:normal[xref:presets.adoc#ERC1155PresetMinterPauser-MINTER_ROLE-bytes32[`ERC1155PresetMinterPauser.MINTER_ROLE`]]
  440. :xref-ERC1155PresetMinterPauser-MINTER_ROLE-bytes32: xref:presets.adoc#ERC1155PresetMinterPauser-MINTER_ROLE-bytes32
  441. :ERC1155PresetMinterPauser-PAUSER_ROLE: pass:normal[xref:presets.adoc#ERC1155PresetMinterPauser-PAUSER_ROLE-bytes32[`ERC1155PresetMinterPauser.PAUSER_ROLE`]]
  442. :xref-ERC1155PresetMinterPauser-PAUSER_ROLE-bytes32: xref:presets.adoc#ERC1155PresetMinterPauser-PAUSER_ROLE-bytes32
  443. :ERC1155PresetMinterPauser-constructor: pass:normal[xref:presets.adoc#ERC1155PresetMinterPauser-constructor-string-[`ERC1155PresetMinterPauser.constructor`]]
  444. :xref-ERC1155PresetMinterPauser-constructor-string-: xref:presets.adoc#ERC1155PresetMinterPauser-constructor-string-
  445. :ERC1155PresetMinterPauser-mint: pass:normal[xref:presets.adoc#ERC1155PresetMinterPauser-mint-address-uint256-uint256-bytes-[`ERC1155PresetMinterPauser.mint`]]
  446. :xref-ERC1155PresetMinterPauser-mint-address-uint256-uint256-bytes-: xref:presets.adoc#ERC1155PresetMinterPauser-mint-address-uint256-uint256-bytes-
  447. :ERC1155PresetMinterPauser-mintBatch: pass:normal[xref:presets.adoc#ERC1155PresetMinterPauser-mintBatch-address-uint256---uint256---bytes-[`ERC1155PresetMinterPauser.mintBatch`]]
  448. :xref-ERC1155PresetMinterPauser-mintBatch-address-uint256---uint256---bytes-: xref:presets.adoc#ERC1155PresetMinterPauser-mintBatch-address-uint256---uint256---bytes-
  449. :ERC1155PresetMinterPauser-pause: pass:normal[xref:presets.adoc#ERC1155PresetMinterPauser-pause--[`ERC1155PresetMinterPauser.pause`]]
  450. :xref-ERC1155PresetMinterPauser-pause--: xref:presets.adoc#ERC1155PresetMinterPauser-pause--
  451. :ERC1155PresetMinterPauser-unpause: pass:normal[xref:presets.adoc#ERC1155PresetMinterPauser-unpause--[`ERC1155PresetMinterPauser.unpause`]]
  452. :xref-ERC1155PresetMinterPauser-unpause--: xref:presets.adoc#ERC1155PresetMinterPauser-unpause--
  453. :ERC1155PresetMinterPauser-_beforeTokenTransfer: pass:normal[xref:presets.adoc#ERC1155PresetMinterPauser-_beforeTokenTransfer-address-address-address-uint256---uint256---bytes-[`ERC1155PresetMinterPauser._beforeTokenTransfer`]]
  454. :xref-ERC1155PresetMinterPauser-_beforeTokenTransfer-address-address-address-uint256---uint256---bytes-: xref:presets.adoc#ERC1155PresetMinterPauser-_beforeTokenTransfer-address-address-address-uint256---uint256---bytes-
  455. :ERC20PresetFixedSupply: pass:normal[xref:presets.adoc#ERC20PresetFixedSupply[`ERC20PresetFixedSupply`]]
  456. :xref-ERC20PresetFixedSupply: xref:presets.adoc#ERC20PresetFixedSupply
  457. :ERC20PresetFixedSupply-constructor: pass:normal[xref:presets.adoc#ERC20PresetFixedSupply-constructor-string-string-uint256-address-[`ERC20PresetFixedSupply.constructor`]]
  458. :xref-ERC20PresetFixedSupply-constructor-string-string-uint256-address-: xref:presets.adoc#ERC20PresetFixedSupply-constructor-string-string-uint256-address-
  459. :ERC20PresetMinterPauser: pass:normal[xref:presets.adoc#ERC20PresetMinterPauser[`ERC20PresetMinterPauser`]]
  460. :xref-ERC20PresetMinterPauser: xref:presets.adoc#ERC20PresetMinterPauser
  461. :ERC20PresetMinterPauser-MINTER_ROLE: pass:normal[xref:presets.adoc#ERC20PresetMinterPauser-MINTER_ROLE-bytes32[`ERC20PresetMinterPauser.MINTER_ROLE`]]
  462. :xref-ERC20PresetMinterPauser-MINTER_ROLE-bytes32: xref:presets.adoc#ERC20PresetMinterPauser-MINTER_ROLE-bytes32
  463. :ERC20PresetMinterPauser-PAUSER_ROLE: pass:normal[xref:presets.adoc#ERC20PresetMinterPauser-PAUSER_ROLE-bytes32[`ERC20PresetMinterPauser.PAUSER_ROLE`]]
  464. :xref-ERC20PresetMinterPauser-PAUSER_ROLE-bytes32: xref:presets.adoc#ERC20PresetMinterPauser-PAUSER_ROLE-bytes32
  465. :ERC20PresetMinterPauser-constructor: pass:normal[xref:presets.adoc#ERC20PresetMinterPauser-constructor-string-string-[`ERC20PresetMinterPauser.constructor`]]
  466. :xref-ERC20PresetMinterPauser-constructor-string-string-: xref:presets.adoc#ERC20PresetMinterPauser-constructor-string-string-
  467. :ERC20PresetMinterPauser-mint: pass:normal[xref:presets.adoc#ERC20PresetMinterPauser-mint-address-uint256-[`ERC20PresetMinterPauser.mint`]]
  468. :xref-ERC20PresetMinterPauser-mint-address-uint256-: xref:presets.adoc#ERC20PresetMinterPauser-mint-address-uint256-
  469. :ERC20PresetMinterPauser-pause: pass:normal[xref:presets.adoc#ERC20PresetMinterPauser-pause--[`ERC20PresetMinterPauser.pause`]]
  470. :xref-ERC20PresetMinterPauser-pause--: xref:presets.adoc#ERC20PresetMinterPauser-pause--
  471. :ERC20PresetMinterPauser-unpause: pass:normal[xref:presets.adoc#ERC20PresetMinterPauser-unpause--[`ERC20PresetMinterPauser.unpause`]]
  472. :xref-ERC20PresetMinterPauser-unpause--: xref:presets.adoc#ERC20PresetMinterPauser-unpause--
  473. :ERC20PresetMinterPauser-_beforeTokenTransfer: pass:normal[xref:presets.adoc#ERC20PresetMinterPauser-_beforeTokenTransfer-address-address-uint256-[`ERC20PresetMinterPauser._beforeTokenTransfer`]]
  474. :xref-ERC20PresetMinterPauser-_beforeTokenTransfer-address-address-uint256-: xref:presets.adoc#ERC20PresetMinterPauser-_beforeTokenTransfer-address-address-uint256-
  475. :ERC721PresetMinterPauserAutoId: pass:normal[xref:presets.adoc#ERC721PresetMinterPauserAutoId[`ERC721PresetMinterPauserAutoId`]]
  476. :xref-ERC721PresetMinterPauserAutoId: xref:presets.adoc#ERC721PresetMinterPauserAutoId
  477. :ERC721PresetMinterPauserAutoId-MINTER_ROLE: pass:normal[xref:presets.adoc#ERC721PresetMinterPauserAutoId-MINTER_ROLE-bytes32[`ERC721PresetMinterPauserAutoId.MINTER_ROLE`]]
  478. :xref-ERC721PresetMinterPauserAutoId-MINTER_ROLE-bytes32: xref:presets.adoc#ERC721PresetMinterPauserAutoId-MINTER_ROLE-bytes32
  479. :ERC721PresetMinterPauserAutoId-PAUSER_ROLE: pass:normal[xref:presets.adoc#ERC721PresetMinterPauserAutoId-PAUSER_ROLE-bytes32[`ERC721PresetMinterPauserAutoId.PAUSER_ROLE`]]
  480. :xref-ERC721PresetMinterPauserAutoId-PAUSER_ROLE-bytes32: xref:presets.adoc#ERC721PresetMinterPauserAutoId-PAUSER_ROLE-bytes32
  481. :ERC721PresetMinterPauserAutoId-constructor: pass:normal[xref:presets.adoc#ERC721PresetMinterPauserAutoId-constructor-string-string-string-[`ERC721PresetMinterPauserAutoId.constructor`]]
  482. :xref-ERC721PresetMinterPauserAutoId-constructor-string-string-string-: xref:presets.adoc#ERC721PresetMinterPauserAutoId-constructor-string-string-string-
  483. :ERC721PresetMinterPauserAutoId-mint: pass:normal[xref:presets.adoc#ERC721PresetMinterPauserAutoId-mint-address-[`ERC721PresetMinterPauserAutoId.mint`]]
  484. :xref-ERC721PresetMinterPauserAutoId-mint-address-: xref:presets.adoc#ERC721PresetMinterPauserAutoId-mint-address-
  485. :ERC721PresetMinterPauserAutoId-pause: pass:normal[xref:presets.adoc#ERC721PresetMinterPauserAutoId-pause--[`ERC721PresetMinterPauserAutoId.pause`]]
  486. :xref-ERC721PresetMinterPauserAutoId-pause--: xref:presets.adoc#ERC721PresetMinterPauserAutoId-pause--
  487. :ERC721PresetMinterPauserAutoId-unpause: pass:normal[xref:presets.adoc#ERC721PresetMinterPauserAutoId-unpause--[`ERC721PresetMinterPauserAutoId.unpause`]]
  488. :xref-ERC721PresetMinterPauserAutoId-unpause--: xref:presets.adoc#ERC721PresetMinterPauserAutoId-unpause--
  489. :ERC721PresetMinterPauserAutoId-_beforeTokenTransfer: pass:normal[xref:presets.adoc#ERC721PresetMinterPauserAutoId-_beforeTokenTransfer-address-address-uint256-[`ERC721PresetMinterPauserAutoId._beforeTokenTransfer`]]
  490. :xref-ERC721PresetMinterPauserAutoId-_beforeTokenTransfer-address-address-uint256-: xref:presets.adoc#ERC721PresetMinterPauserAutoId-_beforeTokenTransfer-address-address-uint256-
  491. :ERC777PresetFixedSupply: pass:normal[xref:presets.adoc#ERC777PresetFixedSupply[`ERC777PresetFixedSupply`]]
  492. :xref-ERC777PresetFixedSupply: xref:presets.adoc#ERC777PresetFixedSupply
  493. :ERC777PresetFixedSupply-constructor: pass:normal[xref:presets.adoc#ERC777PresetFixedSupply-constructor-string-string-address---uint256-address-[`ERC777PresetFixedSupply.constructor`]]
  494. :xref-ERC777PresetFixedSupply-constructor-string-string-address---uint256-address-: xref:presets.adoc#ERC777PresetFixedSupply-constructor-string-string-address---uint256-address-
  495. :BeaconProxy: pass:normal[xref:proxy.adoc#BeaconProxy[`BeaconProxy`]]
  496. :xref-BeaconProxy: xref:proxy.adoc#BeaconProxy
  497. :BeaconProxy-constructor: pass:normal[xref:proxy.adoc#BeaconProxy-constructor-address-bytes-[`BeaconProxy.constructor`]]
  498. :xref-BeaconProxy-constructor-address-bytes-: xref:proxy.adoc#BeaconProxy-constructor-address-bytes-
  499. :BeaconProxy-_beacon: pass:normal[xref:proxy.adoc#BeaconProxy-_beacon--[`BeaconProxy._beacon`]]
  500. :xref-BeaconProxy-_beacon--: xref:proxy.adoc#BeaconProxy-_beacon--
  501. :BeaconProxy-_implementation: pass:normal[xref:proxy.adoc#BeaconProxy-_implementation--[`BeaconProxy._implementation`]]
  502. :xref-BeaconProxy-_implementation--: xref:proxy.adoc#BeaconProxy-_implementation--
  503. :BeaconProxy-_setBeacon: pass:normal[xref:proxy.adoc#BeaconProxy-_setBeacon-address-bytes-[`BeaconProxy._setBeacon`]]
  504. :xref-BeaconProxy-_setBeacon-address-bytes-: xref:proxy.adoc#BeaconProxy-_setBeacon-address-bytes-
  505. :Clones: pass:normal[xref:proxy.adoc#Clones[`Clones`]]
  506. :xref-Clones: xref:proxy.adoc#Clones
  507. :Clones-clone: pass:normal[xref:proxy.adoc#Clones-clone-address-[`Clones.clone`]]
  508. :xref-Clones-clone-address-: xref:proxy.adoc#Clones-clone-address-
  509. :Clones-cloneDeterministic: pass:normal[xref:proxy.adoc#Clones-cloneDeterministic-address-bytes32-[`Clones.cloneDeterministic`]]
  510. :xref-Clones-cloneDeterministic-address-bytes32-: xref:proxy.adoc#Clones-cloneDeterministic-address-bytes32-
  511. :Clones-predictDeterministicAddress: pass:normal[xref:proxy.adoc#Clones-predictDeterministicAddress-address-bytes32-address-[`Clones.predictDeterministicAddress`]]
  512. :xref-Clones-predictDeterministicAddress-address-bytes32-address-: xref:proxy.adoc#Clones-predictDeterministicAddress-address-bytes32-address-
  513. :Clones-predictDeterministicAddress: pass:normal[xref:proxy.adoc#Clones-predictDeterministicAddress-address-bytes32-[`Clones.predictDeterministicAddress`]]
  514. :xref-Clones-predictDeterministicAddress-address-bytes32-: xref:proxy.adoc#Clones-predictDeterministicAddress-address-bytes32-
  515. :IBeacon: pass:normal[xref:proxy.adoc#IBeacon[`IBeacon`]]
  516. :xref-IBeacon: xref:proxy.adoc#IBeacon
  517. :IBeacon-implementation: pass:normal[xref:proxy.adoc#IBeacon-implementation--[`IBeacon.implementation`]]
  518. :xref-IBeacon-implementation--: xref:proxy.adoc#IBeacon-implementation--
  519. :Initializable: pass:normal[xref:proxy.adoc#Initializable[`Initializable`]]
  520. :xref-Initializable: xref:proxy.adoc#Initializable
  521. :Initializable-initializer: pass:normal[xref:proxy.adoc#Initializable-initializer--[`Initializable.initializer`]]
  522. :xref-Initializable-initializer--: xref:proxy.adoc#Initializable-initializer--
  523. :Proxy: pass:normal[xref:proxy.adoc#Proxy[`Proxy`]]
  524. :xref-Proxy: xref:proxy.adoc#Proxy
  525. :Proxy-_delegate: pass:normal[xref:proxy.adoc#Proxy-_delegate-address-[`Proxy._delegate`]]
  526. :xref-Proxy-_delegate-address-: xref:proxy.adoc#Proxy-_delegate-address-
  527. :Proxy-_implementation: pass:normal[xref:proxy.adoc#Proxy-_implementation--[`Proxy._implementation`]]
  528. :xref-Proxy-_implementation--: xref:proxy.adoc#Proxy-_implementation--
  529. :Proxy-_fallback: pass:normal[xref:proxy.adoc#Proxy-_fallback--[`Proxy._fallback`]]
  530. :xref-Proxy-_fallback--: xref:proxy.adoc#Proxy-_fallback--
  531. :Proxy-fallback: pass:normal[xref:proxy.adoc#Proxy-fallback--[`Proxy.fallback`]]
  532. :xref-Proxy-fallback--: xref:proxy.adoc#Proxy-fallback--
  533. :Proxy-receive: pass:normal[xref:proxy.adoc#Proxy-receive--[`Proxy.receive`]]
  534. :xref-Proxy-receive--: xref:proxy.adoc#Proxy-receive--
  535. :Proxy-_beforeFallback: pass:normal[xref:proxy.adoc#Proxy-_beforeFallback--[`Proxy._beforeFallback`]]
  536. :xref-Proxy-_beforeFallback--: xref:proxy.adoc#Proxy-_beforeFallback--
  537. :ProxyAdmin: pass:normal[xref:proxy.adoc#ProxyAdmin[`ProxyAdmin`]]
  538. :xref-ProxyAdmin: xref:proxy.adoc#ProxyAdmin
  539. :ProxyAdmin-getProxyImplementation: pass:normal[xref:proxy.adoc#ProxyAdmin-getProxyImplementation-contract-TransparentUpgradeableProxy-[`ProxyAdmin.getProxyImplementation`]]
  540. :xref-ProxyAdmin-getProxyImplementation-contract-TransparentUpgradeableProxy-: xref:proxy.adoc#ProxyAdmin-getProxyImplementation-contract-TransparentUpgradeableProxy-
  541. :ProxyAdmin-getProxyAdmin: pass:normal[xref:proxy.adoc#ProxyAdmin-getProxyAdmin-contract-TransparentUpgradeableProxy-[`ProxyAdmin.getProxyAdmin`]]
  542. :xref-ProxyAdmin-getProxyAdmin-contract-TransparentUpgradeableProxy-: xref:proxy.adoc#ProxyAdmin-getProxyAdmin-contract-TransparentUpgradeableProxy-
  543. :ProxyAdmin-changeProxyAdmin: pass:normal[xref:proxy.adoc#ProxyAdmin-changeProxyAdmin-contract-TransparentUpgradeableProxy-address-[`ProxyAdmin.changeProxyAdmin`]]
  544. :xref-ProxyAdmin-changeProxyAdmin-contract-TransparentUpgradeableProxy-address-: xref:proxy.adoc#ProxyAdmin-changeProxyAdmin-contract-TransparentUpgradeableProxy-address-
  545. :ProxyAdmin-upgrade: pass:normal[xref:proxy.adoc#ProxyAdmin-upgrade-contract-TransparentUpgradeableProxy-address-[`ProxyAdmin.upgrade`]]
  546. :xref-ProxyAdmin-upgrade-contract-TransparentUpgradeableProxy-address-: xref:proxy.adoc#ProxyAdmin-upgrade-contract-TransparentUpgradeableProxy-address-
  547. :ProxyAdmin-upgradeAndCall: pass:normal[xref:proxy.adoc#ProxyAdmin-upgradeAndCall-contract-TransparentUpgradeableProxy-address-bytes-[`ProxyAdmin.upgradeAndCall`]]
  548. :xref-ProxyAdmin-upgradeAndCall-contract-TransparentUpgradeableProxy-address-bytes-: xref:proxy.adoc#ProxyAdmin-upgradeAndCall-contract-TransparentUpgradeableProxy-address-bytes-
  549. :TransparentUpgradeableProxy: pass:normal[xref:proxy.adoc#TransparentUpgradeableProxy[`TransparentUpgradeableProxy`]]
  550. :xref-TransparentUpgradeableProxy: xref:proxy.adoc#TransparentUpgradeableProxy
  551. :TransparentUpgradeableProxy-ifAdmin: pass:normal[xref:proxy.adoc#TransparentUpgradeableProxy-ifAdmin--[`TransparentUpgradeableProxy.ifAdmin`]]
  552. :xref-TransparentUpgradeableProxy-ifAdmin--: xref:proxy.adoc#TransparentUpgradeableProxy-ifAdmin--
  553. :TransparentUpgradeableProxy-constructor: pass:normal[xref:proxy.adoc#TransparentUpgradeableProxy-constructor-address-address-bytes-[`TransparentUpgradeableProxy.constructor`]]
  554. :xref-TransparentUpgradeableProxy-constructor-address-address-bytes-: xref:proxy.adoc#TransparentUpgradeableProxy-constructor-address-address-bytes-
  555. :TransparentUpgradeableProxy-admin: pass:normal[xref:proxy.adoc#TransparentUpgradeableProxy-admin--[`TransparentUpgradeableProxy.admin`]]
  556. :xref-TransparentUpgradeableProxy-admin--: xref:proxy.adoc#TransparentUpgradeableProxy-admin--
  557. :TransparentUpgradeableProxy-implementation: pass:normal[xref:proxy.adoc#TransparentUpgradeableProxy-implementation--[`TransparentUpgradeableProxy.implementation`]]
  558. :xref-TransparentUpgradeableProxy-implementation--: xref:proxy.adoc#TransparentUpgradeableProxy-implementation--
  559. :TransparentUpgradeableProxy-changeAdmin: pass:normal[xref:proxy.adoc#TransparentUpgradeableProxy-changeAdmin-address-[`TransparentUpgradeableProxy.changeAdmin`]]
  560. :xref-TransparentUpgradeableProxy-changeAdmin-address-: xref:proxy.adoc#TransparentUpgradeableProxy-changeAdmin-address-
  561. :TransparentUpgradeableProxy-upgradeTo: pass:normal[xref:proxy.adoc#TransparentUpgradeableProxy-upgradeTo-address-[`TransparentUpgradeableProxy.upgradeTo`]]
  562. :xref-TransparentUpgradeableProxy-upgradeTo-address-: xref:proxy.adoc#TransparentUpgradeableProxy-upgradeTo-address-
  563. :TransparentUpgradeableProxy-upgradeToAndCall: pass:normal[xref:proxy.adoc#TransparentUpgradeableProxy-upgradeToAndCall-address-bytes-[`TransparentUpgradeableProxy.upgradeToAndCall`]]
  564. :xref-TransparentUpgradeableProxy-upgradeToAndCall-address-bytes-: xref:proxy.adoc#TransparentUpgradeableProxy-upgradeToAndCall-address-bytes-
  565. :TransparentUpgradeableProxy-_admin: pass:normal[xref:proxy.adoc#TransparentUpgradeableProxy-_admin--[`TransparentUpgradeableProxy._admin`]]
  566. :xref-TransparentUpgradeableProxy-_admin--: xref:proxy.adoc#TransparentUpgradeableProxy-_admin--
  567. :TransparentUpgradeableProxy-_beforeFallback: pass:normal[xref:proxy.adoc#TransparentUpgradeableProxy-_beforeFallback--[`TransparentUpgradeableProxy._beforeFallback`]]
  568. :xref-TransparentUpgradeableProxy-_beforeFallback--: xref:proxy.adoc#TransparentUpgradeableProxy-_beforeFallback--
  569. :TransparentUpgradeableProxy-AdminChanged: pass:normal[xref:proxy.adoc#TransparentUpgradeableProxy-AdminChanged-address-address-[`TransparentUpgradeableProxy.AdminChanged`]]
  570. :xref-TransparentUpgradeableProxy-AdminChanged-address-address-: xref:proxy.adoc#TransparentUpgradeableProxy-AdminChanged-address-address-
  571. :UpgradeableBeacon: pass:normal[xref:proxy.adoc#UpgradeableBeacon[`UpgradeableBeacon`]]
  572. :xref-UpgradeableBeacon: xref:proxy.adoc#UpgradeableBeacon
  573. :UpgradeableBeacon-constructor: pass:normal[xref:proxy.adoc#UpgradeableBeacon-constructor-address-[`UpgradeableBeacon.constructor`]]
  574. :xref-UpgradeableBeacon-constructor-address-: xref:proxy.adoc#UpgradeableBeacon-constructor-address-
  575. :UpgradeableBeacon-implementation: pass:normal[xref:proxy.adoc#UpgradeableBeacon-implementation--[`UpgradeableBeacon.implementation`]]
  576. :xref-UpgradeableBeacon-implementation--: xref:proxy.adoc#UpgradeableBeacon-implementation--
  577. :UpgradeableBeacon-upgradeTo: pass:normal[xref:proxy.adoc#UpgradeableBeacon-upgradeTo-address-[`UpgradeableBeacon.upgradeTo`]]
  578. :xref-UpgradeableBeacon-upgradeTo-address-: xref:proxy.adoc#UpgradeableBeacon-upgradeTo-address-
  579. :UpgradeableBeacon-Upgraded: pass:normal[xref:proxy.adoc#UpgradeableBeacon-Upgraded-address-[`UpgradeableBeacon.Upgraded`]]
  580. :xref-UpgradeableBeacon-Upgraded-address-: xref:proxy.adoc#UpgradeableBeacon-Upgraded-address-
  581. :UpgradeableProxy: pass:normal[xref:proxy.adoc#UpgradeableProxy[`UpgradeableProxy`]]
  582. :xref-UpgradeableProxy: xref:proxy.adoc#UpgradeableProxy
  583. :UpgradeableProxy-constructor: pass:normal[xref:proxy.adoc#UpgradeableProxy-constructor-address-bytes-[`UpgradeableProxy.constructor`]]
  584. :xref-UpgradeableProxy-constructor-address-bytes-: xref:proxy.adoc#UpgradeableProxy-constructor-address-bytes-
  585. :UpgradeableProxy-_implementation: pass:normal[xref:proxy.adoc#UpgradeableProxy-_implementation--[`UpgradeableProxy._implementation`]]
  586. :xref-UpgradeableProxy-_implementation--: xref:proxy.adoc#UpgradeableProxy-_implementation--
  587. :UpgradeableProxy-_upgradeTo: pass:normal[xref:proxy.adoc#UpgradeableProxy-_upgradeTo-address-[`UpgradeableProxy._upgradeTo`]]
  588. :xref-UpgradeableProxy-_upgradeTo-address-: xref:proxy.adoc#UpgradeableProxy-_upgradeTo-address-
  589. :UpgradeableProxy-Upgraded: pass:normal[xref:proxy.adoc#UpgradeableProxy-Upgraded-address-[`UpgradeableProxy.Upgraded`]]
  590. :xref-UpgradeableProxy-Upgraded-address-: xref:proxy.adoc#UpgradeableProxy-Upgraded-address-
  591. :Address: pass:normal[xref:utils.adoc#Address[`Address`]]
  592. :xref-Address: xref:utils.adoc#Address
  593. :Address-isContract: pass:normal[xref:utils.adoc#Address-isContract-address-[`Address.isContract`]]
  594. :xref-Address-isContract-address-: xref:utils.adoc#Address-isContract-address-
  595. :Address-sendValue: pass:normal[xref:utils.adoc#Address-sendValue-address-payable-uint256-[`Address.sendValue`]]
  596. :xref-Address-sendValue-address-payable-uint256-: xref:utils.adoc#Address-sendValue-address-payable-uint256-
  597. :Address-functionCall: pass:normal[xref:utils.adoc#Address-functionCall-address-bytes-[`Address.functionCall`]]
  598. :xref-Address-functionCall-address-bytes-: xref:utils.adoc#Address-functionCall-address-bytes-
  599. :Address-functionCall: pass:normal[xref:utils.adoc#Address-functionCall-address-bytes-string-[`Address.functionCall`]]
  600. :xref-Address-functionCall-address-bytes-string-: xref:utils.adoc#Address-functionCall-address-bytes-string-
  601. :Address-functionCallWithValue: pass:normal[xref:utils.adoc#Address-functionCallWithValue-address-bytes-uint256-[`Address.functionCallWithValue`]]
  602. :xref-Address-functionCallWithValue-address-bytes-uint256-: xref:utils.adoc#Address-functionCallWithValue-address-bytes-uint256-
  603. :Address-functionCallWithValue: pass:normal[xref:utils.adoc#Address-functionCallWithValue-address-bytes-uint256-string-[`Address.functionCallWithValue`]]
  604. :xref-Address-functionCallWithValue-address-bytes-uint256-string-: xref:utils.adoc#Address-functionCallWithValue-address-bytes-uint256-string-
  605. :Address-functionStaticCall: pass:normal[xref:utils.adoc#Address-functionStaticCall-address-bytes-[`Address.functionStaticCall`]]
  606. :xref-Address-functionStaticCall-address-bytes-: xref:utils.adoc#Address-functionStaticCall-address-bytes-
  607. :Address-functionStaticCall: pass:normal[xref:utils.adoc#Address-functionStaticCall-address-bytes-string-[`Address.functionStaticCall`]]
  608. :xref-Address-functionStaticCall-address-bytes-string-: xref:utils.adoc#Address-functionStaticCall-address-bytes-string-
  609. :Address-functionDelegateCall: pass:normal[xref:utils.adoc#Address-functionDelegateCall-address-bytes-[`Address.functionDelegateCall`]]
  610. :xref-Address-functionDelegateCall-address-bytes-: xref:utils.adoc#Address-functionDelegateCall-address-bytes-
  611. :Address-functionDelegateCall: pass:normal[xref:utils.adoc#Address-functionDelegateCall-address-bytes-string-[`Address.functionDelegateCall`]]
  612. :xref-Address-functionDelegateCall-address-bytes-string-: xref:utils.adoc#Address-functionDelegateCall-address-bytes-string-
  613. :Arrays: pass:normal[xref:utils.adoc#Arrays[`Arrays`]]
  614. :xref-Arrays: xref:utils.adoc#Arrays
  615. :Arrays-findUpperBound: pass:normal[xref:utils.adoc#Arrays-findUpperBound-uint256---uint256-[`Arrays.findUpperBound`]]
  616. :xref-Arrays-findUpperBound-uint256---uint256-: xref:utils.adoc#Arrays-findUpperBound-uint256---uint256-
  617. :Context: pass:normal[xref:utils.adoc#Context[`Context`]]
  618. :xref-Context: xref:utils.adoc#Context
  619. :Context-_msgSender: pass:normal[xref:utils.adoc#Context-_msgSender--[`Context._msgSender`]]
  620. :xref-Context-_msgSender--: xref:utils.adoc#Context-_msgSender--
  621. :Context-_msgData: pass:normal[xref:utils.adoc#Context-_msgData--[`Context._msgData`]]
  622. :xref-Context-_msgData--: xref:utils.adoc#Context-_msgData--
  623. :Counters: pass:normal[xref:utils.adoc#Counters[`Counters`]]
  624. :xref-Counters: xref:utils.adoc#Counters
  625. :Counters-current: pass:normal[xref:utils.adoc#Counters-current-struct-Counters-Counter-[`Counters.current`]]
  626. :xref-Counters-current-struct-Counters-Counter-: xref:utils.adoc#Counters-current-struct-Counters-Counter-
  627. :Counters-increment: pass:normal[xref:utils.adoc#Counters-increment-struct-Counters-Counter-[`Counters.increment`]]
  628. :xref-Counters-increment-struct-Counters-Counter-: xref:utils.adoc#Counters-increment-struct-Counters-Counter-
  629. :Counters-decrement: pass:normal[xref:utils.adoc#Counters-decrement-struct-Counters-Counter-[`Counters.decrement`]]
  630. :xref-Counters-decrement-struct-Counters-Counter-: xref:utils.adoc#Counters-decrement-struct-Counters-Counter-
  631. :Create2: pass:normal[xref:utils.adoc#Create2[`Create2`]]
  632. :xref-Create2: xref:utils.adoc#Create2
  633. :Create2-deploy: pass:normal[xref:utils.adoc#Create2-deploy-uint256-bytes32-bytes-[`Create2.deploy`]]
  634. :xref-Create2-deploy-uint256-bytes32-bytes-: xref:utils.adoc#Create2-deploy-uint256-bytes32-bytes-
  635. :Create2-computeAddress: pass:normal[xref:utils.adoc#Create2-computeAddress-bytes32-bytes32-[`Create2.computeAddress`]]
  636. :xref-Create2-computeAddress-bytes32-bytes32-: xref:utils.adoc#Create2-computeAddress-bytes32-bytes32-
  637. :Create2-computeAddress: pass:normal[xref:utils.adoc#Create2-computeAddress-bytes32-bytes32-address-[`Create2.computeAddress`]]
  638. :xref-Create2-computeAddress-bytes32-bytes32-address-: xref:utils.adoc#Create2-computeAddress-bytes32-bytes32-address-
  639. :EnumerableMap: pass:normal[xref:utils.adoc#EnumerableMap[`EnumerableMap`]]
  640. :xref-EnumerableMap: xref:utils.adoc#EnumerableMap
  641. :EnumerableMap-set: pass:normal[xref:utils.adoc#EnumerableMap-set-struct-EnumerableMap-UintToAddressMap-uint256-address-[`EnumerableMap.set`]]
  642. :xref-EnumerableMap-set-struct-EnumerableMap-UintToAddressMap-uint256-address-: xref:utils.adoc#EnumerableMap-set-struct-EnumerableMap-UintToAddressMap-uint256-address-
  643. :EnumerableMap-remove: pass:normal[xref:utils.adoc#EnumerableMap-remove-struct-EnumerableMap-UintToAddressMap-uint256-[`EnumerableMap.remove`]]
  644. :xref-EnumerableMap-remove-struct-EnumerableMap-UintToAddressMap-uint256-: xref:utils.adoc#EnumerableMap-remove-struct-EnumerableMap-UintToAddressMap-uint256-
  645. :EnumerableMap-contains: pass:normal[xref:utils.adoc#EnumerableMap-contains-struct-EnumerableMap-UintToAddressMap-uint256-[`EnumerableMap.contains`]]
  646. :xref-EnumerableMap-contains-struct-EnumerableMap-UintToAddressMap-uint256-: xref:utils.adoc#EnumerableMap-contains-struct-EnumerableMap-UintToAddressMap-uint256-
  647. :EnumerableMap-length: pass:normal[xref:utils.adoc#EnumerableMap-length-struct-EnumerableMap-UintToAddressMap-[`EnumerableMap.length`]]
  648. :xref-EnumerableMap-length-struct-EnumerableMap-UintToAddressMap-: xref:utils.adoc#EnumerableMap-length-struct-EnumerableMap-UintToAddressMap-
  649. :EnumerableMap-at: pass:normal[xref:utils.adoc#EnumerableMap-at-struct-EnumerableMap-UintToAddressMap-uint256-[`EnumerableMap.at`]]
  650. :xref-EnumerableMap-at-struct-EnumerableMap-UintToAddressMap-uint256-: xref:utils.adoc#EnumerableMap-at-struct-EnumerableMap-UintToAddressMap-uint256-
  651. :EnumerableMap-tryGet: pass:normal[xref:utils.adoc#EnumerableMap-tryGet-struct-EnumerableMap-UintToAddressMap-uint256-[`EnumerableMap.tryGet`]]
  652. :xref-EnumerableMap-tryGet-struct-EnumerableMap-UintToAddressMap-uint256-: xref:utils.adoc#EnumerableMap-tryGet-struct-EnumerableMap-UintToAddressMap-uint256-
  653. :EnumerableMap-get: pass:normal[xref:utils.adoc#EnumerableMap-get-struct-EnumerableMap-UintToAddressMap-uint256-[`EnumerableMap.get`]]
  654. :xref-EnumerableMap-get-struct-EnumerableMap-UintToAddressMap-uint256-: xref:utils.adoc#EnumerableMap-get-struct-EnumerableMap-UintToAddressMap-uint256-
  655. :EnumerableMap-get: pass:normal[xref:utils.adoc#EnumerableMap-get-struct-EnumerableMap-UintToAddressMap-uint256-string-[`EnumerableMap.get`]]
  656. :xref-EnumerableMap-get-struct-EnumerableMap-UintToAddressMap-uint256-string-: xref:utils.adoc#EnumerableMap-get-struct-EnumerableMap-UintToAddressMap-uint256-string-
  657. :EnumerableSet: pass:normal[xref:utils.adoc#EnumerableSet[`EnumerableSet`]]
  658. :xref-EnumerableSet: xref:utils.adoc#EnumerableSet
  659. :EnumerableSet-add: pass:normal[xref:utils.adoc#EnumerableSet-add-struct-EnumerableSet-Bytes32Set-bytes32-[`EnumerableSet.add`]]
  660. :xref-EnumerableSet-add-struct-EnumerableSet-Bytes32Set-bytes32-: xref:utils.adoc#EnumerableSet-add-struct-EnumerableSet-Bytes32Set-bytes32-
  661. :EnumerableSet-remove: pass:normal[xref:utils.adoc#EnumerableSet-remove-struct-EnumerableSet-Bytes32Set-bytes32-[`EnumerableSet.remove`]]
  662. :xref-EnumerableSet-remove-struct-EnumerableSet-Bytes32Set-bytes32-: xref:utils.adoc#EnumerableSet-remove-struct-EnumerableSet-Bytes32Set-bytes32-
  663. :EnumerableSet-contains: pass:normal[xref:utils.adoc#EnumerableSet-contains-struct-EnumerableSet-Bytes32Set-bytes32-[`EnumerableSet.contains`]]
  664. :xref-EnumerableSet-contains-struct-EnumerableSet-Bytes32Set-bytes32-: xref:utils.adoc#EnumerableSet-contains-struct-EnumerableSet-Bytes32Set-bytes32-
  665. :EnumerableSet-length: pass:normal[xref:utils.adoc#EnumerableSet-length-struct-EnumerableSet-Bytes32Set-[`EnumerableSet.length`]]
  666. :xref-EnumerableSet-length-struct-EnumerableSet-Bytes32Set-: xref:utils.adoc#EnumerableSet-length-struct-EnumerableSet-Bytes32Set-
  667. :EnumerableSet-at: pass:normal[xref:utils.adoc#EnumerableSet-at-struct-EnumerableSet-Bytes32Set-uint256-[`EnumerableSet.at`]]
  668. :xref-EnumerableSet-at-struct-EnumerableSet-Bytes32Set-uint256-: xref:utils.adoc#EnumerableSet-at-struct-EnumerableSet-Bytes32Set-uint256-
  669. :EnumerableSet-add: pass:normal[xref:utils.adoc#EnumerableSet-add-struct-EnumerableSet-AddressSet-address-[`EnumerableSet.add`]]
  670. :xref-EnumerableSet-add-struct-EnumerableSet-AddressSet-address-: xref:utils.adoc#EnumerableSet-add-struct-EnumerableSet-AddressSet-address-
  671. :EnumerableSet-remove: pass:normal[xref:utils.adoc#EnumerableSet-remove-struct-EnumerableSet-AddressSet-address-[`EnumerableSet.remove`]]
  672. :xref-EnumerableSet-remove-struct-EnumerableSet-AddressSet-address-: xref:utils.adoc#EnumerableSet-remove-struct-EnumerableSet-AddressSet-address-
  673. :EnumerableSet-contains: pass:normal[xref:utils.adoc#EnumerableSet-contains-struct-EnumerableSet-AddressSet-address-[`EnumerableSet.contains`]]
  674. :xref-EnumerableSet-contains-struct-EnumerableSet-AddressSet-address-: xref:utils.adoc#EnumerableSet-contains-struct-EnumerableSet-AddressSet-address-
  675. :EnumerableSet-length: pass:normal[xref:utils.adoc#EnumerableSet-length-struct-EnumerableSet-AddressSet-[`EnumerableSet.length`]]
  676. :xref-EnumerableSet-length-struct-EnumerableSet-AddressSet-: xref:utils.adoc#EnumerableSet-length-struct-EnumerableSet-AddressSet-
  677. :EnumerableSet-at: pass:normal[xref:utils.adoc#EnumerableSet-at-struct-EnumerableSet-AddressSet-uint256-[`EnumerableSet.at`]]
  678. :xref-EnumerableSet-at-struct-EnumerableSet-AddressSet-uint256-: xref:utils.adoc#EnumerableSet-at-struct-EnumerableSet-AddressSet-uint256-
  679. :EnumerableSet-add: pass:normal[xref:utils.adoc#EnumerableSet-add-struct-EnumerableSet-UintSet-uint256-[`EnumerableSet.add`]]
  680. :xref-EnumerableSet-add-struct-EnumerableSet-UintSet-uint256-: xref:utils.adoc#EnumerableSet-add-struct-EnumerableSet-UintSet-uint256-
  681. :EnumerableSet-remove: pass:normal[xref:utils.adoc#EnumerableSet-remove-struct-EnumerableSet-UintSet-uint256-[`EnumerableSet.remove`]]
  682. :xref-EnumerableSet-remove-struct-EnumerableSet-UintSet-uint256-: xref:utils.adoc#EnumerableSet-remove-struct-EnumerableSet-UintSet-uint256-
  683. :EnumerableSet-contains: pass:normal[xref:utils.adoc#EnumerableSet-contains-struct-EnumerableSet-UintSet-uint256-[`EnumerableSet.contains`]]
  684. :xref-EnumerableSet-contains-struct-EnumerableSet-UintSet-uint256-: xref:utils.adoc#EnumerableSet-contains-struct-EnumerableSet-UintSet-uint256-
  685. :EnumerableSet-length: pass:normal[xref:utils.adoc#EnumerableSet-length-struct-EnumerableSet-UintSet-[`EnumerableSet.length`]]
  686. :xref-EnumerableSet-length-struct-EnumerableSet-UintSet-: xref:utils.adoc#EnumerableSet-length-struct-EnumerableSet-UintSet-
  687. :EnumerableSet-at: pass:normal[xref:utils.adoc#EnumerableSet-at-struct-EnumerableSet-UintSet-uint256-[`EnumerableSet.at`]]
  688. :xref-EnumerableSet-at-struct-EnumerableSet-UintSet-uint256-: xref:utils.adoc#EnumerableSet-at-struct-EnumerableSet-UintSet-uint256-
  689. :Pausable: pass:normal[xref:utils.adoc#Pausable[`Pausable`]]
  690. :xref-Pausable: xref:utils.adoc#Pausable
  691. :Pausable-whenNotPaused: pass:normal[xref:utils.adoc#Pausable-whenNotPaused--[`Pausable.whenNotPaused`]]
  692. :xref-Pausable-whenNotPaused--: xref:utils.adoc#Pausable-whenNotPaused--
  693. :Pausable-whenPaused: pass:normal[xref:utils.adoc#Pausable-whenPaused--[`Pausable.whenPaused`]]
  694. :xref-Pausable-whenPaused--: xref:utils.adoc#Pausable-whenPaused--
  695. :Pausable-constructor: pass:normal[xref:utils.adoc#Pausable-constructor--[`Pausable.constructor`]]
  696. :xref-Pausable-constructor--: xref:utils.adoc#Pausable-constructor--
  697. :Pausable-paused: pass:normal[xref:utils.adoc#Pausable-paused--[`Pausable.paused`]]
  698. :xref-Pausable-paused--: xref:utils.adoc#Pausable-paused--
  699. :Pausable-_pause: pass:normal[xref:utils.adoc#Pausable-_pause--[`Pausable._pause`]]
  700. :xref-Pausable-_pause--: xref:utils.adoc#Pausable-_pause--
  701. :Pausable-_unpause: pass:normal[xref:utils.adoc#Pausable-_unpause--[`Pausable._unpause`]]
  702. :xref-Pausable-_unpause--: xref:utils.adoc#Pausable-_unpause--
  703. :Pausable-Paused: pass:normal[xref:utils.adoc#Pausable-Paused-address-[`Pausable.Paused`]]
  704. :xref-Pausable-Paused-address-: xref:utils.adoc#Pausable-Paused-address-
  705. :Pausable-Unpaused: pass:normal[xref:utils.adoc#Pausable-Unpaused-address-[`Pausable.Unpaused`]]
  706. :xref-Pausable-Unpaused-address-: xref:utils.adoc#Pausable-Unpaused-address-
  707. :ReentrancyGuard: pass:normal[xref:utils.adoc#ReentrancyGuard[`ReentrancyGuard`]]
  708. :xref-ReentrancyGuard: xref:utils.adoc#ReentrancyGuard
  709. :ReentrancyGuard-nonReentrant: pass:normal[xref:utils.adoc#ReentrancyGuard-nonReentrant--[`ReentrancyGuard.nonReentrant`]]
  710. :xref-ReentrancyGuard-nonReentrant--: xref:utils.adoc#ReentrancyGuard-nonReentrant--
  711. :ReentrancyGuard-constructor: pass:normal[xref:utils.adoc#ReentrancyGuard-constructor--[`ReentrancyGuard.constructor`]]
  712. :xref-ReentrancyGuard-constructor--: xref:utils.adoc#ReentrancyGuard-constructor--
  713. :SafeCast: pass:normal[xref:utils.adoc#SafeCast[`SafeCast`]]
  714. :xref-SafeCast: xref:utils.adoc#SafeCast
  715. :SafeCast-toUint128: pass:normal[xref:utils.adoc#SafeCast-toUint128-uint256-[`SafeCast.toUint128`]]
  716. :xref-SafeCast-toUint128-uint256-: xref:utils.adoc#SafeCast-toUint128-uint256-
  717. :SafeCast-toUint64: pass:normal[xref:utils.adoc#SafeCast-toUint64-uint256-[`SafeCast.toUint64`]]
  718. :xref-SafeCast-toUint64-uint256-: xref:utils.adoc#SafeCast-toUint64-uint256-
  719. :SafeCast-toUint32: pass:normal[xref:utils.adoc#SafeCast-toUint32-uint256-[`SafeCast.toUint32`]]
  720. :xref-SafeCast-toUint32-uint256-: xref:utils.adoc#SafeCast-toUint32-uint256-
  721. :SafeCast-toUint16: pass:normal[xref:utils.adoc#SafeCast-toUint16-uint256-[`SafeCast.toUint16`]]
  722. :xref-SafeCast-toUint16-uint256-: xref:utils.adoc#SafeCast-toUint16-uint256-
  723. :SafeCast-toUint8: pass:normal[xref:utils.adoc#SafeCast-toUint8-uint256-[`SafeCast.toUint8`]]
  724. :xref-SafeCast-toUint8-uint256-: xref:utils.adoc#SafeCast-toUint8-uint256-
  725. :SafeCast-toUint256: pass:normal[xref:utils.adoc#SafeCast-toUint256-int256-[`SafeCast.toUint256`]]
  726. :xref-SafeCast-toUint256-int256-: xref:utils.adoc#SafeCast-toUint256-int256-
  727. :SafeCast-toInt128: pass:normal[xref:utils.adoc#SafeCast-toInt128-int256-[`SafeCast.toInt128`]]
  728. :xref-SafeCast-toInt128-int256-: xref:utils.adoc#SafeCast-toInt128-int256-
  729. :SafeCast-toInt64: pass:normal[xref:utils.adoc#SafeCast-toInt64-int256-[`SafeCast.toInt64`]]
  730. :xref-SafeCast-toInt64-int256-: xref:utils.adoc#SafeCast-toInt64-int256-
  731. :SafeCast-toInt32: pass:normal[xref:utils.adoc#SafeCast-toInt32-int256-[`SafeCast.toInt32`]]
  732. :xref-SafeCast-toInt32-int256-: xref:utils.adoc#SafeCast-toInt32-int256-
  733. :SafeCast-toInt16: pass:normal[xref:utils.adoc#SafeCast-toInt16-int256-[`SafeCast.toInt16`]]
  734. :xref-SafeCast-toInt16-int256-: xref:utils.adoc#SafeCast-toInt16-int256-
  735. :SafeCast-toInt8: pass:normal[xref:utils.adoc#SafeCast-toInt8-int256-[`SafeCast.toInt8`]]
  736. :xref-SafeCast-toInt8-int256-: xref:utils.adoc#SafeCast-toInt8-int256-
  737. :SafeCast-toInt256: pass:normal[xref:utils.adoc#SafeCast-toInt256-uint256-[`SafeCast.toInt256`]]
  738. :xref-SafeCast-toInt256-uint256-: xref:utils.adoc#SafeCast-toInt256-uint256-
  739. :Strings: pass:normal[xref:utils.adoc#Strings[`Strings`]]
  740. :xref-Strings: xref:utils.adoc#Strings
  741. :Strings-toString: pass:normal[xref:utils.adoc#Strings-toString-uint256-[`Strings.toString`]]
  742. :xref-Strings-toString-uint256-: xref:utils.adoc#Strings-toString-uint256-
  743. :ERC1155: pass:normal[xref:token/ERC1155.adoc#ERC1155[`ERC1155`]]
  744. :xref-ERC1155: xref:token/ERC1155.adoc#ERC1155
  745. :ERC1155-constructor: pass:normal[xref:token/ERC1155.adoc#ERC1155-constructor-string-[`ERC1155.constructor`]]
  746. :xref-ERC1155-constructor-string-: xref:token/ERC1155.adoc#ERC1155-constructor-string-
  747. :ERC1155-uri: pass:normal[xref:token/ERC1155.adoc#ERC1155-uri-uint256-[`ERC1155.uri`]]
  748. :xref-ERC1155-uri-uint256-: xref:token/ERC1155.adoc#ERC1155-uri-uint256-
  749. :ERC1155-balanceOf: pass:normal[xref:token/ERC1155.adoc#ERC1155-balanceOf-address-uint256-[`ERC1155.balanceOf`]]
  750. :xref-ERC1155-balanceOf-address-uint256-: xref:token/ERC1155.adoc#ERC1155-balanceOf-address-uint256-
  751. :ERC1155-balanceOfBatch: pass:normal[xref:token/ERC1155.adoc#ERC1155-balanceOfBatch-address---uint256---[`ERC1155.balanceOfBatch`]]
  752. :xref-ERC1155-balanceOfBatch-address---uint256---: xref:token/ERC1155.adoc#ERC1155-balanceOfBatch-address---uint256---
  753. :ERC1155-setApprovalForAll: pass:normal[xref:token/ERC1155.adoc#ERC1155-setApprovalForAll-address-bool-[`ERC1155.setApprovalForAll`]]
  754. :xref-ERC1155-setApprovalForAll-address-bool-: xref:token/ERC1155.adoc#ERC1155-setApprovalForAll-address-bool-
  755. :ERC1155-isApprovedForAll: pass:normal[xref:token/ERC1155.adoc#ERC1155-isApprovedForAll-address-address-[`ERC1155.isApprovedForAll`]]
  756. :xref-ERC1155-isApprovedForAll-address-address-: xref:token/ERC1155.adoc#ERC1155-isApprovedForAll-address-address-
  757. :ERC1155-safeTransferFrom: pass:normal[xref:token/ERC1155.adoc#ERC1155-safeTransferFrom-address-address-uint256-uint256-bytes-[`ERC1155.safeTransferFrom`]]
  758. :xref-ERC1155-safeTransferFrom-address-address-uint256-uint256-bytes-: xref:token/ERC1155.adoc#ERC1155-safeTransferFrom-address-address-uint256-uint256-bytes-
  759. :ERC1155-safeBatchTransferFrom: pass:normal[xref:token/ERC1155.adoc#ERC1155-safeBatchTransferFrom-address-address-uint256---uint256---bytes-[`ERC1155.safeBatchTransferFrom`]]
  760. :xref-ERC1155-safeBatchTransferFrom-address-address-uint256---uint256---bytes-: xref:token/ERC1155.adoc#ERC1155-safeBatchTransferFrom-address-address-uint256---uint256---bytes-
  761. :ERC1155-_setURI: pass:normal[xref:token/ERC1155.adoc#ERC1155-_setURI-string-[`ERC1155._setURI`]]
  762. :xref-ERC1155-_setURI-string-: xref:token/ERC1155.adoc#ERC1155-_setURI-string-
  763. :ERC1155-_mint: pass:normal[xref:token/ERC1155.adoc#ERC1155-_mint-address-uint256-uint256-bytes-[`ERC1155._mint`]]
  764. :xref-ERC1155-_mint-address-uint256-uint256-bytes-: xref:token/ERC1155.adoc#ERC1155-_mint-address-uint256-uint256-bytes-
  765. :ERC1155-_mintBatch: pass:normal[xref:token/ERC1155.adoc#ERC1155-_mintBatch-address-uint256---uint256---bytes-[`ERC1155._mintBatch`]]
  766. :xref-ERC1155-_mintBatch-address-uint256---uint256---bytes-: xref:token/ERC1155.adoc#ERC1155-_mintBatch-address-uint256---uint256---bytes-
  767. :ERC1155-_burn: pass:normal[xref:token/ERC1155.adoc#ERC1155-_burn-address-uint256-uint256-[`ERC1155._burn`]]
  768. :xref-ERC1155-_burn-address-uint256-uint256-: xref:token/ERC1155.adoc#ERC1155-_burn-address-uint256-uint256-
  769. :ERC1155-_burnBatch: pass:normal[xref:token/ERC1155.adoc#ERC1155-_burnBatch-address-uint256---uint256---[`ERC1155._burnBatch`]]
  770. :xref-ERC1155-_burnBatch-address-uint256---uint256---: xref:token/ERC1155.adoc#ERC1155-_burnBatch-address-uint256---uint256---
  771. :ERC1155-_beforeTokenTransfer: pass:normal[xref:token/ERC1155.adoc#ERC1155-_beforeTokenTransfer-address-address-address-uint256---uint256---bytes-[`ERC1155._beforeTokenTransfer`]]
  772. :xref-ERC1155-_beforeTokenTransfer-address-address-address-uint256---uint256---bytes-: xref:token/ERC1155.adoc#ERC1155-_beforeTokenTransfer-address-address-address-uint256---uint256---bytes-
  773. :ERC1155Burnable: pass:normal[xref:token/ERC1155.adoc#ERC1155Burnable[`ERC1155Burnable`]]
  774. :xref-ERC1155Burnable: xref:token/ERC1155.adoc#ERC1155Burnable
  775. :ERC1155Burnable-burn: pass:normal[xref:token/ERC1155.adoc#ERC1155Burnable-burn-address-uint256-uint256-[`ERC1155Burnable.burn`]]
  776. :xref-ERC1155Burnable-burn-address-uint256-uint256-: xref:token/ERC1155.adoc#ERC1155Burnable-burn-address-uint256-uint256-
  777. :ERC1155Burnable-burnBatch: pass:normal[xref:token/ERC1155.adoc#ERC1155Burnable-burnBatch-address-uint256---uint256---[`ERC1155Burnable.burnBatch`]]
  778. :xref-ERC1155Burnable-burnBatch-address-uint256---uint256---: xref:token/ERC1155.adoc#ERC1155Burnable-burnBatch-address-uint256---uint256---
  779. :ERC1155Holder: pass:normal[xref:token/ERC1155.adoc#ERC1155Holder[`ERC1155Holder`]]
  780. :xref-ERC1155Holder: xref:token/ERC1155.adoc#ERC1155Holder
  781. :ERC1155Holder-onERC1155Received: pass:normal[xref:token/ERC1155.adoc#ERC1155Holder-onERC1155Received-address-address-uint256-uint256-bytes-[`ERC1155Holder.onERC1155Received`]]
  782. :xref-ERC1155Holder-onERC1155Received-address-address-uint256-uint256-bytes-: xref:token/ERC1155.adoc#ERC1155Holder-onERC1155Received-address-address-uint256-uint256-bytes-
  783. :ERC1155Holder-onERC1155BatchReceived: pass:normal[xref:token/ERC1155.adoc#ERC1155Holder-onERC1155BatchReceived-address-address-uint256---uint256---bytes-[`ERC1155Holder.onERC1155BatchReceived`]]
  784. :xref-ERC1155Holder-onERC1155BatchReceived-address-address-uint256---uint256---bytes-: xref:token/ERC1155.adoc#ERC1155Holder-onERC1155BatchReceived-address-address-uint256---uint256---bytes-
  785. :ERC1155Pausable: pass:normal[xref:token/ERC1155.adoc#ERC1155Pausable[`ERC1155Pausable`]]
  786. :xref-ERC1155Pausable: xref:token/ERC1155.adoc#ERC1155Pausable
  787. :ERC1155Pausable-_beforeTokenTransfer: pass:normal[xref:token/ERC1155.adoc#ERC1155Pausable-_beforeTokenTransfer-address-address-address-uint256---uint256---bytes-[`ERC1155Pausable._beforeTokenTransfer`]]
  788. :xref-ERC1155Pausable-_beforeTokenTransfer-address-address-address-uint256---uint256---bytes-: xref:token/ERC1155.adoc#ERC1155Pausable-_beforeTokenTransfer-address-address-address-uint256---uint256---bytes-
  789. :ERC1155Receiver: pass:normal[xref:token/ERC1155.adoc#ERC1155Receiver[`ERC1155Receiver`]]
  790. :xref-ERC1155Receiver: xref:token/ERC1155.adoc#ERC1155Receiver
  791. :ERC1155Receiver-constructor: pass:normal[xref:token/ERC1155.adoc#ERC1155Receiver-constructor--[`ERC1155Receiver.constructor`]]
  792. :xref-ERC1155Receiver-constructor--: xref:token/ERC1155.adoc#ERC1155Receiver-constructor--
  793. :IERC1155: pass:normal[xref:token/ERC1155.adoc#IERC1155[`IERC1155`]]
  794. :xref-IERC1155: xref:token/ERC1155.adoc#IERC1155
  795. :IERC1155-balanceOf: pass:normal[xref:token/ERC1155.adoc#IERC1155-balanceOf-address-uint256-[`IERC1155.balanceOf`]]
  796. :xref-IERC1155-balanceOf-address-uint256-: xref:token/ERC1155.adoc#IERC1155-balanceOf-address-uint256-
  797. :IERC1155-balanceOfBatch: pass:normal[xref:token/ERC1155.adoc#IERC1155-balanceOfBatch-address---uint256---[`IERC1155.balanceOfBatch`]]
  798. :xref-IERC1155-balanceOfBatch-address---uint256---: xref:token/ERC1155.adoc#IERC1155-balanceOfBatch-address---uint256---
  799. :IERC1155-setApprovalForAll: pass:normal[xref:token/ERC1155.adoc#IERC1155-setApprovalForAll-address-bool-[`IERC1155.setApprovalForAll`]]
  800. :xref-IERC1155-setApprovalForAll-address-bool-: xref:token/ERC1155.adoc#IERC1155-setApprovalForAll-address-bool-
  801. :IERC1155-isApprovedForAll: pass:normal[xref:token/ERC1155.adoc#IERC1155-isApprovedForAll-address-address-[`IERC1155.isApprovedForAll`]]
  802. :xref-IERC1155-isApprovedForAll-address-address-: xref:token/ERC1155.adoc#IERC1155-isApprovedForAll-address-address-
  803. :IERC1155-safeTransferFrom: pass:normal[xref:token/ERC1155.adoc#IERC1155-safeTransferFrom-address-address-uint256-uint256-bytes-[`IERC1155.safeTransferFrom`]]
  804. :xref-IERC1155-safeTransferFrom-address-address-uint256-uint256-bytes-: xref:token/ERC1155.adoc#IERC1155-safeTransferFrom-address-address-uint256-uint256-bytes-
  805. :IERC1155-safeBatchTransferFrom: pass:normal[xref:token/ERC1155.adoc#IERC1155-safeBatchTransferFrom-address-address-uint256---uint256---bytes-[`IERC1155.safeBatchTransferFrom`]]
  806. :xref-IERC1155-safeBatchTransferFrom-address-address-uint256---uint256---bytes-: xref:token/ERC1155.adoc#IERC1155-safeBatchTransferFrom-address-address-uint256---uint256---bytes-
  807. :IERC1155-TransferSingle: pass:normal[xref:token/ERC1155.adoc#IERC1155-TransferSingle-address-address-address-uint256-uint256-[`IERC1155.TransferSingle`]]
  808. :xref-IERC1155-TransferSingle-address-address-address-uint256-uint256-: xref:token/ERC1155.adoc#IERC1155-TransferSingle-address-address-address-uint256-uint256-
  809. :IERC1155-TransferBatch: pass:normal[xref:token/ERC1155.adoc#IERC1155-TransferBatch-address-address-address-uint256---uint256---[`IERC1155.TransferBatch`]]
  810. :xref-IERC1155-TransferBatch-address-address-address-uint256---uint256---: xref:token/ERC1155.adoc#IERC1155-TransferBatch-address-address-address-uint256---uint256---
  811. :IERC1155-ApprovalForAll: pass:normal[xref:token/ERC1155.adoc#IERC1155-ApprovalForAll-address-address-bool-[`IERC1155.ApprovalForAll`]]
  812. :xref-IERC1155-ApprovalForAll-address-address-bool-: xref:token/ERC1155.adoc#IERC1155-ApprovalForAll-address-address-bool-
  813. :IERC1155-URI: pass:normal[xref:token/ERC1155.adoc#IERC1155-URI-string-uint256-[`IERC1155.URI`]]
  814. :xref-IERC1155-URI-string-uint256-: xref:token/ERC1155.adoc#IERC1155-URI-string-uint256-
  815. :IERC1155MetadataURI: pass:normal[xref:token/ERC1155.adoc#IERC1155MetadataURI[`IERC1155MetadataURI`]]
  816. :xref-IERC1155MetadataURI: xref:token/ERC1155.adoc#IERC1155MetadataURI
  817. :IERC1155MetadataURI-uri: pass:normal[xref:token/ERC1155.adoc#IERC1155MetadataURI-uri-uint256-[`IERC1155MetadataURI.uri`]]
  818. :xref-IERC1155MetadataURI-uri-uint256-: xref:token/ERC1155.adoc#IERC1155MetadataURI-uri-uint256-
  819. :IERC1155Receiver: pass:normal[xref:token/ERC1155.adoc#IERC1155Receiver[`IERC1155Receiver`]]
  820. :xref-IERC1155Receiver: xref:token/ERC1155.adoc#IERC1155Receiver
  821. :IERC1155Receiver-onERC1155Received: pass:normal[xref:token/ERC1155.adoc#IERC1155Receiver-onERC1155Received-address-address-uint256-uint256-bytes-[`IERC1155Receiver.onERC1155Received`]]
  822. :xref-IERC1155Receiver-onERC1155Received-address-address-uint256-uint256-bytes-: xref:token/ERC1155.adoc#IERC1155Receiver-onERC1155Received-address-address-uint256-uint256-bytes-
  823. :IERC1155Receiver-onERC1155BatchReceived: pass:normal[xref:token/ERC1155.adoc#IERC1155Receiver-onERC1155BatchReceived-address-address-uint256---uint256---bytes-[`IERC1155Receiver.onERC1155BatchReceived`]]
  824. :xref-IERC1155Receiver-onERC1155BatchReceived-address-address-uint256---uint256---bytes-: xref:token/ERC1155.adoc#IERC1155Receiver-onERC1155BatchReceived-address-address-uint256---uint256---bytes-
  825. :ERC20: pass:normal[xref:token/ERC20.adoc#ERC20[`ERC20`]]
  826. :xref-ERC20: xref:token/ERC20.adoc#ERC20
  827. :ERC20-constructor: pass:normal[xref:token/ERC20.adoc#ERC20-constructor-string-string-[`ERC20.constructor`]]
  828. :xref-ERC20-constructor-string-string-: xref:token/ERC20.adoc#ERC20-constructor-string-string-
  829. :ERC20-name: pass:normal[xref:token/ERC20.adoc#ERC20-name--[`ERC20.name`]]
  830. :xref-ERC20-name--: xref:token/ERC20.adoc#ERC20-name--
  831. :ERC20-symbol: pass:normal[xref:token/ERC20.adoc#ERC20-symbol--[`ERC20.symbol`]]
  832. :xref-ERC20-symbol--: xref:token/ERC20.adoc#ERC20-symbol--
  833. :ERC20-decimals: pass:normal[xref:token/ERC20.adoc#ERC20-decimals--[`ERC20.decimals`]]
  834. :xref-ERC20-decimals--: xref:token/ERC20.adoc#ERC20-decimals--
  835. :ERC20-totalSupply: pass:normal[xref:token/ERC20.adoc#ERC20-totalSupply--[`ERC20.totalSupply`]]
  836. :xref-ERC20-totalSupply--: xref:token/ERC20.adoc#ERC20-totalSupply--
  837. :ERC20-balanceOf: pass:normal[xref:token/ERC20.adoc#ERC20-balanceOf-address-[`ERC20.balanceOf`]]
  838. :xref-ERC20-balanceOf-address-: xref:token/ERC20.adoc#ERC20-balanceOf-address-
  839. :ERC20-transfer: pass:normal[xref:token/ERC20.adoc#ERC20-transfer-address-uint256-[`ERC20.transfer`]]
  840. :xref-ERC20-transfer-address-uint256-: xref:token/ERC20.adoc#ERC20-transfer-address-uint256-
  841. :ERC20-allowance: pass:normal[xref:token/ERC20.adoc#ERC20-allowance-address-address-[`ERC20.allowance`]]
  842. :xref-ERC20-allowance-address-address-: xref:token/ERC20.adoc#ERC20-allowance-address-address-
  843. :ERC20-approve: pass:normal[xref:token/ERC20.adoc#ERC20-approve-address-uint256-[`ERC20.approve`]]
  844. :xref-ERC20-approve-address-uint256-: xref:token/ERC20.adoc#ERC20-approve-address-uint256-
  845. :ERC20-transferFrom: pass:normal[xref:token/ERC20.adoc#ERC20-transferFrom-address-address-uint256-[`ERC20.transferFrom`]]
  846. :xref-ERC20-transferFrom-address-address-uint256-: xref:token/ERC20.adoc#ERC20-transferFrom-address-address-uint256-
  847. :ERC20-increaseAllowance: pass:normal[xref:token/ERC20.adoc#ERC20-increaseAllowance-address-uint256-[`ERC20.increaseAllowance`]]
  848. :xref-ERC20-increaseAllowance-address-uint256-: xref:token/ERC20.adoc#ERC20-increaseAllowance-address-uint256-
  849. :ERC20-decreaseAllowance: pass:normal[xref:token/ERC20.adoc#ERC20-decreaseAllowance-address-uint256-[`ERC20.decreaseAllowance`]]
  850. :xref-ERC20-decreaseAllowance-address-uint256-: xref:token/ERC20.adoc#ERC20-decreaseAllowance-address-uint256-
  851. :ERC20-_transfer: pass:normal[xref:token/ERC20.adoc#ERC20-_transfer-address-address-uint256-[`ERC20._transfer`]]
  852. :xref-ERC20-_transfer-address-address-uint256-: xref:token/ERC20.adoc#ERC20-_transfer-address-address-uint256-
  853. :ERC20-_mint: pass:normal[xref:token/ERC20.adoc#ERC20-_mint-address-uint256-[`ERC20._mint`]]
  854. :xref-ERC20-_mint-address-uint256-: xref:token/ERC20.adoc#ERC20-_mint-address-uint256-
  855. :ERC20-_burn: pass:normal[xref:token/ERC20.adoc#ERC20-_burn-address-uint256-[`ERC20._burn`]]
  856. :xref-ERC20-_burn-address-uint256-: xref:token/ERC20.adoc#ERC20-_burn-address-uint256-
  857. :ERC20-_approve: pass:normal[xref:token/ERC20.adoc#ERC20-_approve-address-address-uint256-[`ERC20._approve`]]
  858. :xref-ERC20-_approve-address-address-uint256-: xref:token/ERC20.adoc#ERC20-_approve-address-address-uint256-
  859. :ERC20-_setupDecimals: pass:normal[xref:token/ERC20.adoc#ERC20-_setupDecimals-uint8-[`ERC20._setupDecimals`]]
  860. :xref-ERC20-_setupDecimals-uint8-: xref:token/ERC20.adoc#ERC20-_setupDecimals-uint8-
  861. :ERC20-_beforeTokenTransfer: pass:normal[xref:token/ERC20.adoc#ERC20-_beforeTokenTransfer-address-address-uint256-[`ERC20._beforeTokenTransfer`]]
  862. :xref-ERC20-_beforeTokenTransfer-address-address-uint256-: xref:token/ERC20.adoc#ERC20-_beforeTokenTransfer-address-address-uint256-
  863. :ERC20Burnable: pass:normal[xref:token/ERC20.adoc#ERC20Burnable[`ERC20Burnable`]]
  864. :xref-ERC20Burnable: xref:token/ERC20.adoc#ERC20Burnable
  865. :ERC20Burnable-burn: pass:normal[xref:token/ERC20.adoc#ERC20Burnable-burn-uint256-[`ERC20Burnable.burn`]]
  866. :xref-ERC20Burnable-burn-uint256-: xref:token/ERC20.adoc#ERC20Burnable-burn-uint256-
  867. :ERC20Burnable-burnFrom: pass:normal[xref:token/ERC20.adoc#ERC20Burnable-burnFrom-address-uint256-[`ERC20Burnable.burnFrom`]]
  868. :xref-ERC20Burnable-burnFrom-address-uint256-: xref:token/ERC20.adoc#ERC20Burnable-burnFrom-address-uint256-
  869. :ERC20Capped: pass:normal[xref:token/ERC20.adoc#ERC20Capped[`ERC20Capped`]]
  870. :xref-ERC20Capped: xref:token/ERC20.adoc#ERC20Capped
  871. :ERC20Capped-constructor: pass:normal[xref:token/ERC20.adoc#ERC20Capped-constructor-uint256-[`ERC20Capped.constructor`]]
  872. :xref-ERC20Capped-constructor-uint256-: xref:token/ERC20.adoc#ERC20Capped-constructor-uint256-
  873. :ERC20Capped-cap: pass:normal[xref:token/ERC20.adoc#ERC20Capped-cap--[`ERC20Capped.cap`]]
  874. :xref-ERC20Capped-cap--: xref:token/ERC20.adoc#ERC20Capped-cap--
  875. :ERC20Capped-_beforeTokenTransfer: pass:normal[xref:token/ERC20.adoc#ERC20Capped-_beforeTokenTransfer-address-address-uint256-[`ERC20Capped._beforeTokenTransfer`]]
  876. :xref-ERC20Capped-_beforeTokenTransfer-address-address-uint256-: xref:token/ERC20.adoc#ERC20Capped-_beforeTokenTransfer-address-address-uint256-
  877. :ERC20Pausable: pass:normal[xref:token/ERC20.adoc#ERC20Pausable[`ERC20Pausable`]]
  878. :xref-ERC20Pausable: xref:token/ERC20.adoc#ERC20Pausable
  879. :ERC20Pausable-_beforeTokenTransfer: pass:normal[xref:token/ERC20.adoc#ERC20Pausable-_beforeTokenTransfer-address-address-uint256-[`ERC20Pausable._beforeTokenTransfer`]]
  880. :xref-ERC20Pausable-_beforeTokenTransfer-address-address-uint256-: xref:token/ERC20.adoc#ERC20Pausable-_beforeTokenTransfer-address-address-uint256-
  881. :ERC20Snapshot: pass:normal[xref:token/ERC20.adoc#ERC20Snapshot[`ERC20Snapshot`]]
  882. :xref-ERC20Snapshot: xref:token/ERC20.adoc#ERC20Snapshot
  883. :ERC20Snapshot-_snapshot: pass:normal[xref:token/ERC20.adoc#ERC20Snapshot-_snapshot--[`ERC20Snapshot._snapshot`]]
  884. :xref-ERC20Snapshot-_snapshot--: xref:token/ERC20.adoc#ERC20Snapshot-_snapshot--
  885. :ERC20Snapshot-balanceOfAt: pass:normal[xref:token/ERC20.adoc#ERC20Snapshot-balanceOfAt-address-uint256-[`ERC20Snapshot.balanceOfAt`]]
  886. :xref-ERC20Snapshot-balanceOfAt-address-uint256-: xref:token/ERC20.adoc#ERC20Snapshot-balanceOfAt-address-uint256-
  887. :ERC20Snapshot-totalSupplyAt: pass:normal[xref:token/ERC20.adoc#ERC20Snapshot-totalSupplyAt-uint256-[`ERC20Snapshot.totalSupplyAt`]]
  888. :xref-ERC20Snapshot-totalSupplyAt-uint256-: xref:token/ERC20.adoc#ERC20Snapshot-totalSupplyAt-uint256-
  889. :ERC20Snapshot-_beforeTokenTransfer: pass:normal[xref:token/ERC20.adoc#ERC20Snapshot-_beforeTokenTransfer-address-address-uint256-[`ERC20Snapshot._beforeTokenTransfer`]]
  890. :xref-ERC20Snapshot-_beforeTokenTransfer-address-address-uint256-: xref:token/ERC20.adoc#ERC20Snapshot-_beforeTokenTransfer-address-address-uint256-
  891. :ERC20Snapshot-Snapshot: pass:normal[xref:token/ERC20.adoc#ERC20Snapshot-Snapshot-uint256-[`ERC20Snapshot.Snapshot`]]
  892. :xref-ERC20Snapshot-Snapshot-uint256-: xref:token/ERC20.adoc#ERC20Snapshot-Snapshot-uint256-
  893. :IERC20: pass:normal[xref:token/ERC20.adoc#IERC20[`IERC20`]]
  894. :xref-IERC20: xref:token/ERC20.adoc#IERC20
  895. :IERC20-totalSupply: pass:normal[xref:token/ERC20.adoc#IERC20-totalSupply--[`IERC20.totalSupply`]]
  896. :xref-IERC20-totalSupply--: xref:token/ERC20.adoc#IERC20-totalSupply--
  897. :IERC20-balanceOf: pass:normal[xref:token/ERC20.adoc#IERC20-balanceOf-address-[`IERC20.balanceOf`]]
  898. :xref-IERC20-balanceOf-address-: xref:token/ERC20.adoc#IERC20-balanceOf-address-
  899. :IERC20-transfer: pass:normal[xref:token/ERC20.adoc#IERC20-transfer-address-uint256-[`IERC20.transfer`]]
  900. :xref-IERC20-transfer-address-uint256-: xref:token/ERC20.adoc#IERC20-transfer-address-uint256-
  901. :IERC20-allowance: pass:normal[xref:token/ERC20.adoc#IERC20-allowance-address-address-[`IERC20.allowance`]]
  902. :xref-IERC20-allowance-address-address-: xref:token/ERC20.adoc#IERC20-allowance-address-address-
  903. :IERC20-approve: pass:normal[xref:token/ERC20.adoc#IERC20-approve-address-uint256-[`IERC20.approve`]]
  904. :xref-IERC20-approve-address-uint256-: xref:token/ERC20.adoc#IERC20-approve-address-uint256-
  905. :IERC20-transferFrom: pass:normal[xref:token/ERC20.adoc#IERC20-transferFrom-address-address-uint256-[`IERC20.transferFrom`]]
  906. :xref-IERC20-transferFrom-address-address-uint256-: xref:token/ERC20.adoc#IERC20-transferFrom-address-address-uint256-
  907. :IERC20-Transfer: pass:normal[xref:token/ERC20.adoc#IERC20-Transfer-address-address-uint256-[`IERC20.Transfer`]]
  908. :xref-IERC20-Transfer-address-address-uint256-: xref:token/ERC20.adoc#IERC20-Transfer-address-address-uint256-
  909. :IERC20-Approval: pass:normal[xref:token/ERC20.adoc#IERC20-Approval-address-address-uint256-[`IERC20.Approval`]]
  910. :xref-IERC20-Approval-address-address-uint256-: xref:token/ERC20.adoc#IERC20-Approval-address-address-uint256-
  911. :SafeERC20: pass:normal[xref:token/ERC20.adoc#SafeERC20[`SafeERC20`]]
  912. :xref-SafeERC20: xref:token/ERC20.adoc#SafeERC20
  913. :SafeERC20-safeTransfer: pass:normal[xref:token/ERC20.adoc#SafeERC20-safeTransfer-contract-IERC20-address-uint256-[`SafeERC20.safeTransfer`]]
  914. :xref-SafeERC20-safeTransfer-contract-IERC20-address-uint256-: xref:token/ERC20.adoc#SafeERC20-safeTransfer-contract-IERC20-address-uint256-
  915. :SafeERC20-safeTransferFrom: pass:normal[xref:token/ERC20.adoc#SafeERC20-safeTransferFrom-contract-IERC20-address-address-uint256-[`SafeERC20.safeTransferFrom`]]
  916. :xref-SafeERC20-safeTransferFrom-contract-IERC20-address-address-uint256-: xref:token/ERC20.adoc#SafeERC20-safeTransferFrom-contract-IERC20-address-address-uint256-
  917. :SafeERC20-safeApprove: pass:normal[xref:token/ERC20.adoc#SafeERC20-safeApprove-contract-IERC20-address-uint256-[`SafeERC20.safeApprove`]]
  918. :xref-SafeERC20-safeApprove-contract-IERC20-address-uint256-: xref:token/ERC20.adoc#SafeERC20-safeApprove-contract-IERC20-address-uint256-
  919. :SafeERC20-safeIncreaseAllowance: pass:normal[xref:token/ERC20.adoc#SafeERC20-safeIncreaseAllowance-contract-IERC20-address-uint256-[`SafeERC20.safeIncreaseAllowance`]]
  920. :xref-SafeERC20-safeIncreaseAllowance-contract-IERC20-address-uint256-: xref:token/ERC20.adoc#SafeERC20-safeIncreaseAllowance-contract-IERC20-address-uint256-
  921. :SafeERC20-safeDecreaseAllowance: pass:normal[xref:token/ERC20.adoc#SafeERC20-safeDecreaseAllowance-contract-IERC20-address-uint256-[`SafeERC20.safeDecreaseAllowance`]]
  922. :xref-SafeERC20-safeDecreaseAllowance-contract-IERC20-address-uint256-: xref:token/ERC20.adoc#SafeERC20-safeDecreaseAllowance-contract-IERC20-address-uint256-
  923. :TokenTimelock: pass:normal[xref:token/ERC20.adoc#TokenTimelock[`TokenTimelock`]]
  924. :xref-TokenTimelock: xref:token/ERC20.adoc#TokenTimelock
  925. :TokenTimelock-constructor: pass:normal[xref:token/ERC20.adoc#TokenTimelock-constructor-contract-IERC20-address-uint256-[`TokenTimelock.constructor`]]
  926. :xref-TokenTimelock-constructor-contract-IERC20-address-uint256-: xref:token/ERC20.adoc#TokenTimelock-constructor-contract-IERC20-address-uint256-
  927. :TokenTimelock-token: pass:normal[xref:token/ERC20.adoc#TokenTimelock-token--[`TokenTimelock.token`]]
  928. :xref-TokenTimelock-token--: xref:token/ERC20.adoc#TokenTimelock-token--
  929. :TokenTimelock-beneficiary: pass:normal[xref:token/ERC20.adoc#TokenTimelock-beneficiary--[`TokenTimelock.beneficiary`]]
  930. :xref-TokenTimelock-beneficiary--: xref:token/ERC20.adoc#TokenTimelock-beneficiary--
  931. :TokenTimelock-releaseTime: pass:normal[xref:token/ERC20.adoc#TokenTimelock-releaseTime--[`TokenTimelock.releaseTime`]]
  932. :xref-TokenTimelock-releaseTime--: xref:token/ERC20.adoc#TokenTimelock-releaseTime--
  933. :TokenTimelock-release: pass:normal[xref:token/ERC20.adoc#TokenTimelock-release--[`TokenTimelock.release`]]
  934. :xref-TokenTimelock-release--: xref:token/ERC20.adoc#TokenTimelock-release--
  935. :ERC721: pass:normal[xref:token/ERC721.adoc#ERC721[`ERC721`]]
  936. :xref-ERC721: xref:token/ERC721.adoc#ERC721
  937. :ERC721-constructor: pass:normal[xref:token/ERC721.adoc#ERC721-constructor-string-string-[`ERC721.constructor`]]
  938. :xref-ERC721-constructor-string-string-: xref:token/ERC721.adoc#ERC721-constructor-string-string-
  939. :ERC721-balanceOf: pass:normal[xref:token/ERC721.adoc#ERC721-balanceOf-address-[`ERC721.balanceOf`]]
  940. :xref-ERC721-balanceOf-address-: xref:token/ERC721.adoc#ERC721-balanceOf-address-
  941. :ERC721-ownerOf: pass:normal[xref:token/ERC721.adoc#ERC721-ownerOf-uint256-[`ERC721.ownerOf`]]
  942. :xref-ERC721-ownerOf-uint256-: xref:token/ERC721.adoc#ERC721-ownerOf-uint256-
  943. :ERC721-name: pass:normal[xref:token/ERC721.adoc#ERC721-name--[`ERC721.name`]]
  944. :xref-ERC721-name--: xref:token/ERC721.adoc#ERC721-name--
  945. :ERC721-symbol: pass:normal[xref:token/ERC721.adoc#ERC721-symbol--[`ERC721.symbol`]]
  946. :xref-ERC721-symbol--: xref:token/ERC721.adoc#ERC721-symbol--
  947. :ERC721-tokenURI: pass:normal[xref:token/ERC721.adoc#ERC721-tokenURI-uint256-[`ERC721.tokenURI`]]
  948. :xref-ERC721-tokenURI-uint256-: xref:token/ERC721.adoc#ERC721-tokenURI-uint256-
  949. :ERC721-baseURI: pass:normal[xref:token/ERC721.adoc#ERC721-baseURI--[`ERC721.baseURI`]]
  950. :xref-ERC721-baseURI--: xref:token/ERC721.adoc#ERC721-baseURI--
  951. :ERC721-tokenOfOwnerByIndex: pass:normal[xref:token/ERC721.adoc#ERC721-tokenOfOwnerByIndex-address-uint256-[`ERC721.tokenOfOwnerByIndex`]]
  952. :xref-ERC721-tokenOfOwnerByIndex-address-uint256-: xref:token/ERC721.adoc#ERC721-tokenOfOwnerByIndex-address-uint256-
  953. :ERC721-totalSupply: pass:normal[xref:token/ERC721.adoc#ERC721-totalSupply--[`ERC721.totalSupply`]]
  954. :xref-ERC721-totalSupply--: xref:token/ERC721.adoc#ERC721-totalSupply--
  955. :ERC721-tokenByIndex: pass:normal[xref:token/ERC721.adoc#ERC721-tokenByIndex-uint256-[`ERC721.tokenByIndex`]]
  956. :xref-ERC721-tokenByIndex-uint256-: xref:token/ERC721.adoc#ERC721-tokenByIndex-uint256-
  957. :ERC721-approve: pass:normal[xref:token/ERC721.adoc#ERC721-approve-address-uint256-[`ERC721.approve`]]
  958. :xref-ERC721-approve-address-uint256-: xref:token/ERC721.adoc#ERC721-approve-address-uint256-
  959. :ERC721-getApproved: pass:normal[xref:token/ERC721.adoc#ERC721-getApproved-uint256-[`ERC721.getApproved`]]
  960. :xref-ERC721-getApproved-uint256-: xref:token/ERC721.adoc#ERC721-getApproved-uint256-
  961. :ERC721-setApprovalForAll: pass:normal[xref:token/ERC721.adoc#ERC721-setApprovalForAll-address-bool-[`ERC721.setApprovalForAll`]]
  962. :xref-ERC721-setApprovalForAll-address-bool-: xref:token/ERC721.adoc#ERC721-setApprovalForAll-address-bool-
  963. :ERC721-isApprovedForAll: pass:normal[xref:token/ERC721.adoc#ERC721-isApprovedForAll-address-address-[`ERC721.isApprovedForAll`]]
  964. :xref-ERC721-isApprovedForAll-address-address-: xref:token/ERC721.adoc#ERC721-isApprovedForAll-address-address-
  965. :ERC721-transferFrom: pass:normal[xref:token/ERC721.adoc#ERC721-transferFrom-address-address-uint256-[`ERC721.transferFrom`]]
  966. :xref-ERC721-transferFrom-address-address-uint256-: xref:token/ERC721.adoc#ERC721-transferFrom-address-address-uint256-
  967. :ERC721-safeTransferFrom: pass:normal[xref:token/ERC721.adoc#ERC721-safeTransferFrom-address-address-uint256-[`ERC721.safeTransferFrom`]]
  968. :xref-ERC721-safeTransferFrom-address-address-uint256-: xref:token/ERC721.adoc#ERC721-safeTransferFrom-address-address-uint256-
  969. :ERC721-safeTransferFrom: pass:normal[xref:token/ERC721.adoc#ERC721-safeTransferFrom-address-address-uint256-bytes-[`ERC721.safeTransferFrom`]]
  970. :xref-ERC721-safeTransferFrom-address-address-uint256-bytes-: xref:token/ERC721.adoc#ERC721-safeTransferFrom-address-address-uint256-bytes-
  971. :ERC721-_safeTransfer: pass:normal[xref:token/ERC721.adoc#ERC721-_safeTransfer-address-address-uint256-bytes-[`ERC721._safeTransfer`]]
  972. :xref-ERC721-_safeTransfer-address-address-uint256-bytes-: xref:token/ERC721.adoc#ERC721-_safeTransfer-address-address-uint256-bytes-
  973. :ERC721-_exists: pass:normal[xref:token/ERC721.adoc#ERC721-_exists-uint256-[`ERC721._exists`]]
  974. :xref-ERC721-_exists-uint256-: xref:token/ERC721.adoc#ERC721-_exists-uint256-
  975. :ERC721-_isApprovedOrOwner: pass:normal[xref:token/ERC721.adoc#ERC721-_isApprovedOrOwner-address-uint256-[`ERC721._isApprovedOrOwner`]]
  976. :xref-ERC721-_isApprovedOrOwner-address-uint256-: xref:token/ERC721.adoc#ERC721-_isApprovedOrOwner-address-uint256-
  977. :ERC721-_safeMint: pass:normal[xref:token/ERC721.adoc#ERC721-_safeMint-address-uint256-[`ERC721._safeMint`]]
  978. :xref-ERC721-_safeMint-address-uint256-: xref:token/ERC721.adoc#ERC721-_safeMint-address-uint256-
  979. :ERC721-_safeMint: pass:normal[xref:token/ERC721.adoc#ERC721-_safeMint-address-uint256-bytes-[`ERC721._safeMint`]]
  980. :xref-ERC721-_safeMint-address-uint256-bytes-: xref:token/ERC721.adoc#ERC721-_safeMint-address-uint256-bytes-
  981. :ERC721-_mint: pass:normal[xref:token/ERC721.adoc#ERC721-_mint-address-uint256-[`ERC721._mint`]]
  982. :xref-ERC721-_mint-address-uint256-: xref:token/ERC721.adoc#ERC721-_mint-address-uint256-
  983. :ERC721-_burn: pass:normal[xref:token/ERC721.adoc#ERC721-_burn-uint256-[`ERC721._burn`]]
  984. :xref-ERC721-_burn-uint256-: xref:token/ERC721.adoc#ERC721-_burn-uint256-
  985. :ERC721-_transfer: pass:normal[xref:token/ERC721.adoc#ERC721-_transfer-address-address-uint256-[`ERC721._transfer`]]
  986. :xref-ERC721-_transfer-address-address-uint256-: xref:token/ERC721.adoc#ERC721-_transfer-address-address-uint256-
  987. :ERC721-_setTokenURI: pass:normal[xref:token/ERC721.adoc#ERC721-_setTokenURI-uint256-string-[`ERC721._setTokenURI`]]
  988. :xref-ERC721-_setTokenURI-uint256-string-: xref:token/ERC721.adoc#ERC721-_setTokenURI-uint256-string-
  989. :ERC721-_setBaseURI: pass:normal[xref:token/ERC721.adoc#ERC721-_setBaseURI-string-[`ERC721._setBaseURI`]]
  990. :xref-ERC721-_setBaseURI-string-: xref:token/ERC721.adoc#ERC721-_setBaseURI-string-
  991. :ERC721-_approve: pass:normal[xref:token/ERC721.adoc#ERC721-_approve-address-uint256-[`ERC721._approve`]]
  992. :xref-ERC721-_approve-address-uint256-: xref:token/ERC721.adoc#ERC721-_approve-address-uint256-
  993. :ERC721-_beforeTokenTransfer: pass:normal[xref:token/ERC721.adoc#ERC721-_beforeTokenTransfer-address-address-uint256-[`ERC721._beforeTokenTransfer`]]
  994. :xref-ERC721-_beforeTokenTransfer-address-address-uint256-: xref:token/ERC721.adoc#ERC721-_beforeTokenTransfer-address-address-uint256-
  995. :ERC721Burnable: pass:normal[xref:token/ERC721.adoc#ERC721Burnable[`ERC721Burnable`]]
  996. :xref-ERC721Burnable: xref:token/ERC721.adoc#ERC721Burnable
  997. :ERC721Burnable-burn: pass:normal[xref:token/ERC721.adoc#ERC721Burnable-burn-uint256-[`ERC721Burnable.burn`]]
  998. :xref-ERC721Burnable-burn-uint256-: xref:token/ERC721.adoc#ERC721Burnable-burn-uint256-
  999. :ERC721Holder: pass:normal[xref:token/ERC721.adoc#ERC721Holder[`ERC721Holder`]]
  1000. :xref-ERC721Holder: xref:token/ERC721.adoc#ERC721Holder
  1001. :ERC721Holder-onERC721Received: pass:normal[xref:token/ERC721.adoc#ERC721Holder-onERC721Received-address-address-uint256-bytes-[`ERC721Holder.onERC721Received`]]
  1002. :xref-ERC721Holder-onERC721Received-address-address-uint256-bytes-: xref:token/ERC721.adoc#ERC721Holder-onERC721Received-address-address-uint256-bytes-
  1003. :ERC721Pausable: pass:normal[xref:token/ERC721.adoc#ERC721Pausable[`ERC721Pausable`]]
  1004. :xref-ERC721Pausable: xref:token/ERC721.adoc#ERC721Pausable
  1005. :ERC721Pausable-_beforeTokenTransfer: pass:normal[xref:token/ERC721.adoc#ERC721Pausable-_beforeTokenTransfer-address-address-uint256-[`ERC721Pausable._beforeTokenTransfer`]]
  1006. :xref-ERC721Pausable-_beforeTokenTransfer-address-address-uint256-: xref:token/ERC721.adoc#ERC721Pausable-_beforeTokenTransfer-address-address-uint256-
  1007. :IERC721: pass:normal[xref:token/ERC721.adoc#IERC721[`IERC721`]]
  1008. :xref-IERC721: xref:token/ERC721.adoc#IERC721
  1009. :IERC721-balanceOf: pass:normal[xref:token/ERC721.adoc#IERC721-balanceOf-address-[`IERC721.balanceOf`]]
  1010. :xref-IERC721-balanceOf-address-: xref:token/ERC721.adoc#IERC721-balanceOf-address-
  1011. :IERC721-ownerOf: pass:normal[xref:token/ERC721.adoc#IERC721-ownerOf-uint256-[`IERC721.ownerOf`]]
  1012. :xref-IERC721-ownerOf-uint256-: xref:token/ERC721.adoc#IERC721-ownerOf-uint256-
  1013. :IERC721-safeTransferFrom: pass:normal[xref:token/ERC721.adoc#IERC721-safeTransferFrom-address-address-uint256-[`IERC721.safeTransferFrom`]]
  1014. :xref-IERC721-safeTransferFrom-address-address-uint256-: xref:token/ERC721.adoc#IERC721-safeTransferFrom-address-address-uint256-
  1015. :IERC721-transferFrom: pass:normal[xref:token/ERC721.adoc#IERC721-transferFrom-address-address-uint256-[`IERC721.transferFrom`]]
  1016. :xref-IERC721-transferFrom-address-address-uint256-: xref:token/ERC721.adoc#IERC721-transferFrom-address-address-uint256-
  1017. :IERC721-approve: pass:normal[xref:token/ERC721.adoc#IERC721-approve-address-uint256-[`IERC721.approve`]]
  1018. :xref-IERC721-approve-address-uint256-: xref:token/ERC721.adoc#IERC721-approve-address-uint256-
  1019. :IERC721-getApproved: pass:normal[xref:token/ERC721.adoc#IERC721-getApproved-uint256-[`IERC721.getApproved`]]
  1020. :xref-IERC721-getApproved-uint256-: xref:token/ERC721.adoc#IERC721-getApproved-uint256-
  1021. :IERC721-setApprovalForAll: pass:normal[xref:token/ERC721.adoc#IERC721-setApprovalForAll-address-bool-[`IERC721.setApprovalForAll`]]
  1022. :xref-IERC721-setApprovalForAll-address-bool-: xref:token/ERC721.adoc#IERC721-setApprovalForAll-address-bool-
  1023. :IERC721-isApprovedForAll: pass:normal[xref:token/ERC721.adoc#IERC721-isApprovedForAll-address-address-[`IERC721.isApprovedForAll`]]
  1024. :xref-IERC721-isApprovedForAll-address-address-: xref:token/ERC721.adoc#IERC721-isApprovedForAll-address-address-
  1025. :IERC721-safeTransferFrom: pass:normal[xref:token/ERC721.adoc#IERC721-safeTransferFrom-address-address-uint256-bytes-[`IERC721.safeTransferFrom`]]
  1026. :xref-IERC721-safeTransferFrom-address-address-uint256-bytes-: xref:token/ERC721.adoc#IERC721-safeTransferFrom-address-address-uint256-bytes-
  1027. :IERC721-Transfer: pass:normal[xref:token/ERC721.adoc#IERC721-Transfer-address-address-uint256-[`IERC721.Transfer`]]
  1028. :xref-IERC721-Transfer-address-address-uint256-: xref:token/ERC721.adoc#IERC721-Transfer-address-address-uint256-
  1029. :IERC721-Approval: pass:normal[xref:token/ERC721.adoc#IERC721-Approval-address-address-uint256-[`IERC721.Approval`]]
  1030. :xref-IERC721-Approval-address-address-uint256-: xref:token/ERC721.adoc#IERC721-Approval-address-address-uint256-
  1031. :IERC721-ApprovalForAll: pass:normal[xref:token/ERC721.adoc#IERC721-ApprovalForAll-address-address-bool-[`IERC721.ApprovalForAll`]]
  1032. :xref-IERC721-ApprovalForAll-address-address-bool-: xref:token/ERC721.adoc#IERC721-ApprovalForAll-address-address-bool-
  1033. :IERC721Enumerable: pass:normal[xref:token/ERC721.adoc#IERC721Enumerable[`IERC721Enumerable`]]
  1034. :xref-IERC721Enumerable: xref:token/ERC721.adoc#IERC721Enumerable
  1035. :IERC721Enumerable-totalSupply: pass:normal[xref:token/ERC721.adoc#IERC721Enumerable-totalSupply--[`IERC721Enumerable.totalSupply`]]
  1036. :xref-IERC721Enumerable-totalSupply--: xref:token/ERC721.adoc#IERC721Enumerable-totalSupply--
  1037. :IERC721Enumerable-tokenOfOwnerByIndex: pass:normal[xref:token/ERC721.adoc#IERC721Enumerable-tokenOfOwnerByIndex-address-uint256-[`IERC721Enumerable.tokenOfOwnerByIndex`]]
  1038. :xref-IERC721Enumerable-tokenOfOwnerByIndex-address-uint256-: xref:token/ERC721.adoc#IERC721Enumerable-tokenOfOwnerByIndex-address-uint256-
  1039. :IERC721Enumerable-tokenByIndex: pass:normal[xref:token/ERC721.adoc#IERC721Enumerable-tokenByIndex-uint256-[`IERC721Enumerable.tokenByIndex`]]
  1040. :xref-IERC721Enumerable-tokenByIndex-uint256-: xref:token/ERC721.adoc#IERC721Enumerable-tokenByIndex-uint256-
  1041. :IERC721Metadata: pass:normal[xref:token/ERC721.adoc#IERC721Metadata[`IERC721Metadata`]]
  1042. :xref-IERC721Metadata: xref:token/ERC721.adoc#IERC721Metadata
  1043. :IERC721Metadata-name: pass:normal[xref:token/ERC721.adoc#IERC721Metadata-name--[`IERC721Metadata.name`]]
  1044. :xref-IERC721Metadata-name--: xref:token/ERC721.adoc#IERC721Metadata-name--
  1045. :IERC721Metadata-symbol: pass:normal[xref:token/ERC721.adoc#IERC721Metadata-symbol--[`IERC721Metadata.symbol`]]
  1046. :xref-IERC721Metadata-symbol--: xref:token/ERC721.adoc#IERC721Metadata-symbol--
  1047. :IERC721Metadata-tokenURI: pass:normal[xref:token/ERC721.adoc#IERC721Metadata-tokenURI-uint256-[`IERC721Metadata.tokenURI`]]
  1048. :xref-IERC721Metadata-tokenURI-uint256-: xref:token/ERC721.adoc#IERC721Metadata-tokenURI-uint256-
  1049. :IERC721Receiver: pass:normal[xref:token/ERC721.adoc#IERC721Receiver[`IERC721Receiver`]]
  1050. :xref-IERC721Receiver: xref:token/ERC721.adoc#IERC721Receiver
  1051. :IERC721Receiver-onERC721Received: pass:normal[xref:token/ERC721.adoc#IERC721Receiver-onERC721Received-address-address-uint256-bytes-[`IERC721Receiver.onERC721Received`]]
  1052. :xref-IERC721Receiver-onERC721Received-address-address-uint256-bytes-: xref:token/ERC721.adoc#IERC721Receiver-onERC721Received-address-address-uint256-bytes-
  1053. :ERC777: pass:normal[xref:token/ERC777.adoc#ERC777[`ERC777`]]
  1054. :xref-ERC777: xref:token/ERC777.adoc#ERC777
  1055. :ERC777-_ERC1820_REGISTRY: pass:normal[xref:token/ERC777.adoc#ERC777-_ERC1820_REGISTRY-contract-IERC1820Registry[`ERC777._ERC1820_REGISTRY`]]
  1056. :xref-ERC777-_ERC1820_REGISTRY-contract-IERC1820Registry: xref:token/ERC777.adoc#ERC777-_ERC1820_REGISTRY-contract-IERC1820Registry
  1057. :ERC777-constructor: pass:normal[xref:token/ERC777.adoc#ERC777-constructor-string-string-address---[`ERC777.constructor`]]
  1058. :xref-ERC777-constructor-string-string-address---: xref:token/ERC777.adoc#ERC777-constructor-string-string-address---
  1059. :ERC777-name: pass:normal[xref:token/ERC777.adoc#ERC777-name--[`ERC777.name`]]
  1060. :xref-ERC777-name--: xref:token/ERC777.adoc#ERC777-name--
  1061. :ERC777-symbol: pass:normal[xref:token/ERC777.adoc#ERC777-symbol--[`ERC777.symbol`]]
  1062. :xref-ERC777-symbol--: xref:token/ERC777.adoc#ERC777-symbol--
  1063. :ERC777-decimals: pass:normal[xref:token/ERC777.adoc#ERC777-decimals--[`ERC777.decimals`]]
  1064. :xref-ERC777-decimals--: xref:token/ERC777.adoc#ERC777-decimals--
  1065. :ERC777-granularity: pass:normal[xref:token/ERC777.adoc#ERC777-granularity--[`ERC777.granularity`]]
  1066. :xref-ERC777-granularity--: xref:token/ERC777.adoc#ERC777-granularity--
  1067. :ERC777-totalSupply: pass:normal[xref:token/ERC777.adoc#ERC777-totalSupply--[`ERC777.totalSupply`]]
  1068. :xref-ERC777-totalSupply--: xref:token/ERC777.adoc#ERC777-totalSupply--
  1069. :ERC777-balanceOf: pass:normal[xref:token/ERC777.adoc#ERC777-balanceOf-address-[`ERC777.balanceOf`]]
  1070. :xref-ERC777-balanceOf-address-: xref:token/ERC777.adoc#ERC777-balanceOf-address-
  1071. :ERC777-send: pass:normal[xref:token/ERC777.adoc#ERC777-send-address-uint256-bytes-[`ERC777.send`]]
  1072. :xref-ERC777-send-address-uint256-bytes-: xref:token/ERC777.adoc#ERC777-send-address-uint256-bytes-
  1073. :ERC777-transfer: pass:normal[xref:token/ERC777.adoc#ERC777-transfer-address-uint256-[`ERC777.transfer`]]
  1074. :xref-ERC777-transfer-address-uint256-: xref:token/ERC777.adoc#ERC777-transfer-address-uint256-
  1075. :ERC777-burn: pass:normal[xref:token/ERC777.adoc#ERC777-burn-uint256-bytes-[`ERC777.burn`]]
  1076. :xref-ERC777-burn-uint256-bytes-: xref:token/ERC777.adoc#ERC777-burn-uint256-bytes-
  1077. :ERC777-isOperatorFor: pass:normal[xref:token/ERC777.adoc#ERC777-isOperatorFor-address-address-[`ERC777.isOperatorFor`]]
  1078. :xref-ERC777-isOperatorFor-address-address-: xref:token/ERC777.adoc#ERC777-isOperatorFor-address-address-
  1079. :ERC777-authorizeOperator: pass:normal[xref:token/ERC777.adoc#ERC777-authorizeOperator-address-[`ERC777.authorizeOperator`]]
  1080. :xref-ERC777-authorizeOperator-address-: xref:token/ERC777.adoc#ERC777-authorizeOperator-address-
  1081. :ERC777-revokeOperator: pass:normal[xref:token/ERC777.adoc#ERC777-revokeOperator-address-[`ERC777.revokeOperator`]]
  1082. :xref-ERC777-revokeOperator-address-: xref:token/ERC777.adoc#ERC777-revokeOperator-address-
  1083. :ERC777-defaultOperators: pass:normal[xref:token/ERC777.adoc#ERC777-defaultOperators--[`ERC777.defaultOperators`]]
  1084. :xref-ERC777-defaultOperators--: xref:token/ERC777.adoc#ERC777-defaultOperators--
  1085. :ERC777-operatorSend: pass:normal[xref:token/ERC777.adoc#ERC777-operatorSend-address-address-uint256-bytes-bytes-[`ERC777.operatorSend`]]
  1086. :xref-ERC777-operatorSend-address-address-uint256-bytes-bytes-: xref:token/ERC777.adoc#ERC777-operatorSend-address-address-uint256-bytes-bytes-
  1087. :ERC777-operatorBurn: pass:normal[xref:token/ERC777.adoc#ERC777-operatorBurn-address-uint256-bytes-bytes-[`ERC777.operatorBurn`]]
  1088. :xref-ERC777-operatorBurn-address-uint256-bytes-bytes-: xref:token/ERC777.adoc#ERC777-operatorBurn-address-uint256-bytes-bytes-
  1089. :ERC777-allowance: pass:normal[xref:token/ERC777.adoc#ERC777-allowance-address-address-[`ERC777.allowance`]]
  1090. :xref-ERC777-allowance-address-address-: xref:token/ERC777.adoc#ERC777-allowance-address-address-
  1091. :ERC777-approve: pass:normal[xref:token/ERC777.adoc#ERC777-approve-address-uint256-[`ERC777.approve`]]
  1092. :xref-ERC777-approve-address-uint256-: xref:token/ERC777.adoc#ERC777-approve-address-uint256-
  1093. :ERC777-transferFrom: pass:normal[xref:token/ERC777.adoc#ERC777-transferFrom-address-address-uint256-[`ERC777.transferFrom`]]
  1094. :xref-ERC777-transferFrom-address-address-uint256-: xref:token/ERC777.adoc#ERC777-transferFrom-address-address-uint256-
  1095. :ERC777-_mint: pass:normal[xref:token/ERC777.adoc#ERC777-_mint-address-uint256-bytes-bytes-[`ERC777._mint`]]
  1096. :xref-ERC777-_mint-address-uint256-bytes-bytes-: xref:token/ERC777.adoc#ERC777-_mint-address-uint256-bytes-bytes-
  1097. :ERC777-_send: pass:normal[xref:token/ERC777.adoc#ERC777-_send-address-address-uint256-bytes-bytes-bool-[`ERC777._send`]]
  1098. :xref-ERC777-_send-address-address-uint256-bytes-bytes-bool-: xref:token/ERC777.adoc#ERC777-_send-address-address-uint256-bytes-bytes-bool-
  1099. :ERC777-_burn: pass:normal[xref:token/ERC777.adoc#ERC777-_burn-address-uint256-bytes-bytes-[`ERC777._burn`]]
  1100. :xref-ERC777-_burn-address-uint256-bytes-bytes-: xref:token/ERC777.adoc#ERC777-_burn-address-uint256-bytes-bytes-
  1101. :ERC777-_approve: pass:normal[xref:token/ERC777.adoc#ERC777-_approve-address-address-uint256-[`ERC777._approve`]]
  1102. :xref-ERC777-_approve-address-address-uint256-: xref:token/ERC777.adoc#ERC777-_approve-address-address-uint256-
  1103. :ERC777-_beforeTokenTransfer: pass:normal[xref:token/ERC777.adoc#ERC777-_beforeTokenTransfer-address-address-address-uint256-[`ERC777._beforeTokenTransfer`]]
  1104. :xref-ERC777-_beforeTokenTransfer-address-address-address-uint256-: xref:token/ERC777.adoc#ERC777-_beforeTokenTransfer-address-address-address-uint256-
  1105. :IERC777: pass:normal[xref:token/ERC777.adoc#IERC777[`IERC777`]]
  1106. :xref-IERC777: xref:token/ERC777.adoc#IERC777
  1107. :IERC777-name: pass:normal[xref:token/ERC777.adoc#IERC777-name--[`IERC777.name`]]
  1108. :xref-IERC777-name--: xref:token/ERC777.adoc#IERC777-name--
  1109. :IERC777-symbol: pass:normal[xref:token/ERC777.adoc#IERC777-symbol--[`IERC777.symbol`]]
  1110. :xref-IERC777-symbol--: xref:token/ERC777.adoc#IERC777-symbol--
  1111. :IERC777-granularity: pass:normal[xref:token/ERC777.adoc#IERC777-granularity--[`IERC777.granularity`]]
  1112. :xref-IERC777-granularity--: xref:token/ERC777.adoc#IERC777-granularity--
  1113. :IERC777-totalSupply: pass:normal[xref:token/ERC777.adoc#IERC777-totalSupply--[`IERC777.totalSupply`]]
  1114. :xref-IERC777-totalSupply--: xref:token/ERC777.adoc#IERC777-totalSupply--
  1115. :IERC777-balanceOf: pass:normal[xref:token/ERC777.adoc#IERC777-balanceOf-address-[`IERC777.balanceOf`]]
  1116. :xref-IERC777-balanceOf-address-: xref:token/ERC777.adoc#IERC777-balanceOf-address-
  1117. :IERC777-send: pass:normal[xref:token/ERC777.adoc#IERC777-send-address-uint256-bytes-[`IERC777.send`]]
  1118. :xref-IERC777-send-address-uint256-bytes-: xref:token/ERC777.adoc#IERC777-send-address-uint256-bytes-
  1119. :IERC777-burn: pass:normal[xref:token/ERC777.adoc#IERC777-burn-uint256-bytes-[`IERC777.burn`]]
  1120. :xref-IERC777-burn-uint256-bytes-: xref:token/ERC777.adoc#IERC777-burn-uint256-bytes-
  1121. :IERC777-isOperatorFor: pass:normal[xref:token/ERC777.adoc#IERC777-isOperatorFor-address-address-[`IERC777.isOperatorFor`]]
  1122. :xref-IERC777-isOperatorFor-address-address-: xref:token/ERC777.adoc#IERC777-isOperatorFor-address-address-
  1123. :IERC777-authorizeOperator: pass:normal[xref:token/ERC777.adoc#IERC777-authorizeOperator-address-[`IERC777.authorizeOperator`]]
  1124. :xref-IERC777-authorizeOperator-address-: xref:token/ERC777.adoc#IERC777-authorizeOperator-address-
  1125. :IERC777-revokeOperator: pass:normal[xref:token/ERC777.adoc#IERC777-revokeOperator-address-[`IERC777.revokeOperator`]]
  1126. :xref-IERC777-revokeOperator-address-: xref:token/ERC777.adoc#IERC777-revokeOperator-address-
  1127. :IERC777-defaultOperators: pass:normal[xref:token/ERC777.adoc#IERC777-defaultOperators--[`IERC777.defaultOperators`]]
  1128. :xref-IERC777-defaultOperators--: xref:token/ERC777.adoc#IERC777-defaultOperators--
  1129. :IERC777-operatorSend: pass:normal[xref:token/ERC777.adoc#IERC777-operatorSend-address-address-uint256-bytes-bytes-[`IERC777.operatorSend`]]
  1130. :xref-IERC777-operatorSend-address-address-uint256-bytes-bytes-: xref:token/ERC777.adoc#IERC777-operatorSend-address-address-uint256-bytes-bytes-
  1131. :IERC777-operatorBurn: pass:normal[xref:token/ERC777.adoc#IERC777-operatorBurn-address-uint256-bytes-bytes-[`IERC777.operatorBurn`]]
  1132. :xref-IERC777-operatorBurn-address-uint256-bytes-bytes-: xref:token/ERC777.adoc#IERC777-operatorBurn-address-uint256-bytes-bytes-
  1133. :IERC777-Sent: pass:normal[xref:token/ERC777.adoc#IERC777-Sent-address-address-address-uint256-bytes-bytes-[`IERC777.Sent`]]
  1134. :xref-IERC777-Sent-address-address-address-uint256-bytes-bytes-: xref:token/ERC777.adoc#IERC777-Sent-address-address-address-uint256-bytes-bytes-
  1135. :IERC777-Minted: pass:normal[xref:token/ERC777.adoc#IERC777-Minted-address-address-uint256-bytes-bytes-[`IERC777.Minted`]]
  1136. :xref-IERC777-Minted-address-address-uint256-bytes-bytes-: xref:token/ERC777.adoc#IERC777-Minted-address-address-uint256-bytes-bytes-
  1137. :IERC777-Burned: pass:normal[xref:token/ERC777.adoc#IERC777-Burned-address-address-uint256-bytes-bytes-[`IERC777.Burned`]]
  1138. :xref-IERC777-Burned-address-address-uint256-bytes-bytes-: xref:token/ERC777.adoc#IERC777-Burned-address-address-uint256-bytes-bytes-
  1139. :IERC777-AuthorizedOperator: pass:normal[xref:token/ERC777.adoc#IERC777-AuthorizedOperator-address-address-[`IERC777.AuthorizedOperator`]]
  1140. :xref-IERC777-AuthorizedOperator-address-address-: xref:token/ERC777.adoc#IERC777-AuthorizedOperator-address-address-
  1141. :IERC777-RevokedOperator: pass:normal[xref:token/ERC777.adoc#IERC777-RevokedOperator-address-address-[`IERC777.RevokedOperator`]]
  1142. :xref-IERC777-RevokedOperator-address-address-: xref:token/ERC777.adoc#IERC777-RevokedOperator-address-address-
  1143. :IERC777Recipient: pass:normal[xref:token/ERC777.adoc#IERC777Recipient[`IERC777Recipient`]]
  1144. :xref-IERC777Recipient: xref:token/ERC777.adoc#IERC777Recipient
  1145. :IERC777Recipient-tokensReceived: pass:normal[xref:token/ERC777.adoc#IERC777Recipient-tokensReceived-address-address-address-uint256-bytes-bytes-[`IERC777Recipient.tokensReceived`]]
  1146. :xref-IERC777Recipient-tokensReceived-address-address-address-uint256-bytes-bytes-: xref:token/ERC777.adoc#IERC777Recipient-tokensReceived-address-address-address-uint256-bytes-bytes-
  1147. :IERC777Sender: pass:normal[xref:token/ERC777.adoc#IERC777Sender[`IERC777Sender`]]
  1148. :xref-IERC777Sender: xref:token/ERC777.adoc#IERC777Sender
  1149. :IERC777Sender-tokensToSend: pass:normal[xref:token/ERC777.adoc#IERC777Sender-tokensToSend-address-address-address-uint256-bytes-bytes-[`IERC777Sender.tokensToSend`]]
  1150. :xref-IERC777Sender-tokensToSend-address-address-address-uint256-bytes-bytes-: xref:token/ERC777.adoc#IERC777Sender-tokensToSend-address-address-address-uint256-bytes-bytes-
  1151. = Gas Station Network (GSN)
  1152. [.readme-notice]
  1153. NOTE: This document is better viewed at https://docs.openzeppelin.com/contracts/api/gsn
  1154. This set of contracts provide all the tools required to make a contract callable via the https://gsn.openzeppelin.com[Gas Station Network].
  1155. TIP: If you're new to the GSN, head over to our xref:learn::sending-gasless-transactions.adoc[overview of the system] and basic guide to xref:ROOT:gsn.adoc[creating a GSN-capable contract].
  1156. The core contract a recipient must inherit from is {GSNRecipient}: it includes all necessary interfaces, as well as some helper methods to make interacting with the GSN easier.
  1157. Utilities to make writing xref:ROOT:gsn-strategies.adoc[GSN strategies] easy are available in {GSNRecipient}, or you can simply use one of our pre-made strategies:
  1158. * {GSNRecipientERC20Fee} charges the end user for gas costs in an application-specific xref:ROOT:tokens.adoc#ERC20[ERC20 token]
  1159. * {GSNRecipientSignature} accepts all relayed calls that have been signed by a trusted third party (e.g. a private key in a backend)
  1160. You can also take a look at the two contract interfaces that make up the GSN protocol: {IRelayRecipient} and {IRelayHub}, but you won't need to use those directly.
  1161. == Recipient
  1162. :GSNRecipient: pass:normal[xref:#GSNRecipient[`++GSNRecipient++`]]
  1163. :_POST_RELAYED_CALL_MAX_GAS: pass:normal[xref:#GSNRecipient-_POST_RELAYED_CALL_MAX_GAS-uint256[`++_POST_RELAYED_CALL_MAX_GAS++`]]
  1164. :getHubAddr: pass:normal[xref:#GSNRecipient-getHubAddr--[`++getHubAddr++`]]
  1165. :_upgradeRelayHub: pass:normal[xref:#GSNRecipient-_upgradeRelayHub-address-[`++_upgradeRelayHub++`]]
  1166. :relayHubVersion: pass:normal[xref:#GSNRecipient-relayHubVersion--[`++relayHubVersion++`]]
  1167. :_withdrawDeposits: pass:normal[xref:#GSNRecipient-_withdrawDeposits-uint256-address-payable-[`++_withdrawDeposits++`]]
  1168. :_msgSender: pass:normal[xref:#GSNRecipient-_msgSender--[`++_msgSender++`]]
  1169. :_msgData: pass:normal[xref:#GSNRecipient-_msgData--[`++_msgData++`]]
  1170. :preRelayedCall: pass:normal[xref:#GSNRecipient-preRelayedCall-bytes-[`++preRelayedCall++`]]
  1171. :_preRelayedCall: pass:normal[xref:#GSNRecipient-_preRelayedCall-bytes-[`++_preRelayedCall++`]]
  1172. :postRelayedCall: pass:normal[xref:#GSNRecipient-postRelayedCall-bytes-bool-uint256-bytes32-[`++postRelayedCall++`]]
  1173. :_postRelayedCall: pass:normal[xref:#GSNRecipient-_postRelayedCall-bytes-bool-uint256-bytes32-[`++_postRelayedCall++`]]
  1174. :_approveRelayedCall: pass:normal[xref:#GSNRecipient-_approveRelayedCall--[`++_approveRelayedCall++`]]
  1175. :_approveRelayedCall: pass:normal[xref:#GSNRecipient-_approveRelayedCall-bytes-[`++_approveRelayedCall++`]]
  1176. :_rejectRelayedCall: pass:normal[xref:#GSNRecipient-_rejectRelayedCall-uint256-[`++_rejectRelayedCall++`]]
  1177. :_computeCharge: pass:normal[xref:#GSNRecipient-_computeCharge-uint256-uint256-uint256-[`++_computeCharge++`]]
  1178. :RelayHubChanged: pass:normal[xref:#GSNRecipient-RelayHubChanged-address-address-[`++RelayHubChanged++`]]
  1179. [.contract]
  1180. [[GSNRecipient]]
  1181. === `++GSNRecipient++`
  1182. Base GSN recipient contract: includes the {IRelayRecipient} interface
  1183. and enables GSN support on all contracts in the inheritance tree.
  1184. TIP: This contract is abstract. The functions {IRelayRecipient-acceptRelayedCall},
  1185. {_preRelayedCall}, and {_postRelayedCall} are not implemented and must be
  1186. provided by derived contracts. See the
  1187. xref:ROOT:gsn-strategies.adoc#gsn-strategies[GSN strategies] for more
  1188. information on how to use the pre-built {GSNRecipientSignature} and
  1189. {GSNRecipientERC20Fee}, or how to write your own.
  1190. [.contract-index]
  1191. .Functions
  1192. --
  1193. * {xref-GSNRecipient-getHubAddr--}[`++getHubAddr()++`]
  1194. * {xref-GSNRecipient-_upgradeRelayHub-address-}[`++_upgradeRelayHub(newRelayHub)++`]
  1195. * {xref-GSNRecipient-relayHubVersion--}[`++relayHubVersion()++`]
  1196. * {xref-GSNRecipient-_withdrawDeposits-uint256-address-payable-}[`++_withdrawDeposits(amount, payee)++`]
  1197. * {xref-GSNRecipient-_msgSender--}[`++_msgSender()++`]
  1198. * {xref-GSNRecipient-_msgData--}[`++_msgData()++`]
  1199. * {xref-GSNRecipient-preRelayedCall-bytes-}[`++preRelayedCall(context)++`]
  1200. * {xref-GSNRecipient-_preRelayedCall-bytes-}[`++_preRelayedCall(context)++`]
  1201. * {xref-GSNRecipient-postRelayedCall-bytes-bool-uint256-bytes32-}[`++postRelayedCall(context, success, actualCharge, preRetVal)++`]
  1202. * {xref-GSNRecipient-_postRelayedCall-bytes-bool-uint256-bytes32-}[`++_postRelayedCall(context, success, actualCharge, preRetVal)++`]
  1203. * {xref-GSNRecipient-_approveRelayedCall--}[`++_approveRelayedCall()++`]
  1204. * {xref-GSNRecipient-_approveRelayedCall-bytes-}[`++_approveRelayedCall(context)++`]
  1205. * {xref-GSNRecipient-_rejectRelayedCall-uint256-}[`++_rejectRelayedCall(errorCode)++`]
  1206. * {xref-GSNRecipient-_computeCharge-uint256-uint256-uint256-}[`++_computeCharge(gas, gasPrice, serviceFee)++`]
  1207. [.contract-subindex-inherited]
  1208. .IRelayRecipient
  1209. * {xref-IRelayRecipient-acceptRelayedCall-address-address-bytes-uint256-uint256-uint256-uint256-bytes-uint256-}[`++acceptRelayedCall(relay, from, encodedFunction, transactionFee, gasPrice, gasLimit, nonce, approvalData, maxPossibleCharge)++`]
  1210. --
  1211. [.contract-index]
  1212. .Events
  1213. --
  1214. * {xref-GSNRecipient-RelayHubChanged-address-address-}[`++RelayHubChanged(oldRelayHub, newRelayHub)++`]
  1215. [.contract-subindex-inherited]
  1216. .Context
  1217. [.contract-subindex-inherited]
  1218. .IRelayRecipient
  1219. --
  1220. [.contract-item]
  1221. [[GSNRecipient-getHubAddr--]]
  1222. ==== `[.contract-item-name]#++getHubAddr++#++() → address++` [.item-kind]#public#
  1223. Returns the address of the {IRelayHub} contract for this recipient.
  1224. [.contract-item]
  1225. [[GSNRecipient-_upgradeRelayHub-address-]]
  1226. ==== `[.contract-item-name]#++_upgradeRelayHub++#++(address newRelayHub)++` [.item-kind]#internal#
  1227. Switches to a new {IRelayHub} instance. This method is added for future-proofing: there's no reason to not
  1228. use the default instance.
  1229. IMPORTANT: After upgrading, the {GSNRecipient} will no longer be able to receive relayed calls from the old
  1230. {IRelayHub} instance. Additionally, all funds should be previously withdrawn via {_withdrawDeposits}.
  1231. [.contract-item]
  1232. [[GSNRecipient-relayHubVersion--]]
  1233. ==== `[.contract-item-name]#++relayHubVersion++#++() → string++` [.item-kind]#public#
  1234. Returns the version string of the {IRelayHub} for which this recipient implementation was built. If
  1235. {_upgradeRelayHub} is used, the new {IRelayHub} instance should be compatible with this version.
  1236. [.contract-item]
  1237. [[GSNRecipient-_withdrawDeposits-uint256-address-payable-]]
  1238. ==== `[.contract-item-name]#++_withdrawDeposits++#++(uint256 amount, address payable payee)++` [.item-kind]#internal#
  1239. Withdraws the recipient's deposits in `RelayHub`.
  1240. Derived contracts should expose this in an external interface with proper access control.
  1241. [.contract-item]
  1242. [[GSNRecipient-_msgSender--]]
  1243. ==== `[.contract-item-name]#++_msgSender++#++() → address payable++` [.item-kind]#internal#
  1244. Replacement for msg.sender. Returns the actual sender of a transaction: msg.sender for regular transactions,
  1245. and the end-user for GSN relayed calls (where msg.sender is actually `RelayHub`).
  1246. IMPORTANT: Contracts derived from {GSNRecipient} should never use `msg.sender`, and use {_msgSender} instead.
  1247. [.contract-item]
  1248. [[GSNRecipient-_msgData--]]
  1249. ==== `[.contract-item-name]#++_msgData++#++() → bytes++` [.item-kind]#internal#
  1250. Replacement for msg.data. Returns the actual calldata of a transaction: msg.data for regular transactions,
  1251. and a reduced version for GSN relayed calls (where msg.data contains additional information).
  1252. IMPORTANT: Contracts derived from {GSNRecipient} should never use `msg.data`, and use {_msgData} instead.
  1253. [.contract-item]
  1254. [[GSNRecipient-preRelayedCall-bytes-]]
  1255. ==== `[.contract-item-name]#++preRelayedCall++#++(bytes context) → bytes32++` [.item-kind]#public#
  1256. See `IRelayRecipient.preRelayedCall`.
  1257. This function should not be overridden directly, use `_preRelayedCall` instead.
  1258. * Requirements:
  1259. - the caller must be the `RelayHub` contract.
  1260. [.contract-item]
  1261. [[GSNRecipient-_preRelayedCall-bytes-]]
  1262. ==== `[.contract-item-name]#++_preRelayedCall++#++(bytes context) → bytes32++` [.item-kind]#internal#
  1263. See `IRelayRecipient.preRelayedCall`.
  1264. Called by `GSNRecipient.preRelayedCall`, which asserts the caller is the `RelayHub` contract. Derived contracts
  1265. must implement this function with any relayed-call preprocessing they may wish to do.
  1266. [.contract-item]
  1267. [[GSNRecipient-postRelayedCall-bytes-bool-uint256-bytes32-]]
  1268. ==== `[.contract-item-name]#++postRelayedCall++#++(bytes context, bool success, uint256 actualCharge, bytes32 preRetVal)++` [.item-kind]#public#
  1269. See `IRelayRecipient.postRelayedCall`.
  1270. This function should not be overridden directly, use `_postRelayedCall` instead.
  1271. * Requirements:
  1272. - the caller must be the `RelayHub` contract.
  1273. [.contract-item]
  1274. [[GSNRecipient-_postRelayedCall-bytes-bool-uint256-bytes32-]]
  1275. ==== `[.contract-item-name]#++_postRelayedCall++#++(bytes context, bool success, uint256 actualCharge, bytes32 preRetVal)++` [.item-kind]#internal#
  1276. See `IRelayRecipient.postRelayedCall`.
  1277. Called by `GSNRecipient.postRelayedCall`, which asserts the caller is the `RelayHub` contract. Derived contracts
  1278. must implement this function with any relayed-call postprocessing they may wish to do.
  1279. [.contract-item]
  1280. [[GSNRecipient-_approveRelayedCall--]]
  1281. ==== `[.contract-item-name]#++_approveRelayedCall++#++() → uint256, bytes++` [.item-kind]#internal#
  1282. Return this in acceptRelayedCall to proceed with the execution of a relayed call. Note that this contract
  1283. will be charged a fee by RelayHub
  1284. [.contract-item]
  1285. [[GSNRecipient-_approveRelayedCall-bytes-]]
  1286. ==== `[.contract-item-name]#++_approveRelayedCall++#++(bytes context) → uint256, bytes++` [.item-kind]#internal#
  1287. See `GSNRecipient._approveRelayedCall`.
  1288. This overload forwards `context` to _preRelayedCall and _postRelayedCall.
  1289. [.contract-item]
  1290. [[GSNRecipient-_rejectRelayedCall-uint256-]]
  1291. ==== `[.contract-item-name]#++_rejectRelayedCall++#++(uint256 errorCode) → uint256, bytes++` [.item-kind]#internal#
  1292. Return this in acceptRelayedCall to impede execution of a relayed call. No fees will be charged.
  1293. [.contract-item]
  1294. [[GSNRecipient-_computeCharge-uint256-uint256-uint256-]]
  1295. ==== `[.contract-item-name]#++_computeCharge++#++(uint256 gas, uint256 gasPrice, uint256 serviceFee) → uint256++` [.item-kind]#internal#
  1296. [.contract-item]
  1297. [[GSNRecipient-RelayHubChanged-address-address-]]
  1298. ==== `[.contract-item-name]#++RelayHubChanged++#++(address oldRelayHub, address newRelayHub)++` [.item-kind]#event#
  1299. Emitted when a contract changes its {IRelayHub} contract to a new one.
  1300. == Strategies
  1301. :GSNRecipientSignature: pass:normal[xref:#GSNRecipientSignature[`++GSNRecipientSignature++`]]
  1302. :constructor: pass:normal[xref:#GSNRecipientSignature-constructor-address-[`++constructor++`]]
  1303. :acceptRelayedCall: pass:normal[xref:#GSNRecipientSignature-acceptRelayedCall-address-address-bytes-uint256-uint256-uint256-uint256-bytes-uint256-[`++acceptRelayedCall++`]]
  1304. :_preRelayedCall: pass:normal[xref:#GSNRecipientSignature-_preRelayedCall-bytes-[`++_preRelayedCall++`]]
  1305. :_postRelayedCall: pass:normal[xref:#GSNRecipientSignature-_postRelayedCall-bytes-bool-uint256-bytes32-[`++_postRelayedCall++`]]
  1306. [.contract]
  1307. [[GSNRecipientSignature]]
  1308. === `++GSNRecipientSignature++`
  1309. A xref:ROOT:gsn-strategies.adoc#gsn-strategies[GSN strategy] that allows relayed transactions through when they are
  1310. accompanied by the signature of a trusted signer. The intent is for this signature to be generated by a server that
  1311. performs validations off-chain. Note that nothing is charged to the user in this scheme. Thus, the server should make
  1312. sure to account for this in their economic and threat model.
  1313. [.contract-index]
  1314. .Functions
  1315. --
  1316. * {xref-GSNRecipientSignature-constructor-address-}[`++constructor(trustedSigner)++`]
  1317. * {xref-GSNRecipientSignature-acceptRelayedCall-address-address-bytes-uint256-uint256-uint256-uint256-bytes-uint256-}[`++acceptRelayedCall(relay, from, encodedFunction, transactionFee, gasPrice, gasLimit, nonce, approvalData, _)++`]
  1318. * {xref-GSNRecipientSignature-_preRelayedCall-bytes-}[`++_preRelayedCall(_)++`]
  1319. * {xref-GSNRecipientSignature-_postRelayedCall-bytes-bool-uint256-bytes32-}[`++_postRelayedCall(_, _, _, _)++`]
  1320. [.contract-subindex-inherited]
  1321. .GSNRecipient
  1322. * {xref-GSNRecipient-getHubAddr--}[`++getHubAddr()++`]
  1323. * {xref-GSNRecipient-_upgradeRelayHub-address-}[`++_upgradeRelayHub(newRelayHub)++`]
  1324. * {xref-GSNRecipient-relayHubVersion--}[`++relayHubVersion()++`]
  1325. * {xref-GSNRecipient-_withdrawDeposits-uint256-address-payable-}[`++_withdrawDeposits(amount, payee)++`]
  1326. * {xref-GSNRecipient-_msgSender--}[`++_msgSender()++`]
  1327. * {xref-GSNRecipient-_msgData--}[`++_msgData()++`]
  1328. * {xref-GSNRecipient-preRelayedCall-bytes-}[`++preRelayedCall(context)++`]
  1329. * {xref-GSNRecipient-postRelayedCall-bytes-bool-uint256-bytes32-}[`++postRelayedCall(context, success, actualCharge, preRetVal)++`]
  1330. * {xref-GSNRecipient-_approveRelayedCall--}[`++_approveRelayedCall()++`]
  1331. * {xref-GSNRecipient-_approveRelayedCall-bytes-}[`++_approveRelayedCall(context)++`]
  1332. * {xref-GSNRecipient-_rejectRelayedCall-uint256-}[`++_rejectRelayedCall(errorCode)++`]
  1333. * {xref-GSNRecipient-_computeCharge-uint256-uint256-uint256-}[`++_computeCharge(gas, gasPrice, serviceFee)++`]
  1334. [.contract-subindex-inherited]
  1335. .IRelayRecipient
  1336. --
  1337. [.contract-index]
  1338. .Events
  1339. --
  1340. [.contract-subindex-inherited]
  1341. .GSNRecipient
  1342. * {xref-GSNRecipient-RelayHubChanged-address-address-}[`++RelayHubChanged(oldRelayHub, newRelayHub)++`]
  1343. [.contract-subindex-inherited]
  1344. .Context
  1345. [.contract-subindex-inherited]
  1346. .IRelayRecipient
  1347. --
  1348. [.contract-item]
  1349. [[GSNRecipientSignature-constructor-address-]]
  1350. ==== `[.contract-item-name]#++constructor++#++(address trustedSigner)++` [.item-kind]#public#
  1351. Sets the trusted signer that is going to be producing signatures to approve relayed calls.
  1352. [.contract-item]
  1353. [[GSNRecipientSignature-acceptRelayedCall-address-address-bytes-uint256-uint256-uint256-uint256-bytes-uint256-]]
  1354. ==== `[.contract-item-name]#++acceptRelayedCall++#++(address relay, address from, bytes encodedFunction, uint256 transactionFee, uint256 gasPrice, uint256 gasLimit, uint256 nonce, bytes approvalData, uint256) → uint256, bytes++` [.item-kind]#public#
  1355. Ensures that only transactions with a trusted signature can be relayed through the GSN.
  1356. [.contract-item]
  1357. [[GSNRecipientSignature-_preRelayedCall-bytes-]]
  1358. ==== `[.contract-item-name]#++_preRelayedCall++#++(bytes) → bytes32++` [.item-kind]#internal#
  1359. [.contract-item]
  1360. [[GSNRecipientSignature-_postRelayedCall-bytes-bool-uint256-bytes32-]]
  1361. ==== `[.contract-item-name]#++_postRelayedCall++#++(bytes, bool, uint256, bytes32)++` [.item-kind]#internal#
  1362. :GSNRecipientERC20Fee: pass:normal[xref:#GSNRecipientERC20Fee[`++GSNRecipientERC20Fee++`]]
  1363. :constructor: pass:normal[xref:#GSNRecipientERC20Fee-constructor-string-string-[`++constructor++`]]
  1364. :token: pass:normal[xref:#GSNRecipientERC20Fee-token--[`++token++`]]
  1365. :_mint: pass:normal[xref:#GSNRecipientERC20Fee-_mint-address-uint256-[`++_mint++`]]
  1366. :acceptRelayedCall: pass:normal[xref:#GSNRecipientERC20Fee-acceptRelayedCall-address-address-bytes-uint256-uint256-uint256-uint256-bytes-uint256-[`++acceptRelayedCall++`]]
  1367. :_preRelayedCall: pass:normal[xref:#GSNRecipientERC20Fee-_preRelayedCall-bytes-[`++_preRelayedCall++`]]
  1368. :_postRelayedCall: pass:normal[xref:#GSNRecipientERC20Fee-_postRelayedCall-bytes-bool-uint256-bytes32-[`++_postRelayedCall++`]]
  1369. [.contract]
  1370. [[GSNRecipientERC20Fee]]
  1371. === `++GSNRecipientERC20Fee++`
  1372. A xref:ROOT:gsn-strategies.adoc#gsn-strategies[GSN strategy] that charges transaction fees in a special purpose ERC20
  1373. token, which we refer to as the gas payment token. The amount charged is exactly the amount of Ether charged to the
  1374. recipient. This means that the token is essentially pegged to the value of Ether.
  1375. The distribution strategy of the gas payment token to users is not defined by this contract. It's a mintable token
  1376. whose only minter is the recipient, so the strategy must be implemented in a derived contract, making use of the
  1377. internal {_mint} function.
  1378. [.contract-index]
  1379. .Functions
  1380. --
  1381. * {xref-GSNRecipientERC20Fee-constructor-string-string-}[`++constructor(name, symbol)++`]
  1382. * {xref-GSNRecipientERC20Fee-token--}[`++token()++`]
  1383. * {xref-GSNRecipientERC20Fee-_mint-address-uint256-}[`++_mint(account, amount)++`]
  1384. * {xref-GSNRecipientERC20Fee-acceptRelayedCall-address-address-bytes-uint256-uint256-uint256-uint256-bytes-uint256-}[`++acceptRelayedCall(_, from, _, transactionFee, gasPrice, _, _, _, maxPossibleCharge)++`]
  1385. * {xref-GSNRecipientERC20Fee-_preRelayedCall-bytes-}[`++_preRelayedCall(context)++`]
  1386. * {xref-GSNRecipientERC20Fee-_postRelayedCall-bytes-bool-uint256-bytes32-}[`++_postRelayedCall(context, _, actualCharge, _)++`]
  1387. [.contract-subindex-inherited]
  1388. .GSNRecipient
  1389. * {xref-GSNRecipient-getHubAddr--}[`++getHubAddr()++`]
  1390. * {xref-GSNRecipient-_upgradeRelayHub-address-}[`++_upgradeRelayHub(newRelayHub)++`]
  1391. * {xref-GSNRecipient-relayHubVersion--}[`++relayHubVersion()++`]
  1392. * {xref-GSNRecipient-_withdrawDeposits-uint256-address-payable-}[`++_withdrawDeposits(amount, payee)++`]
  1393. * {xref-GSNRecipient-_msgSender--}[`++_msgSender()++`]
  1394. * {xref-GSNRecipient-_msgData--}[`++_msgData()++`]
  1395. * {xref-GSNRecipient-preRelayedCall-bytes-}[`++preRelayedCall(context)++`]
  1396. * {xref-GSNRecipient-postRelayedCall-bytes-bool-uint256-bytes32-}[`++postRelayedCall(context, success, actualCharge, preRetVal)++`]
  1397. * {xref-GSNRecipient-_approveRelayedCall--}[`++_approveRelayedCall()++`]
  1398. * {xref-GSNRecipient-_approveRelayedCall-bytes-}[`++_approveRelayedCall(context)++`]
  1399. * {xref-GSNRecipient-_rejectRelayedCall-uint256-}[`++_rejectRelayedCall(errorCode)++`]
  1400. * {xref-GSNRecipient-_computeCharge-uint256-uint256-uint256-}[`++_computeCharge(gas, gasPrice, serviceFee)++`]
  1401. [.contract-subindex-inherited]
  1402. .IRelayRecipient
  1403. --
  1404. [.contract-index]
  1405. .Events
  1406. --
  1407. [.contract-subindex-inherited]
  1408. .GSNRecipient
  1409. * {xref-GSNRecipient-RelayHubChanged-address-address-}[`++RelayHubChanged(oldRelayHub, newRelayHub)++`]
  1410. [.contract-subindex-inherited]
  1411. .Context
  1412. [.contract-subindex-inherited]
  1413. .IRelayRecipient
  1414. --
  1415. [.contract-item]
  1416. [[GSNRecipientERC20Fee-constructor-string-string-]]
  1417. ==== `[.contract-item-name]#++constructor++#++(string name, string symbol)++` [.item-kind]#public#
  1418. The arguments to the constructor are the details that the gas payment token will have: `name` and `symbol`. `decimals` is hard-coded to 18.
  1419. [.contract-item]
  1420. [[GSNRecipientERC20Fee-token--]]
  1421. ==== `[.contract-item-name]#++token++#++() → contract __unstable__ERC20Owned++` [.item-kind]#public#
  1422. Returns the gas payment token.
  1423. [.contract-item]
  1424. [[GSNRecipientERC20Fee-_mint-address-uint256-]]
  1425. ==== `[.contract-item-name]#++_mint++#++(address account, uint256 amount)++` [.item-kind]#internal#
  1426. Internal function that mints the gas payment token. Derived contracts should expose this function in their public API, with proper access control mechanisms.
  1427. [.contract-item]
  1428. [[GSNRecipientERC20Fee-acceptRelayedCall-address-address-bytes-uint256-uint256-uint256-uint256-bytes-uint256-]]
  1429. ==== `[.contract-item-name]#++acceptRelayedCall++#++(address, address from, bytes, uint256 transactionFee, uint256 gasPrice, uint256, uint256, bytes, uint256 maxPossibleCharge) → uint256, bytes++` [.item-kind]#public#
  1430. Ensures that only users with enough gas payment token balance can have transactions relayed through the GSN.
  1431. [.contract-item]
  1432. [[GSNRecipientERC20Fee-_preRelayedCall-bytes-]]
  1433. ==== `[.contract-item-name]#++_preRelayedCall++#++(bytes context) → bytes32++` [.item-kind]#internal#
  1434. Implements the precharge to the user. The maximum possible charge (depending on gas limit, gas price, and
  1435. fee) will be deducted from the user balance of gas payment token. Note that this is an overestimation of the
  1436. actual charge, necessary because we cannot predict how much gas the execution will actually need. The remainder
  1437. is returned to the user in {_postRelayedCall}.
  1438. [.contract-item]
  1439. [[GSNRecipientERC20Fee-_postRelayedCall-bytes-bool-uint256-bytes32-]]
  1440. ==== `[.contract-item-name]#++_postRelayedCall++#++(bytes context, bool, uint256 actualCharge, bytes32)++` [.item-kind]#internal#
  1441. Returns to the user the extra amount that was previously charged, once the actual execution cost is known.
  1442. == Protocol
  1443. :IRelayRecipient: pass:normal[xref:#IRelayRecipient[`++IRelayRecipient++`]]
  1444. :getHubAddr: pass:normal[xref:#IRelayRecipient-getHubAddr--[`++getHubAddr++`]]
  1445. :acceptRelayedCall: pass:normal[xref:#IRelayRecipient-acceptRelayedCall-address-address-bytes-uint256-uint256-uint256-uint256-bytes-uint256-[`++acceptRelayedCall++`]]
  1446. :preRelayedCall: pass:normal[xref:#IRelayRecipient-preRelayedCall-bytes-[`++preRelayedCall++`]]
  1447. :postRelayedCall: pass:normal[xref:#IRelayRecipient-postRelayedCall-bytes-bool-uint256-bytes32-[`++postRelayedCall++`]]
  1448. [.contract]
  1449. [[IRelayRecipient]]
  1450. === `++IRelayRecipient++`
  1451. Base interface for a contract that will be called via the GSN from {IRelayHub}.
  1452. TIP: You don't need to write an implementation yourself! Inherit from {GSNRecipient} instead.
  1453. [.contract-index]
  1454. .Functions
  1455. --
  1456. * {xref-IRelayRecipient-getHubAddr--}[`++getHubAddr()++`]
  1457. * {xref-IRelayRecipient-acceptRelayedCall-address-address-bytes-uint256-uint256-uint256-uint256-bytes-uint256-}[`++acceptRelayedCall(relay, from, encodedFunction, transactionFee, gasPrice, gasLimit, nonce, approvalData, maxPossibleCharge)++`]
  1458. * {xref-IRelayRecipient-preRelayedCall-bytes-}[`++preRelayedCall(context)++`]
  1459. * {xref-IRelayRecipient-postRelayedCall-bytes-bool-uint256-bytes32-}[`++postRelayedCall(context, success, actualCharge, preRetVal)++`]
  1460. --
  1461. [.contract-item]
  1462. [[IRelayRecipient-getHubAddr--]]
  1463. ==== `[.contract-item-name]#++getHubAddr++#++() → address++` [.item-kind]#external#
  1464. Returns the address of the {IRelayHub} instance this recipient interacts with.
  1465. [.contract-item]
  1466. [[IRelayRecipient-acceptRelayedCall-address-address-bytes-uint256-uint256-uint256-uint256-bytes-uint256-]]
  1467. ==== `[.contract-item-name]#++acceptRelayedCall++#++(address relay, address from, bytes encodedFunction, uint256 transactionFee, uint256 gasPrice, uint256 gasLimit, uint256 nonce, bytes approvalData, uint256 maxPossibleCharge) → uint256, bytes++` [.item-kind]#external#
  1468. Called by {IRelayHub} to validate if this recipient accepts being charged for a relayed call. Note that the
  1469. recipient will be charged regardless of the execution result of the relayed call (i.e. if it reverts or not).
  1470. The relay request was originated by `from` and will be served by `relay`. `encodedFunction` is the relayed call
  1471. calldata, so its first four bytes are the function selector. The relayed call will be forwarded `gasLimit` gas,
  1472. and the transaction executed with a gas price of at least `gasPrice`. ``relay``'s fee is `transactionFee`, and the
  1473. recipient will be charged at most `maxPossibleCharge` (in wei). `nonce` is the sender's (`from`) nonce for
  1474. replay attack protection in {IRelayHub}, and `approvalData` is a optional parameter that can be used to hold a signature
  1475. over all or some of the previous values.
  1476. Returns a tuple, where the first value is used to indicate approval (0) or rejection (custom non-zero error code,
  1477. values 1 to 10 are reserved) and the second one is data to be passed to the other {IRelayRecipient} functions.
  1478. {acceptRelayedCall} is called with 50k gas: if it runs out during execution, the request will be considered
  1479. rejected. A regular revert will also trigger a rejection.
  1480. [.contract-item]
  1481. [[IRelayRecipient-preRelayedCall-bytes-]]
  1482. ==== `[.contract-item-name]#++preRelayedCall++#++(bytes context) → bytes32++` [.item-kind]#external#
  1483. Called by {IRelayHub} on approved relay call requests, before the relayed call is executed. This allows to e.g.
  1484. pre-charge the sender of the transaction.
  1485. `context` is the second value returned in the tuple by {acceptRelayedCall}.
  1486. Returns a value to be passed to {postRelayedCall}.
  1487. {preRelayedCall} is called with 100k gas: if it runs out during execution or otherwise reverts, the relayed call
  1488. will not be executed, but the recipient will still be charged for the transaction's cost.
  1489. [.contract-item]
  1490. [[IRelayRecipient-postRelayedCall-bytes-bool-uint256-bytes32-]]
  1491. ==== `[.contract-item-name]#++postRelayedCall++#++(bytes context, bool success, uint256 actualCharge, bytes32 preRetVal)++` [.item-kind]#external#
  1492. Called by {IRelayHub} on approved relay call requests, after the relayed call is executed. This allows to e.g.
  1493. charge the user for the relayed call costs, return any overcharges from {preRelayedCall}, or perform
  1494. contract-specific bookkeeping.
  1495. `context` is the second value returned in the tuple by {acceptRelayedCall}. `success` is the execution status of
  1496. the relayed call. `actualCharge` is an estimate of how much the recipient will be charged for the transaction,
  1497. not including any gas used by {postRelayedCall} itself. `preRetVal` is {preRelayedCall}'s return value.
  1498. {postRelayedCall} is called with 100k gas: if it runs out during execution or otherwise reverts, the relayed call
  1499. and the call to {preRelayedCall} will be reverted retroactively, but the recipient will still be charged for the
  1500. transaction's cost.
  1501. :IRelayHub: pass:normal[xref:#IRelayHub[`++IRelayHub++`]]
  1502. :stake: pass:normal[xref:#IRelayHub-stake-address-uint256-[`++stake++`]]
  1503. :registerRelay: pass:normal[xref:#IRelayHub-registerRelay-uint256-string-[`++registerRelay++`]]
  1504. :removeRelayByOwner: pass:normal[xref:#IRelayHub-removeRelayByOwner-address-[`++removeRelayByOwner++`]]
  1505. :unstake: pass:normal[xref:#IRelayHub-unstake-address-[`++unstake++`]]
  1506. :getRelay: pass:normal[xref:#IRelayHub-getRelay-address-[`++getRelay++`]]
  1507. :depositFor: pass:normal[xref:#IRelayHub-depositFor-address-[`++depositFor++`]]
  1508. :balanceOf: pass:normal[xref:#IRelayHub-balanceOf-address-[`++balanceOf++`]]
  1509. :withdraw: pass:normal[xref:#IRelayHub-withdraw-uint256-address-payable-[`++withdraw++`]]
  1510. :canRelay: pass:normal[xref:#IRelayHub-canRelay-address-address-address-bytes-uint256-uint256-uint256-uint256-bytes-bytes-[`++canRelay++`]]
  1511. :relayCall: pass:normal[xref:#IRelayHub-relayCall-address-address-bytes-uint256-uint256-uint256-uint256-bytes-bytes-[`++relayCall++`]]
  1512. :requiredGas: pass:normal[xref:#IRelayHub-requiredGas-uint256-[`++requiredGas++`]]
  1513. :maxPossibleCharge: pass:normal[xref:#IRelayHub-maxPossibleCharge-uint256-uint256-uint256-[`++maxPossibleCharge++`]]
  1514. :penalizeRepeatedNonce: pass:normal[xref:#IRelayHub-penalizeRepeatedNonce-bytes-bytes-bytes-bytes-[`++penalizeRepeatedNonce++`]]
  1515. :penalizeIllegalTransaction: pass:normal[xref:#IRelayHub-penalizeIllegalTransaction-bytes-bytes-[`++penalizeIllegalTransaction++`]]
  1516. :getNonce: pass:normal[xref:#IRelayHub-getNonce-address-[`++getNonce++`]]
  1517. :Staked: pass:normal[xref:#IRelayHub-Staked-address-uint256-uint256-[`++Staked++`]]
  1518. :RelayAdded: pass:normal[xref:#IRelayHub-RelayAdded-address-address-uint256-uint256-uint256-string-[`++RelayAdded++`]]
  1519. :RelayRemoved: pass:normal[xref:#IRelayHub-RelayRemoved-address-uint256-[`++RelayRemoved++`]]
  1520. :Unstaked: pass:normal[xref:#IRelayHub-Unstaked-address-uint256-[`++Unstaked++`]]
  1521. :Deposited: pass:normal[xref:#IRelayHub-Deposited-address-address-uint256-[`++Deposited++`]]
  1522. :Withdrawn: pass:normal[xref:#IRelayHub-Withdrawn-address-address-uint256-[`++Withdrawn++`]]
  1523. :CanRelayFailed: pass:normal[xref:#IRelayHub-CanRelayFailed-address-address-address-bytes4-uint256-[`++CanRelayFailed++`]]
  1524. :TransactionRelayed: pass:normal[xref:#IRelayHub-TransactionRelayed-address-address-address-bytes4-enum-IRelayHub-RelayCallStatus-uint256-[`++TransactionRelayed++`]]
  1525. :Penalized: pass:normal[xref:#IRelayHub-Penalized-address-address-uint256-[`++Penalized++`]]
  1526. [.contract]
  1527. [[IRelayHub]]
  1528. === `++IRelayHub++`
  1529. Interface for `RelayHub`, the core contract of the GSN. Users should not need to interact with this contract
  1530. directly.
  1531. See the https://github.com/OpenZeppelin/openzeppelin-gsn-helpers[OpenZeppelin GSN helpers] for more information on
  1532. how to deploy an instance of `RelayHub` on your local test network.
  1533. [.contract-index]
  1534. .Functions
  1535. --
  1536. * {xref-IRelayHub-stake-address-uint256-}[`++stake(relayaddr, unstakeDelay)++`]
  1537. * {xref-IRelayHub-registerRelay-uint256-string-}[`++registerRelay(transactionFee, url)++`]
  1538. * {xref-IRelayHub-removeRelayByOwner-address-}[`++removeRelayByOwner(relay)++`]
  1539. * {xref-IRelayHub-unstake-address-}[`++unstake(relay)++`]
  1540. * {xref-IRelayHub-getRelay-address-}[`++getRelay(relay)++`]
  1541. * {xref-IRelayHub-depositFor-address-}[`++depositFor(target)++`]
  1542. * {xref-IRelayHub-balanceOf-address-}[`++balanceOf(target)++`]
  1543. * {xref-IRelayHub-withdraw-uint256-address-payable-}[`++withdraw(amount, dest)++`]
  1544. * {xref-IRelayHub-canRelay-address-address-address-bytes-uint256-uint256-uint256-uint256-bytes-bytes-}[`++canRelay(relay, from, to, encodedFunction, transactionFee, gasPrice, gasLimit, nonce, signature, approvalData)++`]
  1545. * {xref-IRelayHub-relayCall-address-address-bytes-uint256-uint256-uint256-uint256-bytes-bytes-}[`++relayCall(from, to, encodedFunction, transactionFee, gasPrice, gasLimit, nonce, signature, approvalData)++`]
  1546. * {xref-IRelayHub-requiredGas-uint256-}[`++requiredGas(relayedCallStipend)++`]
  1547. * {xref-IRelayHub-maxPossibleCharge-uint256-uint256-uint256-}[`++maxPossibleCharge(relayedCallStipend, gasPrice, transactionFee)++`]
  1548. * {xref-IRelayHub-penalizeRepeatedNonce-bytes-bytes-bytes-bytes-}[`++penalizeRepeatedNonce(unsignedTx1, signature1, unsignedTx2, signature2)++`]
  1549. * {xref-IRelayHub-penalizeIllegalTransaction-bytes-bytes-}[`++penalizeIllegalTransaction(unsignedTx, signature)++`]
  1550. * {xref-IRelayHub-getNonce-address-}[`++getNonce(from)++`]
  1551. --
  1552. [.contract-index]
  1553. .Events
  1554. --
  1555. * {xref-IRelayHub-Staked-address-uint256-uint256-}[`++Staked(relay, stake, unstakeDelay)++`]
  1556. * {xref-IRelayHub-RelayAdded-address-address-uint256-uint256-uint256-string-}[`++RelayAdded(relay, owner, transactionFee, stake, unstakeDelay, url)++`]
  1557. * {xref-IRelayHub-RelayRemoved-address-uint256-}[`++RelayRemoved(relay, unstakeTime)++`]
  1558. * {xref-IRelayHub-Unstaked-address-uint256-}[`++Unstaked(relay, stake)++`]
  1559. * {xref-IRelayHub-Deposited-address-address-uint256-}[`++Deposited(recipient, from, amount)++`]
  1560. * {xref-IRelayHub-Withdrawn-address-address-uint256-}[`++Withdrawn(account, dest, amount)++`]
  1561. * {xref-IRelayHub-CanRelayFailed-address-address-address-bytes4-uint256-}[`++CanRelayFailed(relay, from, to, selector, reason)++`]
  1562. * {xref-IRelayHub-TransactionRelayed-address-address-address-bytes4-enum-IRelayHub-RelayCallStatus-uint256-}[`++TransactionRelayed(relay, from, to, selector, status, charge)++`]
  1563. * {xref-IRelayHub-Penalized-address-address-uint256-}[`++Penalized(relay, sender, amount)++`]
  1564. --
  1565. [.contract-item]
  1566. [[IRelayHub-stake-address-uint256-]]
  1567. ==== `[.contract-item-name]#++stake++#++(address relayaddr, uint256 unstakeDelay)++` [.item-kind]#external#
  1568. Adds stake to a relay and sets its `unstakeDelay`. If the relay does not exist, it is created, and the caller
  1569. of this function becomes its owner. If the relay already exists, only the owner can call this function. A relay
  1570. cannot be its own owner.
  1571. All Ether in this function call will be added to the relay's stake.
  1572. Its unstake delay will be assigned to `unstakeDelay`, but the new value must be greater or equal to the current one.
  1573. Emits a {Staked} event.
  1574. [.contract-item]
  1575. [[IRelayHub-registerRelay-uint256-string-]]
  1576. ==== `[.contract-item-name]#++registerRelay++#++(uint256 transactionFee, string url)++` [.item-kind]#external#
  1577. Registers the caller as a relay.
  1578. The relay must be staked for, and not be a contract (i.e. this function must be called directly from an EOA).
  1579. This function can be called multiple times, emitting new {RelayAdded} events. Note that the received
  1580. `transactionFee` is not enforced by {relayCall}.
  1581. Emits a {RelayAdded} event.
  1582. [.contract-item]
  1583. [[IRelayHub-removeRelayByOwner-address-]]
  1584. ==== `[.contract-item-name]#++removeRelayByOwner++#++(address relay)++` [.item-kind]#external#
  1585. Removes (deregisters) a relay. Unregistered (but staked for) relays can also be removed.
  1586. Can only be called by the owner of the relay. After the relay's `unstakeDelay` has elapsed, {unstake} will be
  1587. callable.
  1588. Emits a {RelayRemoved} event.
  1589. [.contract-item]
  1590. [[IRelayHub-unstake-address-]]
  1591. ==== `[.contract-item-name]#++unstake++#++(address relay)++` [.item-kind]#external#
  1592. [.contract-item]
  1593. [[IRelayHub-getRelay-address-]]
  1594. ==== `[.contract-item-name]#++getRelay++#++(address relay) → uint256 totalStake, uint256 unstakeDelay, uint256 unstakeTime, address payable owner, enum IRelayHub.RelayState state++` [.item-kind]#external#
  1595. Returns a relay's status. Note that relays can be deleted when unstaked or penalized, causing this function
  1596. to return an empty entry.
  1597. [.contract-item]
  1598. [[IRelayHub-depositFor-address-]]
  1599. ==== `[.contract-item-name]#++depositFor++#++(address target)++` [.item-kind]#external#
  1600. Deposits Ether for a contract, so that it can receive (and pay for) relayed transactions.
  1601. Unused balance can only be withdrawn by the contract itself, by calling {withdraw}.
  1602. Emits a {Deposited} event.
  1603. [.contract-item]
  1604. [[IRelayHub-balanceOf-address-]]
  1605. ==== `[.contract-item-name]#++balanceOf++#++(address target) → uint256++` [.item-kind]#external#
  1606. Returns an account's deposits. These can be either a contract's funds, or a relay owner's revenue.
  1607. [.contract-item]
  1608. [[IRelayHub-withdraw-uint256-address-payable-]]
  1609. ==== `[.contract-item-name]#++withdraw++#++(uint256 amount, address payable dest)++` [.item-kind]#external#
  1610. [.contract-item]
  1611. [[IRelayHub-canRelay-address-address-address-bytes-uint256-uint256-uint256-uint256-bytes-bytes-]]
  1612. ==== `[.contract-item-name]#++canRelay++#++(address relay, address from, address to, bytes encodedFunction, uint256 transactionFee, uint256 gasPrice, uint256 gasLimit, uint256 nonce, bytes signature, bytes approvalData) → uint256 status, bytes recipientContext++` [.item-kind]#external#
  1613. Checks if the `RelayHub` will accept a relayed operation.
  1614. Multiple things must be true for this to happen:
  1615. - all arguments must be signed for by the sender (`from`)
  1616. - the sender's nonce must be the current one
  1617. - the recipient must accept this transaction (via {acceptRelayedCall})
  1618. Returns a `PreconditionCheck` value (`OK` when the transaction can be relayed), or a recipient-specific error
  1619. code if it returns one in {acceptRelayedCall}.
  1620. [.contract-item]
  1621. [[IRelayHub-relayCall-address-address-bytes-uint256-uint256-uint256-uint256-bytes-bytes-]]
  1622. ==== `[.contract-item-name]#++relayCall++#++(address from, address to, bytes encodedFunction, uint256 transactionFee, uint256 gasPrice, uint256 gasLimit, uint256 nonce, bytes signature, bytes approvalData)++` [.item-kind]#external#
  1623. Relays a transaction.
  1624. For this to succeed, multiple conditions must be met:
  1625. - {canRelay} must `return PreconditionCheck.OK`
  1626. - the sender must be a registered relay
  1627. - the transaction's gas price must be larger or equal to the one that was requested by the sender
  1628. - the transaction must have enough gas to not run out of gas if all internal transactions (calls to the
  1629. recipient) use all gas available to them
  1630. - the recipient must have enough balance to pay the relay for the worst-case scenario (i.e. when all gas is
  1631. spent)
  1632. If all conditions are met, the call will be relayed and the recipient charged. {preRelayedCall}, the encoded
  1633. function and {postRelayedCall} will be called in that order.
  1634. Parameters:
  1635. - `from`: the client originating the request
  1636. - `to`: the target {IRelayRecipient} contract
  1637. - `encodedFunction`: the function call to relay, including data
  1638. - `transactionFee`: fee (%) the relay takes over actual gas cost
  1639. - `gasPrice`: gas price the client is willing to pay
  1640. - `gasLimit`: gas to forward when calling the encoded function
  1641. - `nonce`: client's nonce
  1642. - `signature`: client's signature over all previous params, plus the relay and RelayHub addresses
  1643. - `approvalData`: dapp-specific data forwarded to {acceptRelayedCall}. This value is *not* verified by the
  1644. `RelayHub`, but it still can be used for e.g. a signature.
  1645. Emits a {TransactionRelayed} event.
  1646. [.contract-item]
  1647. [[IRelayHub-requiredGas-uint256-]]
  1648. ==== `[.contract-item-name]#++requiredGas++#++(uint256 relayedCallStipend) → uint256++` [.item-kind]#external#
  1649. Returns how much gas should be forwarded to a call to {relayCall}, in order to relay a transaction that will
  1650. spend up to `relayedCallStipend` gas.
  1651. [.contract-item]
  1652. [[IRelayHub-maxPossibleCharge-uint256-uint256-uint256-]]
  1653. ==== `[.contract-item-name]#++maxPossibleCharge++#++(uint256 relayedCallStipend, uint256 gasPrice, uint256 transactionFee) → uint256++` [.item-kind]#external#
  1654. Returns the maximum recipient charge, given the amount of gas forwarded, gas price and relay fee.
  1655. [.contract-item]
  1656. [[IRelayHub-penalizeRepeatedNonce-bytes-bytes-bytes-bytes-]]
  1657. ==== `[.contract-item-name]#++penalizeRepeatedNonce++#++(bytes unsignedTx1, bytes signature1, bytes unsignedTx2, bytes signature2)++` [.item-kind]#external#
  1658. Penalize a relay that signed two transactions using the same nonce (making only the first one valid) and
  1659. different data (gas price, gas limit, etc. may be different).
  1660. The (unsigned) transaction data and signature for both transactions must be provided.
  1661. [.contract-item]
  1662. [[IRelayHub-penalizeIllegalTransaction-bytes-bytes-]]
  1663. ==== `[.contract-item-name]#++penalizeIllegalTransaction++#++(bytes unsignedTx, bytes signature)++` [.item-kind]#external#
  1664. Penalize a relay that sent a transaction that didn't target ``RelayHub``'s {registerRelay} or {relayCall}.
  1665. [.contract-item]
  1666. [[IRelayHub-getNonce-address-]]
  1667. ==== `[.contract-item-name]#++getNonce++#++(address from) → uint256++` [.item-kind]#external#
  1668. Returns an account's nonce in `RelayHub`.
  1669. [.contract-item]
  1670. [[IRelayHub-Staked-address-uint256-uint256-]]
  1671. ==== `[.contract-item-name]#++Staked++#++(address relay, uint256 stake, uint256 unstakeDelay)++` [.item-kind]#event#
  1672. Emitted when a relay's stake or unstakeDelay are increased
  1673. [.contract-item]
  1674. [[IRelayHub-RelayAdded-address-address-uint256-uint256-uint256-string-]]
  1675. ==== `[.contract-item-name]#++RelayAdded++#++(address relay, address owner, uint256 transactionFee, uint256 stake, uint256 unstakeDelay, string url)++` [.item-kind]#event#
  1676. Emitted when a relay is registered or re-registered. Looking at these events (and filtering out
  1677. {RelayRemoved} events) lets a client discover the list of available relays.
  1678. [.contract-item]
  1679. [[IRelayHub-RelayRemoved-address-uint256-]]
  1680. ==== `[.contract-item-name]#++RelayRemoved++#++(address relay, uint256 unstakeTime)++` [.item-kind]#event#
  1681. Emitted when a relay is removed (deregistered). `unstakeTime` is the time when unstake will be callable.
  1682. [.contract-item]
  1683. [[IRelayHub-Unstaked-address-uint256-]]
  1684. ==== `[.contract-item-name]#++Unstaked++#++(address relay, uint256 stake)++` [.item-kind]#event#
  1685. Emitted when a relay is unstaked for, including the returned stake.
  1686. [.contract-item]
  1687. [[IRelayHub-Deposited-address-address-uint256-]]
  1688. ==== `[.contract-item-name]#++Deposited++#++(address recipient, address from, uint256 amount)++` [.item-kind]#event#
  1689. Emitted when {depositFor} is called, including the amount and account that was funded.
  1690. [.contract-item]
  1691. [[IRelayHub-Withdrawn-address-address-uint256-]]
  1692. ==== `[.contract-item-name]#++Withdrawn++#++(address account, address dest, uint256 amount)++` [.item-kind]#event#
  1693. Emitted when an account withdraws funds from `RelayHub`.
  1694. [.contract-item]
  1695. [[IRelayHub-CanRelayFailed-address-address-address-bytes4-uint256-]]
  1696. ==== `[.contract-item-name]#++CanRelayFailed++#++(address relay, address from, address to, bytes4 selector, uint256 reason)++` [.item-kind]#event#
  1697. Emitted when an attempt to relay a call failed.
  1698. This can happen due to incorrect {relayCall} arguments, or the recipient not accepting the relayed call. The
  1699. actual relayed call was not executed, and the recipient not charged.
  1700. The `reason` parameter contains an error code: values 1-10 correspond to `PreconditionCheck` entries, and values
  1701. over 10 are custom recipient error codes returned from {acceptRelayedCall}.
  1702. [.contract-item]
  1703. [[IRelayHub-TransactionRelayed-address-address-address-bytes4-enum-IRelayHub-RelayCallStatus-uint256-]]
  1704. ==== `[.contract-item-name]#++TransactionRelayed++#++(address relay, address from, address to, bytes4 selector, enum IRelayHub.RelayCallStatus status, uint256 charge)++` [.item-kind]#event#
  1705. Emitted when a transaction is relayed.
  1706. Useful when monitoring a relay's operation and relayed calls to a contract
  1707. Note that the actual encoded function might be reverted: this is indicated in the `status` parameter.
  1708. `charge` is the Ether value deducted from the recipient's balance, paid to the relay's owner.
  1709. [.contract-item]
  1710. [[IRelayHub-Penalized-address-address-uint256-]]
  1711. ==== `[.contract-item-name]#++Penalized++#++(address relay, address sender, uint256 amount)++` [.item-kind]#event#
  1712. Emitted when a relay is penalized.