Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added XDC Network MainNet & TestNet in TradeTrust Ecosystem #4

Merged
merged 4 commits into from
Jul 5, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions networks/common/xdcapothem/setup/setup-contracts.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
// require('dotenv').config({ path: __dirname+'/.env' });
import shell from "shelljs";
import { getHDNode } from "../../keys.mjs";
import { fillTemplate, extractTokenRegistryAddress, extractDomainName, getMerkleRoots } from "../../template.mjs";

const oaCLI_PATH = "open-attestation";

// Network Specific
const standalone = false ? "--standalone" : "";
const OACLINetwork = "xdcapothem"
const ChainInfo = {
$CHAIN: "XDC",
$CHAINID: "51",
}
// Keys && Address
// const mnemonic = process.env.APOTHEM_MNEMONIC;

const mnemonic = "indicate swing place chair flight used hammer soon photo region volume shuffle"
// console.log(mnemonic)
if (!mnemonic) {
throw new Error(`MNEMONIC not found: ${mnemonic}`);
}
const wallets = getHDNode(mnemonic);
const ACCOUNT_KEY = wallets[0].privateKey;
const ADDRESS_EXAMPLE_1 = wallets[0].address;
// const tokenRegistryFactoryOutput = shell.exec(`${oaCLI_PATH} deploy title-escrow-factory -n ${OACLINetwork} -k ${ACCOUNT_KEY}`, {
// silent: true,
// });
// const TITLE_ESCROW_FACTORY_ADDRESS = extractTokenRegistryFactoryAddress(tokenRegistryFactoryOutput);

const tokenRegistryOutput = shell.exec(
// `${oaCLI_PATH} deploy token-registry "DEMO TOKEN REGISTRY" DTR -n ${OACLINetwork} -k ${ACCOUNT_KEY} ${standalone} --factoryAddress ${TITLE_ESCROW_FACTORY_ADDRESS}`,
`${oaCLI_PATH} deploy token-registry "DEMO TOKEN REGISTRY" DTR -n ${OACLINetwork} -k ${ACCOUNT_KEY} ${standalone}`,
{ silent: true }
);
const TOKEN_REGISTRY_ADDRESS = extractTokenRegistryAddress(tokenRegistryOutput);
console.log(`Token Registry Address: ${TOKEN_REGISTRY_ADDRESS}`);
const dnsCreateOutput = shell.exec(`${oaCLI_PATH} dns txt-record create -a ${TOKEN_REGISTRY_ADDRESS} --networkId ${ChainInfo['$CHAINID']}`,
{ silent: true });
const DOMAIN_NAME = extractDomainName(dnsCreateOutput);
console.log(`Domain Name: ${DOMAIN_NAME}`);
fillTemplate("xdcapothem", { $TOKENREGISTRYADDRESS: TOKEN_REGISTRY_ADDRESS, $DOMAINNAME: DOMAIN_NAME, ...ChainInfo });
shell.exec(`${oaCLI_PATH} wrap ${"networks/fixtures/xdcapothem/unwrapped/"} --oav3 --output-dir ${"networks/fixtures/xdcapothem/wrapped/"} --batched false`,
{ silent: true })
const merkleRoots = getMerkleRoots("xdcapothem")
console.log(`Merkle Roots: ${merkleRoots}`)

