@towns-protocol/generated 0.0.337 → 0.0.339

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.
@@ -56,6 +56,7 @@
56
56
  "space": "0x99a177F81902fddc4785c6fc108C8F21BDB2aFe9",
57
57
  "spaceFactory": "0x968696BC59431Ef085441641f550C8e2Eaca8BEd",
58
58
  "spaceOwner": "0x9dEdb330A126C6dF2893a33018bb81aFE8573805",
59
+ "subscriptionModule": "0x65b6079647b6BbB9672198cD16FeeFfEB6fEE8EF",
59
60
  "swapRouter": "0x4997CC907512275b8D7E1c682a46f17d676F4913",
60
61
  "utils": {
61
62
  "towns": "0x00000000A22C618fd6b4D7E9A335C4B96B189a38"
@@ -0,0 +1,13 @@
1
+ VITE_RIVER_ENV=alpha
2
+ VITE_BASE_CHAIN_ID=84532
3
+ VITE_BASE_ADDRESSES_APP_REGISTRY=0x23a9f5AbBcC82d1E2B5C0781b1F05F2B623E2c69
4
+ VITE_BASE_ADDRESSES_BASE_REGISTRY=0x0230a9d28bc48a90d6f5e5112b24319ec1b14c52
5
+ VITE_BASE_ADDRESSES_RIVER_AIRDROP=0x5cb1B2a6d413879a7A4A89f46e0621db04aa6430
6
+ VITE_BASE_ADDRESSES_SPACE=0x8DdfAD0259803FA140e076C636E726573df77905
7
+ VITE_BASE_ADDRESSES_SPACE_FACTORY=0xC09Ac0FFeecAaE5100158247512DC177AeacA3e3
8
+ VITE_BASE_ADDRESSES_SPACE_OWNER=0x0443258849016da8Af08e2984Bce8C0ef6Cfc9A0
9
+ VITE_BASE_ADDRESSES_SUBSCRIPTION_MODULE=0x709b0da64962b03559D5e7084a23B1a8c73C76a0
10
+ VITE_BASE_ADDRESSES_SWAP_ROUTER=0xE2CE9e11BF480a5b88ad4008915D97d35C5087d5
11
+ VITE_BASE_ADDRESSES_UTILS_TOWNS=0x00000000A22C618fd6b4D7E9A335C4B96B189a38
12
+ VITE_RIVER_CHAIN_ID=6524490
13
+ VITE_RIVER_ADDRESSES_RIVER_REGISTRY=0x44354786EacBEBf981453A05728E1653Bc3c5def
@@ -0,0 +1,12 @@
1
+ VITE_RIVER_ENV=delta
2
+ VITE_BASE_CHAIN_ID=84532
3
+ VITE_BASE_ADDRESSES_APP_REGISTRY=0x9fCd4F3F98b170C7A1AfB9d20E76C6f5ca9Cbe71
4
+ VITE_BASE_ADDRESSES_BASE_REGISTRY=0xa7932228e6dAfb7A74dc8085F8bADAa993d4c592
5
+ VITE_BASE_ADDRESSES_RIVER_AIRDROP=0xa9aAA53E49d20fd727AB5a6ED697332bb24f3A20
6
+ VITE_BASE_ADDRESSES_SPACE=0xa489C4162a39CCE441Ee23c064E6dE6fF0822269
7
+ VITE_BASE_ADDRESSES_SPACE_FACTORY=0x4e652CdB4715861dDCc4dF159af32223B40c8187
8
+ VITE_BASE_ADDRESSES_SPACE_OWNER=0xf3a2E75d7da3c7a7F953b63342f0709972e5002b
9
+ VITE_BASE_ADDRESSES_SWAP_ROUTER=0xE2CE9e11BF480a5b88ad4008915D97d35C5087d5
10
+ VITE_BASE_ADDRESSES_UTILS_TOWNS=0x00000000A22C618fd6b4D7E9A335C4B96B189a38
11
+ VITE_RIVER_CHAIN_ID=6524490
12
+ VITE_RIVER_ADDRESSES_RIVER_REGISTRY=0x9Db19dB285cEd37099D40d27D51B75C4dFa05652
@@ -6,6 +6,7 @@ BASE_ADDRESSES_RIVER_AIRDROP=0x4cBE6e47819cfE720d2ac83aE094B3a1307207A9
6
6
  BASE_ADDRESSES_SPACE=0x99a177F81902fddc4785c6fc108C8F21BDB2aFe9
7
7
  BASE_ADDRESSES_SPACE_FACTORY=0x968696BC59431Ef085441641f550C8e2Eaca8BEd
8
8
  BASE_ADDRESSES_SPACE_OWNER=0x9dEdb330A126C6dF2893a33018bb81aFE8573805
9
+ BASE_ADDRESSES_SUBSCRIPTION_MODULE=0x65b6079647b6BbB9672198cD16FeeFfEB6fEE8EF
9
10
  BASE_ADDRESSES_SWAP_ROUTER=0x4997CC907512275b8D7E1c682a46f17d676F4913
10
11
  BASE_ADDRESSES_UTILS_TOWNS=0x00000000A22C618fd6b4D7E9A335C4B96B189a38
11
12
  BNB_CHAIN_ID=97
@@ -0,0 +1,19 @@
1
+ VITE_RIVER_ENV=gamma
2
+ VITE_BASE_CHAIN_ID=84532
3
+ VITE_BASE_ADDRESSES_APP_REGISTRY=0xec3081A4b07678C12Fc6B56f69F894EE9e732c42
4
+ VITE_BASE_ADDRESSES_BASE_REGISTRY=0x08cC41b782F27d62995056a4EF2fCBAe0d3c266F
5
+ VITE_BASE_ADDRESSES_RIVER_AIRDROP=0x4cBE6e47819cfE720d2ac83aE094B3a1307207A9
6
+ VITE_BASE_ADDRESSES_SPACE=0x99a177F81902fddc4785c6fc108C8F21BDB2aFe9
7
+ VITE_BASE_ADDRESSES_SPACE_FACTORY=0x968696BC59431Ef085441641f550C8e2Eaca8BEd
8
+ VITE_BASE_ADDRESSES_SPACE_OWNER=0x9dEdb330A126C6dF2893a33018bb81aFE8573805
9
+ VITE_BASE_ADDRESSES_SUBSCRIPTION_MODULE=0x65b6079647b6BbB9672198cD16FeeFfEB6fEE8EF
10
+ VITE_BASE_ADDRESSES_SWAP_ROUTER=0x4997CC907512275b8D7E1c682a46f17d676F4913
11
+ VITE_BASE_ADDRESSES_UTILS_TOWNS=0x00000000A22C618fd6b4D7E9A335C4B96B189a38
12
+ VITE_BNB_CHAIN_ID=97
13
+ VITE_BNB_ADDRESSES_UTILS_TOWNS=0xA70F5aE0D1c993eDa24FfEB4B10416770a1BfA2B
14
+ VITE_RIVER_CHAIN_ID=6524490
15
+ VITE_RIVER_ADDRESSES_RIVER_REGISTRY=0xf18E98D36A6bd1aDb52F776aCc191E69B491c070
16
+ VITE_SEPOLIA_CHAIN_ID=11155111
17
+ VITE_SEPOLIA_ADDRESSES_TOWNS_MAINNET=0x000000Fa00b200406de700041CFc6b19BbFB4d13
18
+ VITE_SEPOLIA_ADDRESSES_UTILS_PROXY_BATCH_DELEGATION=0x2898F12411782AfB413ce711660f06FCDAa92339
19
+ VITE_SEPOLIA_ADDRESSES_UTILS_WRAPPED_TOWNS=0x7cA146A8f7329B4D44b253986D2DF27B98C3B36C
@@ -0,0 +1,3 @@
1
+ {
2
+ "address": "0x65b6079647b6BbB9672198cD16FeeFfEB6fEE8EF"
3
+ }
@@ -0,0 +1,21 @@
1
+ VITE_RIVER_ENV=omega
2
+ VITE_BASE_CHAIN_ID=8453
3
+ VITE_BASE_ADDRESSES_APP_REGISTRY=0xB3173F2a02855F07A0C4BfB26D3D87c323fe42BE
4
+ VITE_BASE_ADDRESSES_BASE_REGISTRY=0x7c0422b31401C936172C897802CF0373B35B7698
5
+ VITE_BASE_ADDRESSES_RIVER_AIRDROP=0xe55fEE191604cdBeb874F87A28Ca89aED401C303
6
+ VITE_BASE_ADDRESSES_SPACE=0x34f35E1ECA9C00791bF8121A01c20977d8bEB11C
7
+ VITE_BASE_ADDRESSES_SPACE_FACTORY=0x9978c826d93883701522d2CA645d5436e5654252
8
+ VITE_BASE_ADDRESSES_SPACE_OWNER=0x2824D1235d1CbcA6d61C00C3ceeCB9155cd33a42
9
+ VITE_BASE_ADDRESSES_SWAP_ROUTER=0x95A2a333D30c8686dE8D01AC464d6034b9aA7b24
10
+ VITE_BASE_ADDRESSES_UTILS_TOWNS=0x00000000A22C618fd6b4D7E9A335C4B96B189a38
11
+ VITE_BNB_CHAIN_ID=56
12
+ VITE_BNB_ADDRESSES_TOWNS_BNB=0x00000000bcA93b25a6694ca3d2109d545988b13B
13
+ VITE_GNOSIS_CHAIN_ID=100
14
+ VITE_GNOSIS_ADDRESSES_POAP_ENTITLEMENT=0xEd142Ee3F6B445B70f063A30A3F61e5d7855F6Fd
15
+ VITE_MAINNET_CHAIN_ID=1
16
+ VITE_MAINNET_RIVER=0x53319181e003E7f86fB79f794649a2aB680Db244
17
+ VITE_MAINNET_ADDRESSES_TOWNS_MAINNET=0x000000Fa00b200406de700041CFc6b19BbFB4d13
18
+ VITE_MAINNET_ADDRESSES_W_TOWNS=0x00000000Bc5Ff0261B97004a79c6D361002Ba2db
19
+ VITE_MAINNET_ADDRESSES_UTILS_PROXY_BATCH_DELEGATION=0x4ea3DA9d916473A285970B4318DE038A78fFd5f6
20
+ VITE_RIVER_CHAIN_ID=550
21
+ VITE_RIVER_ADDRESSES_RIVER_REGISTRY=0x1298c03Fde548dc433a452573E36A713b38A0404
@@ -1 +1 @@
1
- 84df1b2de8cad74ea4edf62df8ca64fec2e770d2
1
+ e4abf8a40d8d359da841e67e415b2e7c56dcd7d2
@@ -25,6 +25,35 @@
25
25
  "outputs": [],
26
26
  "stateMutability": "nonpayable"
27
27
  },
