1.1.1 • Published 9 months ago
caip v1.1.1
caip
CAIP standard utils
ChainId (CAIP-2)
Object-oriented
import { ChainId } from "caip";
const chainId = new ChainId("eip155:1");
// OR
const chainId = new ChainId({ namespace: "eip155", reference: "1" });
// THEN
chainId.toString();
// "eip155:1"
chainId.toJSON();
// { namespace: "eip155", reference: "1" }
Functional
import { ChainId } from "caip";
ChainId.parse("eip155:1");
// { namespace: "eip155", reference: "1" }
// AND
ChainId.format({ namespace: "eip155", reference: "1" });
// "eip155:1"
AccountId (CAIP-10)
Object-oriented
import { AccountId } from "caip";
const accountId = new AccountId(
"eip155:1:0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb"
);
// OR
const accountId = new AccountId({
chainId: { namespace: "eip155", reference: "1" },
address: "0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb",
});
// ALSO
const accountId = new AccountId({
chainId: "eip155:1",
address: "0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb",
});
// THEN
accountId.toString();
// "eip155:1:0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb"
accountId.toJSON();
// { address: "0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb", chainId: { namespace: "eip155", reference: "1" } }
Functional
import { AccountId } from "caip";
AccountId.parse("eip155:1:0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb");
// { address: "0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb", chainId: { namespace: "eip155", reference: "1" } }
// AND
AccountId.format({
chainId: { namespace: "eip155", reference: "1" },
address: "0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb",
});
//"eip155:1:0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb"
// OR
AccountId.format({
chainId: "eip155:1",
address: "0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb",
});
//"eip155:1:0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb"
AssetId (CAIP-19)
Object-oriented
import { AssetId } from "caip";
const assetId = new AssetId(
"eip155:1/erc721:0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb/1"
);
// OR
const assetId = new AssetId({
chainId: { namespace: "eip155", reference: "1" },
assetName: {
namespace: "erc721",
reference: "0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb",
},
tokenId: "1",
});
// ALSO
const assetId = new AssetId({
chainId: "eip155:1",
assetName: "erc721:0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb",
tokenId: "1",
});
// THEN
assetId.toString();
// "eip155:1/erc721:0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb/1"
assetId.toJSON();
// {
// chainId: { namespace: "eip155", reference: "1" },
// assetName: { namespace: "erc721", reference: "0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb" },
// tokenId: "1",
// }
Functional
import { AssetId } from "caip";
AssetId.parse("eip155:1/erc721:0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb/1");
// {
// chainId: { namespace: "eip155", reference: "1" },
// assetName: { namespace: "erc721", reference: "0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb" },
// tokenId: "1",
// }
// AND
AssetId.format({
chainId: { namespace: "eip155", reference: "1" },
assetName: {
namespace: "erc721",
reference: "0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb",
},
tokenId: "1",
});
// "eip155:1/erc721:0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb/1"
// OR
AssetId.format({
chainId: "eip155:1",
assetName: "erc721:0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb",
tokenId: "1",
});
// "eip155:1/erc721:0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb/1"
AssetType (CAIP-19)
Object-oriented
import { AssetType } from "caip";
const assetType = new AssetType(
"eip155:1/erc721:0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb"
);
// OR
const assetType = new AssetType({
chainId: { namespace: "eip155", reference: "1" },
assetName: {
namespace: "erc721",
reference: "0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb",
},
});
// ALSO
const assetType = new AssetType({
chainId: "eip155:1",
assetName: "erc721:0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb",
});
// THEN
assetType.toString();
// "eip155:1/erc721:0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb"
assetType.toJSON();
// {
// chainId: { namespace: "eip155", reference: "1" },
// assetName: { namespace: "erc721", reference: "0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb" },
// }
Functional
import { AssetType } from "caip";
AssetType.parse("eip155:1/erc721:0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb");
// {
// chainId: { namespace: "eip155", reference: "1" },
// assetName: { namespace: "erc721", reference: "0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb" },
// }
// AND
AssetType.format({
chainId: { namespace: "eip155", reference: "1" },
assetName: {
namespace: "erc721",
reference: "0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb",
},
});
// "eip155:1/erc721:0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb"
// OR
AssetType.format({
chainId: "eip155:1",
assetName: "erc721:0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb",
});
// "eip155:1/erc721:0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb"