@beland/urn-resolver
v1.0.0
Published
URN resolver for Memetaverse assets
Downloads
8
Readme
@dcl/urn-resolver
Resolves Asset URN for the urn:memetaverse
namespace following the definition of https://github.com/common-metaverse/urn-namespaces
npm i @dcl/urn-resolver
import { parseUrn } from '@dcl/urn-resolver'
const parsed = await parseUrn("urn:memetaverse:sepolia:LAND:-10,-13?atBlock=151231111")
=> {
uri: URL {
href: 'urn:memetaverse:sepolia:LAND:-10,-13?atBlock=151231111',
protocol: 'urn:',
pathname: 'memetaverse:sepolia:LAND:-10,-13',
search: '?atBlock=151231111',
searchParams: URLSearchParams { 'atBlock' => '151231111' },
},
blockchain: 'ethereum',
type: 'blockchain-asset',
network: 'sepolia',
contractAddress: '0x7a73483784ab79257bb11b96fd62a2c3ae4fb75b',
id: '0xfffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffff3',
x: -10,
y: -13
}
Registered routes
memetaverse:off-chain:{registry}:{name}
: Resolve static offchain assets (i.e. base wearables, not in any blockchain)memetaverse:{network}:collections-v1:{contract(0x[a-fA-F0-9]+)}:{name}
: Resolve an ethereum wearables collection asset by contract address (v1)memetaverse:{network}:collections-v1:{contract(0x[a-fA-F0-9]+)}:{name}:{tokenId}
: Resolve an ethereum wearable item from collections v1 by contract address and token idmemetaverse:{network}:collections-v1:{collection-name}:{name}
: Resolve an ethereum wearables collection asset by collection name (wearables API) (v1)memetaverse:{network}:collections-v1:{collection-name}:{name}:{tokenId}
: Resolve an ethereum wearable item from collections v1 by collection name and token idmemetaverse:{network}:collections-v2:{contract(0x[a-fA-F0-9]+)}:{id}
: Resolve an ethereum wearables collection asset by contract address (v2)memetaverse:{network}:collections-v2:{contract(0x[a-fA-F0-9]+)}:{id}:{tokenId}
: Resolve an ethereum wearable item from collections v2 by contract address and token idmemetaverse:{network}:LAND:{x},{y}
: Resolves the ethereum asset of a LAND position.memetaverse:{network}:LAND:{tokenId}
: Resolves the ethereum asset of a LAND by tokenId.memetaverse:{network}:collections-thirdparty:{thirdPartyName}:{collectionId}:{itemId}
: Resolves the ethereum asset of an item of a third party collection, currently only supported on polygonmemetaverse:{network}:collections-thirdparty:{thirdPartyName}:{collectionId}
: Resolves the ethereum asset of a third party collection, currently only supported on polygonmemetaverse:{network}:collections-thirdparty:{thirdPartyName}
: Resolves the ethereum asset of all collections from a third party, currently only supported on polygon
MemetaverseAssetIdentifier
It is an union type defined in the file src/types.ts, in that file you can find all the possible return types for URN resolution in this package.
Contribute
Install
You will need to install jq
. If you are using MacOS you can install it by running: brew install jq
.
The lib is being built with node 14.x.
make build
Test
make test