28
+ {
29
+ "type": "function",
30
+ "name": "execute",
31
+ "inputs": [
32
+ {
33
+ "name": "target",
34
+ "type": "address",
35
+ "internalType": "address"
36
+ },
37
+ {
38
+ "name": "value",
39
+ "type": "uint256",
40
+ "internalType": "uint256"
41
+ },
42
+ {
43
+ "name": "data",
44
+ "type": "bytes",
45
+ "internalType": "bytes"
46
+ }
47
+ ],
48
+ "outputs": [
49
+ {
50
+ "name": "",
51
+ "type": "bytes",
52
+ "internalType": "bytes"
53
+ }
54
+ ],
55
+ "stateMutability": "payable"
56
+ },
28
57
  {
29
58
  "type": "function",
30
59
  "name": "getAppExpiration",
@@ -105,6 +134,25 @@
105
134
  ],
106
135
  "stateMutability": "view"
107
136
  },
137
+ {
138
+ "type": "function",
139
+ "name": "isAppExecuting",
140
+ "inputs": [
141
+ {
142
+ "name": "app",
143
+ "type": "address",
144
+ "internalType": "address"
145
+ }
146
+ ],
147
+ "outputs": [
148
+ {
149
+ "name": "",
150
+ "type": "bool",
151
+ "internalType": "bool"
152
+ }
153
+ ],
154
+ "stateMutability": "view"
155
+ },
108
156
  {
109
157
  "type": "function",
110
158
  "name": "isAppInstalled",
@@ -25,6 +25,35 @@ export default [
25
25
  "outputs": [],
26
26
  "stateMutability": "nonpayable"
27
27
  },
28
+ {
29
+ "type": "function",
30
+ "name": "execute",
31
+ "inputs": [
32
+ {
33
+ "name": "target",
34
+ "type": "address",
35
+ "internalType": "address"
36
+ },
37
+ {
38
+ "name": "value",
39
+ "type": "uint256",
40
+ "internalType": "uint256"
41
+ },
42
+ {
43
+ "name": "data",
44
+ "type": "bytes",
45
+ "internalType": "bytes"
46
+ }
47
+ ],
48
+ "outputs": [
49
+ {
50
+ "name": "",
51
+ "type": "bytes",
52
+ "internalType": "bytes"
53
+ }
54
+ ],
55
+ "stateMutability": "payable"
56
+ },
28
57
  {
29
58
  "type": "function",
30
59
  "name": "getAppExpiration",
@@ -105,6 +134,25 @@ export default [
105
134
  ],
106
135
  "stateMutability": "view"
107
136
  },
137
+ {
138
+ "type": "function",
139
+ "name": "isAppExecuting",
140
+ "inputs": [
141
+ {
142
+ "name": "app",
143
+ "type": "address",
144
+ "internalType": "address"
145
+ }
146
+ ],
147
+ "outputs": [
148
+ {
149
+ "name": "",
150
+ "type": "bool",
151
+ "internalType": "bool"
152
+ }
153
+ ],
154
+ "stateMutability": "view"
155
+ },
108
156
  {
109
157
  "type": "function",
110
158
  "name": "isAppInstalled",
@@ -110,16 +110,21 @@
110
110
  "type": "tuple",
111
111
  "internalType": "struct Subscription",
112
112
  "components": [
113
+ {
114
+ "name": "tokenId",
115
+ "type": "uint256",
116
+ "internalType": "uint256"
117
+ },
118
+ {
119
+ "name": "spent",
120
+ "type": "uint256",
121
+ "internalType": "uint256"
122
+ },
113
123
  {
114
124
  "name": "space",
115
125
  "type": "address",
116
126
  "internalType": "address"
117
127
  },
118
- {
119
- "name": "active",
120
- "type": "bool",
121
- "internalType": "bool"
122
- },
123
128
  {
124
129
  "name": "lastRenewalTime",
125
130
  "type": "uint40",
@@ -131,14 +136,9 @@
131
136
  "internalType": "uint40"
132
137
  },
133
138
  {
134
- "name": "spent",
135
- "type": "uint256",
136
- "internalType": "uint256"
137
- },
138
- {
139
- "name": "tokenId",
140
- "type": "uint256",
141
- "internalType": "uint256"
139
+ "name": "active",
140
+ "type": "bool",
141
+ "internalType": "bool"
142
142
  }
143
143
  ]
144
144
  }
@@ -158,6 +158,25 @@
158
158
  "outputs": [],
159
159
  "stateMutability": "nonpayable"
160
160
  },
161
+ {
162
+ "type": "function",
163
+ "name": "isOperator",
164
+ "inputs": [
165
+ {
166
+ "name": "operator",
167
+ "type": "address",
168
+ "internalType": "address"
169
+ }
170
+ ],
171
+ "outputs": [
172
+ {
173
+ "name": "",
174
+ "type": "bool",
175
+ "internalType": "bool"
176
+ }
177
+ ],
178
+ "stateMutability": "view"
179
+ },
161
180
  {
162
181
  "type": "function",
163
182
  "name": "moduleId",
@@ -621,6 +640,32 @@
621
640
  ],
622
641
  "anonymous": false
623
642
  },
643
+ {
644
+ "type": "event",
645
+ "name": "OperatorGranted",
646
+ "inputs": [
647
+ {
648
+ "name": "operator",
649
+ "type": "address",
650
+ "indexed": true,
651
+ "internalType": "address"
652
+ }
653
+ ],
654
+ "anonymous": false
655
+ },
656
+ {
657
+ "type": "event",
658
+ "name": "OperatorRevoked",
659
+ "inputs": [
660
+ {
661
+ "name": "operator",
662
+ "type": "address",
663
+ "indexed": true,
664
+ "internalType": "address"
665
+ }
666
+ ],
667
+ "anonymous": false
668
+ },
624
669
  {
625
670
  "type": "event",
626
671
  "name": "OwnershipTransferred",
@@ -832,6 +877,11 @@
832
877
  "name": "SubscriptionModule__InactiveSubscription",
833
878
  "inputs": []
834
879
  },