const defaultToken = {
accountKey: ACCOUNT_KEY,
tokenRegistryAddress: TOKEN_REGISTRY_ADDRESS,
owner: ADDRESS_EXAMPLE_1,
holder: ADDRESS_EXAMPLE_1,
};
console.log(`Default Token: ${JSON.stringify(defaultToken)}`)
merkleRoots.forEach((hash) => {
shell.exec(
`${oaCLI_PATH} token-registry issue --beneficiary ${defaultToken.owner} --holder ${defaultToken.holder} --address ${defaultToken.tokenRegistryAddress} --tokenId ${hash} -n ${OACLINetwork} -k ${defaultToken.accountKey}`,
{ silent: true }
);
});
76 changes: 76 additions & 0 deletions networks/fixtures/xdcapothem/ebl-apothem-surrendered.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
{
"version": "https://schema.openattestation.com/3.0/schema.json",
"network": {
"chain": "XDC",
"chainId": "51"
},
"credentialSubject": {
"shipper": {
"address": {
"street": "StreetAddress",
"country": "CountryAddress"
},
"name": "ShipperName"
},
"consignee": {
"name": "ConsigneeName"
},
"notifyParty": {
"name": "NotifyName"
},
"blNumber": "BL",
"scac": "SCAC",
"carrierName": "CarrierSignature",
"vessel": "NotifyVessel",
"voyageNo": "NotifyVoyage",
"portOfLoading": "NotifyLoadingPort",
"portOfDischarge": "NotifyDischargePort",
"placeOfReceipt": "NotifyReceiptPlace",
"placeOfDelivery": "NotifyDeliveryPlace"
},
"@context": [
"https://www.w3.org/2018/credentials/v1",
"https://schemata.openattestation.com/com/openattestation/1.0/OpenAttestation.v3.json",
"https://schemata.openattestation.com/io/tradetrust/bill-of-lading/1.0/bill-of-lading-context.json"
],
"type": [
"VerifiableCredential",
"OpenAttestationCredential"
],
"issuanceDate": "2010-01-01T19:23:24Z",
"openAttestationMetadata": {
"template": {
"type": "EMBEDDED_RENDERER",
"name": "BILL_OF_LADING",
"url": "https://generic-templates.tradetrust.io"
},
"proof": {
"type": "OpenAttestationProofMethod",
"method": "TOKEN_REGISTRY",
"value": "0x1a378fEEc3ed9B63B872B11561FCf19f6d2CE793",
"revocation": {
"type": "NONE"
}
},
"identityProof": {
"type": "DNS-TXT",
"identifier": "tradetrust-apothem.xdc.network"
}
},
"issuer": {
"id": "https://example.com",
"name": "DEMO TOKEN REGISTRY",
"type": "OpenAttestationIssuer"
},
"proof": {
"type": "OpenAttestationMerkleProofSignature2018",
"proofPurpose": "assertionMethod",
"targetHash": "5d0de1b3a0dd8188c14460de7de76210a17a21c4f2d06cc451418ea58be662f8",
"proofs": [],
"merkleRoot": "5d0de1b3a0dd8188c14460de7de76210a17a21c4f2d06cc451418ea58be662f8",
"salts": "W3sidmFsdWUiOiJiNWM0MGQ4ZjkwYTM5NGNiOGM5YzQ5NWJkNjNkNmE3ZWRmMjk3NTMyMWZjN2M0MGRiOTVmNmE5YTRjYmM5OWZmIiwicGF0aCI6InZlcnNpb24ifSx7InZhbHVlIjoiODk2YTFmNzZmMDgyNTNkZTM5NTg3M2JlYjcxOGI2ODQwODM5ZjVmNWVmOGEwNDRmYWFlM2QyM2U5ODJhMWU0NCIsInBhdGgiOiJuZXR3b3JrLmNoYWluIn0seyJ2YWx1ZSI6IjIxYmExZjM4MjdiM2IxZDUzZjI5ZDQ5MzFlYjQ4YTg4MmVhOGFlNGQwYTRlN2VlMGI0ZTAwNTQzMDQ5MjFhZWYiLCJwYXRoIjoibmV0d29yay5jaGFpbklkIn0seyJ2YWx1ZSI6ImQyZDk5YzUyYTkzNmEyNDM5ODgzOTAzOWE2MmI5NzRhYzFhNzQyODQ1YzM2ODRlZGMxNzNhNTgwOWM2MDMxOTUiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3Quc2hpcHBlci5hZGRyZXNzLnN0cmVldCJ9LHsidmFsdWUiOiI5Nzg1ZWQ0MGQwMDY5NGI1NWY5MWFiNTUwN2M5ZjdlMDY2YTllOGI1NDY0MGU0MmQ0NDNmNzRiYjY4MWI4NmVhIiwicGF0aCI6ImNyZWRlbnRpYWxTdWJqZWN0LnNoaXBwZXIuYWRkcmVzcy5jb3VudHJ5In0seyJ2YWx1ZSI6IjczOWUyOGI3ZmJmNWFkNzhhNzlmNmY2ZDU4ZWUyNmIxZjIyZjkxYmY5NWYwZWViMzI3NDVmZTE5MjZkOWM4OGEiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3Quc2hpcHBlci5uYW1lIn0seyJ2YWx1ZSI6ImE5Mjk4ZDBmOTAyYjhlMDMwODBlNjU1ZjMyNWJiMjBhNDJlZGExZWUyOWRkY2RiMGFhOTZjNjJkMmIyODU2ZjMiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QuY29uc2lnbmVlLm5hbWUifSx7InZhbHVlIjoiNzJmMzI0NTVjMTE5NzFmYWIyODJkN2JmNGRhZTg4YWQ2YTQ5ZWRkMDgwOWJkY2ZjZTVhMmZhMjVhYzVkOWRkZiIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC5ub3RpZnlQYXJ0eS5uYW1lIn0seyJ2YWx1ZSI6IjYwNjJjZTQ2ZDE2NDYxOTg2MDBlNzY0Yjk5YTg2MzNhODUwNWUzYjBjMGI4MDNjZjhkMTUxOGI4YzliMjVkZmIiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QuYmxOdW1iZXIifSx7InZhbHVlIjoiNThlN2YwN2M3MWQ5MTVhMGY4MzI2MTBiNzA2MTM5NGIzMjNlNzQzYWY1YjgwYTM0YWY4N2NhMTlkODZkNzgxNCIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC5zY2FjIn0seyJ2YWx1ZSI6IjQzMjEyZjI3OTRjNzI4NTQ3MTYwNjY2OTgyYjkyNjA5N2VkYTkyZTA0YzkyYWJjZGE2NWNhY2JjNzQ4Mjk3ZWMiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QuY2Fycmllck5hbWUifSx7InZhbHVlIjoiMTcxYjlhN2M2NDBjYmMxMzBlMzliYjM5ZTg4MmEyZWM5ZGNkZjQ4ZmM1YmY3MDg2MDk1NDdlNjFjYzkwNTNhZiIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC52ZXNzZWwifSx7InZhbHVlIjoiOTFkN2RjNTZjZWQwMDIxYTJkY2I3MzU1Nzg1OWY2NTMyOWVlNTQwNDY3Mzg3NzU4NTlmZWY3MzI0Y2I0YTFkNyIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC52b3lhZ2VObyJ9LHsidmFsdWUiOiJkYmZiOWQ3MGNiZGJmMGU3NzBjOGRiMTEzNmU1NjU5NjJhNmRiNzA5NzIxYjU4MzBlZGUyYjU1Y2ZkMzZmNDZkIiwicGF0aCI6ImNyZWRlbnRpYWxTdWJqZWN0LnBvcnRPZkxvYWRpbmcifSx7InZhbHVlIjoiOGMzZjk3ODg2YTg1NmNlNmRkNzllNGJhMWIwODFjNDIzZWZmMGY3NzEwZDNiYmYwNGYxOThkMmNiZjdhZDZmYSIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC5wb3J0T2ZEaXNjaGFyZ2UifSx7InZhbHVlIjoiZDJjNGE5Nzg5YzdjNjYxMTNiYmM1MDY0YTE4ODYzYjhjZmMzZWY1N2FjNGVlMTRiNzQ2MTk5YTQ4Zjg2OTZhOCIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC5wbGFjZU9mUmVjZWlwdCJ9LHsidmFsdWUiOiJhOTUwMGU0YTBkNWVmOTdlMzM3ZDkzMzA0MzBiNTU2NDhkZmVkNWM2NGI0MDRmNDNlNjI5OGIwNzJlMDRiNjgyIiwicGF0aCI6ImNyZWRlbnRpYWxTdWJqZWN0LnBsYWNlT2ZEZWxpdmVyeSJ9LHsidmFsdWUiOiI4NjVkMmNlNjA1N2Q3YTA0N2ZhYjc1YTgzMmQwOWY0YTczYWVhOGQ1MWZiMmRkNWExOGQ2YzhlMDRkNDI2NDAzIiwicGF0aCI6IkBjb250ZXh0WzBdIn0seyJ2YWx1ZSI6IjE4MmIwNjJiN2I5NDU0MDQxZWFkNWM3YmM3OTc5OTM1NzI1Y2UzMzRjMjZjOWI2ZjU3YzQyM2I5MGY0ZjI1NTIiLCJwYXRoIjoiQGNvbnRleHRbMV0ifSx7InZhbHVlIjoiOGI3ZTcwNDY4MzNlOTk1MDljZDcxZDRmODI0ZGFjZDk0YWIzNGIxMTdhODJlYzc2MTMzNmE1ZDZhOGQ0NjFjOCIsInBhdGgiOiJAY29udGV4dFsyXSJ9LHsidmFsdWUiOiJkZTQ2Y2RmNjUxNzJhNDIyNTBlZjNlZWUzMDdmN2MwMWQ5YTNhMjM3ODlkM2IxNmNmNjgwMTc3ZjJmZmZlZTNiIiwicGF0aCI6InR5cGVbMF0ifSx7InZhbHVlIjoiNWFhNmViMTMyY2Q2ZTBkNjA5OTgxMTgzOTBmNTMxZTkxOTVlMDdjODA0NTgyNzQ2NGM2OGZjMmVhZDU0NjM5NiIsInBhdGgiOiJ0eXBlWzFdIn0seyJ2YWx1ZSI6IjA5ZGNkMjE5MTBhOWI2MWJhZDgyOGIwMmYzMjgzYzEzOGQzZmQxNjE0OTVmNmUxNDgxZWM3YjQyYzJiZTBlNDUiLCJwYXRoIjoiaXNzdWFuY2VEYXRlIn0seyJ2YWx1ZSI6IjU5YzRhZDFhOGVkM2FiODQ1MzFlYTUxZjkzNDllYzFmODgzNDc5YWYyYjVhZTRhZjE1MTdmN2I3MDdkYWQxOTUiLCJwYXRoIjoib3BlbkF0dGVzdGF0aW9uTWV0YWRhdGEudGVtcGxhdGUudHlwZSJ9LHsidmFsdWUiOiIxOTMyMmRiZWUzOTU2ZDY5YmU2MDU0M2NlNjA0OGMyMjhkNWFjYWI4MzIzNmQwYmM4YmRiNjNiMGRmMDhmOTkxIiwicGF0aCI6Im9wZW5BdHRlc3RhdGlvbk1ldGFkYXRhLnRlbXBsYXRlLm5hbWUifSx7InZhbHVlIjoiNGQ0ZmNlM2E0MjI5YzljNzdmMDU0ZTYzYTQ0ZmIyNzZlMzQzYjA4Yjc4MzI0ZWQxZDgxNzYxZjNlZDY2YTg5NCIsInBhdGgiOiJvcGVuQXR0ZXN0YXRpb25NZXRhZGF0YS50ZW1wbGF0ZS51cmwifSx7InZhbHVlIjoiYzk1NWE2NzFlZjViYTVlNTQ3YjhmN2EyMzUxYmI0YjNjYWE1NDJhZjBiMzYyNWU5NDc5ZTc5MzBjMTJjYzgwYiIsInBhdGgiOiJvcGVuQXR0ZXN0YXRpb25NZXRhZGF0YS5wcm9vZi50eXBlIn0seyJ2YWx1ZSI6ImZlN2MzODY3YTQ3ZjlhY2NlN2NjNDMxNTkzODliNDc5ZGJhYTZmOTZlMTE4MzA4YzNhODE1MTNiYzJhNDBiYTciLCJwYXRoIjoib3BlbkF0dGVzdGF0aW9uTWV0YWRhdGEucHJvb2YubWV0aG9kIn0seyJ2YWx1ZSI6ImUzNzA1NTAxYzhkMWJmNzIxODdmZTcyOTZlZmQ1MjFiMjcwYTkyYjQ4MTgyMGQ1MzJhMzRmODliYmM3OWM3ZjMiLCJwYXRoIjoib3BlbkF0dGVzdGF0aW9uTWV0YWRhdGEucHJvb2YudmFsdWUifSx7InZhbHVlIjoiZjA1ZjM1Y2Y5OTQwN2EwMTM4OTRjMmI4MTdmNTc2ZDM0YmNmYjVmZWRhNjBmOGFmNGE2YWZhNzIxMzdlM2M0NSIsInBhdGgiOiJvcGVuQXR0ZXN0YXRpb25NZXRhZGF0YS5wcm9vZi5yZXZvY2F0aW9uLnR5cGUifSx7InZhbHVlIjoiZmYzNjhjZmJlNDk1MDZkOTdiMGNkMDJjMDFlMWZkNDU3NjUwMGU0NzkyMGU1YzE4NjJmOThlMjUyM2IzZmFiMyIsInBhdGgiOiJvcGVuQXR0ZXN0YXRpb25NZXRhZGF0YS5pZGVudGl0eVByb29mLnR5cGUifSx7InZhbHVlIjoiNDBjNGM4ZWZjYTA0ZTEzZDcyNWQ1NTY1MzY1ZjYzY2JkMGE0YjA2MzU1MmFjZjkzNWQwZTY4N2E4OWZkMGE0ZCIsInBhdGgiOiJvcGVuQXR0ZXN0YXRpb25NZXRhZGF0YS5pZGVudGl0eVByb29mLmlkZW50aWZpZXIifSx7InZhbHVlIjoiNjVmMTYzNTg1MTIyNmE3OWEyMTI4ODA1ZjdiOTcwNDg2MTg5ZjAxMzg4YTk0M2IzMzQ5MTk2NDdlMGRjMGVmNSIsInBhdGgiOiJpc3N1ZXIuaWQifSx7InZhbHVlIjoiNjE0ZDQ0OTMwNWRlYWJhNzkwMmYwZDM5ZmFkYzIzZjRhYmJhNTIxOGI1ZmUwNGE4ZDFmZDZkNzYzYmE3N2FkNCIsInBhdGgiOiJpc3N1ZXIubmFtZSJ9LHsidmFsdWUiOiIwNmVkODU3MTJjNjg2MDc3ZDEyMjdlODY1MTU1YmE0Y2ExYjMxMmRiNmVjNTBmNWE3ZTNlODE2OGVhYTUxYTlkIiwicGF0aCI6Imlzc3Vlci50eXBlIn1d",
"privacy": {
"obfuscated": []
}
}
}
76 changes: 76 additions & 0 deletions networks/fixtures/xdcapothem/ebl-apothem.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
{
"version": "https://schema.openattestation.com/3.0/schema.json",
"network": {
"chain": "XDC",
"chainId": "51"
},
"credentialSubject": {
"shipper": {
"address": {
"street": "StreetAddress",
"country": "CountryAddress"
},
"name": "ShipperName"
},
"consignee": {
"name": "ConsigneeName"
},
"notifyParty": {
"name": "NotifyName"
},
"blNumber": "BL",
"scac": "SCAC",
"carrierName": "CarrierSignature",
"vessel": "NotifyVessel",
"voyageNo": "NotifyVoyage",
"portOfLoading": "NotifyLoadingPort",
"portOfDischarge": "NotifyDischargePort",
"placeOfReceipt": "NotifyReceiptPlace",
"placeOfDelivery": "NotifyDeliveryPlace"
},
"@context": [
"https://www.w3.org/2018/credentials/v1",
"https://schemata.openattestation.com/com/openattestation/1.0/OpenAttestation.v3.json",
"https://schemata.openattestation.com/io/tradetrust/bill-of-lading/1.0/bill-of-lading-context.json"
],
"type": [
"VerifiableCredential",
"OpenAttestationCredential"
],
"issuanceDate": "2010-01-01T19:23:24Z",
"openAttestationMetadata": {
"template": {
"type": "EMBEDDED_RENDERER",
"name": "BILL_OF_LADING",
"url": "https://generic-templates.tradetrust.io"
},
"proof": {
"type": "OpenAttestationProofMethod",
"method": "TOKEN_REGISTRY",
"value": "0x1a378fEEc3ed9B63B872B11561FCf19f6d2CE793",
"revocation": {
"type": "NONE"
}
},
"identityProof": {
"type": "DNS-TXT",
"identifier": "tradetrust-apothem.xdc.network"
}
},
"issuer": {
"id": "https://example.com",
"name": "DEMO TOKEN REGISTRY",
"type": "OpenAttestationIssuer"
},
"proof": {
"type": "OpenAttestationMerkleProofSignature2018",
"proofPurpose": "assertionMethod",
"targetHash": "a6d620b99e738309e6a6c7f76d6fd7880cc9b76d73fd4c2377cae3914c5bfbbc",
"proofs": [],
"merkleRoot": "a6d620b99e738309e6a6c7f76d6fd7880cc9b76d73fd4c2377cae3914c5bfbbc",
"salts": "W3sidmFsdWUiOiI5NzMzYzlkODQ4Yjc3ODQzYzgxZWM0ZDlkN2ZlN2UxZmY2ZTRjZDUwYTlhNmZhYTkwMDNmMGQ5ODg0MTA2ZDU4IiwicGF0aCI6InZlcnNpb24ifSx7InZhbHVlIjoiYzFlYWUzY2I5ZDNmYWVmYzEzZmI0NjQ2MTY2ZDE2YTM0OTJmNjllZjkyYzA4NjhmY2MzODVlOGJjOTUzNGRkMSIsInBhdGgiOiJuZXR3b3JrLmNoYWluIn0seyJ2YWx1ZSI6IjYxMGI2NDQ0OGRkOGQ0NmFkNzY4ZjJlNjc2ZDBiY2EwNWEzOTI3MDYwMjNkZGVjMTUxYjgxZGI1ZDQzM2VjNzEiLCJwYXRoIjoibmV0d29yay5jaGFpbklkIn0seyJ2YWx1ZSI6IjUyNzZjZWUxYWJkZjI3MGI2MmVjZmUyYTkzYjAyOWExYjk0MzllYmY5MDk3ZTFjYmYzZWE1OTA0ZmFhNTQ1YjAiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3Quc2hpcHBlci5hZGRyZXNzLnN0cmVldCJ9LHsidmFsdWUiOiIyZjgyNmY4Nzk2ZWI3MGRhOTU3OWQ0ZjZmMTYwYzJkNTEzZGM4Njg0OGJmNGI3ZDE1ZTkwNGU4M2E5OGYzODIzIiwicGF0aCI6ImNyZWRlbnRpYWxTdWJqZWN0LnNoaXBwZXIuYWRkcmVzcy5jb3VudHJ5In0seyJ2YWx1ZSI6IjlhYTJmYTE4MGFiMmQ1YWRjMzY2ODliN2Y2YzY1YjU3ZWNkZGMzN2I4YmRjYjgxZmJhYWYyMjljOTIxNjJmODAiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3Quc2hpcHBlci5uYW1lIn0seyJ2YWx1ZSI6IjNhNTc1Njc1NTc3NjU1YThjNDc3ZDc5ZDkyYTcwMTlhOTQ0MjU1OWUyMzkwMDNiNjIxNjVmNDRjMzQ4ZDY4MzciLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QuY29uc2lnbmVlLm5hbWUifSx7InZhbHVlIjoiNGZlZTA0YTNjZmFkMzUyZGIwMDI4MDQyZjUxMTJlZGE3MDIxN2Q3OTdjNGIyZTZmYTQ5M2U5NmVmMjQ5Mzk2YyIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC5ub3RpZnlQYXJ0eS5uYW1lIn0seyJ2YWx1ZSI6IjgzYWYzYzZmMTE0OTM5NmMyNDA0ZDMyNDQ4NGI3MjgxYjJhODMzMTVmYmM4MGM5ODAyYjRiZDA2MmI2Y2U5NDAiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QuYmxOdW1iZXIifSx7InZhbHVlIjoiNWNkMDQ4NjIxZDViZDY0N2E3ODg3MjI4MmJmMGEzNTM4ODY5YzYwNmFkNmE2MmEyNGNjNWFjNDEzZGFiNDY5OSIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC5zY2FjIn0seyJ2YWx1ZSI6IjFlNTgxZjZiYjZmMzIwYmVkZGMzMWYzYTUyZjY4ZGJlMmQwZjhhYzE3ZjNmODM1NzNkZDFkOTQwZjZiOWIzMjkiLCJwYXRoIjoiY3JlZGVudGlhbFN1YmplY3QuY2Fycmllck5hbWUifSx7InZhbHVlIjoiZWM4Y2E3ZTRiYTBmYTFlYzExNGM0MTk4NTZmNmIwMmU3YmY0MDY5ZWNkYzk4MjM5OWE2OTA3MTE3ZDU5OGFjYiIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC52ZXNzZWwifSx7InZhbHVlIjoiMTFiYzVlMTIzNzIxZDBjNzY0NTZlYzNmOTVmNmRkMWJhNzQ0MzBjNThmZTkwMjNiZGJkY2M1ODQ5MzIyZTQwNCIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC52b3lhZ2VObyJ9LHsidmFsdWUiOiI4NTgxMzhiMTQ5MmU5OTJkMTgzYzY2ZmY0ZWU2YTllNTQ4M2M3YmI3NTk3ZDBiZDc0MWEwODc5MWU5YjllNDU1IiwicGF0aCI6ImNyZWRlbnRpYWxTdWJqZWN0LnBvcnRPZkxvYWRpbmcifSx7InZhbHVlIjoiNjhlZmQ3ZjEwOTA2ZTg2YWM4MzY2ZjUzMGE1YmE3ODA4NmY0MTU5ZTM4YjNhMmZkYmVkYTJlMmY0YWJjZGQ0YyIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC5wb3J0T2ZEaXNjaGFyZ2UifSx7InZhbHVlIjoiNmIwNTQ0ODAzNzFiMWIwNDQ0MzdmZWFhZDM2YzdlNDQ3NmQzMjdlYTMwODViYzE0ZTZhY2MxNDA4MjkyYzUzNyIsInBhdGgiOiJjcmVkZW50aWFsU3ViamVjdC5wbGFjZU9mUmVjZWlwdCJ9LHsidmFsdWUiOiJmMTY0ZTczOWVjNTYwMGEzOWY3NzE5ZWRmNDUyOGJlZjJhM2JiYmFlN2YwYTY2MWY0MmU0Y2ViMjUzNGYzYmVjIiwicGF0aCI6ImNyZWRlbnRpYWxTdWJqZWN0LnBsYWNlT2ZEZWxpdmVyeSJ9LHsidmFsdWUiOiI2ZjFiMWI2NmRmYTNjODc4ZjY1MmE5ZTVhYWU0N2JhY2JlODM4NTRiYmVjZmVmZDc1MzJhNWQ0MjNkYzk0Y2M5IiwicGF0aCI6IkBjb250ZXh0WzBdIn0seyJ2YWx1ZSI6ImM0NmQ2OWQzMmNjYzZiMjNiNjdkODE1YzNjMWFiM2NmZGNiYmU0ZDU4OWJlMTlmNjkwYjYwNmM0Y2JlNGU0OTgiLCJwYXRoIjoiQGNvbnRleHRbMV0ifSx7InZhbHVlIjoiZGNkYzllMDgwZThlZTEyNmE5MjNkYzFjYTk0OWNmNTdhYTA1MTBkZTU3YmNhYWIzZWZjNGQ1ZTI1YmRiOTYwZCIsInBhdGgiOiJAY29udGV4dFsyXSJ9LHsidmFsdWUiOiJhYjFkN2QwNWMwOTVjODc4OTY1OTMyM2QwMjJjMzkwNWY5MTBhNjRkMWQ3ZTg0M2E5YzE4NTVlZTY1OWExYjhlIiwicGF0aCI6InR5cGVbMF0ifSx7InZhbHVlIjoiNDExOWQ3YmUxMmI3NGRkMTQ1MzFmZDIwMWU4OWM3ZGIwOTQ2OGEyMjQyODgzOTM0OWI2YjUxNzViNzNmNGZjYiIsInBhdGgiOiJ0eXBlWzFdIn0seyJ2YWx1ZSI6IjU0YmJhYzY1YTI0YWU2ZmY2ZTc4NGNlZWM4Mjk4YzI2MWNhZjMxYWM2NzUxZjgwZDFlM2I2ZGUzODY5NWZiYWIiLCJwYXRoIjoiaXNzdWFuY2VEYXRlIn0seyJ2YWx1ZSI6IjYwYjJjZGI2YmFlMjE0ZTYyZTJlOGM1ODE4NTQ4MTk3M2I2Zjg5OWRhMjM5ZmE2MTgzNzEyZDBhZTRiYjViMTMiLCJwYXRoIjoib3BlbkF0dGVzdGF0aW9uTWV0YWRhdGEudGVtcGxhdGUudHlwZSJ9LHsidmFsdWUiOiI5ZTM1NmNjNjlkMTFhZGIwZDcwZTg0YWYyYmQ3OTI3ZTg4ZmZlMTY3ZTJkMDY1OTRjNDM4NTI3MWMxZWI2Y2ZiIiwicGF0aCI6Im9wZW5BdHRlc3RhdGlvbk1ldGFkYXRhLnRlbXBsYXRlLm5hbWUifSx7InZhbHVlIjoiYWEwOGNmNjJjMGNiMmYyMTkyNDU4ODZiZmM3NTUxODM1YTg5Zjg2ZjgxOWQ0YTdkODYzYmM3MzAzZmJlZGE4NiIsInBhdGgiOiJvcGVuQXR0ZXN0YXRpb25NZXRhZGF0YS50ZW1wbGF0ZS51cmwifSx7InZhbHVlIjoiZDhkNmZlNTk2MDk4Zjg4Y2JiYTY4ODQ0MTQzNmQ0NDJjODc0YTgyZDMyMzM0NDYyZTQ3Zjk2ODZkOTkxNTkyZSIsInBhdGgiOiJvcGVuQXR0ZXN0YXRpb25NZXRhZGF0YS5wcm9vZi50eXBlIn0seyJ2YWx1ZSI6ImRmOWJlNjExZjM2NmYyY2RmYmFiYThjNmE0ZGM4MjU0MjA4NjAyNmM1MmNjNGU5YmZhNzNhOTUxYWJlNjBmNDEiLCJwYXRoIjoib3BlbkF0dGVzdGF0aW9uTWV0YWRhdGEucHJvb2YubWV0aG9kIn0seyJ2YWx1ZSI6IjdkZGI0YTIzY2U0MDRlZTA1MTU2Y2Q3YjAzZTU3YWVlM2MwMjlhZDI3ZTU4OWVjZTUwZDdjMWRlYjNkYjE2MzMiLCJwYXRoIjoib3BlbkF0dGVzdGF0aW9uTWV0YWRhdGEucHJvb2YudmFsdWUifSx7InZhbHVlIjoiODk0NmYzOWFkNWI2NzEwMmYzOTMzOTRlN2JkYzVmMTAwZTMwNDI1ZTZhMjEzMDU3NGEyNDQ0OWJkMGU1YmZmNCIsInBhdGgiOiJvcGVuQXR0ZXN0YXRpb25NZXRhZGF0YS5wcm9vZi5yZXZvY2F0aW9uLnR5cGUifSx7InZhbHVlIjoiNzQzY2U2Y2Y1OTBkYzRmY2U0MGZlM2FhMWYzMGFkNDIwZWU4MTUyYTFiY2Y0OWNhOGNlMWVhOTgyYjE1NjhhNSIsInBhdGgiOiJvcGVuQXR0ZXN0YXRpb25NZXRhZGF0YS5pZGVudGl0eVByb29mLnR5cGUifSx7InZhbHVlIjoiYTk1MDM5NzllZDNhMzA0NzZhYjgxOWM3OTQ2MDE5OTA4M2Q5NDBkMjhjN2I2MjY3MTcwMjczZGRjYjdhYjBmMCIsInBhdGgiOiJvcGVuQXR0ZXN0YXRpb25NZXRhZGF0YS5pZGVudGl0eVByb29mLmlkZW50aWZpZXIifSx7InZhbHVlIjoiNDVkMjFlZGYwNzYzMGQzZThjNDg3MzY0NjY1NzY0MmFhMWQ2YzMyNmI0YmUxZjkxMzFiYzA2ZDRlYTA2MmFhYiIsInBhdGgiOiJpc3N1ZXIuaWQifSx7InZhbHVlIjoiOWYzNjQwZTFkMTEyN2Y1OWYzODg0ZmIzNDc3Y2QxNTlhZTk4NDliNjFlNTYyZGVlYzdmYmY0OTgyY2Q5NjljOSIsInBhdGgiOiJpc3N1ZXIubmFtZSJ9LHsidmFsdWUiOiJhZDVmZDY3OTI5ZGI0ZjA0NzY0NmRhYzlhNTI2Yzc5NDJmMjU5MDg0ZTM4OTNjN2I1NGUyMjAwZjk5ZDExYTEwIiwicGF0aCI6Imlzc3Vlci50eXBlIn1d",
"privacy": {
"obfuscated": []
}
}
}
36 changes: 36 additions & 0 deletions networks/specs/xdcapothem/endorse-owner-holder.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import { ACCOUNT_3 } from "../utils";

