@nucypher/taco 0.2.7 → 0.4.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.
Files changed (93) hide show
  1. package/dist/cjs/conditions/base/contract.d.ts +1 -1
  2. package/dist/cjs/conditions/base/contract.js +6 -6
  3. package/dist/cjs/conditions/base/contract.js.map +1 -1
  4. package/dist/cjs/conditions/base/rpc.d.ts +1 -1
  5. package/dist/cjs/conditions/compound-condition.js.map +1 -1
  6. package/dist/cjs/conditions/condition-expr.d.ts +5 -6
  7. package/dist/cjs/conditions/condition-expr.js +4 -7
  8. package/dist/cjs/conditions/condition-expr.js.map +1 -1
  9. package/dist/cjs/conditions/condition-factory.js.map +1 -1
  10. package/dist/cjs/conditions/condition.d.ts +3 -2
  11. package/dist/cjs/conditions/condition.js +12 -2
  12. package/dist/cjs/conditions/condition.js.map +1 -1
  13. package/dist/cjs/conditions/const.d.ts +2 -2
  14. package/dist/cjs/conditions/const.js +12 -4
  15. package/dist/cjs/conditions/const.js.map +1 -1
  16. package/dist/cjs/conditions/context/context.d.ts +20 -18
  17. package/dist/cjs/conditions/context/context.js +85 -54
  18. package/dist/cjs/conditions/context/context.js.map +1 -1
  19. package/dist/cjs/conditions/predefined/erc20.js +2 -2
  20. package/dist/cjs/conditions/predefined/erc20.js.map +1 -1
  21. package/dist/cjs/conditions/predefined/erc721.js +3 -3
  22. package/dist/cjs/conditions/predefined/erc721.js.map +1 -1
  23. package/dist/cjs/conditions/shared.d.ts +1 -1
  24. package/dist/cjs/conditions/shared.js +7 -3
  25. package/dist/cjs/conditions/shared.js.map +1 -1
  26. package/dist/cjs/conditions/zod.js.map +1 -1
  27. package/dist/cjs/dkg.js.map +1 -1
  28. package/dist/cjs/index.d.ts +1 -0
  29. package/dist/cjs/index.js +6 -2
  30. package/dist/cjs/index.js.map +1 -1
  31. package/dist/cjs/taco.d.ts +3 -2
  32. package/dist/cjs/taco.js +10 -4
  33. package/dist/cjs/taco.js.map +1 -1
  34. package/dist/cjs/tdec.d.ts +2 -1
  35. package/dist/cjs/tdec.js +9 -8
  36. package/dist/cjs/tdec.js.map +1 -1
  37. package/dist/cjs/types.d.ts +1 -0
  38. package/dist/cjs/types.js +8 -0
  39. package/dist/cjs/types.js.map +1 -0
  40. package/dist/es/conditions/base/contract.d.ts +1 -1
  41. package/dist/es/conditions/base/contract.js +3 -3
  42. package/dist/es/conditions/base/contract.js.map +1 -1
  43. package/dist/es/conditions/base/rpc.d.ts +1 -1
  44. package/dist/es/conditions/compound-condition.js.map +1 -1
  45. package/dist/es/conditions/condition-expr.d.ts +5 -6
  46. package/dist/es/conditions/condition-expr.js +6 -9
  47. package/dist/es/conditions/condition-expr.js.map +1 -1
  48. package/dist/es/conditions/condition-factory.js.map +1 -1
  49. package/dist/es/conditions/condition.d.ts +3 -2
  50. package/dist/es/conditions/condition.js +13 -3
  51. package/dist/es/conditions/condition.js.map +1 -1
  52. package/dist/es/conditions/const.d.ts +2 -2
  53. package/dist/es/conditions/const.js +11 -3
  54. package/dist/es/conditions/const.js.map +1 -1
  55. package/dist/es/conditions/context/context.d.ts +20 -18
  56. package/dist/es/conditions/context/context.js +87 -56
  57. package/dist/es/conditions/context/context.js.map +1 -1
  58. package/dist/es/conditions/predefined/erc20.js +2 -2
  59. package/dist/es/conditions/predefined/erc20.js.map +1 -1
  60. package/dist/es/conditions/predefined/erc721.js +3 -3
  61. package/dist/es/conditions/predefined/erc721.js.map +1 -1
  62. package/dist/es/conditions/shared.d.ts +1 -1
  63. package/dist/es/conditions/shared.js +9 -3
  64. package/dist/es/conditions/shared.js.map +1 -1
  65. package/dist/es/conditions/zod.js.map +1 -1
  66. package/dist/es/dkg.js.map +1 -1
  67. package/dist/es/index.d.ts +1 -0
  68. package/dist/es/index.js +3 -1
  69. package/dist/es/index.js.map +1 -1
  70. package/dist/es/taco.d.ts +3 -2
  71. package/dist/es/taco.js +10 -4
  72. package/dist/es/taco.js.map +1 -1
  73. package/dist/es/tdec.d.ts +2 -1
  74. package/dist/es/tdec.js +9 -8
  75. package/dist/es/tdec.js.map +1 -1
  76. package/dist/es/types.d.ts +1 -0
  77. package/dist/es/types.js +3 -0
  78. package/dist/es/types.js.map +1 -0
  79. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  80. package/dist/tsconfig.es.tsbuildinfo +1 -1
  81. package/package.json +5 -5
  82. package/dist/cjs/conditions/context/providers.d.ts +0 -16
  83. package/dist/cjs/conditions/context/providers.js +0 -109
  84. package/dist/cjs/conditions/context/providers.js.map +0 -1
  85. package/dist/cjs/web3.d.ts +0 -33
  86. package/dist/cjs/web3.js +0 -3
  87. package/dist/cjs/web3.js.map +0 -1
  88. package/dist/es/conditions/context/providers.d.ts +0 -16
  89. package/dist/es/conditions/context/providers.js +0 -105
  90. package/dist/es/conditions/context/providers.js.map +0 -1
  91. package/dist/es/web3.d.ts +0 -33
  92. package/dist/es/web3.js +0 -2
  93. package/dist/es/web3.js.map +0 -1