880
+ {
881
+ "type": "error",
882
+ "name": "SubscriptionModule__InsufficientBalance",
883
+ "inputs": []
884
+ },
835
885
  {
836
886
  "type": "error",
837
887
  "name": "SubscriptionModule__InvalidAddress",
@@ -110,16 +110,21 @@ export default [
110
110
  "type": "tuple",
111
111
  "internalType": "struct Subscription",
112
112
  "components": [
113
+ {
114
+ "name": "tokenId",
115
+ "type": "uint256",
116
+ "internalType": "uint256"
117
+ },
118
+ {
119
+ "name": "spent",
120
+ "type": "uint256",
121
+ "internalType": "uint256"
122
+ },
113
123
  {
114
124
  "name": "space",
115
125
  "type": "address",
116
126
  "internalType": "address"
117
127
  },
118
- {
119
- "name": "active",
120
- "type": "bool",
121
- "internalType": "bool"
122
- },
123
128
  {
124
129
  "name": "lastRenewalTime",
125
130
  "type": "uint40",
@@ -131,14 +136,9 @@ export default [
131
136
  "internalType": "uint40"
132
137
  },
133
138
  {
134
- "name": "spent",
135
- "type": "uint256",
136
- "internalType": "uint256"
137
- },
138
- {
139
- "name": "tokenId",
140
- "type": "uint256",
141
- "internalType": "uint256"
139
+ "name": "active",
140
+ "type": "bool",
141
+ "internalType": "bool"
142
142
  }
143
143
  ]
144
144
  }
@@ -158,6 +158,25 @@ export default [
158
158
  "outputs": [],
159
159
  "stateMutability": "nonpayable"
160
160
  },
161
+ {
162
+ "type": "function",
163
+ "name": "isOperator",
164
+ "inputs": [
165
+ {
166
+ "name": "operator",
167
+ "type": "address",
168
+ "internalType": "address"
169
+ }
170
+ ],
171
+ "outputs": [
172
+ {
173
+ "name": "",
174
+ "type": "bool",
175
+ "internalType": "bool"
176
+ }
177
+ ],
178
+ "stateMutability": "view"
179
+ },
161
180
  {
162
181
  "type": "function",
163
182
  "name": "moduleId",
@@ -621,6 +640,32 @@ export default [
621
640
  ],
622
641
  "anonymous": false
623
642
  },
643
+ {
644
+ "type": "event",
645
+ "name": "OperatorGranted",
646
+ "inputs": [
647
+ {
648
+ "name": "operator",
649
+ "type": "address",
650
+ "indexed": true,
651
+ "internalType": "address"
652
+ }
653
+ ],
654
+ "anonymous": false
655
+ },
656
+ {
657
+ "type": "event",
658
+ "name": "OperatorRevoked",
659
+ "inputs": [
660
+ {
661
+ "name": "operator",
662
+ "type": "address",
663
+ "indexed": true,
664
+ "internalType": "address"
665
+ }
666
+ ],
667
+ "anonymous": false
668
+ },
624
669
  {
625
670
  "type": "event",
626
671
  "name": "OwnershipTransferred",
@@ -832,6 +877,11 @@ export default [
832
877
  "name": "SubscriptionModule__InactiveSubscription",
833
878
  "inputs": []
834
879
  },
880
+ {
881
+ "type": "error",
882
+ "name": "SubscriptionModule__InsufficientBalance",
883
+ "inputs": []
884
+ },
835
885
  {
836
886
  "type": "error",
837
887
  "name": "SubscriptionModule__InvalidAddress",
@@ -9,6 +9,7 @@ import type {
9
9
  CallOverrides,
10
10
  ContractTransaction,
11
11
  Overrides,
12
+ PayableOverrides,
12
13
  PopulatedTransaction,
13
14
  Signer,
14
15
  utils,
@@ -82,10 +83,12 @@ export interface IAppAccountInterface extends utils.Interface {
82
83
  functions: {
83
84
  "disableApp(address)": FunctionFragment;
84
85
  "enableApp(address)": FunctionFragment;
86
+ "execute(address,uint256,bytes)": FunctionFragment;
85
87
  "getAppExpiration(address)": FunctionFragment;
86
88
  "getAppId(address)": FunctionFragment;
87
89
  "getInstalledApps()": FunctionFragment;
88
90
  "isAppEntitled(address,address,bytes32)": FunctionFragment;
91
+ "isAppExecuting(address)": FunctionFragment;
89
92
  "isAppInstalled(address)": FunctionFragment;
90
93
  "onInstallApp(bytes32,bytes)": FunctionFragment;
91
94
  "onRenewApp(bytes32,bytes)": FunctionFragment;
@@ -96,10 +99,12 @@ export interface IAppAccountInterface extends utils.Interface {
96
99
  nameOrSignatureOrTopic:
97
100
  | "disableApp"
98
101
  | "enableApp"
102
+ | "execute"
99
103
  | "getAppExpiration"
100
104
  | "getAppId"
101
105
  | "getInstalledApps"
102
106
  | "isAppEntitled"
107
+ | "isAppExecuting"
103
108
  | "isAppInstalled"
104
109
  | "onInstallApp"
105
110
  | "onRenewApp"
@@ -114,6 +119,14 @@ export interface IAppAccountInterface extends utils.Interface {
114
119
  functionFragment: "enableApp",
115
120
  values: [PromiseOrValue<string>]
116
121
  ): string;
122
+ encodeFunctionData(
123
+ functionFragment: "execute",
124
+ values: [
125
+ PromiseOrValue<string>,
126
+ PromiseOrValue<BigNumberish>,
127
+ PromiseOrValue<BytesLike>
128
+ ]
129
+ ): string;
117
130
  encodeFunctionData(
118
131
  functionFragment: "getAppExpiration",
119
132
  values: [PromiseOrValue<string>]
@@ -134,6 +147,10 @@ export interface IAppAccountInterface extends utils.Interface {
134
147
  PromiseOrValue<BytesLike>
135
148
  ]
136
149
  ): string;
150
+ encodeFunctionData(
151
+ functionFragment: "isAppExecuting",
152
+ values: [PromiseOrValue<string>]
153
+ ): string;
137
154
  encodeFunctionData(
138
155
  functionFragment: "isAppInstalled",
139
156
  values: [PromiseOrValue<string>]
@@ -153,6 +170,7 @@ export interface IAppAccountInterface extends utils.Interface {
153
170
 
154
171
  decodeFunctionResult(functionFragment: "disableApp", data: BytesLike): Result;
155
172
  decodeFunctionResult(functionFragment: "enableApp", data: BytesLike): Result;
173
+ decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result;
156
174
  decodeFunctionResult(
157
175
  functionFragment: "getAppExpiration",
158
176
  data: BytesLike
@@ -166,6 +184,10 @@ export interface IAppAccountInterface extends utils.Interface {
166
184
  functionFragment: "isAppEntitled",
167
185
  data: BytesLike
168
186
  ): Result;
187
+ decodeFunctionResult(
188
+ functionFragment: "isAppExecuting",
189
+ data: BytesLike
190
+ ): Result;
169
191
  decodeFunctionResult(
170
192
  functionFragment: "isAppInstalled",
171
193
  data: BytesLike
@@ -251,6 +273,13 @@ export interface IAppAccount extends BaseContract {
251
273
  overrides?: Overrides & { from?: PromiseOrValue<string> }
252
274
  ): Promise<ContractTransaction>;
253
275
 
276
+ execute(
277
+ target: PromiseOrValue<string>,
278
+ value: PromiseOrValue<BigNumberish>,
279
+ data: PromiseOrValue<BytesLike>,
280
+ overrides?: PayableOverrides & { from?: PromiseOrValue<string> }
281
+ ): Promise<ContractTransaction>;
282
+
254
283
  getAppExpiration(
255
284
  app: PromiseOrValue<string>,
256
285
  overrides?: CallOverrides
@@ -270,6 +299,11 @@ export interface IAppAccount extends BaseContract {
270
299
  overrides?: CallOverrides
271
300
  ): Promise<[boolean]>;
272
301
 
302
+ isAppExecuting(
303
+ app: PromiseOrValue<string>,
304
+ overrides?: CallOverrides
305
+ ): Promise<[boolean]>;
306
+
273
307
  isAppInstalled(
274
308
  app: PromiseOrValue<string>,
275
309
  overrides?: CallOverrides
@@ -304,6 +338,13 @@ export interface IAppAccount extends BaseContract {
304
338
  overrides?: Overrides & { from?: PromiseOrValue<string> }
305
339
  ): Promise<ContractTransaction>;
306
340
 
341
+ execute(
342
+ target: PromiseOrValue<string>,
343
+ value: PromiseOrValue<BigNumberish>,
344
+ data: PromiseOrValue<BytesLike>,
345
+ overrides?: PayableOverrides & { from?: PromiseOrValue<string> }
346
+ ): Promise<ContractTransaction>;
347
+
307
348
  getAppExpiration(
308
349
  app: PromiseOrValue<string>,
309
350
  overrides?: CallOverrides
@@ -323,6 +364,11 @@ export interface IAppAccount extends BaseContract {
323
364
  overrides?: CallOverrides
324
365
  ): Promise<boolean>;
325
366
 
367
+ isAppExecuting(
368
+ app: PromiseOrValue<string>,
369
+ overrides?: CallOverrides
370
+ ): Promise<boolean>;
371
+
326
372
  isAppInstalled(
327
373
  app: PromiseOrValue<string>,
328
374
  overrides?: CallOverrides
@@ -357,6 +403,13 @@ export interface IAppAccount extends BaseContract {
357
403
  overrides?: CallOverrides
358
404
  ): Promise<void>;
359
405
 
406
+ execute(
407
+ target: PromiseOrValue<string>,
408
+ value: PromiseOrValue<BigNumberish>,
409
+ data: PromiseOrValue<BytesLike>,
410
+ overrides?: CallOverrides
411
+ ): Promise<string>;
412
+
360
413
  getAppExpiration(
361
414
  app: PromiseOrValue<string>,
362
415
  overrides?: CallOverrides
@@ -376,6 +429,11 @@ export interface IAppAccount extends BaseContract {
376
429
  overrides?: CallOverrides
377
430
  ): Promise<boolean>;
378
431
 
432
+ isAppExecuting(
433
+ app: PromiseOrValue<string>,
434
+ overrides?: CallOverrides
435
+ ): Promise<boolean>;
436
+
379
437
  isAppInstalled(
380
438
  app: PromiseOrValue<string>,
381
439
  overrides?: CallOverrides
@@ -433,6 +491,13 @@ export interface IAppAccount extends BaseContract {
433
491
  overrides?: Overrides & { from?: PromiseOrValue<string> }
434
492
  ): Promise<BigNumber>;
435
493
 
494
+ execute(
495
+ target: PromiseOrValue<string>,
496
+ value: PromiseOrValue<BigNumberish>,
497
+ data: PromiseOrValue<BytesLike>,
498
+ overrides?: PayableOverrides & { from?: PromiseOrValue<string> }
499
+ ): Promise<BigNumber>;
500
+
436
501
  getAppExpiration(
437
502
  app: PromiseOrValue<string>,
438
503
  overrides?: CallOverrides
@@ -452,6 +517,11 @@ export interface IAppAccount extends BaseContract {
452
517
  overrides?: CallOverrides
453
518
  ): Promise<BigNumber>;
454
519
 
520
+ isAppExecuting(
521
+ app: PromiseOrValue<string>,
522
+ overrides?: CallOverrides
523
+ ): Promise<BigNumber>;
524
+
455
525
  isAppInstalled(
456
526
  app: PromiseOrValue<string>,
457
527
  overrides?: CallOverrides
@@ -487,6 +557,13 @@ export interface IAppAccount extends BaseContract {
487
557
  overrides?: Overrides & { from?: PromiseOrValue<string> }
488
558
  ): Promise<PopulatedTransaction>;
489
559
 
560
+ execute(
561
+ target: PromiseOrValue<string>,
562
+ value: PromiseOrValue<BigNumberish>,
563
+ data: PromiseOrValue<BytesLike>,
564
+ overrides?: PayableOverrides & { from?: PromiseOrValue<string> }
565
+ ): Promise<PopulatedTransaction>;
566
+
490
567
  getAppExpiration(
491
568
  app: PromiseOrValue<string>,
492
569
  overrides?: CallOverrides
@@ -506,6 +583,11 @@ export interface IAppAccount extends BaseContract {
506
583
  overrides?: CallOverrides
507
584
  ): Promise<PopulatedTransaction>;
508
585
 
586
+ isAppExecuting(
587
+ app: PromiseOrValue<string>,
588
+ overrides?: CallOverrides
589
+ ): Promise<PopulatedTransaction>;
590
+
509
591
  isAppInstalled(
510
592
  app: PromiseOrValue<string>,
511
593
  overrides?: CallOverrides
@@ -28,28 +28,28 @@ import type {
28
28
  } from "./common";
29
29
 
30
30
  export type SubscriptionStruct = {
31
+ tokenId: PromiseOrValue<BigNumberish>;
32
+ spent: PromiseOrValue<BigNumberish>;
31
33
  space: PromiseOrValue<string>;
32
- active: PromiseOrValue<boolean>;
33
34
  lastRenewalTime: PromiseOrValue<BigNumberish>;
34
35
  nextRenewalTime: PromiseOrValue<BigNumberish>;
35
- spent: PromiseOrValue<BigNumberish>;
36
- tokenId: PromiseOrValue<BigNumberish>;
36
+ active: PromiseOrValue<boolean>;
37
37
  };
38
38
 
39
39
  export type SubscriptionStructOutput = [
40
+ BigNumber,
41
+ BigNumber,
40
42
  string,
41
- boolean,
42
43
  number,
43
44
  number,
44
- BigNumber,
45
- BigNumber
45
+ boolean
46
46
  ] & {
47
+ tokenId: BigNumber;
48
+ spent: BigNumber;
47
49
  space: string;
48
- active: boolean;
49
50
  lastRenewalTime: number;
50
51
  nextRenewalTime: number;
51
- spent: BigNumber;
52
- tokenId: BigNumber;
52
+ active: boolean;
53
53
  };
54
54
 
55
55
  export type PackedUserOperationStruct = {
@@ -108,6 +108,7 @@ export interface SubscriptionModuleFacetInterface extends utils.Interface {
108
108
  "getEntityIds(address)": FunctionFragment;
109
109
  "getSubscription(address,uint32)": FunctionFragment;
110
110
  "grantOperator(address)": FunctionFragment;
111
+ "isOperator(address)": FunctionFragment;
111
112
  "moduleId()": FunctionFragment;
112
113
  "onInstall(bytes)": FunctionFragment;
113
114
  "onUninstall(bytes)": FunctionFragment;
@@ -133,6 +134,7 @@ export interface SubscriptionModuleFacetInterface extends utils.Interface {
133
134
  | "getEntityIds"
134
135
  | "getSubscription"
135
136
  | "grantOperator"
137
+ | "isOperator"
136
138
  | "moduleId"
137
139
  | "onInstall"
138
140
  | "onUninstall"
@@ -180,6 +182,10 @@ export interface SubscriptionModuleFacetInterface extends utils.Interface {
180
182
  functionFragment: "grantOperator",
181
183
  values: [PromiseOrValue<string>]
182
184
  ): string;
185
+ encodeFunctionData(
186
+ functionFragment: "isOperator",
187
+ values: [PromiseOrValue<string>]
188
+ ): string;
183
189
  encodeFunctionData(functionFragment: "moduleId", values?: undefined): string;
184
190
  encodeFunctionData(
185
191
  functionFragment: "onInstall",
@@ -294,6 +300,7 @@ export interface SubscriptionModuleFacetInterface extends utils.Interface {
294
300
  functionFragment: "grantOperator",
295
301
  data: BytesLike
296
302
  ): Result;
303
+ decodeFunctionResult(functionFragment: "isOperator", data: BytesLike): Result;
297
304
  decodeFunctionResult(functionFragment: "moduleId", data: BytesLike): Result;
298
305
  decodeFunctionResult(functionFragment: "onInstall", data: BytesLike): Result;
299
306
  decodeFunctionResult(
@@ -346,6 +353,8 @@ export interface SubscriptionModuleFacetInterface extends utils.Interface {
346
353
  "Initialized(uint32)": EventFragment;
347
354
  "InterfaceAdded(bytes4)": EventFragment;
348
355
  "InterfaceRemoved(bytes4)": EventFragment;
356
+ "OperatorGranted(address)": EventFragment;
357
+ "OperatorRevoked(address)": EventFragment;
349
358
  "OwnershipTransferred(address,address)": EventFragment;
350
359
  "SubscriptionConfigured(address,uint32,address,uint256,uint64)": EventFragment;
351
360
  "SubscriptionDeactivated(address,uint32)": EventFragment;
@@ -358,6 +367,8 @@ export interface SubscriptionModuleFacetInterface extends utils.Interface {
358
367
  getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment;
359
368
  getEvent(nameOrSignatureOrTopic: "InterfaceAdded"): EventFragment;
360
369
  getEvent(nameOrSignatureOrTopic: "InterfaceRemoved"): EventFragment;
370
+ getEvent(nameOrSignatureOrTopic: "OperatorGranted"): EventFragment;
371
+ getEvent(nameOrSignatureOrTopic: "OperatorRevoked"): EventFragment;
361
372
  getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment;
362
373
  getEvent(nameOrSignatureOrTopic: "SubscriptionConfigured"): EventFragment;
363
374
  getEvent(nameOrSignatureOrTopic: "SubscriptionDeactivated"): EventFragment;
@@ -407,6 +418,26 @@ export type InterfaceRemovedEvent = TypedEvent<
407
418
  export type InterfaceRemovedEventFilter =
408
419
  TypedEventFilter<InterfaceRemovedEvent>;
409
420
 
421
+ export interface OperatorGrantedEventObject {
422
+ operator: string;
423
+ }
424
+ export type OperatorGrantedEvent = TypedEvent<
425
+ [string],
426
+ OperatorGrantedEventObject
427
+ >;
428
+
429
+ export type OperatorGrantedEventFilter = TypedEventFilter<OperatorGrantedEvent>;
430
+
431
+ export interface OperatorRevokedEventObject {
432
+ operator: string;
433
+ }
434
+ export type OperatorRevokedEvent = TypedEvent<
435
+ [string],
436
+ OperatorRevokedEventObject
437
+ >;
438
+
439
+ export type OperatorRevokedEventFilter = TypedEventFilter<OperatorRevokedEvent>;
440
+
410
441
  export interface OwnershipTransferredEventObject {
411
442
  previousOwner: string;
412
443
  newOwner: string;
@@ -543,6 +574,11 @@ export interface SubscriptionModuleFacet extends BaseContract {
543
574
  overrides?: Overrides & { from?: PromiseOrValue<string> }
544
575
  ): Promise<ContractTransaction>;
545
576
 
577
+ isOperator(
578
+ operator: PromiseOrValue<string>,
579
+ overrides?: CallOverrides
580
+ ): Promise<[boolean]>;
581
+
546
582
  moduleId(overrides?: CallOverrides): Promise<[string]>;
547
583
 
548
584
  onInstall(
@@ -657,6 +693,11 @@ export interface SubscriptionModuleFacet extends BaseContract {
657
693
  overrides?: Overrides & { from?: PromiseOrValue<string> }
658
694
  ): Promise<ContractTransaction>;
659
695
 
696
+ isOperator(
697
+ operator: PromiseOrValue<string>,
698
+ overrides?: CallOverrides
699
+ ): Promise<boolean>;
700
+
660
701
  moduleId(overrides?: CallOverrides): Promise<string>;
661
702
 
662
703
  onInstall(
@@ -769,6 +810,11 @@ export interface SubscriptionModuleFacet extends BaseContract {
769
810
  overrides?: CallOverrides
770
811
  ): Promise<void>;
771
812
 
813
+ isOperator(
814
+ operator: PromiseOrValue<string>,
815
+ overrides?: CallOverrides
816
+ ): Promise<boolean>;
817
+
772
818
  moduleId(overrides?: CallOverrides): Promise<string>;
773
819
 
774
820
  onInstall(
@@ -881,6 +927,20 @@ export interface SubscriptionModuleFacet extends BaseContract {
881
927
  interfaceId?: PromiseOrValue<BytesLike> | null
882
928
  ): InterfaceRemovedEventFilter;
883
929
 
930
+ "OperatorGranted(address)"(
931
+ operator?: PromiseOrValue<string> | null
932
+ ): OperatorGrantedEventFilter;
933
+ OperatorGranted(
934
+ operator?: PromiseOrValue<string> | null
935
+ ): OperatorGrantedEventFilter;
936
+
937
+ "OperatorRevoked(address)"(
938
+ operator?: PromiseOrValue<string> | null
939
+ ): OperatorRevokedEventFilter;
940
+ OperatorRevoked(
941
+ operator?: PromiseOrValue<string> | null
942
+ ): OperatorRevokedEventFilter;
943
+
884
944
  "OwnershipTransferred(address,address)"(
885
945
  previousOwner?: PromiseOrValue<string> | null,
886
946
  newOwner?: PromiseOrValue<string> | null
@@ -980,6 +1040,11 @@ export interface SubscriptionModuleFacet extends BaseContract {
980
1040
  overrides?: Overrides & { from?: PromiseOrValue<string> }
981
1041
  ): Promise<BigNumber>;
982
1042
 
1043
+ isOperator(
1044
+ operator: PromiseOrValue<string>,
1045
+ overrides?: CallOverrides
1046
+ ): Promise<BigNumber>;
1047
+
983
1048
  moduleId(overrides?: CallOverrides): Promise<BigNumber>;
984
1049
 
985
1050
  onInstall(
@@ -1095,6 +1160,11 @@ export interface SubscriptionModuleFacet extends BaseContract {
1095
1160
  overrides?: Overrides & { from?: PromiseOrValue<string> }
1096
1161
  ): Promise<PopulatedTransaction>;
1097
1162
 
1163
+ isOperator(
1164
+ operator: PromiseOrValue<string>,
1165
+ overrides?: CallOverrides
1166
+ ): Promise<PopulatedTransaction>;
1167
+
1098
1168
  moduleId(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1099
1169
 
1100
1170
  onInstall(
@@ -33,6 +33,35 @@ const _abi = [
33
33
  outputs: [],
34
34
  stateMutability: "nonpayable",
35
35
  },
36
+ {
37
+ type: "function",
38
+ name: "execute",
39
+ inputs: [
40
+ {
41
+ name: "target",
42
+ type: "address",
43
+ internalType: "address",
44
+ },
45
+ {
46
+ name: "value",
47
+ type: "uint256",
48
+ internalType: "uint256",
49
+ },
50
+ {
51
+ name: "data",
52
+ type: "bytes",
53
+ internalType: "bytes",
54
+ },
55
+ ],
56
+ outputs: [
57
+ {
58
+ name: "",
59
+ type: "bytes",
60
+ internalType: "bytes",
61
+ },
62
+ ],
63
+ stateMutability: "payable",
64
+ },
36
65
  {
37
66
  type: "function",
38
67
  name: "getAppExpiration",
@@ -113,6 +142,25 @@ const _abi = [
113
142
  ],
114
143
  stateMutability: "view",
115
144
  },
145
+ {
146
+ type: "function",
147
+ name: "isAppExecuting",
148
+ inputs: [
149
+ {
150
+ name: "app",
151
+ type: "address",
152
+ internalType: "address",
153
+ },
154
+ ],
155
+ outputs: [
156
+ {
157
+ name: "",
158
+ type: "bool",
159
+ internalType: "bool",
160
+ },
161
+ ],
162
+ stateMutability: "view",
163
+ },
116
164
  {
117
165
  type: "function",
118
166
  name: "isAppInstalled",
@@ -121,16 +121,21 @@ const _abi = [
121
121
  type: "tuple",
122
122
  internalType: "struct Subscription",
123
123
  components: [
124
+ {
125
+ name: "tokenId",
126
+ type: "uint256",
127
+ internalType: "uint256",
128
+ },
129
+ {
130
+ name: "spent",
131
+ type: "uint256",
132
+ internalType: "uint256",
133
+ },
124
134
  {
125
135
  name: "space",
126
136
  type: "address",
127
137
  internalType: "address",
128
138
  },
129
- {
130
- name: "active",
131
- type: "bool",
132
- internalType: "bool",
133
- },
134
139
  {
135
140
  name: "lastRenewalTime",
136
141
  type: "uint40",
@@ -142,14 +147,9 @@ const _abi = [
142
147
  internalType: "uint40",
143
148
  },
144
149
  {
145
- name: "spent",
146
- type: "uint256",
147
- internalType: "uint256",
148
- },
149
- {
150
- name: "tokenId",
151
- type: "uint256",
152
- internalType: "uint256",
150
+ name: "active",
151
+ type: "bool",
152
+ internalType: "bool",
153
153
  },
154
154
  ],
155
155
  },
@@ -169,6 +169,25 @@ const _abi = [
169
169
  outputs: [],
170
170
  stateMutability: "nonpayable",
171
171
  },
172
+ {
173
+ type: "function",
174
+ name: "isOperator",
175
+ inputs: [
176
+ {
177
+ name: "operator",
178
+ type: "address",
179
+ internalType: "address",
180
+ },
181
+ ],
182
+ outputs: [
183
+ {
184
+ name: "",
185
+ type: "bool",
186
+ internalType: "bool",
187
+ },
188
+ ],
189
+ stateMutability: "view",
190
+ },
172
191
  {
173
192
  type: "function",
174
193
  name: "moduleId",
@@ -632,6 +651,32 @@ const _abi = [
632
651
  ],
633
652
  anonymous: false,
634
653
  },
654
+ {
655
+ type: "event",
656
+ name: "OperatorGranted",
657
+ inputs: [
658
+ {
659
+ name: "operator",
660
+ type: "address",
661
+ indexed: true,
662
+ internalType: "address",
663
+ },
664
+ ],
665
+ anonymous: false,
666
+ },
667
+ {
668
+ type: "event",
669
+ name: "OperatorRevoked",
670
+ inputs: [
671
+ {
672
+ name: "operator",
673
+ type: "address",
674
+ indexed: true,
675
+ internalType: "address",
676
+ },
677
+ ],
678
+ anonymous: false,
679
+ },
635
680
  {
636
681
  type: "event",
637
682
  name: "OwnershipTransferred",
@@ -843,6 +888,11 @@ const _abi = [
843
888
  name: "SubscriptionModule__InactiveSubscription",
844
889
  inputs: [],
845
890
  },
891
+ {
892
+ type: "error",
893
+ name: "SubscriptionModule__InsufficientBalance",
894
+ inputs: [],
895
+ },
846
896
  {
847
897
  type: "error",
848
898
  name: "SubscriptionModule__InvalidAddress",
@@ -896,7 +946,7 @@ const _abi = [
896
946
  ] as const;
897
947
 
898
948
  const _bytecode =
899
- "0x6080604052348015600e575f5ffd5b5060156019565b60bd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156064576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101560ba57805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b612ce3806100ca5f395ff3fe608060405234801561000f575f5ffd5b506004361061016e575f3560e01c8063885c1d09116100d2578063c1a287e211610088578063e7db7f7e11610063578063e7db7f7e1461048c578063eca8ad66146104f6578063fad8b32a14610500575f5ffd5b8063c1a287e214610467578063cfdbf25414610471578063e348da1314610479575f5ffd5b80639e94f3ab116100b85780639e94f3ab1461026e578063a07da64714610415578063a1308f2714610428575f5ffd5b8063885c1d09146102485780638a91b0e31461025b575f5ffd5b80633d6bda32116101275780633f41826e1161010d5780633f41826e1461020f578063465d33e0146102225780636d61fe7014610235575f5ffd5b80633d6bda32146101dc5780633e5f6091146101ef575f5ffd5b80630ab8785f116101575780630ab8785f146101af5780631313f410146101d45780632a3d428c146101af575f5ffd5b806301ffc9a714610172578063092640881461019a575b5f5ffd5b610185610180366004612629565b610513565b60405190151581526020015b60405180910390f35b6101ad6101a8366004612668565b6105ab565b005b6101c66101bd366004612699565b60019392505050565b604051908152602001610191565b6101ad6106f5565b6101ad6101ea366004612758565b6107d5565b6102026101fd3660046127f3565b610807565b604051610191919061280e565b6101ad61021d366004612850565b610856565b6101ad6102303660046128bc565b610886565b6101ad610243366004612969565b610975565b6101ad6102563660046129a8565b610d21565b6101ad610269366004612969565b611228565b6103a461027c366004612a19565b6040805160c0810182525f80825260208201819052918101829052606081018290526080810182905260a08101919091527fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb860073ffffffffffffffffffffffffffffffffffffffff8085165f90815260019283016020908152604080832063ffffffff88168452825291829020825160c0810184528154948516815260ff7401000000000000000000000000000000000000000086041615159281019290925264ffffffffff750100000000000000000000000000000000000000000085048116938301939093527a01000000000000000000000000000000000000000000000000000090930490911660608201529181015460808301526002015460a0820152905092915050565b60405161019191905f60c08201905073ffffffffffffffffffffffffffffffffffffffff835116825260208301511515602083015264ffffffffff604084015116604083015264ffffffffff60608401511660608301526080830151608083015260a083015160a083015292915050565b6101ad610423366004612a4c565b611390565b604080518082018252601f81527f746f776e732e737562736372697074696f6e2d6d6f64756c652e312e302e3000602082015290516101919190612ab1565b6101c66203f48081565b6101c6603281565b6101ad6104873660046127f3565b611474565b6104c561049a366004612ac3565b7fffffffff000000000000000000000000000000000000000000000000000000009695505050505050565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610191565b6101c66201518081565b6101ad61050e3660046127f3565b61151e565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f46c0c1b40000000000000000000000000000000000000000000000000000000014806105a557507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b688000000000ab143c06466001036105d557805c156105cd57805f526004601cfd5b30815d6105ea565b308154036105e657805f526004601cfd5b3081555b507fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb86006106228161061d60208501856127f3565b6115c3565b61064f5761064f7f59530ce9000000000000000000000000000000000000000000000000000000006115fa565b6106d0600182015f61066460208601866127f3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8460200160208101906106b19190612a4c565b63ffffffff1663ffffffff1681526020019081526020015f2083611602565b50688000000000ab143c06466001036106ea575f815d5050565b8081555b5050565b50565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff16610758576040517f77a399b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107817f985c01c500000000000000000000000000000000000000000000000000000000611c9d565b6107aa7fab3e34c100000000000000000000000000000000000000000000000000000000611c9d565b6107d37f28171ad000000000000000000000000000000000000000000000000000000000611c9d565b565b6107fe7fabbbbc73000000000000000000000000000000000000000000000000000000006115fa565b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff81165f9081527fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb8602602052604090206060906105a590611df2565b61087f7fabbbbc73000000000000000000000000000000000000000000000000000000006115fa565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff861630146108cc576108cc7f90467bf5000000000000000000000000000000000000000000000000000000006115fa565b73ffffffffffffffffffffffffffffffffffffffff88165f9081527fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb86016020908152604080832063ffffffff8b16845290915290205474010000000000000000000000000000000000000000900460ff168061096a5761096a7fe01d3320000000000000000000000000000000000000000000000000000000006115fa565b505050505050505050565b688000000000ab143c064660010361099f57805c1561099757805f526004601cfd5b30815d6109b4565b308154036109b057805f526004601cfd5b3081555b505f80806109c484860186612b41565b9250925092506109d382611e03565b6040517f6352211e00000000000000000000000000000000000000000000000000000000815260048101829052339073ffffffffffffffffffffffffffffffffffffffff841690636352211e90602401602060405180830381865afa158015610a3e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a629190612b6c565b73ffffffffffffffffffffffffffffffffffffffff1614610aa657610aa67ff107dccb000000000000000000000000000000000000000000000000000000006115fa565b6040517f17c957090000000000000000000000000000000000000000000000000000000081526004810182905282905f9073ffffffffffffffffffffffffffffffffffffffff8316906317c9570990602401602060405180830381865afa158015610b13573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b379190612b87565b90505f7fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb8600335f908152600182016020908152604080832063ffffffff8b168452909152902080547fffffffffffffffffffffff0000000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8816177401000000000000000000000000000000000000000017815560028101869055909150610be86201518084612bcb565b815464ffffffffff919091167a010000000000000000000000000000000000000000000000000000027fff0000000000ffffffffffffffffffffffffffffffffffffffffffffffffffff909116178155335f9081526002830160205260409020610c5b9063ffffffff808a1690611e4716565b508054604080518781527a01000000000000000000000000000000000000000000000000000090920464ffffffffff16602083015273ffffffffffffffffffffffffffffffffffffffff88169163ffffffff8a169133917f08720d091868d49076b0e5ce78e90cebcfc6eee115bcd31ebe88c341793075bf910160405180910390a450505050505050610cec600190565b15610d1157688000000000ab143c0646600103610d0b575f815d505050565b80555050565b5f688000000000ab143c065d5050565b688000000000ab143c0646600103610d4b57805c15610d4357805f526004601cfd5b30815d610d60565b30815403610d5c57805f526004601cfd5b3081555b50806032811115610d9457610d947f2efeb701000000000000000000000000000000000000000000000000000000006115fa565b805f03610dc457610dc47f8ac7f055000000000000000000000000000000000000000000000000000000006115fa565b7fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb86005f5b8281101561121d57610e1b82868684818110610e0557610e05612bde565b61061d92602060409092020190810191506127f3565b610e4857610e487f59530ce9000000000000000000000000000000000000000000000000000000006115fa565b5f826001015f878785818110610e6057610e60612bde565b610e7692602060409092020190810191506127f3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f878785818110610ec257610ec2612bde565b9050604002016020016020810190610eda9190612a4c565b63ffffffff16815260208101919091526040015f20805490915074010000000000000000000000000000000000000000900460ff16610fee57858583818110610f2557610f25612bde565b9050604002016020016020810190610f3d9190612a4c565b63ffffffff16868684818110610f5557610f55612bde565b610f6b92602060409092020190810191506127f3565b73ffffffffffffffffffffffffffffffffffffffff167f5db17eb6b69c9f0cf51e3b1f2c90a067a24697d427ba54c65f211120d3da7c05604051610fe09060208082526008908201527f494e414354495645000000000000000000000000000000000000000000000000604082015260600190565b60405180910390a350611215565b80547a010000000000000000000000000000000000000000000000000000900464ffffffffff164210156110e95785858381811061102e5761102e612bde565b90506040020160200160208101906110469190612a4c565b63ffffffff1686868481811061105e5761105e612bde565b61107492602060409092020190810191506127f3565b73ffffffffffffffffffffffffffffffffffffffff167f5db17eb6b69c9f0cf51e3b1f2c90a067a24697d427ba54c65f211120d3da7c05604051610fe09060208082526007908201527f4e4f545f44554500000000000000000000000000000000000000000000000000604082015260600190565b805461111e906203f480907a010000000000000000000000000000000000000000000000000000900464ffffffffff16612c0b565b4211156111f25785858381811061113757611137612bde565b905060400201602001602081019061114f9190612a4c565b63ffffffff1686868481811061116757611167612bde565b61117d92602060409092020190810191506127f3565b73ffffffffffffffffffffffffffffffffffffffff167f5db17eb6b69c9f0cf51e3b1f2c90a067a24697d427ba54c65f211120d3da7c05604051610fe0906020808252600a908201527f504153545f475241434500000000000000000000000000000000000000000000604082015260600190565b6112138187878581811061120857611208612bde565b905060400201611602565b505b600101610de7565b505050610cec600190565b688000000000ab143c064660010361125257805c1561124a57805f526004601cfd5b30815d611267565b3081540361126357805f526004601cfd5b3081555b505f61127582840184612a4c565b335f9081527fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb8602602052604090209091507fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb8600906112da9063ffffffff80851690611e5216565b611307576113077faacf701b000000000000000000000000000000000000000000000000000000006115fa565b335f81815260018084016020908152604080842063ffffffff8816808652925280842080547fff00000000000000000000000000000000000000000000000000000000000000168155928301849055600290920183905590519092917f48c4a5a219af3d077894cac7e6b26c5cdb83cf91d718428985a3f4a85e9ed45d91a35050610cec600190565b335f9081527fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb86016020908152604080832063ffffffff851684529091529020805474010000000000000000000000000000000000000000900460ff16611418576114187fe01d3320000000000000000000000000000000000000000000000000000000006115fa565b80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16815560405163ffffffff83169033907fd01480b28a9baefd1cd771d8109d1abf2380614146253e17b61774b7b3fb77f1905f90a35050565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff1633146114eb576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b6114f481611e03565b6106ee7fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb860082611e5d565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff163314611590576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024016114e2565b61159981611e03565b6106ee7fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb860082611fe1565b5f3373ffffffffffffffffffffffffffffffffffffffff8316036115e9575060016105a5565b6115f38333612155565b9392505050565b805f5260045ffd5b815474010000000000000000000000000000000000000000900460ff1661164c5761164c7fe01d3320000000000000000000000000000000000000000000000000000000006115fa565b81547a010000000000000000000000000000000000000000000000000000900464ffffffffff164210156116a3576116a37fd1cf008c000000000000000000000000000000000000000000000000000000006115fa565b81546116d8906203f480907a010000000000000000000000000000000000000000000000000000900464ffffffffff16612c0b565b42111561176e5781547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1682556117156040820160208301612a4c565b63ffffffff1661172860208301836127f3565b73ffffffffffffffffffffffffffffffffffffffff167fd01480b28a9baefd1cd771d8109d1abf2380614146253e17b61774b7b3fb77f160405160405180910390a35050565b815460028301546040517f5803909f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909216915f918391635803909f916117ce9160040190815260200190565b602060405180830381865afa1580156117e9573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061180d9190612b87565b905061181d426301e13380612c0b565b845464ffffffffff919091167a010000000000000000000000000000000000000000000000000000027fff0000000000ffffffffffffffffffffffffffffffffffffffffffffffffffff90911617845560028401546040515f916118879160240190815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f7c9669ac00000000000000000000000000000000000000000000000000000000179052865490519192505f9161192d9173ffffffffffffffffffffffffffffffffffffffff169085908590602401612c1e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb61d27f6000000000000000000000000000000000000000000000000000000001790529192505f916119fe916119bc91908901908901612a4c565b885460028a01546040805173ffffffffffffffffffffffffffffffffffffffff9093166020840152820152606001604051602081830303815290604052612227565b90505f8282604051602401611a14929190612c5b565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff2680c0f00000000000000000000000000000000000000000000000000000000179052909150611aa590611a9e908901896127f3565b5f83612253565b5060028801546040517f17c957090000000000000000000000000000000000000000000000000000000081525f9173ffffffffffffffffffffffffffffffffffffffff8916916317c9570991611b019160040190815260200190565b602060405180830381865afa158015611b1c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b409190612b87565b9050611b4f6201518082612bcb565b89547fff00000000000000000000ffffffffffffffffffffffffffffffffffffffffff167a01000000000000000000000000000000000000000000000000000064ffffffffff928316027fffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffffff161775010000000000000000000000000000000000000000004292909216919091021789556001890180548791905f90611bf5908490612c0b565b90915550611c0b90506040890160208a01612a4c565b63ffffffff16611c1e60208a018a6127f3565b8a546040517a01000000000000000000000000000000000000000000000000000090910464ffffffffff16815273ffffffffffffffffffffffffffffffffffffffff91909116907f9303e8c36264aec4db05a9f75307a7936b625c753189351a713ff8559cf0f4fd9060200160405180910390a3505050505050505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff16611d71577fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b006020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055611da3565b6040517ff2cfeefa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fffffffff000000000000000000000000000000000000000000000000000000008216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f22905f90a250565b60606105a5611e008361229f565b90565b73ffffffffffffffffffffffffffffffffffffffff81166106f2576106f27fe6c4247b000000000000000000000000000000000000000000000000000000006115fa565b5f6115f38383612358565b5f6115f3838361246a565b63978aab926004525f8281526024812073ffffffffffffffffffffffffffffffffffffffff92909216917fffffffffffffffffffffffffffffffffffffffffffffff04498025ad2b4047418301611ebb5763f5a267f15f526004601cfd5b82611ecd5768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff81168260205280611f94578160601c80611f00578560601b84556001945050611fd8565b858103611f0d5750611fd8565b600184015460601c80611f2e578660601b6001860155600195505050611fd8565b868103611f3c575050611fd8565b600285015460601c80611f5e578760601b600287015560019650505050611fd8565b878103611f6d57505050611fd8565b5f928352604080842060019055918352818320600290558252902060039055506007908117905b845f5260405f208054611fd657600191821c808301825591945081611fc2578560601b600317845550611fd8565b8560601b8285015582600201845550611fd8565b505b50505092915050565b63978aab926004525f8281526024812073ffffffffffffffffffffffffffffffffffffffff92909216917fffffffffffffffffffffffffffffffffffffffffffffff04498025ad2b404741830161203f5763f5a267f15f526004601cfd5b826120515768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff8116806120d05760019350848260601c0361208e5760018301805484556002840180549091555f9055611fd8565b84600184015460601c036120af5760028301805460018501555f9055611fd8565b84600284015460601c036120c8575f6002840155611fd8565b5f9350611fd8565b82602052845f5260405f208054806120e9575050611fd8565b60018360011c039250826001820314612119578285015460601c8060601b60018303870155805f52508060405f20555b5083547fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016600192831b1782179093555f909255509392505050565b63978aab926004525f8281526024812073ffffffffffffffffffffffffffffffffffffffff92909216917fffffffffffffffffffffffffffffffffffffffffffffff04498025ad2b40474183016121b35763f5a267f15f526004601cfd5b826121c55768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff811661220e5760019250838160601c031561221f57600182015460601c841461221f57600282015460601c841461221f575b5f925061221f565b81602052835f5260405f2054151592505b505092915050565b60606115f3835f8460405160200161223f9190612c96565b604051602081830303815290604052612568565b60405181515f9038906020850186885af1612270573d5f823e3d81fd5b3d61228857833b61228857635a836a5f5f526004601cfd5b3d8152602081013d5f823e3d016040529392505050565b6318fb58646004525f81815260249020801954604051919068fbb67fda52d4bfb8bf90602084018161231857835480156123125780841415028152600184810154909250801561231257808414150260208201526002848101549092508015612312576003925083811415810260408301525b50612343565b8160011c91505f5b8281101561234157848101548481141502600582901b830152600101612320565b505b8185528160051b810160405250505050919050565b6318fb58646004525f8281526024812068fbb67fda52d4bfb8bf83036123855763f5a267f15f526004601cfd5b826123975768fbb67fda52d4bfb8bf92505b801954816020528061243b578154806123b757848355600193505061221f565b8481036123c4575061221f565b6001830154806123df5785600185015560019450505061221f565b8581036123ed57505061221f565b600284015480612409578660028601556001955050505061221f565b8681036124185750505061221f565b5f9283526040808420600190559183528183206002905582529020600390555060075b835f5260405f208054611fd857600191821c8381018690558083019182905590821b821783195590925061221f565b6318fb58646004525f8281526024812068fbb67fda52d4bfb8bf83036124975763f5a267f15f526004601cfd5b826124a95768fbb67fda52d4bfb8bf92505b8019548061250a5760019250838254036124d65760018201805483556002830180549091555f905561221f565b836001830154036124f45760028201805460018401555f905561221f565b83600283015403612206575f600283015561221f565b81602052835f5260405f2080548061252357505061221f565b60018360011c03925082600182031461254d57828401548060018303860155805f52508060405f20555b5060018260011b178319555f81555060019250505092915050565b60605f8315612575576001175b6040517fff0000000000000000000000000000000000000000000000000000000000000060f883901b1660208201527fffffffff0000000000000000000000000000000000000000000000000000000060e087901b166021820152602501604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052612610918590602001612cc7565b6040516020818303038152906040529150509392505050565b5f60208284031215612639575f5ffd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146115f3575f5ffd5b5f6040828403128015612679575f5ffd5b509092915050565b803563ffffffff81168114612694575f5ffd5b919050565b5f5f5f606084860312156126ab575f5ffd5b6126b484612681565b9250602084013567ffffffffffffffff8111156126cf575f5ffd5b840161012081870312156126e1575f5ffd5b929592945050506040919091013590565b73ffffffffffffffffffffffffffffffffffffffff811681146106f2575f5ffd5b5f5f83601f840112612723575f5ffd5b50813567ffffffffffffffff81111561273a575f5ffd5b602083019150836020828501011115612751575f5ffd5b9250929050565b5f5f5f5f5f5f5f60a0888a03121561276e575f5ffd5b61277788612681565b96506020880135612787816126f2565b955060408801359450606088013567ffffffffffffffff8111156127a9575f5ffd5b6127b58a828b01612713565b909550935050608088013567ffffffffffffffff8111156127d4575f5ffd5b6127e08a828b01612713565b989b979a50959850939692959293505050565b5f60208284031215612803575f5ffd5b81356115f3816126f2565b602080825282518282018190525f918401906040840190835b81811015612845578351835260209384019390920191600101612827565b509095945050505050565b5f5f5f5f5f60808688031215612864575f5ffd5b61286d86612681565b9450602086013561287d816126f2565b935060408601359250606086013567ffffffffffffffff81111561289f575f5ffd5b6128ab88828901612713565b969995985093965092949392505050565b5f5f5f5f5f5f5f5f60c0898b0312156128d3575f5ffd5b88356128de816126f2565b97506128ec60208a01612681565b965060408901356128fc816126f2565b955060608901359450608089013567ffffffffffffffff81111561291e575f5ffd5b61292a8b828c01612713565b90955093505060a089013567ffffffffffffffff811115612949575f5ffd5b6129558b828c01612713565b999c989b5096995094979396929594505050565b5f5f6020838503121561297a575f5ffd5b823567ffffffffffffffff811115612990575f5ffd5b61299c85828601612713565b90969095509350505050565b5f5f602083850312156129b9575f5ffd5b823567ffffffffffffffff8111156129cf575f5ffd5b8301601f810185136129df575f5ffd5b803567ffffffffffffffff8111156129f5575f5ffd5b8560208260061b8401011115612a09575f5ffd5b6020919091019590945092505050565b5f5f60408385031215612a2a575f5ffd5b8235612a35816126f2565b9150612a4360208401612681565b90509250929050565b5f60208284031215612a5c575f5ffd5b6115f382612681565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f6115f36020830184612a65565b5f5f5f5f5f5f60a08789031215612ad8575f5ffd5b8635612ae3816126f2565b9550612af160208801612681565b94506040870135612b01816126f2565b935060608701359250608087013567ffffffffffffffff811115612b23575f5ffd5b612b2f89828a01612713565b979a9699509497509295939492505050565b5f5f5f60608486031215612b53575f5ffd5b612b5c84612681565b925060208401356126e1816126f2565b5f60208284031215612b7c575f5ffd5b81516115f3816126f2565b5f60208284031215612b97575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b818103818111156105a5576105a5612b9e565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b808201808211156105a5576105a5612b9e565b73ffffffffffffffffffffffffffffffffffffffff84168152826020820152606060408201525f612c526060830184612a65565b95945050505050565b604081525f612c6d6040830185612a65565b8281036020840152612c528185612a65565b5f81518060208401855e5f93019283525090919050565b7fff0000000000000000000000000000000000000000000000000000000000000081525f6115f36001830184612c7f565b5f612cdb612cd58386612c7f565b84612c7f565b94935050505056";
949
+ "0x6080604052348015600e575f5ffd5b5060156019565b60bd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156064576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101560ba57805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b612e05806100ca5f395ff3fe608060405234801561000f575f5ffd5b5060043610610179575f3560e01c8063885c1d09116100d2578063c1a287e211610088578063e7db7f7e11610063578063e7db7f7e146104ad578063eca8ad6614610517578063fad8b32a14610521575f5ffd5b8063c1a287e214610488578063cfdbf25414610492578063e348da131461049a575f5ffd5b80639e94f3ab116100b85780639e94f3ab1461028c578063a07da64714610436578063a1308f2714610449575f5ffd5b8063885c1d09146102665780638a91b0e314610279575f5ffd5b80633d6bda3211610132578063465d33e01161010d578063465d33e01461022d5780636d61fe70146102405780636d70f7ae14610253575f5ffd5b80633d6bda32146101e75780633e5f6091146101fa5780633f41826e1461021a575f5ffd5b80630ab8785f116101625780630ab8785f146101ba5780631313f410146101df5780632a3d428c146101ba575f5ffd5b806301ffc9a71461017d57806309264088146101a5575b5f5ffd5b61019061018b36600461274b565b610534565b60405190151581526020015b60405180910390f35b6101b86101b336600461278a565b6105cc565b005b6101d16101c83660046127bb565b60019392505050565b60405190815260200161019c565b6101b8610713565b6101b86101f536600461287a565b6107f3565b61020d610208366004612915565b610825565b60405161019c9190612930565b6101b8610228366004612972565b610874565b6101b861023b3660046129de565b6108a4565b6101b861024e366004612a8b565b6109a0565b610190610261366004612915565b610d5f565b6101b8610274366004612aca565b610d8a565b6101b8610287366004612a8b565b6112a2565b6103c561029a366004612b3b565b6040805160c0810182525f80825260208201819052918101829052606081018290526080810182905260a08101919091527fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb860073ffffffffffffffffffffffffffffffffffffffff8085165f90815260019283016020908152604080832063ffffffff88168452825291829020825160c081018452815481529481015491850191909152600201549182169083015264ffffffffff74010000000000000000000000000000000000000000820481166060840152790100000000000000000000000000000000000000000000000000820416608083015260ff7e0100000000000000000000000000000000000000000000000000000000000090910416151560a0820152905092915050565b60405161019c91905f60c082019050825182526020830151602083015273ffffffffffffffffffffffffffffffffffffffff604084015116604083015264ffffffffff606084015116606083015264ffffffffff608084015116608083015260a0830151151560a083015292915050565b6101b8610444366004612b6e565b61140a565b604080518082018252601f81527f746f776e732e737562736372697074696f6e2d6d6f64756c652e312e302e30006020820152905161019c9190612bd3565b6101d16203f48081565b6101d1603281565b6101b86104a8366004612915565b6114ff565b6104e66104bb366004612be5565b7fffffffff000000000000000000000000000000000000000000000000000000009695505050505050565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161019c565b6101d16201518081565b6101b861052f366004612915565b6115ed565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f46c0c1b40000000000000000000000000000000000000000000000000000000014806105c657507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b688000000000ab143c06466001036105f657805c156105ee57805f526004601cfd5b30815d61060b565b3081540361060757805f526004601cfd5b3081555b507fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb86006106438161063e6020850185612915565b6116d6565b610670576106707f59530ce90000000000000000000000000000000000000000000000000000000061170d565b6106f1600182015f6106856020860186612915565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8460200160208101906106d29190612b6e565b63ffffffff1663ffffffff1681526020019081526020015f2083611715565b50688000000000ab143c064660010361070b575f815d5050565b805550565b50565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff16610776576040517f77a399b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61079f7ff52cf66b00000000000000000000000000000000000000000000000000000000611dbf565b6107c87fab3e34c100000000000000000000000000000000000000000000000000000000611dbf565b6107f17f28171ad000000000000000000000000000000000000000000000000000000000611dbf565b565b61081c7fabbbbc730000000000000000000000000000000000000000000000000000000061170d565b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff81165f9081527fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb8602602052604090206060906105c690611f14565b61089d7fabbbbc730000000000000000000000000000000000000000000000000000000061170d565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff861630146108ea576108ea7f90467bf50000000000000000000000000000000000000000000000000000000061170d565b73ffffffffffffffffffffffffffffffffffffffff88165f9081527fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb86016020908152604080832063ffffffff8b1684529091529020600201547e01000000000000000000000000000000000000000000000000000000000000900460ff1680610995576109957fe01d33200000000000000000000000000000000000000000000000000000000061170d565b505050505050505050565b688000000000ab143c06466001036109ca57805c156109c257805f526004601cfd5b30815d6109df565b308154036109db57805f526004601cfd5b3081555b505f80806109ef84860186612c63565b9250925092506109fe82611f25565b6040517f6352211e00000000000000000000000000000000000000000000000000000000815260048101829052339073ffffffffffffffffffffffffffffffffffffffff841690636352211e90602401602060405180830381865afa158015610a69573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a8d9190612c8e565b73ffffffffffffffffffffffffffffffffffffffff1614610ad157610ad17ff107dccb0000000000000000000000000000000000000000000000000000000061170d565b6040517f17c957090000000000000000000000000000000000000000000000000000000081526004810182905282905f9073ffffffffffffffffffffffffffffffffffffffff8316906317c9570990602401602060405180830381865afa158015610b3e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b629190612ca9565b90505f7fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb8600335f908152600182016020908152604080832063ffffffff8b16845290915290206002810180547fff00ffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8916177e01000000000000000000000000000000000000000000000000000000000000179055858155909150610c1d6201518084612ced565b6002808301805464ffffffffff93909316790100000000000000000000000000000000000000000000000000027fffff0000000000ffffffffffffffffffffffffffffffffffffffffffffffffff90931692909217909155335f90815290830160205260409020610c979063ffffffff808a1690611f6916565b5060028101546040805187815279010000000000000000000000000000000000000000000000000090920464ffffffffff16602083015273ffffffffffffffffffffffffffffffffffffffff88169163ffffffff8a169133917f08720d091868d49076b0e5ce78e90cebcfc6eee115bcd31ebe88c341793075bf910160405180910390a450505050505050610d2a600190565b15610d4f57688000000000ab143c0646600103610d49575f815d505050565b80555050565b5f688000000000ab143c065d5050565b5f6105c67fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb860083611f74565b688000000000ab143c0646600103610db457805c15610dac57805f526004601cfd5b30815d610dc9565b30815403610dc557805f526004601cfd5b3081555b50806032811115610dfd57610dfd7f2efeb7010000000000000000000000000000000000000000000000000000000061170d565b805f03610e2d57610e2d7f8ac7f0550000000000000000000000000000000000000000000000000000000061170d565b7fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb86005f5b8281101561129757610e8482868684818110610e6e57610e6e612d00565b61063e9260206040909202019081019150612915565b610eb157610eb17f59530ce90000000000000000000000000000000000000000000000000000000061170d565b5f826001015f878785818110610ec957610ec9612d00565b610edf9260206040909202019081019150612915565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f878785818110610f2b57610f2b612d00565b9050604002016020016020810190610f439190612b6e565b63ffffffff16815260208101919091526040015f2060028101549091507e01000000000000000000000000000000000000000000000000000000000000900460ff1661106457858583818110610f9b57610f9b612d00565b9050604002016020016020810190610fb39190612b6e565b63ffffffff16868684818110610fcb57610fcb612d00565b610fe19260206040909202019081019150612915565b73ffffffffffffffffffffffffffffffffffffffff167f5db17eb6b69c9f0cf51e3b1f2c90a067a24697d427ba54c65f211120d3da7c056040516110569060208082526008908201527f494e414354495645000000000000000000000000000000000000000000000000604082015260600190565b60405180910390a35061128f565b6002810154790100000000000000000000000000000000000000000000000000900464ffffffffff16421015611161578585838181106110a6576110a6612d00565b90506040020160200160208101906110be9190612b6e565b63ffffffff168686848181106110d6576110d6612d00565b6110ec9260206040909202019081019150612915565b73ffffffffffffffffffffffffffffffffffffffff167f5db17eb6b69c9f0cf51e3b1f2c90a067a24697d427ba54c65f211120d3da7c056040516110569060208082526007908201527f4e4f545f44554500000000000000000000000000000000000000000000000000604082015260600190565b6002810154611198906203f48090790100000000000000000000000000000000000000000000000000900464ffffffffff16612d2d565b42111561126c578585838181106111b1576111b1612d00565b90506040020160200160208101906111c99190612b6e565b63ffffffff168686848181106111e1576111e1612d00565b6111f79260206040909202019081019150612915565b73ffffffffffffffffffffffffffffffffffffffff167f5db17eb6b69c9f0cf51e3b1f2c90a067a24697d427ba54c65f211120d3da7c05604051611056906020808252600a908201527f504153545f475241434500000000000000000000000000000000000000000000604082015260600190565b61128d8187878581811061128257611282612d00565b905060400201611715565b505b600101610e50565b505050610d2a600190565b688000000000ab143c06466001036112cc57805c156112c457805f526004601cfd5b30815d6112e1565b308154036112dd57805f526004601cfd5b3081555b505f6112ef82840184612b6e565b335f9081527fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb8602602052604090209091507fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb8600906113549063ffffffff8085169061204616565b611381576113817faacf701b0000000000000000000000000000000000000000000000000000000061170d565b335f81815260018084016020908152604080842063ffffffff88168086529252808420848155928301849055600290920180547fff0000000000000000000000000000000000000000000000000000000000000016905590519092917f48c4a5a219af3d077894cac7e6b26c5cdb83cf91d718428985a3f4a85e9ed45d91a35050610d2a600190565b335f9081527fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb86016020908152604080832063ffffffff85168452909152902060028101547e01000000000000000000000000000000000000000000000000000000000000900460ff1661149f5761149f7fe01d33200000000000000000000000000000000000000000000000000000000061170d565b6002810180547fff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16905560405163ffffffff83169033907fd01480b28a9baefd1cd771d8109d1abf2380614146253e17b61774b7b3fb77f1905f90a35050565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff163314611576576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b61157f81611f25565b6115a97fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb860082612051565b5060405173ffffffffffffffffffffffffffffffffffffffff8216907f5b6a420b639feabfb011a07742a6ae14ef72f35d1a330ed65f42216c95bc6c2e905f90a250565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff16331461165f576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161156d565b61166881611f25565b6116927fd241b3ceee256b40f80fe7a66fe789234ac389ed1408c472c4ee1cbb1deb8600826121d5565b5060405173ffffffffffffffffffffffffffffffffffffffff8216907fa5f3b7626fd86ff989f1d22cf3d41d74591ea6eb99241079400b0c332a9a8f11905f90a250565b5f3373ffffffffffffffffffffffffffffffffffffffff8316036116fc575060016105c6565b6117068333611f74565b9392505050565b805f5260045ffd5b60028201547e01000000000000000000000000000000000000000000000000000000000000900460ff1661176c5761176c7fe01d33200000000000000000000000000000000000000000000000000000000061170d565b6002820154790100000000000000000000000000000000000000000000000000900464ffffffffff164210156117c5576117c57fd1cf008c0000000000000000000000000000000000000000000000000000000061170d565b60028201546117fc906203f48090790100000000000000000000000000000000000000000000000000900464ffffffffff16612d2d565b421115611896576002820180547fff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16905561183d6040820160208301612b6e565b63ffffffff166118506020830183612915565b73ffffffffffffffffffffffffffffffffffffffff167fd01480b28a9baefd1cd771d8109d1abf2380614146253e17b61774b7b3fb77f160405160405180910390a35050565b600282015482546040517f5803909f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909216915f918391635803909f916118f69160040190815260200190565b602060405180830381865afa158015611911573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119359190612ca9565b9050806119456020850185612915565b73ffffffffffffffffffffffffffffffffffffffff1631101561198b5761198b7fc357cf730000000000000000000000000000000000000000000000000000000061170d565b83546040515f916119a29160240190815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f7c9669ac00000000000000000000000000000000000000000000000000000000179052600287015490519192505f91611a4b9173ffffffffffffffffffffffffffffffffffffffff169085908590602401612d40565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb61d27f6000000000000000000000000000000000000000000000000000000001790529192505f91611b1c91611ada91908901908901612b6e565b600289015489546040805173ffffffffffffffffffffffffffffffffffffffff9093166020840152820152606001604051602081830303815290604052612349565b90505f8282604051602401611b32929190612d7d565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff2680c0f00000000000000000000000000000000000000000000000000000000179052909150611bc390611bbc90890189612915565b5f83612375565b5087546040517f17c957090000000000000000000000000000000000000000000000000000000081525f9173ffffffffffffffffffffffffffffffffffffffff8916916317c9570991611c1c9160040190815260200190565b602060405180830381865afa158015611c37573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c5b9190612ca9565b9050611c6a6201518082612ced565b60028a0180547fffff00000000000000000000ffffffffffffffffffffffffffffffffffffffff1679010000000000000000000000000000000000000000000000000064ffffffffff938416027fffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffff1617740100000000000000000000000000000000000000004293909316929092029190911790556001890180548791905f90611d15908490612d2d565b90915550611d2b90506040890160208a01612b6e565b63ffffffff16611d3e60208a018a612915565b60028b015460405179010000000000000000000000000000000000000000000000000090910464ffffffffff16815273ffffffffffffffffffffffffffffffffffffffff91909116907f9303e8c36264aec4db05a9f75307a7936b625c753189351a713ff8559cf0f4fd9060200160405180910390a3505050505050505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff16611e93577fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b006020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055611ec5565b6040517ff2cfeefa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fffffffff000000000000000000000000000000000000000000000000000000008216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f22905f90a250565b60606105c6611f22836123c1565b90565b73ffffffffffffffffffffffffffffffffffffffff8116610710576107107fe6c4247b0000000000000000000000000000000000000000000000000000000061170d565b5f611706838361247a565b63978aab926004525f8281526024812073ffffffffffffffffffffffffffffffffffffffff92909216917fffffffffffffffffffffffffffffffffffffffffffffff04498025ad2b4047418301611fd25763f5a267f15f526004601cfd5b82611fe45768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff811661202d5760019250838160601c031561203e57600182015460601c841461203e57600282015460601c841461203e575b5f925061203e565b81602052835f5260405f2054151592505b505092915050565b5f611706838361258c565b63978aab926004525f8281526024812073ffffffffffffffffffffffffffffffffffffffff92909216917fffffffffffffffffffffffffffffffffffffffffffffff04498025ad2b40474183016120af5763f5a267f15f526004601cfd5b826120c15768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff81168260205280612188578160601c806120f4578560601b845560019450506121cc565b85810361210157506121cc565b600184015460601c80612122578660601b60018601556001955050506121cc565b8681036121305750506121cc565b600285015460601c80612152578760601b6002870155600196505050506121cc565b878103612161575050506121cc565b5f928352604080842060019055918352818320600290558252902060039055506007908117905b845f5260405f2080546121ca57600191821c8083018255919450816121b6578560601b6003178455506121cc565b8560601b82850155826002018455506121cc565b505b50505092915050565b63978aab926004525f8281526024812073ffffffffffffffffffffffffffffffffffffffff92909216917fffffffffffffffffffffffffffffffffffffffffffffff04498025ad2b40474183016122335763f5a267f15f526004601cfd5b826122455768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff8116806122c45760019350848260601c036122825760018301805484556002840180549091555f90556121cc565b84600184015460601c036122a35760028301805460018501555f90556121cc565b84600284015460601c036122bc575f60028401556121cc565b5f93506121cc565b82602052845f5260405f208054806122dd5750506121cc565b60018360011c03925082600182031461230d578285015460601c8060601b60018303870155805f52508060405f20555b5083547fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016600192831b1782179093555f909255509392505050565b6060611706835f846040516020016123619190612db8565b60405160208183030381529060405261268a565b60405181515f9038906020850186885af1612392573d5f823e3d81fd5b3d6123aa57833b6123aa57635a836a5f5f526004601cfd5b3d8152602081013d5f823e3d016040529392505050565b6318fb58646004525f81815260249020801954604051919068fbb67fda52d4bfb8bf90602084018161243a57835480156124345780841415028152600184810154909250801561243457808414150260208201526002848101549092508015612434576003925083811415810260408301525b50612465565b8160011c91505f5b8281101561246357848101548481141502600582901b830152600101612442565b505b8185528160051b810160405250505050919050565b6318fb58646004525f8281526024812068fbb67fda52d4bfb8bf83036124a75763f5a267f15f526004601cfd5b826124b95768fbb67fda52d4bfb8bf92505b801954816020528061255d578154806124d957848355600193505061203e565b8481036124e6575061203e565b6001830154806125015785600185015560019450505061203e565b85810361250f57505061203e565b60028401548061252b578660028601556001955050505061203e565b86810361253a5750505061203e565b5f9283526040808420600190559183528183206002905582529020600390555060075b835f5260405f2080546121cc57600191821c8381018690558083019182905590821b821783195590925061203e565b6318fb58646004525f8281526024812068fbb67fda52d4bfb8bf83036125b95763f5a267f15f526004601cfd5b826125cb5768fbb67fda52d4bfb8bf92505b8019548061262c5760019250838254036125f85760018201805483556002830180549091555f905561203e565b836001830154036126165760028201805460018401555f905561203e565b83600283015403612025575f600283015561203e565b81602052835f5260405f2080548061264557505061203e565b60018360011c03925082600182031461266f57828401548060018303860155805f52508060405f20555b5060018260011b178319555f81555060019250505092915050565b60605f8315612697576001175b6040517fff0000000000000000000000000000000000000000000000000000000000000060f883901b1660208201527fffffffff0000000000000000000000000000000000000000000000000000000060e087901b166021820152602501604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052612732918590602001612de9565b6040516020818303038152906040529150509392505050565b5f6020828403121561275b575f5ffd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611706575f5ffd5b5f604082840312801561279b575f5ffd5b509092915050565b803563ffffffff811681146127b6575f5ffd5b919050565b5f5f5f606084860312156127cd575f5ffd5b6127d6846127a3565b9250602084013567ffffffffffffffff8111156127f1575f5ffd5b84016101208187031215612803575f5ffd5b929592945050506040919091013590565b73ffffffffffffffffffffffffffffffffffffffff81168114610710575f5ffd5b5f5f83601f840112612845575f5ffd5b50813567ffffffffffffffff81111561285c575f5ffd5b602083019150836020828501011115612873575f5ffd5b9250929050565b5f5f5f5f5f5f5f60a0888a031215612890575f5ffd5b612899886127a3565b965060208801356128a981612814565b955060408801359450606088013567ffffffffffffffff8111156128cb575f5ffd5b6128d78a828b01612835565b909550935050608088013567ffffffffffffffff8111156128f6575f5ffd5b6129028a828b01612835565b989b979a50959850939692959293505050565b5f60208284031215612925575f5ffd5b813561170681612814565b602080825282518282018190525f918401906040840190835b81811015612967578351835260209384019390920191600101612949565b509095945050505050565b5f5f5f5f5f60808688031215612986575f5ffd5b61298f866127a3565b9450602086013561299f81612814565b935060408601359250606086013567ffffffffffffffff8111156129c1575f5ffd5b6129cd88828901612835565b969995985093965092949392505050565b5f5f5f5f5f5f5f5f60c0898b0312156129f5575f5ffd5b8835612a0081612814565b9750612a0e60208a016127a3565b96506040890135612a1e81612814565b955060608901359450608089013567ffffffffffffffff811115612a40575f5ffd5b612a4c8b828c01612835565b90955093505060a089013567ffffffffffffffff811115612a6b575f5ffd5b612a778b828c01612835565b999c989b5096995094979396929594505050565b5f5f60208385031215612a9c575f5ffd5b823567ffffffffffffffff811115612ab2575f5ffd5b612abe85828601612835565b90969095509350505050565b5f5f60208385031215612adb575f5ffd5b823567ffffffffffffffff811115612af1575f5ffd5b8301601f81018513612b01575f5ffd5b803567ffffffffffffffff811115612b17575f5ffd5b8560208260061b8401011115612b2b575f5ffd5b6020919091019590945092505050565b5f5f60408385031215612b4c575f5ffd5b8235612b5781612814565b9150612b65602084016127a3565b90509250929050565b5f60208284031215612b7e575f5ffd5b611706826127a3565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f6117066020830184612b87565b5f5f5f5f5f5f60a08789031215612bfa575f5ffd5b8635612c0581612814565b9550612c13602088016127a3565b94506040870135612c2381612814565b935060608701359250608087013567ffffffffffffffff811115612c45575f5ffd5b612c5189828a01612835565b979a9699509497509295939492505050565b5f5f5f60608486031215612c75575f5ffd5b612c7e846127a3565b9250602084013561280381612814565b5f60208284031215612c9e575f5ffd5b815161170681612814565b5f60208284031215612cb9575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b818103818111156105c6576105c6612cc0565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b808201808211156105c6576105c6612cc0565b73ffffffffffffffffffffffffffffffffffffffff84168152826020820152606060408201525f612d746060830184612b87565b95945050505050565b604081525f612d8f6040830185612b87565b8281036020840152612d748185612b87565b5f81518060208401855e5f93019283525090919050565b7fff0000000000000000000000000000000000000000000000000000000000000081525f6117066001830184612da1565b5f612dfd612df78386612da1565b84612da1565b94935050505056";
900
950
 
901
951
  type SubscriptionModuleFacetConstructorParams =
902
952
  | [signer?: Signer]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@towns-protocol/generated",
3
- "version": "0.0.337",
3
+ "version": "0.0.339",
4
4
  "packageManager": "yarn@3.8.0",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -9,6 +9,9 @@
9
9
  "preinstall": "node ./scripts/make-config.js",
10
10
  "prepare": "node ./scripts/prepare.js"
11
11
  },
12
+ "devDependencies": {
13
+ "@towns-protocol/contracts": "^0.0.339"
14
+ },
12
15
  "files": [
13
16
  "config/**/*",
14
17
  "deployments/**/*",
@@ -26,5 +29,5 @@
26
29
  "publishConfig": {
27
30
  "access": "public"
28
31
  },
29
- "gitHead": "a8dae6ecef2c3bc7713acf56e6738fd47d608482"
32
+ "gitHead": "0ad93e42f93eba4356839b148fa166a818cd0f9d"
30
33
  }
@@ -61,7 +61,12 @@ function convertToEnv(data, prefix = '') {
61
61
  return envContent;
62
62
  }
63
63
 
64
-
64
+ function makeEnvFile(key, outputData, fileName, keyPrefix = '') {
65
+ const envFile = path.join(deploymentsSourceDir, key, fileName);
66
+ const data = outputData[key];
67
+ const envData = convertToEnv(data, keyPrefix);
68
+ fs.writeFileSync(envFile, `${keyPrefix}RIVER_ENV=${key}\n${envData}`);
69
+ }
65
70
 
66
71
  const outputData = combineJson(deploymentsSourceDir);
67
72
 
@@ -69,10 +74,8 @@ const outputData = combineJson(deploymentsSourceDir);
69
74
  // for each top level key in outputData, write a .env file in the deployments/<key> folder
70
75
  // with all keys in the json converted to UPPER SNAKE CASE
71
76
  for (const key of Object.keys(outputData)) {
72
- const envFile = path.join(deploymentsSourceDir, key, '.env');
73
- const data = outputData[key];
74
- const envData = convertToEnv(data);
75
- fs.writeFileSync(envFile, `RIVER_ENV=${key}\n${envData}`);
77
+ makeEnvFile(key, outputData, '.env', '')
78
+ makeEnvFile(key, outputData, '.env.vite', 'VITE_')
76
79
  }
77
80
 
78
81
  // write a config.json file