@ceramicnetwork/blockchain-utils-validation 1.6.2 → 2.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,9 +3,12 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- ## [1.6.2](https://github.com/ceramicnetwork/js-ceramic/compare/@ceramicnetwork/blockchain-utils-validation@1.6.2-rc.10...@ceramicnetwork/blockchain-utils-validation@1.6.2) (2021-12-06)
6
+ # [2.0.0-alpha.0](https://github.com/ceramicnetwork/js-ceramic/compare/@ceramicnetwork/blockchain-utils-validation@1.6.2-rc.10...@ceramicnetwork/blockchain-utils-validation@2.0.0-alpha.0) (2021-12-07)
7
7
 
8
- **Note:** Version bump only for package @ceramicnetwork/blockchain-utils-validation
8
+
9
+ ### Features
10
+
11
+ * Re-apply Caip version update and format change ([#1896](https://github.com/ceramicnetwork/js-ceramic/issues/1896)) ([be875de](https://github.com/ceramicnetwork/js-ceramic/commit/be875de3e9a5b54605c6d20b9610a52f8267e0ce))
9
12
 
10
13
 
11
14
 
@@ -1 +1 @@
1
- {"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../src/blockchains/cosmos.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,SAAS,EAAU,MAAM,0CAA0C,CAAA;AAU5E,wBAAsB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAQ9E;AAED,QAAA,MAAM,OAAO,EAAE,iBAGd,CAAA;AAED,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../src/blockchains/cosmos.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,SAAS,EAAU,MAAM,0CAA0C,CAAA;AAW5E,wBAAsB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAS9E;AAED,QAAA,MAAM,OAAO,EAAE,iBAGd,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -20,15 +20,15 @@ var __importStar = (this && this.__importStar) || function (mod) {
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
22
  exports.validateLink = void 0;
23
- const caip_1 = require("caip");
24
23
  const sig_1 = require("@tendermint/sig");
25
24
  const blockchain_utils_linking_1 = require("@ceramicnetwork/blockchain-utils-linking");
26
25
  const uint8arrays = __importStar(require("uint8arrays"));
26
+ const common_1 = require("@ceramicnetwork/common");
27
27
  const namespace = 'cosmos';
28
28
  const stringEncode = (str) => uint8arrays.toString(uint8arrays.fromString(str), 'base64pad');
29
29
  const stringDecode = (str) => uint8arrays.toString(uint8arrays.fromString(str, 'base64pad'));
30
30
  async function validateLink(proof) {
31
- const account = new caip_1.AccountID(proof.account);
31
+ const account = common_1.normalizeAccountId(proof.account);
32
32
  const encodedMsg = stringEncode(proof.message);
33
33
  const payload = blockchain_utils_linking_1.cosmos.asTransaction(account.address, encodedMsg);
34
34
  const sigObj = JSON.parse(stringDecode(proof.signature));
@@ -1 +1 @@
1
- {"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../src/blockchains/cosmos.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAgC;AAChC,yCAA0C;AAE1C,uFAA4E;AAC5E,yDAA0C;AAE1C,MAAM,SAAS,GAAG,QAAQ,CAAA;AAE1B,MAAM,YAAY,GAAG,CAAC,GAAW,EAAU,EAAE,CAC3C,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAA;AAChE,MAAM,YAAY,GAAG,CAAC,GAAW,EAAU,EAAE,CAC3C,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAA;AAEzD,KAAK,UAAU,YAAY,CAAC,KAAgB;IACjD,MAAM,OAAO,GAAG,IAAI,gBAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5C,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC9C,MAAM,OAAO,GAAG,iCAAM,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IACjE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;IACxD,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,iCAAM,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,CAAA;IACxE,MAAM,YAAY,GAAG,cAAQ,CAAC,EAAE,EAAE,iCAAM,CAAC,WAAW,EAAE,CAAC,CAAA;IACvD,OAAO,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AACpC,CAAC;AARD,oCAQC;AAED,MAAM,OAAO,GAAsB;IACjC,SAAS;IACT,YAAY;CACb,CAAA;AAED,kBAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../src/blockchains/cosmos.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA0C;AAE1C,uFAA4E;AAC5E,yDAA0C;AAC1C,mDAA2D;AAE3D,MAAM,SAAS,GAAG,QAAQ,CAAA;AAE1B,MAAM,YAAY,GAAG,CAAC,GAAW,EAAU,EAAE,CAC3C,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAA;AAChE,MAAM,YAAY,GAAG,CAAC,GAAW,EAAU,EAAE,CAC3C,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAA;AAEzD,KAAK,UAAU,YAAY,CAAC,KAAgB;IAEjD,MAAM,OAAO,GAAG,2BAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACjD,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC9C,MAAM,OAAO,GAAG,iCAAM,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IACjE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;IACxD,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,iCAAM,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,CAAA;IACxE,MAAM,YAAY,GAAG,cAAQ,CAAC,EAAE,EAAE,iCAAM,CAAC,WAAW,EAAE,CAAC,CAAA;IACvD,OAAO,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AACpC,CAAC;AATD,oCASC;AAED,MAAM,OAAO,GAAsB;IACjC,SAAS;IACT,YAAY;CACb,CAAA;AAED,kBAAe,OAAO,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"eosio.d.ts","sourceRoot":"","sources":["../../src/blockchains/eosio.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,OAAO,MAAM,0CAA0C,CAAA;AAInE,wBAAsB,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAW9F;AAED,QAAA,MAAM,OAAO,EAAE,iBAGd,CAAA;AAED,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"eosio.d.ts","sourceRoot":"","sources":["../../src/blockchains/eosio.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,OAAO,MAAM,0CAA0C,CAAA;AAKnE,wBAAsB,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAW9F;AAED,QAAA,MAAM,OAAO,EAAE,iBAGd,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -20,13 +20,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
22
  exports.validateLink = void 0;
23
- const caip_1 = require("caip");
24
23
  const eosio_signing_tools_1 = require("@smontero/eosio-signing-tools");
25
24
  const linking = __importStar(require("@ceramicnetwork/blockchain-utils-linking"));
25
+ const common_1 = require("@ceramicnetwork/common");
26
26
  const namespace = 'eosio';
27
27
  async function validateLink(proof) {
28
28
  const { message, signature, account } = proof;
29
- const accountID = new caip_1.AccountID(account);
29
+ const accountID = common_1.normalizeAccountId(account);
30
30
  const { address, chainId } = accountID;
31
31
  const success = await eosio_signing_tools_1.SigningTools.verifySignature({
32
32
  chainId: chainId.reference,
@@ -1 +1 @@
1
- {"version":3,"file":"eosio.js","sourceRoot":"","sources":["../../src/blockchains/eosio.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAgC;AAChC,uEAA4D;AAE5D,kFAAmE;AAEnE,MAAM,SAAS,GAAG,OAAO,CAAA;AAElB,KAAK,UAAU,YAAY,CAAC,KAAwB;IACzD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;IAC7C,MAAM,SAAS,GAAG,IAAI,gBAAS,CAAC,OAAO,CAAC,CAAA;IACxC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,SAAS,CAAA;IACtC,MAAM,OAAO,GAAG,MAAM,kCAAY,CAAC,eAAe,CAAC;QACjD,OAAO,EAAE,OAAO,CAAC,SAAS;QAC1B,OAAO,EAAE,OAAO;QAChB,SAAS;QACT,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC;KAClD,CAAC,CAAA;IACF,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AAC/B,CAAC;AAXD,oCAWC;AAED,MAAM,OAAO,GAAsB;IACjC,SAAS;IACT,YAAY;CACb,CAAA;AAED,kBAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"eosio.js","sourceRoot":"","sources":["../../src/blockchains/eosio.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uEAA4D;AAE5D,kFAAmE;AACnE,mDAA2D;AAE3D,MAAM,SAAS,GAAG,OAAO,CAAA;AAElB,KAAK,UAAU,YAAY,CAAC,KAAwB;IACzD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;IAC7C,MAAM,SAAS,GAAG,2BAAkB,CAAC,OAAO,CAAC,CAAA;IAC7C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,SAAS,CAAA;IACtC,MAAM,OAAO,GAAG,MAAM,kCAAY,CAAC,eAAe,CAAC;QACjD,OAAO,EAAE,OAAO,CAAC,SAAS;QAC1B,OAAO,EAAE,OAAO;QAChB,SAAS;QACT,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC;KAClD,CAAC,CAAA;IACF,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AAC/B,CAAC;AAXD,oCAWC;AAED,MAAM,OAAO,GAAsB;IACjC,SAAS;IACT,YAAY;CACb,CAAA;AAED,kBAAe,OAAO,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ethereum.d.ts","sourceRoot":"","sources":["../../src/blockchains/ethereum.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAmEzD,QAAA,MAAM,OAAO,EAAE,iBAGd,CAAA;AAED,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"ethereum.d.ts","sourceRoot":"","sources":["../../src/blockchains/ethereum.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AA0EzD,QAAA,MAAM,OAAO,EAAE,iBAGd,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -24,6 +24,7 @@ const contracts_1 = require("@ethersproject/contracts");
24
24
  const providers = __importStar(require("@ethersproject/providers"));
25
25
  const caip_1 = require("caip");
26
26
  const uint8arrays = __importStar(require("uint8arrays"));
27
+ const common_1 = require("@ceramicnetwork/common");
27
28
  const ADDRESS_TYPES = {
28
29
  ethereumEOA: 'ethereum-eoa',
29
30
  erc1271: 'erc1271',
@@ -45,7 +46,7 @@ function getEthersProvider(chainId) {
45
46
  return network._defaultProvider(providers);
46
47
  }
47
48
  function toV2Proof(proof, address) {
48
- proof.account = new caip_1.AccountID({
49
+ proof.account = new caip_1.AccountId({
49
50
  address: (proof.version === 1 ? proof.address : address) || '',
50
51
  chainId: {
51
52
  namespace,
@@ -61,7 +62,7 @@ async function validateEoaLink(proof) {
61
62
  const recoveredAddr = wallet_1.verifyMessage(proof.message, proof.signature).toLowerCase();
62
63
  if (proof.version !== 2)
63
64
  proof = toV2Proof(proof, recoveredAddr);
64
- const account = new caip_1.AccountID(proof.account);
65
+ const account = new caip_1.AccountId(proof.account);
65
66
  if (account.address !== recoveredAddr) {
66
67
  return null;
67
68
  }
@@ -70,7 +71,7 @@ async function validateEoaLink(proof) {
70
71
  async function validateErc1271Link(proof) {
71
72
  if (proof.version === 1)
72
73
  proof = toV2Proof(proof);
73
- const account = new caip_1.AccountID(proof.account);
74
+ const account = new caip_1.AccountId(proof.account);
74
75
  const provider = getEthersProvider(account.chainId.reference);
75
76
  const contract = new contracts_1.Contract(account.address, ERC1271_ABI, provider);
76
77
  const message = utf8toHex(proof.message);
@@ -78,11 +79,15 @@ async function validateErc1271Link(proof) {
78
79
  return returnValue === MAGIC_ERC1271_VALUE ? proof : null;
79
80
  }
80
81
  async function validateLink(proof) {
81
- if (proof.type === ADDRESS_TYPES.erc1271) {
82
- return await validateErc1271Link(proof);
82
+ const proofCopy = { ...proof };
83
+ if (proofCopy.account) {
84
+ proofCopy.account = common_1.normalizeAccountId(proofCopy.account).toString();
85
+ }
86
+ if (proofCopy.type === ADDRESS_TYPES.erc1271) {
87
+ return await validateErc1271Link(proofCopy);
83
88
  }
84
89
  else {
85
- return await validateEoaLink(proof);
90
+ return await validateEoaLink(proofCopy);
86
91
  }
87
92
  }
88
93
  const handler = {
@@ -1 +1 @@
1
- {"version":3,"file":"ethereum.js","sourceRoot":"","sources":["../../src/blockchains/ethereum.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ethereum.js","sourceRoot":"","sources":["../../src/blockchains/ethereum.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"filecoin.d.ts","sourceRoot":"","sources":["../../src/blockchains/filecoin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAEzD,OAAO,KAAK,OAAO,MAAM,0CAA0C,CAAA;AAKnE,wBAAsB,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAU9F;AAED,QAAA,MAAM,OAAO,EAAE,iBAGd,CAAA;AAED,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"filecoin.d.ts","sourceRoot":"","sources":["../../src/blockchains/filecoin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,OAAO,MAAM,0CAA0C,CAAA;AAMnE,wBAAsB,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAW9F;AAED,QAAA,MAAM,OAAO,EAAE,iBAGd,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -20,12 +20,12 @@ var __importStar = (this && this.__importStar) || function (mod) {
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
22
  exports.validateLink = void 0;
23
- const caip_1 = require("caip");
24
23
  const linking = __importStar(require("@ceramicnetwork/blockchain-utils-linking"));
25
24
  const signingTools = __importStar(require("@zondax/filecoin-signing-tools"));
25
+ const common_1 = require("@ceramicnetwork/common");
26
26
  const namespace = 'fil';
27
27
  async function validateLink(proof) {
28
- const account = new caip_1.AccountID(proof.account);
28
+ const account = common_1.normalizeAccountId(proof.account);
29
29
  const payload = linking.filecoin.asTransaction(account.address, proof.message);
30
30
  const transaction = signingTools.transactionSerialize(payload);
31
31
  const recover = signingTools.verifySignature(proof.signature, transaction);
@@ -1 +1 @@
1
- {"version":3,"file":"filecoin.js","sourceRoot":"","sources":["../../src/blockchains/filecoin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,+BAAgC;AAChC,kFAAmE;AACnE,6EAA8D;AAE9D,MAAM,SAAS,GAAG,KAAK,CAAA;AAEhB,KAAK,UAAU,YAAY,CAAC,KAAwB;IACzD,MAAM,OAAO,GAAG,IAAI,gBAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAC9E,MAAM,WAAW,GAAG,YAAY,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;IAC9D,MAAM,OAAO,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IAC1E,IAAI,OAAO,EAAE;QACX,OAAO,KAAK,CAAA;KACb;SAAM;QACL,OAAO,IAAI,CAAA;KACZ;AACH,CAAC;AAVD,oCAUC;AAED,MAAM,OAAO,GAAsB;IACjC,SAAS;IACT,YAAY;CACb,CAAA;AAED,kBAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"filecoin.js","sourceRoot":"","sources":["../../src/blockchains/filecoin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,kFAAmE;AACnE,6EAA8D;AAC9D,mDAA2D;AAE3D,MAAM,SAAS,GAAG,KAAK,CAAA;AAEhB,KAAK,UAAU,YAAY,CAAC,KAAwB;IAEzD,MAAM,OAAO,GAAG,2BAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACjD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAC9E,MAAM,WAAW,GAAG,YAAY,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;IAC9D,MAAM,OAAO,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IAC1E,IAAI,OAAO,EAAE;QACX,OAAO,KAAK,CAAA;KACb;SAAM;QACL,OAAO,IAAI,CAAA;KACZ;AACH,CAAC;AAXD,oCAWC;AAED,MAAM,OAAO,GAAsB;IACjC,SAAS;IACT,YAAY;CACb,CAAA;AAED,kBAAe,OAAO,CAAA"}
@@ -26,7 +26,7 @@ exports.validateLink = void 0;
26
26
  const uint8arrays = __importStar(require("uint8arrays"));
27
27
  const crypto_1 = __importDefault(require("crypto"));
28
28
  const tweetnacl_1 = __importDefault(require("tweetnacl"));
29
- const caip_1 = require("caip");
29
+ const common_1 = require("@ceramicnetwork/common");
30
30
  const verifySignature = async (pubKey, message, signature) => {
31
31
  const hash = crypto_1.default.createHash('sha256').update(message).digest();
32
32
  const hashString = uint8arrays.toString(hash, 'base64');
@@ -35,7 +35,7 @@ const verifySignature = async (pubKey, message, signature) => {
35
35
  };
36
36
  const namespace = 'near';
37
37
  async function validateLink(proof) {
38
- const pubKey = uint8arrays.fromString(new caip_1.AccountID(proof.account).address, 'base58btc');
38
+ const pubKey = uint8arrays.fromString(common_1.normalizeAccountId(proof.account).address, 'base58btc');
39
39
  const msg = proof.message;
40
40
  const sig = uint8arrays.fromString(proof.signature, 'base64');
41
41
  const is_sig_valid = await verifySignature(pubKey, msg, sig);
@@ -1 +1 @@
1
- {"version":3,"file":"near.js","sourceRoot":"","sources":["../../src/blockchains/near.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yDAA0C;AAC1C,oDAA2B;AAC3B,0DAA4B;AAC5B,+BAAgC;AAEhC,MAAM,eAAe,GAAG,KAAK,EAC3B,MAAkB,EAClB,OAAe,EACf,SAAqB,EACH,EAAE;IACpB,MAAM,IAAI,GAAG,gBAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACjE,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACvD,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CACxC,WAAW,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,EAC5C,SAAS,EACT,MAAM,CACP,CAAA;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,SAAS,GAAG,MAAM,CAAA;AAEjB,KAAK,UAAU,YAAY,CAAC,KAAgB;IACjD,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,gBAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IACxF,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAA;IACzB,MAAM,GAAG,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC7D,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;IAC5D,OAAO,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AACpC,CAAC;AAND,oCAMC;AAED,MAAM,OAAO,GAAsB;IACjC,SAAS;IACT,YAAY;CACb,CAAA;AAED,kBAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"near.js","sourceRoot":"","sources":["../../src/blockchains/near.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yDAA0C;AAC1C,oDAA2B;AAC3B,0DAA4B;AAC5B,mDAA2D;AAE3D,MAAM,eAAe,GAAG,KAAK,EAC3B,MAAkB,EAClB,OAAe,EACf,SAAqB,EACH,EAAE;IACpB,MAAM,IAAI,GAAG,gBAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACjE,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACvD,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CACxC,WAAW,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,EAC5C,SAAS,EACT,MAAM,CACP,CAAA;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,SAAS,GAAG,MAAM,CAAA;AAEjB,KAAK,UAAU,YAAY,CAAC,KAAgB;IACjD,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,2BAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IAC7F,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAA;IACzB,MAAM,GAAG,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC7D,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;IAC5D,OAAO,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AACpC,CAAC;AAND,oCAMC;AAED,MAAM,OAAO,GAAsB;IACjC,SAAS;IACT,YAAY;CACb,CAAA;AAED,kBAAe,OAAO,CAAA"}
@@ -1,15 +1,31 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
4
20
  };
5
21
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const caip_1 = require("caip");
7
22
  const util_crypto_1 = require("@polkadot/util-crypto");
8
- const uint8arrays_1 = __importDefault(require("uint8arrays"));
23
+ const uint8arrays = __importStar(require("uint8arrays"));
24
+ const common_1 = require("@ceramicnetwork/common");
9
25
  const namespace = 'polkadot';
10
- const stringHex = (str) => `0x${uint8arrays_1.default.toString(uint8arrays_1.default.fromString(str), 'base16')}`;
26
+ const stringHex = (str) => `0x${uint8arrays.toString(uint8arrays.fromString(str), 'base16')}`;
11
27
  async function validateLink(proof) {
12
- const address = new caip_1.AccountID(proof.account).address;
28
+ const address = common_1.normalizeAccountId(proof.account).address;
13
29
  const message = stringHex(proof.message);
14
30
  const res = await util_crypto_1.signatureVerify(message, proof.signature, address);
15
31
  return res.isValid ? proof : null;
@@ -1 +1 @@
1
- {"version":3,"file":"polkadot.js","sourceRoot":"","sources":["../../src/blockchains/polkadot.ts"],"names":[],"mappings":";;;;;AACA,+BAAgC;AAChC,uDAAuD;AAEvD,8DAAsC;AAEtC,MAAM,SAAS,GAAG,UAAU,CAAA;AAE5B,MAAM,SAAS,GAAG,CAAC,GAAW,EAAU,EAAE,CACxC,KAAK,qBAAW,CAAC,QAAQ,CAAC,qBAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAA;AAEpE,KAAK,UAAU,YAAY,CAAC,KAAgB;IAC1C,MAAM,OAAO,GAAG,IAAI,gBAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAA;IACpD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACxC,MAAM,GAAG,GAAG,MAAM,6BAAe,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACpE,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AACnC,CAAC;AAED,MAAM,OAAO,GAAsB;IACjC,SAAS;IACT,YAAY;CACb,CAAA;AAED,kBAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"polkadot.js","sourceRoot":"","sources":["../../src/blockchains/polkadot.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA,uDAAuD;AAEvD,yDAA0C;AAC1C,mDAA2D;AAE3D,MAAM,SAAS,GAAG,UAAU,CAAA;AAE5B,MAAM,SAAS,GAAG,CAAC,GAAW,EAAU,EAAE,CACxC,KAAK,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAA;AAEpE,KAAK,UAAU,YAAY,CAAC,KAAgB;IAC1C,MAAM,OAAO,GAAG,2BAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAA;IACzD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACxC,MAAM,GAAG,GAAG,MAAM,6BAAe,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACpE,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AACnC,CAAC;AAED,MAAM,OAAO,GAAsB;IACjC,SAAS;IACT,YAAY;CACb,CAAA;AAED,kBAAe,OAAO,CAAA"}
@@ -29,7 +29,7 @@ const verifySignature = async (pubKey, message, signature) => {
29
29
  };
30
30
  const namespace = 'solana';
31
31
  async function validateLink(proof) {
32
- const pubKey = uint8arrays.fromString(new caip_1.AccountID(proof.account).address, "base58btc");
32
+ const pubKey = uint8arrays.fromString(new caip_1.AccountId(proof.account).address, "base58btc");
33
33
  const msg = proof.message;
34
34
  const sig = uint8arrays.fromString(proof.signature, 'base64');
35
35
  const is_sig_valid = await verifySignature(pubKey, msg, sig);
@@ -1 +1 @@
1
- {"version":3,"file":"tezos.d.ts","sourceRoot":"","sources":["../../src/blockchains/tezos.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,SAAS,EAAS,MAAM,0CAA0C,CAAA;AAI3E,eAAO,MAAM,uBAAuB,OAAyD,CAAA;AAC7F,eAAO,MAAM,8BAA8B,OAE1C,CAAA;AAuDD,wBAAsB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAoB9E;AAED,QAAA,MAAM,OAAO,EAAE,iBAGd,CAAA;AAED,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"tezos.d.ts","sourceRoot":"","sources":["../../src/blockchains/tezos.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,SAAS,EAAS,MAAM,0CAA0C,CAAA;AAK3E,eAAO,MAAM,uBAAuB,OAAyD,CAAA;AAC7F,eAAO,MAAM,8BAA8B,OAE1C,CAAA;AAuDD,wBAAsB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAoB9E;AAED,QAAA,MAAM,OAAO,EAAE,iBAGd,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -28,6 +28,7 @@ const remote_signer_1 = require("@taquito/remote-signer");
28
28
  const blockchain_utils_linking_1 = require("@ceramicnetwork/blockchain-utils-linking");
29
29
  const cross_fetch_1 = __importDefault(require("cross-fetch"));
30
30
  const uint8arrays = __importStar(require("uint8arrays"));
31
+ const common_1 = require("@ceramicnetwork/common");
31
32
  exports.ADDRESS_NOT_FOUND_ERROR = new Error(`Address not found on the Tezos blockchain`);
32
33
  exports.PUBLIC_KEY_NOT_PUBLISHED_ERROR = new Error(`Public key not published to the Tezos blockchain`);
33
34
  const { TEZOS_NAMESPACE, TEZOS_CHAIN_REF } = blockchain_utils_linking_1.tezos;
@@ -40,7 +41,7 @@ function encodeMessage(text) {
40
41
  return michelinePrefix + stringPrefix + len + text;
41
42
  }
42
43
  function publicKeyFinder(address) {
43
- const request = cross_fetch_1.default(`https://api.tzstats.com/explorer/account/${address}`).catch((e) => {
44
+ const request = cross_fetch_1.default(`https://api.tzstats.com/explorer/account/${address}`).catch(() => {
44
45
  throw exports.ADDRESS_NOT_FOUND_ERROR;
45
46
  });
46
47
  return async () => {
@@ -56,8 +57,8 @@ function publicKeyFinder(address) {
56
57
  };
57
58
  }
58
59
  async function validateLink(proof) {
59
- const account = caip_1.AccountID.parse(proof.account);
60
- const chainId = new caip_1.ChainID(account.chainId);
60
+ const account = common_1.normalizeAccountId(proof.account);
61
+ const chainId = new caip_1.ChainId(account.chainId);
61
62
  if (chainId.reference !== TEZOS_CHAIN_REF) {
62
63
  return null;
63
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tezos.js","sourceRoot":"","sources":["../../src/blockchains/tezos.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAyC;AACzC,0DAAqD;AAErD,uFAA2E;AAC3E,8DAA+B;AAC/B,yDAA0C;AAE7B,QAAA,uBAAuB,GAAG,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;AAChF,QAAA,8BAA8B,GAAG,IAAI,KAAK,CACrD,kDAAkD,CACnD,CAAA;AAID,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,gCAAK,CAAA;AAElD,MAAM,iBAAiB,GAAG,8BAA8B,CAAA;AAYxD,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,eAAe,GAAG,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,IAAI,CAAA;IACzB,MAAM,GAAG,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAE5D,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,CAAA;IACzE,OAAO,eAAe,GAAG,YAAY,GAAG,GAAG,GAAG,IAAI,CAAA;AACpD,CAAC;AAUD,SAAS,eAAe,CAAC,OAAe;IAEtC,MAAM,OAAO,GAAG,qBAAK,CAAC,4CAA4C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE;QAC5F,MAAM,+BAAuB,CAAA;IAC/B,CAAC,CAAC,CAAA;IACF,OAAO,KAAK,IAAqB,EAAE;QACjC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAA;QAC9B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,MAAM,MAAM,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAA;QAC3B,IAAI,MAAM,EAAE;YACV,OAAO,MAAM,CAAA;SACd;aAAM;YACL,MAAM,sCAA8B,CAAA;SACrC;IACH,CAAC,CAAA;AACH,CAAC;AAKM,KAAK,UAAU,YAAY,CAAC,KAAgB;IACjD,MAAM,OAAO,GAAG,gBAAS,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC9C,MAAM,OAAO,GAAG,IAAI,cAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAG5C,IAAI,OAAO,CAAC,SAAS,KAAK,eAAe,EAAE;QACzC,OAAO,IAAI,CAAA;KACZ;IACD,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAExC,MAAM,QAAQ,GAAG,IAAI,4BAAY,CAAC,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAA;IACrE,QAAQ,CAAC,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAErD,IAAI;QACF,MAAM,YAAY,GAAY,MAAM,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;QAEzE,OAAO,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;KACnC;IAAC,OAAO,OAAO,EAAE;QAChB,OAAO,IAAI,CAAA;KACZ;AACH,CAAC;AApBD,oCAoBC;AAED,MAAM,OAAO,GAAsB;IACjC,SAAS,EAAE,eAAe;IAC1B,YAAY;CACb,CAAA;AAED,kBAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"tezos.js","sourceRoot":"","sources":["../../src/blockchains/tezos.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA8B;AAC9B,0DAAqD;AAErD,uFAA2E;AAC3E,8DAA+B;AAC/B,yDAA0C;AAC1C,mDAA2D;AAE9C,QAAA,uBAAuB,GAAG,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;AAChF,QAAA,8BAA8B,GAAG,IAAI,KAAK,CACrD,kDAAkD,CACnD,CAAA;AAID,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,gCAAK,CAAA;AAElD,MAAM,iBAAiB,GAAG,8BAA8B,CAAA;AAYxD,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,eAAe,GAAG,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,IAAI,CAAA;IACzB,MAAM,GAAG,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAE5D,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,CAAA;IACzE,OAAO,eAAe,GAAG,YAAY,GAAG,GAAG,GAAG,IAAI,CAAA;AACpD,CAAC;AAUD,SAAS,eAAe,CAAC,OAAe;IAEtC,MAAM,OAAO,GAAG,qBAAK,CAAC,4CAA4C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QACtF,MAAM,+BAAuB,CAAA;IAC/B,CAAC,CAAC,CAAA;IACF,OAAO,KAAK,IAAqB,EAAE;QACjC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAA;QAC9B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,MAAM,MAAM,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAA;QAC3B,IAAI,MAAM,EAAE;YACV,OAAO,MAAM,CAAA;SACd;aAAM;YACL,MAAM,sCAA8B,CAAA;SACrC;IACH,CAAC,CAAA;AACH,CAAC;AAKM,KAAK,UAAU,YAAY,CAAC,KAAgB;IACjD,MAAM,OAAO,GAAG,2BAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACjD,MAAM,OAAO,GAAG,IAAI,cAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAG5C,IAAI,OAAO,CAAC,SAAS,KAAK,eAAe,EAAE;QACzC,OAAO,IAAI,CAAA;KACZ;IACD,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAExC,MAAM,QAAQ,GAAG,IAAI,4BAAY,CAAC,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAA;IACrE,QAAQ,CAAC,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAErD,IAAI;QACF,MAAM,YAAY,GAAY,MAAM,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;QAEzE,OAAO,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;KACnC;IAAC,OAAO,OAAO,EAAE;QAChB,OAAO,IAAI,CAAA;KACZ;AACH,CAAC;AApBD,oCAoBC;AAED,MAAM,OAAO,GAAsB;IACjC,SAAS,EAAE,eAAe;IAC1B,YAAY;CACb,CAAA;AAED,kBAAe,OAAO,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAA;AAsBpE,wBAAsB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAe9E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAA;AAuBpE,wBAAsB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAsB9E"}
package/lib/index.js CHANGED
@@ -12,6 +12,7 @@ const cosmos_1 = __importDefault(require("./blockchains/cosmos"));
12
12
  const near_1 = __importDefault(require("./blockchains/near"));
13
13
  const tezos_1 = __importDefault(require("./blockchains/tezos"));
14
14
  const caip_1 = require("caip");
15
+ const common_1 = require("@ceramicnetwork/common");
15
16
  const handlers = {
16
17
  [ethereum_1.default.namespace]: ethereum_1.default,
17
18
  [filecoin_1.default.namespace]: filecoin_1.default,
@@ -24,13 +25,15 @@ const handlers = {
24
25
  const findDID = (did) => { var _a; return (_a = did.match(/(did:\S+:\S+)/)) === null || _a === void 0 ? void 0 : _a[0]; };
25
26
  async function validateLink(proof) {
26
27
  let namespace = ethereum_1.default.namespace;
27
- if (proof.version >= 2) {
28
- namespace = new caip_1.AccountID(proof.account).chainId.namespace;
28
+ const proofCopy = { ...proof };
29
+ proofCopy.account = common_1.normalizeAccountId(proofCopy.account).toString();
30
+ if (proofCopy.version >= 2) {
31
+ namespace = new caip_1.AccountId(proofCopy.account).chainId.namespace;
29
32
  }
30
33
  const handler = handlers[namespace];
31
34
  if (!handler)
32
35
  throw new Error(`proof with namespace '${namespace}' not supported`);
33
- const validProof = await handler.validateLink(proof);
36
+ const validProof = await handler.validateLink(proofCopy);
34
37
  if (validProof) {
35
38
  validProof.did = findDID(validProof.message);
36
39
  return validProof;
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AACA,sEAA6C;AAC7C,sEAA6C;AAC7C,sEAA6C;AAC7C,gEAAuC;AACvC,kEAAyC;AACzC,8DAAqC;AACrC,gEAAuC;AACvC,+BAAgC;AAEhC,MAAM,QAAQ,GAAG;IACf,CAAC,kBAAQ,CAAC,SAAS,CAAC,EAAE,kBAAQ;IAC9B,CAAC,kBAAQ,CAAC,SAAS,CAAC,EAAE,kBAAQ;IAC9B,CAAC,kBAAQ,CAAC,SAAS,CAAC,EAAE,kBAAQ;IAC9B,CAAC,eAAK,CAAC,SAAS,CAAC,EAAE,eAAK;IACxB,CAAC,gBAAM,CAAC,SAAS,CAAC,EAAE,gBAAM;IAC1B,CAAC,cAAI,CAAC,SAAS,CAAC,EAAE,cAAI;IACtB,CAAC,eAAK,CAAC,SAAS,CAAC,EAAE,eAAK;CACzB,CAAA;AAED,MAAM,OAAO,GAAG,CAAC,GAAW,EAAsB,EAAE,WAAC,OAAA,MAAA,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,0CAAG,CAAC,CAAC,CAAA,EAAA,CAAA;AAE7E,KAAK,UAAU,YAAY,CAAC,KAAgB;IAEjD,IAAI,SAAS,GAAG,kBAAQ,CAAC,SAAS,CAAA;IAClC,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,EAAE;QACtB,SAAS,GAAG,IAAI,gBAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAA;KAC3D;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;IACnC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,SAAS,iBAAiB,CAAC,CAAA;IAClF,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IACpD,IAAI,UAAU,EAAE;QACd,UAAU,CAAC,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAC5C,OAAO,UAAU,CAAA;KAClB;SAAM;QACL,OAAO,IAAI,CAAA;KACZ;AACH,CAAC;AAfD,oCAeC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AACA,sEAA6C;AAC7C,sEAA6C;AAC7C,sEAA6C;AAC7C,gEAAuC;AACvC,kEAAyC;AACzC,8DAAqC;AACrC,gEAAuC;AACvC,+BAAgC;AAChC,mDAA2D;AAE3D,MAAM,QAAQ,GAAG;IACf,CAAC,kBAAQ,CAAC,SAAS,CAAC,EAAE,kBAAQ;IAC9B,CAAC,kBAAQ,CAAC,SAAS,CAAC,EAAE,kBAAQ;IAC9B,CAAC,kBAAQ,CAAC,SAAS,CAAC,EAAE,kBAAQ;IAC9B,CAAC,eAAK,CAAC,SAAS,CAAC,EAAE,eAAK;IACxB,CAAC,gBAAM,CAAC,SAAS,CAAC,EAAE,gBAAM;IAC1B,CAAC,cAAI,CAAC,SAAS,CAAC,EAAE,cAAI;IACtB,CAAC,eAAK,CAAC,SAAS,CAAC,EAAE,eAAK;CACzB,CAAA;AAED,MAAM,OAAO,GAAG,CAAC,GAAW,EAAsB,EAAE,WAAC,OAAA,MAAA,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,0CAAG,CAAC,CAAC,CAAA,EAAA,CAAA;AAE7E,KAAK,UAAU,YAAY,CAAC,KAAgB;IAEjD,IAAI,SAAS,GAAG,kBAAQ,CAAC,SAAS,CAAA;IAElC,MAAM,SAAS,GAAG,EAAE,GAAG,KAAK,EAAE,CAAA;IAG9B,SAAS,CAAC,OAAO,GAAG,2BAAkB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAA;IAEpE,IAAI,SAAS,CAAC,OAAO,IAAI,CAAC,EAAE;QAC1B,SAAS,GAAG,IAAI,gBAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAA;KAC/D;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;IACnC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,SAAS,iBAAiB,CAAC,CAAA;IAClF,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IACxD,IAAI,UAAU,EAAE;QACd,UAAU,CAAC,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAC5C,OAAO,UAAU,CAAA;KAClB;SAAM;QACL,OAAO,IAAI,CAAA;KACZ;AACH,CAAC;AAtBD,oCAsBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ceramicnetwork/blockchain-utils-validation",
3
- "version": "1.6.2",
3
+ "version": "2.0.0-alpha.0",
4
4
  "description": "Blockchain utils for validation of linked blockchain accounts",
5
5
  "keywords": [
6
6
  "ceramic",
@@ -24,24 +24,24 @@
24
24
  "clean": "rm -rf ./lib"
25
25
  },
26
26
  "dependencies": {
27
- "@ceramicnetwork/blockchain-utils-linking": "^1.5.1",
28
- "@ceramicnetwork/common": "^1.9.0",
29
- "@ethersproject/contracts": "^5.4.1",
30
- "@ethersproject/providers": "^5.4.5",
31
- "@ethersproject/wallet": "^5.4.0",
27
+ "@ceramicnetwork/blockchain-utils-linking": "^2.0.0-alpha.0",
28
+ "@ceramicnetwork/common": "^2.0.0-alpha.0",
29
+ "@ethersproject/contracts": "^5.5.0",
30
+ "@ethersproject/providers": "^5.5.0",
31
+ "@ethersproject/wallet": "^5.5.0",
32
32
  "@polkadot/util-crypto": "^7.0.2",
33
33
  "@smontero/eosio-signing-tools": "^0.0.6",
34
34
  "@stablelib/ed25519": "^1.0.2",
35
35
  "@taquito/remote-signer": "^9.2.0-stablelib.0",
36
36
  "@tendermint/sig": "^0.6.0",
37
- "@zondax/filecoin-signing-tools": "^0.15.0",
38
- "caip": "~0.9.2",
37
+ "@zondax/filecoin-signing-tools": "^0.18.1",
38
+ "caip": "~1.0.0",
39
39
  "cross-fetch": "^3.1.4",
40
- "uint8arrays": "^2.0.5"
40
+ "uint8arrays": "^3.0.0"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@glif/filecoin-address": "1.1.0",
44
- "@glif/local-managed-provider": "1.1.0",
44
+ "@glif/local-managed-provider": "1.1.1",
45
45
  "@polkadot/api": "^4.6.2",
46
46
  "@polkadot/keyring": "^6.2.1",
47
47
  "@polkadot/types": "^4.6.2",
@@ -49,10 +49,10 @@
49
49
  "@polkadot/util-crypto": "^7.0.2",
50
50
  "@smontero/eosio-local-provider": "^0.0.3",
51
51
  "@solana/wallet-adapter-base": "^0.6.0",
52
- "@taquito/signer": "^9.2.0",
53
- "eth-sig-util": "^3.0.0",
52
+ "@taquito/signer": "^11.0.1",
53
+ "eth-sig-util": "^3.0.1",
54
54
  "ganache-core": "^2.13.1",
55
- "near-api-js": "^0.42.0"
55
+ "near-api-js": "^0.43.1"
56
56
  },
57
- "gitHead": "418c13e7a170e5d812757898c7d7b621c8042cdc"
57
+ "gitHead": "f432b554a4b134db45f24b2555bfda176feac505"
58
58
  }