@@ -1,105 +0,0 @@
1
- import { utils as ethersUtils } from 'ethers/lib/ethers';
2
- export class WalletAuthenticationProvider {
3
- provider;
4
- signer;
5
- walletSignature;
6
- constructor(provider, signer) {
7
- this.provider = provider;
8
- this.signer = signer;
9
- }
10
- async getOrCreateWalletSignature() {
11
- const address = await this.signer.getAddress();
12
- const storageKey = `wallet-signature-${address}`;
13
- // If we have a signature in localStorage, return it
14
- const isLocalStorage = typeof localStorage !== 'undefined';
15
- if (isLocalStorage) {
16
- const maybeSignature = localStorage.getItem(storageKey);
17
- if (maybeSignature) {
18
- return JSON.parse(maybeSignature);
19
- }
20
- }
21
- // If not, try returning from memory
22
- const maybeSignature = this.walletSignature?.[address];
23
- if (maybeSignature) {
24
- if (isLocalStorage) {
25
- localStorage.setItem(storageKey, maybeSignature);
26
- }
27
- return JSON.parse(maybeSignature);
28
- }
29
- // If at this point we didn't return, we need to create a new signature
30
- const typedSignature = await this.createWalletSignature();
31
- // Persist where you can
32
- if (isLocalStorage) {
33
- localStorage.setItem(storageKey, JSON.stringify(typedSignature));
34
- }
35
- if (!this.walletSignature) {
36
- this.walletSignature = {};
37
- }
38
- this.walletSignature[address] = JSON.stringify(typedSignature);
39
- return typedSignature;
40
- }
41
- async createWalletSignature() {
42
- // Ensure freshness of the signature
43
- const { blockNumber, blockHash, chainId } = await this.getChainData();
44
- const address = await this.signer.getAddress();
45
- const signatureText = `I'm the owner of address ${address} as of block number ${blockNumber}`;
46
- const salt = ethersUtils.hexlify(ethersUtils.randomBytes(32));
47
- const typedData = {
48
- types: {
49
- Wallet: [
50
- { name: 'address', type: 'address' },
51
- { name: 'signatureText', type: 'string' },
52
- { name: 'blockNumber', type: 'uint256' },
53
- { name: 'blockHash', type: 'bytes32' },
54
- ],
55
- },
56
- domain: {
57
- name: 'taco',
58
- version: '1',
59
- chainId,
60
- salt,
61
- },
62
- message: {
63
- address,
64
- signatureText,
65
- blockNumber,
66
- blockHash,
67
- },
68
- };
69
- // https://github.com/ethers-io/ethers.js/issues/1431#issuecomment-813950552
70
- const signature = await this.signer._signTypedData(typedData.domain, typedData.types, typedData.message);
71
- const formattedTypedData = {
72
- ...typedData,
73
- primaryType: 'Wallet',
74
- types: {
75
- ...typedData.types,
76
- EIP712Domain: [
77
- {
78
- name: 'name',
79
- type: 'string',
80
- },
81
- {
82
- name: 'version',
83
- type: 'string',
84
- },
85
- {
86
- name: 'chainId',
87
- type: 'uint256',
88
- },
89
- {
90
- name: 'salt',
91
- type: 'bytes32',
92
- },
93
- ],
94
- },
95
- };
96
- return { signature, typedData: formattedTypedData, address };
97
- }
98
- async getChainData() {
99
- const blockNumber = await this.provider.getBlockNumber();
100
- const blockHash = (await this.provider.getBlock(blockNumber)).hash;
101
- const chainId = (await this.provider.getNetwork()).chainId;
102
- return { blockNumber, blockHash, chainId };
103
- }
104
- }
105
- //# sourceMappingURL=providers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../../src/conditions/context/providers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAgBzD,MAAM,OAAO,4BAA4B;IAIpB;IACA;IAJX,eAAe,CAA0B;IAEjD,YACmB,QAAmC,EACnC,MAAqB;QADrB,aAAQ,GAAR,QAAQ,CAA2B;QACnC,WAAM,GAAN,MAAM,CAAe;IACrC,CAAC;IAEG,KAAK,CAAC,0BAA0B;QACrC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAC/C,MAAM,UAAU,GAAG,oBAAoB,OAAO,EAAE,CAAC;QAEjD,oDAAoD;QACpD,MAAM,cAAc,GAAG,OAAO,YAAY,KAAK,WAAW,CAAC;QAC3D,IAAI,cAAc,EAAE;YAClB,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACxD,IAAI,cAAc,EAAE;gBAClB,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;aACnC;SACF;QAED,oCAAoC;QACpC,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,cAAc,EAAE;YAClB,IAAI,cAAc,EAAE;gBAClB,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;aAClD;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;SACnC;QAED,uEAAuE;QACvE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE1D,wBAAwB;QACxB,IAAI,cAAc,EAAE;YAClB,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;SAClE;QACD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;SAC3B;QACD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAC/D,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,KAAK,CAAC,qBAAqB;QACjC,oCAAoC;QACpC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACtE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAC/C,MAAM,aAAa,GAAG,4BAA4B,OAAO,uBAAuB,WAAW,EAAE,CAAC;QAC9F,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;QAE9D,MAAM,SAAS,GAAoB;YACjC,KAAK,EAAE;gBACL,MAAM,EAAE;oBACN,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBACpC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;oBACxC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;iBACvC;aACF;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,GAAG;gBACZ,OAAO;gBACP,IAAI;aACL;YACD,OAAO,EAAE;gBACP,OAAO;gBACP,aAAa;gBACb,WAAW;gBACX,SAAS;aACV;SACF,CAAC;QACF,4EAA4E;QAC5E,MAAM,SAAS,GAAG,MAChB,IAAI,CAAC,MACN,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QAEvE,MAAM,kBAAkB,GAAuB;YAC7C,GAAG,SAAS;YACZ,WAAW,EAAE,QAAQ;YACrB,KAAK,EAAE;gBACL,GAAG,SAAS,CAAC,KAAK;gBAClB,YAAY,EAAE;oBACZ;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ;qBACf;oBACD;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,QAAQ;qBACf;oBACD;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,SAAS;qBAChB;iBACF;aACF;SACF,CAAC;QACF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC;IAC/D,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QACzD,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QACnE,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC;QAC3D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;IAC7C,CAAC;CACF"}
package/dist/es/web3.d.ts DELETED
@@ -1,33 +0,0 @@
1
- export interface Eip712TypedData {
2
- types: {
3
- Wallet: {
4
- name: string;
5
- type: string;
6
- }[];
7
- };
8
- domain: {
9
- salt: string;
10
- chainId: number;
11
- name: string;
12
- version: string;
13
- };
14
- message: {
15
- blockHash: string;
16
- address: string;
17
- blockNumber: number;
18
- signatureText: string;
19
- };
20
- }
21
- export interface FormattedTypedData extends Eip712TypedData {
22
- primaryType: 'Wallet';
23
- types: {
24
- EIP712Domain: {
25
- name: string;
26
- type: string;
27
- }[];
28
- Wallet: {
29
- name: string;
30
- type: string;
31
- }[];
32
- };
33
- }
package/dist/es/web3.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=web3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"web3.js","sourceRoot":"","sources":["../../src/web3.ts"],"names":[],"mappings":""}