mycel-labs / mycel

Apache License 2.0
12 stars 4 forks source link

Resolver Module #60

Open taryune opened 1 year ago

taryune commented 1 year ago

Image

taryune commented 1 year ago

Sequence Diagram

sequenceDiagram
        autonumber
    participant Frontend
    participant Resolver as Resolver(Mycel)
    participant Registry as Registry(Mycel)
    participant ResolverContract as Resolver Contract (CW)
        participant 3rdPartyRegistry as 3rd Party Registry

    Frontend->>Resolver: call resolve('hoge.mycel')
        Resolver->>Registry: resolveTLD('.mycel')
        Registry->>Resolver: return mycel|3rdParty|Unsupported mycel registry
        alt case Mycel
        Resolver->>Registry: call resolveAddr('hoge.mycel')
        Registry->>Resolver: return address
      Resolver->>Frontend: return address
    else case 3rdParty
        Frontend->>Resolver: call resolveAddr('hoge.btc')
        Resolver->>ResolverContract: call resolveAddr('hoge.btc')
      ResolverContract->>Resolver: return query
      Resolver->>3rdPartyRegistry: query
        3rdPartyRegistry->>Resolver: return address
        Resolver->>Frontend: return address
    else case Other
        Resolver->>Frontend: return error 'unsupported'
    end

Supporting name services & libraries