@towns-protocol/web3 0.0.335 → 0.0.337

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.
@@ -8,6 +8,7 @@ export interface BaseChainConfig {
8
8
  riverAirdrop: Address | undefined;
9
9
  swapRouter: Address | undefined;
10
10
  appRegistry: Address;
11
+ subscriptionModule: Address | undefined;
11
12
  utils: {
12
13
  mockNFT: Address | undefined;
13
14
  member: Address | undefined;
@@ -26,5 +27,12 @@ export interface Web3Deployment {
26
27
  river: RiverChainConfig;
27
28
  }
28
29
  export declare function getWeb3Deployment(riverEnv: string): Web3Deployment;
30
+ /**
31
+ * If RIVER_ENV is defined, it will be included in the list of environment ids.
32
+ * If RIVER_ENV is not defined, it will return the list of environment ids from the json file.
33
+ * @returns Environment ids
34
+ */
29
35
  export declare function getWeb3Deployments(): string[];
36
+ export declare function getRiverEnv(): string | undefined;
37
+ export declare function getRiverEnvDeployment(): Web3Deployment;
30
38
  //# sourceMappingURL=IStaticContractsInfo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IStaticContractsInfo.d.ts","sourceRoot":"","sources":["../../src/utils/IStaticContractsInfo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAEhD,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE;QACP,YAAY,EAAE,OAAO,CAAA;QACrB,UAAU,EAAE,OAAO,CAAA;QACnB,YAAY,EAAE,OAAO,CAAA;QACrB,YAAY,EAAE,OAAO,GAAG,SAAS,CAAA;QACjC,UAAU,EAAE,OAAO,GAAG,SAAS,CAAA;QAC/B,WAAW,EAAE,OAAO,CAAA;QACpB,KAAK,EAAE;YACH,OAAO,EAAE,OAAO,GAAG,SAAS,CAAA;YAC5B,MAAM,EAAE,OAAO,GAAG,SAAS,CAAA;YAC3B,KAAK,EAAE,OAAO,GAAG,SAAS,CAAA;SAC7B,CAAA;KACJ,CAAA;CACJ;AAED,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE;QACP,aAAa,EAAE,OAAO,CAAA;KACzB,CAAA;CACJ;AAED,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,eAAe,CAAA;IACrB,KAAK,EAAE,gBAAgB,CAAA;CAC1B;AACD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAWlE;AAED,wBAAgB,kBAAkB,aAEjC"}
1
+ {"version":3,"file":"IStaticContractsInfo.d.ts","sourceRoot":"","sources":["../../src/utils/IStaticContractsInfo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAKhD,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE;QACP,YAAY,EAAE,OAAO,CAAA;QACrB,UAAU,EAAE,OAAO,CAAA;QACnB,YAAY,EAAE,OAAO,CAAA;QACrB,YAAY,EAAE,OAAO,GAAG,SAAS,CAAA;QACjC,UAAU,EAAE,OAAO,GAAG,SAAS,CAAA;QAC/B,WAAW,EAAE,OAAO,CAAA;QACpB,kBAAkB,EAAE,OAAO,GAAG,SAAS,CAAA;QACvC,KAAK,EAAE;YACH,OAAO,EAAE,OAAO,GAAG,SAAS,CAAA;YAC5B,MAAM,EAAE,OAAO,GAAG,SAAS,CAAA;YAC3B,KAAK,EAAE,OAAO,GAAG,SAAS,CAAA;SAC7B,CAAA;KACJ,CAAA;CACJ;AAED,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE;QACP,aAAa,EAAE,OAAO,CAAA;KACzB,CAAA;CACJ;AAED,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,eAAe,CAAA;IACrB,KAAK,EAAE,gBAAgB,CAAA;CAC1B;AACD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAOlE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,aAMjC;AAED,wBAAgB,WAAW,uBAE1B;AAED,wBAAgB,qBAAqB,mBAKpC"}
@@ -1,13 +1,147 @@
1
1
  import DeploymentsJson from '@towns-protocol/generated/config/deployments.json' with { type: 'json' };
2
+ import { check, safeEnv } from '@towns-protocol/dlog';
3
+ const RIVER_ENV = safeEnv(['RIVER_ENV']);
2
4
  export function getWeb3Deployment(riverEnv) {
3
5
  // Cast to unknown first to avoid TypeScript error about property compatibility
4
6
  const deployments = DeploymentsJson;
5
- if (!deployments[riverEnv]) {
6
- throw new Error(`Deployment ${riverEnv} not found, available environments: ${Object.keys(DeploymentsJson).join(', ')}`);
7
+ if (deployments[riverEnv]) {
8
+ return deployments[riverEnv];
7
9
  }
8
- return deployments[riverEnv];
10
+ return makeWeb3Deployment(riverEnv);
9
11
  }
12
+ /**
13
+ * If RIVER_ENV is defined, it will be included in the list of environment ids.
14
+ * If RIVER_ENV is not defined, it will return the list of environment ids from the json file.
15
+ * @returns Environment ids
16
+ */
10
17
  export function getWeb3Deployments() {
11
- return Object.keys(DeploymentsJson);
18
+ const keys = Object.keys(DeploymentsJson);
19
+ if (RIVER_ENV && !keys.includes(RIVER_ENV)) {
20
+ return [RIVER_ENV, ...keys];
21
+ }
22
+ return keys;
23
+ }
24
+ export function getRiverEnv() {
25
+ return RIVER_ENV;
26
+ }
27
+ export function getRiverEnvDeployment() {
28
+ if (!RIVER_ENV) {
29
+ throw new Error('RIVER_ENV is not defined');
30
+ }
31
+ return getWeb3Deployment(RIVER_ENV);
32
+ }
33
+ function optionalEnv({ environmentId, keys, }) {
34
+ if (environmentId === RIVER_ENV) {
35
+ const value = safeEnv(keys);
36
+ if (value) {
37
+ return value;
38
+ }
39
+ }
40
+ return undefined;
41
+ }
42
+ function requiredEnv({ environmentId, keys }) {
43
+ check(keys.length > 0, 'keys must be an array of at least one key');
44
+ const value = optionalEnv({ environmentId, keys });
45
+ if (!value) {
46
+ throw new Error(`One of ${keys.join(', ')}, ${keys.map((key) => `VITE_${key}`).join(', ')} is required to be set in process.env`);
47
+ }
48
+ return value;
49
+ }
50
+ function makeWeb3Deployment(environmentId) {
51
+ // check for environment variable overrides, if not use the deployment from the json file
52
+ return {
53
+ base: {
54
+ chainId: parseInt(requiredEnv({
55
+ environmentId,
56
+ keys: ['BASE_CHAIN_ID'],
57
+ })),
58
+ addresses: {
59
+ baseRegistry: requiredEnv({
60
+ environmentId,
61
+ keys: [
62
+ 'BASE_ADDRESSES_APP_REGISTRY',
63
+ 'BASE_REGISTRY_ADDRESS', // deprecated
64
+ ],
65
+ }),
66
+ spaceFactory: requiredEnv({
67
+ environmentId,
68
+ keys: [
69
+ 'BASE_ADDRESSES_SPACE_FACTORY',
70
+ 'SPACE_FACTORY_ADDRESS', // deprecated
71
+ ],
72
+ }),
73
+ spaceOwner: requiredEnv({
74
+ environmentId,
75
+ keys: [
76
+ 'BASE_ADDRESSES_SPACE_OWNER',
77
+ 'SPACE_OWNER_ADDRESS', // deprecated
78
+ ],
79
+ }),
80
+ riverAirdrop: requiredEnv({
81
+ environmentId,
82
+ keys: [
83
+ 'BASE_ADDRESSES_RIVER_AIRDROP',
84
+ 'RIVER_AIRDROP_ADDRESS', // deprecated
85
+ ],
86
+ }),
87
+ swapRouter: optionalEnv({
88
+ environmentId,
89
+ keys: [
90
+ 'BASE_ADDRESSES_SWAP_ROUTER',
91
+ 'SWAP_ROUTER_ADDRESS', // deprecated
92
+ ],
93
+ }),
94
+ appRegistry: requiredEnv({
95
+ environmentId,
96
+ keys: [
97
+ 'BASE_ADDRESSES_APP_REGISTRY',
98
+ 'APP_REGISTRY_ADDRESS', // deprecated
99
+ ],
100
+ }),
101
+ subscriptionModule: requiredEnv({
102
+ environmentId,
103
+ keys: ['BASE_ADDRESSES_SUBSCRIPTION_MODULE'],
104
+ }),
105
+ utils: {
106
+ mockNFT: optionalEnv({
107
+ environmentId,
108
+ keys: [
109
+ 'BASE_ADDRESSES_MOCK_NFT',
110
+ 'MOCK_NFT_ADDRESS', // deprecated
111
+ ],
112
+ }),
113
+ member: optionalEnv({
114
+ environmentId,
115
+ keys: [
116
+ 'BASE_ADDRESSES_MEMBER',
117
+ 'MEMBER_ADDRESS', // deprecated
118
+ ],
119
+ }),
120
+ towns: optionalEnv({
121
+ environmentId,
122
+ keys: [
123
+ 'BASE_ADDRESSES_TOWNS',
124
+ 'TOWNS_ADDRESS', // deprecated
125
+ ],
126
+ }),
127
+ },
128
+ },
129
+ },
130
+ river: {
131
+ chainId: parseInt(requiredEnv({
132
+ environmentId,
133
+ keys: ['RIVER_CHAIN_ID'],
134
+ })),
135
+ addresses: {
136
+ riverRegistry: requiredEnv({
137
+ environmentId,
138
+ keys: [
139
+ 'RIVER_ADDRESSES_RIVER_REGISTRY',
140
+ 'RIVER_REGISTRY_ADDRESS', // deprecated
141
+ ],
142
+ }),
143
+ },
144
+ },
145
+ };
12
146
  }
13
147
  //# sourceMappingURL=IStaticContractsInfo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IStaticContractsInfo.js","sourceRoot":"","sources":["../../src/utils/IStaticContractsInfo.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mDAAmD,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAgCrG,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAC9C,+EAA+E;IAC/E,MAAM,WAAW,GAAG,eAA4D,CAAA;IAChF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACX,cAAc,QAAQ,uCAAuC,MAAM,CAAC,IAAI,CACpE,eAAe,CAClB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjB,CAAA;IACL,CAAC;IACD,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAA;AAChC,CAAC;AAED,MAAM,UAAU,kBAAkB;IAC9B,OAAO,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;AACvC,CAAC"}
1
+ {"version":3,"file":"IStaticContractsInfo.js","sourceRoot":"","sources":["../../src/utils/IStaticContractsInfo.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mDAAmD,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAGrG,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAErD,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;AA+BxC,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAC9C,+EAA+E;IAC/E,MAAM,WAAW,GAAG,eAAwE,CAAA;IAC5F,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxB,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAA;IAChC,CAAC;IACD,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAA;AACvC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IACzC,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAA;IAC/B,CAAC;IACD,OAAO,IAAI,CAAA;AACf,CAAC;AAED,MAAM,UAAU,WAAW;IACvB,OAAO,SAAS,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,qBAAqB;IACjC,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;IAC/C,CAAC;IACD,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAA;AACvC,CAAC;AAED,SAAS,WAAW,CAAC,EACjB,aAAa,EACb,IAAI,GAIP;IACG,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QAC3B,IAAI,KAAK,EAAE,CAAC;YACR,OAAO,KAAK,CAAA;QAChB,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAA;AACpB,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,aAAa,EAAE,IAAI,EAA6C;IACnF,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,2CAA2C,CAAC,CAAA;IACnE,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IAClD,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACX,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,uCAAuC,CACnH,CAAA;IACL,CAAC;IACD,OAAO,KAAK,CAAA;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,aAAqB;IAC7C,yFAAyF;IACzF,OAAO;QACH,IAAI,EAAE;YACF,OAAO,EAAE,QAAQ,CACb,WAAW,CAAC;gBACR,aAAa;gBACb,IAAI,EAAE,CAAC,eAAe,CAAC;aAC1B,CAAC,CACL;YACD,SAAS,EAAE;gBACP,YAAY,EAAE,WAAW,CAAC;oBACtB,aAAa;oBACb,IAAI,EAAE;wBACF,6BAA6B;wBAC7B,uBAAuB,EAAE,aAAa;qBACzC;iBACJ,CAAY;gBACb,YAAY,EAAE,WAAW,CAAC;oBACtB,aAAa;oBACb,IAAI,EAAE;wBACF,8BAA8B;wBAC9B,uBAAuB,EAAE,aAAa;qBACzC;iBACJ,CAAY;gBACb,UAAU,EAAE,WAAW,CAAC;oBACpB,aAAa;oBACb,IAAI,EAAE;wBACF,4BAA4B;wBAC5B,qBAAqB,EAAE,aAAa;qBACvC;iBACJ,CAAY;gBACb,YAAY,EAAE,WAAW,CAAC;oBACtB,aAAa;oBACb,IAAI,EAAE;wBACF,8BAA8B;wBAC9B,uBAAuB,EAAE,aAAa;qBACzC;iBACJ,CAAY;gBACb,UAAU,EAAE,WAAW,CAAC;oBACpB,aAAa;oBACb,IAAI,EAAE;wBACF,4BAA4B;wBAC5B,qBAAqB,EAAE,aAAa;qBACvC;iBACJ,CAAY;gBACb,WAAW,EAAE,WAAW,CAAC;oBACrB,aAAa;oBACb,IAAI,EAAE;wBACF,6BAA6B;wBAC7B,sBAAsB,EAAE,aAAa;qBACxC;iBACJ,CAAY;gBACb,kBAAkB,EAAE,WAAW,CAAC;oBAC5B,aAAa;oBACb,IAAI,EAAE,CAAC,oCAAoC,CAAC;iBAC/C,CAAY;gBACb,KAAK,EAAE;oBACH,OAAO,EAAE,WAAW,CAAC;wBACjB,aAAa;wBACb,IAAI,EAAE;4BACF,yBAAyB;4BACzB,kBAAkB,EAAE,aAAa;yBACpC;qBACJ,CAAY;oBACb,MAAM,EAAE,WAAW,CAAC;wBAChB,aAAa;wBACb,IAAI,EAAE;4BACF,uBAAuB;4BACvB,gBAAgB,EAAE,aAAa;yBAClC;qBACJ,CAAY;oBACb,KAAK,EAAE,WAAW,CAAC;wBACf,aAAa;wBACb,IAAI,EAAE;4BACF,sBAAsB;4BACtB,eAAe,EAAE,aAAa;yBACjC;qBACJ,CAAY;iBAChB;aACJ;SACsB;QAC3B,KAAK,EAAE;YACH,OAAO,EAAE,QAAQ,CACb,WAAW,CAAC;gBACR,aAAa;gBACb,IAAI,EAAE,CAAC,gBAAgB,CAAC;aAC3B,CAAC,CACL;YACD,SAAS,EAAE;gBACP,aAAa,EAAE,WAAW,CAAC;oBACvB,aAAa;oBACb,IAAI,EAAE;wBACF,gCAAgC;wBAChC,wBAAwB,EAAE,aAAa;qBAC1C;iBACJ,CAAY;aAChB;SACuB;KAC/B,CAAA;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@towns-protocol/web3",
3
- "version": "0.0.335",
3
+ "version": "0.0.337",
4
4
  "packageManager": "yarn@3.8.0",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -20,8 +20,8 @@
20
20
  },
21
21
  "dependencies": {
22
22
  "@isaacs/ttlcache": "^1.4.1",
23
- "@towns-protocol/dlog": "^0.0.335",
24
- "@towns-protocol/generated": "^0.0.335",
23
+ "@towns-protocol/dlog": "^0.0.337",
24
+ "@towns-protocol/generated": "^0.0.337",
25
25
  "abitype": "^0.9.10",
26
26
  "debug": "^4.3.4",
27
27
  "ethers": "^5.7.2",
@@ -49,5 +49,5 @@
49
49
  "publishConfig": {
50
50
  "access": "public"
51
51
  },
52
- "gitHead": "c1d18a05e0553a684a9791c6bca2bb1789af3e2b"
52
+ "gitHead": "a8dae6ecef2c3bc7713acf56e6738fd47d608482"
53
53
  }