@opendatalabs/vana-sdk
Version:
A TypeScript library for interacting with Vana Network smart contracts.
90 lines • 2.3 kB
JavaScript
const DOMAIN_NAME = "Vana Data Portability";
const DOMAIN_VERSION = "1";
function buildDomain(chainId, verifyingContract) {
return {
name: DOMAIN_NAME,
version: DOMAIN_VERSION,
chainId,
verifyingContract
};
}
function fileRegistrationDomain(config) {
return buildDomain(
config.chainId,
config.contracts.dataRegistry
);
}
function grantRegistrationDomain(config) {
return buildDomain(
config.chainId,
config.contracts.dataPortabilityPermissions
);
}
function grantRevocationDomain(config) {
return buildDomain(
config.chainId,
config.contracts.dataPortabilityPermissions
);
}
function serverRegistrationDomain(config) {
return buildDomain(
config.chainId,
config.contracts.dataPortabilityServer
);
}
function builderRegistrationDomain(config) {
return buildDomain(
config.chainId,
config.contracts.dataPortabilityGrantees
);
}
const FILE_REGISTRATION_TYPES = {
FileRegistration: [
{ name: "ownerAddress", type: "address" },
{ name: "url", type: "string" },
{ name: "schemaId", type: "bytes32" }
]
};
const GRANT_REGISTRATION_TYPES = {
GrantRegistration: [
{ name: "grantorAddress", type: "address" },
{ name: "granteeId", type: "bytes32" },
{ name: "grant", type: "string" },
{ name: "fileIds", type: "uint256[]" }
]
};
const GRANT_REVOCATION_TYPES = {
GrantRevocation: [
{ name: "grantorAddress", type: "address" },
{ name: "grantId", type: "bytes32" }
]
};
const SERVER_REGISTRATION_TYPES = {
ServerRegistration: [
{ name: "ownerAddress", type: "address" },
{ name: "serverAddress", type: "address" },
{ name: "publicKey", type: "string" },
{ name: "serverUrl", type: "string" }
]
};
const BUILDER_REGISTRATION_TYPES = {
BuilderRegistration: [
{ name: "ownerAddress", type: "address" },
{ name: "granteeAddress", type: "address" },
{ name: "publicKey", type: "string" },
{ name: "appUrl", type: "string" }
]
};
export {
BUILDER_REGISTRATION_TYPES,
FILE_REGISTRATION_TYPES,
GRANT_REGISTRATION_TYPES,
GRANT_REVOCATION_TYPES,
SERVER_REGISTRATION_TYPES,
builderRegistrationDomain,
fileRegistrationDomain,
grantRegistrationDomain,
grantRevocationDomain,
serverRegistrationDomain
};
//# sourceMappingURL=eip712.js.map