before(() => {
// Import Account 2 0xcDFAcbb428DD30ddf6d99875dcad04CbEFcd6E60
cy.importMetamaskAccount("0xc58c1ff75001afdca8cecb61b47f36964febe4188b8f7b26252286ecae5a8879");
cy.switchMetamaskAccount(1);
cy.addMetamaskNetwork({
networkName: 'XDC Apothem',
rpcUrl: 'https://apothem.xdcrpc.com',
chainId: '51',
symbol: 'XDC',
blockExplorer: 'https://apothem.xdcscan.io',
isTestnet: true
})
});

describe("Endorse Transfer of Ownership/Holdership", () => {
it("should endorse transfer of both owner and holder successfully", () => {
cy.visit("/verify");
cy.get("input[type=file]").attachFile("xdcapothem/wrapped/ebl-endorse-owner.json");
cy.get("[data-testid='asset-title-owner']").should("be.visible");
cy.get("[data-testid='asset-title-holder']").should("be.visible");
cy.clickConnectAndManageAssetButton(true); // approve all accounts to application once after connect to wallet, subsequent tests no longer need `true`
cy.get("[data-testid='endorseTransferDropdown']").click(); // Endorse Transfer of Ownership/Holdership
cy.get("[data-testid='editable-input-owner']").clear();
cy.get("[data-testid='editable-input-holder']").clear();
cy.get("[data-testid='editable-input-owner']").type(ACCOUNT_3);
cy.get("[data-testid='editable-input-holder']").type(ACCOUNT_3);
cy.get("[data-testid='endorseTransferBtn']").click();
cy.wait(10000)
cy.confirmMetamaskTransaction();
cy.get("[data-testid='non-editable-input-owner']").should("have.text", ACCOUNT_3);
cy.get("[data-testid='non-editable-input-owner']").should("have.text", ACCOUNT_3);
cy.get("[data-testid='overlay-title']").should("have.text", "Endorse Ownership/Holdership Success");
});
});
Loading