@gearbox-protocol/sdk 13.6.0-kyc.7 → 13.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/dev/AccountOpener.js +5 -45
- package/dist/cjs/dev/logSplitterTransport.js +10 -1
- package/dist/cjs/plugins/adapters/abi/actionAbi.js +1 -1
- package/dist/cjs/plugins/adapters/abi/conctructorAbi.js +1 -1
- package/dist/cjs/plugins/adapters/createAdapter.js +1 -1
- package/dist/cjs/plugins/adapters/types.js +1 -1
- package/dist/cjs/plugins/apy/ApyPlugin.js +266 -0
- package/dist/cjs/plugins/apy/apy-cache.js +120 -0
- package/dist/cjs/plugins/apy/apy-parser.js +169 -0
- package/dist/cjs/{sdk/market/kyc/securitize → plugins/apy}/constants.js +6 -3
- package/dist/cjs/{sdk/market/kyc/securitize → plugins/apy}/index.js +14 -6
- package/dist/cjs/{sdk/market/kyc/securitize/types.js → plugins/apy/pool-apy-types.js} +2 -2
- package/dist/cjs/plugins/apy/pool-apy-utils.js +141 -0
- package/dist/cjs/rewards/rewards/extra-apy.js +10 -8
- package/dist/cjs/sdk/GearboxSDK.js +5 -52
- package/dist/cjs/sdk/accounts/AbstractCreditAccountsService.js +16 -324
- package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +1 -7
- package/dist/cjs/sdk/base/TokensMeta.js +43 -32
- package/dist/cjs/sdk/base/token-types.js +0 -9
- package/dist/cjs/sdk/chain/chains.js +32 -17
- package/dist/cjs/sdk/constants/address-provider.js +0 -3
- package/dist/cjs/sdk/market/MarketRegister.js +116 -70
- package/dist/cjs/sdk/market/MarketSuite.js +0 -3
- package/dist/cjs/sdk/market/index.js +0 -2
- package/dist/cjs/sdk/market/pool/PoolSuite.js +0 -3
- package/dist/cjs/sdk/market/pool/PoolV310Contract.js +2 -11
- package/dist/cjs/sdk/market/pool/index.js +0 -2
- package/dist/cjs/sdk/market/pricefeeds/PriceFeedsRegister.js +3 -3
- package/dist/cjs/sdk/options.js +1 -7
- package/dist/cjs/sdk/pools/PoolService.js +12 -104
- package/dist/cjs/sdk/utils/viem/index.js +0 -2
- package/dist/cjs/sdk/utils/viem/simulateWithPriceUpdates.js +39 -2
- package/dist/esm/dev/AccountOpener.js +6 -47
- package/dist/esm/dev/logSplitterTransport.js +10 -1
- package/dist/esm/plugins/adapters/abi/actionAbi.js +1 -1
- package/dist/esm/plugins/adapters/abi/conctructorAbi.js +1 -1
- package/dist/esm/plugins/adapters/createAdapter.js +1 -1
- package/dist/esm/plugins/adapters/types.js +1 -1
- package/dist/esm/plugins/apy/ApyPlugin.js +255 -0
- package/dist/esm/plugins/apy/apy-cache.js +86 -0
- package/dist/esm/plugins/apy/apy-parser.js +143 -0
- package/dist/esm/plugins/apy/constants.js +6 -0
- package/dist/esm/plugins/apy/index.js +7 -0
- package/dist/esm/plugins/apy/pool-apy-utils.js +113 -0
- package/dist/esm/rewards/rewards/extra-apy.js +10 -8
- package/dist/esm/sdk/GearboxSDK.js +6 -56
- package/dist/esm/sdk/accounts/AbstractCreditAccountsService.js +17 -328
- package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +1 -7
- package/dist/esm/sdk/base/TokensMeta.js +45 -32
- package/dist/esm/sdk/base/token-types.js +0 -6
- package/dist/esm/sdk/chain/chains.js +32 -17
- package/dist/esm/sdk/constants/address-provider.js +0 -2
- package/dist/esm/sdk/market/MarketRegister.js +118 -74
- package/dist/esm/sdk/market/MarketSuite.js +0 -3
- package/dist/esm/sdk/market/index.js +0 -1
- package/dist/esm/sdk/market/pool/PoolSuite.js +0 -3
- package/dist/esm/sdk/market/pool/PoolV310Contract.js +2 -11
- package/dist/esm/sdk/market/pool/index.js +0 -1
- package/dist/esm/sdk/market/pricefeeds/PriceFeedsRegister.js +3 -3
- package/dist/esm/sdk/options.js +1 -7
- package/dist/esm/sdk/pools/PoolService.js +13 -109
- package/dist/esm/sdk/utils/viem/index.js +0 -1
- package/dist/esm/sdk/utils/viem/simulateWithPriceUpdates.js +41 -2
- package/dist/types/dev/logSplitterTransport.d.ts +3 -1
- package/dist/types/plugins/adapters/types.d.ts +2 -2
- package/dist/types/plugins/apy/ApyPlugin.d.ts +46 -0
- package/dist/types/plugins/apy/apy-cache.d.ts +28 -0
- package/dist/types/plugins/apy/apy-parser.d.ts +5 -0
- package/dist/types/plugins/apy/constants.d.ts +2 -0
- package/dist/types/plugins/apy/index.d.ts +7 -0
- package/dist/types/plugins/apy/pool-apy-types.d.ts +41 -0
- package/dist/types/plugins/apy/pool-apy-utils.d.ts +73 -0
- package/dist/types/plugins/apy/types.d.ts +37 -0
- package/dist/types/rewards/rewards/api.d.ts +10 -1
- package/dist/types/rewards/rewards/common.d.ts +0 -10
- package/dist/types/rewards/rewards/extra-apy.d.ts +4 -6
- package/dist/types/sdk/GearboxSDK.d.ts +0 -7
- package/dist/types/sdk/accounts/AbstractCreditAccountsService.d.ts +2 -52
- package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +1 -1
- package/dist/types/sdk/accounts/types.d.ts +13 -93
- package/dist/types/sdk/base/TokensMeta.d.ts +3 -14
- package/dist/types/sdk/base/token-types.d.ts +4 -44
- package/dist/types/sdk/base/types.d.ts +11 -116
- package/dist/types/sdk/chain/chains.d.ts +5 -5
- package/dist/types/sdk/constants/address-provider.d.ts +0 -1
- package/dist/types/sdk/market/MarketRegister.d.ts +9 -6
- package/dist/types/sdk/market/MarketSuite.d.ts +0 -2
- package/dist/types/sdk/market/index.d.ts +0 -1
- package/dist/types/sdk/market/oracle/PriceOracleBaseContract.d.ts +2 -3
- package/dist/types/sdk/market/oracle/types.d.ts +10 -3
- package/dist/types/sdk/market/pool/PoolSuite.d.ts +0 -2
- package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +2 -6
- package/dist/types/sdk/market/pool/index.d.ts +0 -1
- package/dist/types/sdk/market/pricefeeds/PriceFeedsRegister.d.ts +1 -1
- package/dist/types/sdk/market/types.d.ts +1 -1
- package/dist/types/sdk/options.d.ts +0 -1
- package/dist/types/sdk/pools/PoolService.d.ts +8 -8
- package/dist/types/sdk/pools/types.d.ts +1 -1
- package/dist/types/sdk/types/state-human.d.ts +0 -2
- package/dist/types/sdk/types/state.d.ts +0 -5
- package/dist/types/sdk/utils/viem/index.d.ts +0 -1
- package/package.json +2 -3
- package/dist/cjs/abi/kyc/iDSRegistryService.js +0 -70
- package/dist/cjs/abi/kyc/iDSToken.js +0 -71
- package/dist/cjs/abi/kyc/iKYCCompressor.js +0 -196
- package/dist/cjs/abi/kyc/iKYCFactory.js +0 -122
- package/dist/cjs/abi/kyc/iKYCUnderlying.js +0 -401
- package/dist/cjs/abi/kyc/iSecuritizeDegenNFT.js +0 -326
- package/dist/cjs/abi/kyc/iSecuritizeKYCFactory.js +0 -319
- package/dist/cjs/plugins/pools-history/Pools7DAgoPlugin.js +0 -108
- package/dist/cjs/plugins/pools-history/index.js +0 -24
- package/dist/cjs/sdk/market/kyc/KYCRegistry.js +0 -269
- package/dist/cjs/sdk/market/kyc/index.js +0 -26
- package/dist/cjs/sdk/market/kyc/securitize/SecuritizeKYCFactory.js +0 -244
- package/dist/cjs/sdk/market/kyc/types.js +0 -34
- package/dist/cjs/sdk/utils/viem/executeDelegatedMulticalls.js +0 -38
- package/dist/esm/abi/kyc/iDSRegistryService.js +0 -46
- package/dist/esm/abi/kyc/iDSToken.js +0 -47
- package/dist/esm/abi/kyc/iKYCCompressor.js +0 -172
- package/dist/esm/abi/kyc/iKYCFactory.js +0 -98
- package/dist/esm/abi/kyc/iKYCUnderlying.js +0 -377
- package/dist/esm/abi/kyc/iSecuritizeDegenNFT.js +0 -302
- package/dist/esm/abi/kyc/iSecuritizeKYCFactory.js +0 -295
- package/dist/esm/plugins/pools-history/Pools7DAgoPlugin.js +0 -90
- package/dist/esm/plugins/pools-history/index.js +0 -2
- package/dist/esm/sdk/market/kyc/KYCRegistry.js +0 -253
- package/dist/esm/sdk/market/kyc/index.js +0 -3
- package/dist/esm/sdk/market/kyc/securitize/SecuritizeKYCFactory.js +0 -220
- package/dist/esm/sdk/market/kyc/securitize/constants.js +0 -4
- package/dist/esm/sdk/market/kyc/securitize/index.js +0 -3
- package/dist/esm/sdk/market/kyc/types.js +0 -9
- package/dist/esm/sdk/utils/viem/executeDelegatedMulticalls.js +0 -14
- package/dist/types/abi/kyc/iDSRegistryService.d.ts +0 -71
- package/dist/types/abi/kyc/iDSToken.d.ts +0 -67
- package/dist/types/abi/kyc/iKYCCompressor.d.ts +0 -228
- package/dist/types/abi/kyc/iKYCFactory.d.ts +0 -139
- package/dist/types/abi/kyc/iKYCUnderlying.d.ts +0 -548
- package/dist/types/abi/kyc/iSecuritizeDegenNFT.d.ts +0 -404
- package/dist/types/abi/kyc/iSecuritizeKYCFactory.d.ts +0 -376
- package/dist/types/plugins/pools-history/Pools7DAgoPlugin.d.ts +0 -20
- package/dist/types/plugins/pools-history/index.d.ts +0 -2
- package/dist/types/plugins/pools-history/types.d.ts +0 -9
- package/dist/types/sdk/market/kyc/KYCRegistry.d.ts +0 -52
- package/dist/types/sdk/market/kyc/index.d.ts +0 -3
- package/dist/types/sdk/market/kyc/securitize/SecuritizeKYCFactory.d.ts +0 -428
- package/dist/types/sdk/market/kyc/securitize/constants.d.ts +0 -1
- package/dist/types/sdk/market/kyc/securitize/index.d.ts +0 -3
- package/dist/types/sdk/market/kyc/securitize/types.d.ts +0 -127
- package/dist/types/sdk/market/kyc/types.d.ts +0 -170
- package/dist/types/sdk/utils/viem/executeDelegatedMulticalls.d.ts +0 -28
- /package/dist/cjs/plugins/{pools-history → apy}/package.json +0 -0
- /package/dist/cjs/plugins/{pools-history → apy}/types.js +0 -0
- /package/dist/esm/plugins/{pools-history → apy}/package.json +0 -0
- /package/dist/esm/plugins/{pools-history/types.js → apy/pool-apy-types.js} +0 -0
- /package/dist/esm/{sdk/market/kyc/securitize → plugins/apy}/types.js +0 -0
|
@@ -1,295 +0,0 @@
|
|
|
1
|
-
const iSecuritizeKYCFactoryAbi = [
|
|
2
|
-
{
|
|
3
|
-
type: "function",
|
|
4
|
-
name: "contractType",
|
|
5
|
-
inputs: [],
|
|
6
|
-
outputs: [{ name: "", type: "bytes32", internalType: "bytes32" }],
|
|
7
|
-
stateMutability: "view"
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
type: "function",
|
|
11
|
-
name: "getCreditAccounts",
|
|
12
|
-
inputs: [{ name: "investor", type: "address", internalType: "address" }],
|
|
13
|
-
outputs: [{ name: "", type: "address[]", internalType: "address[]" }],
|
|
14
|
-
stateMutability: "view"
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
type: "function",
|
|
18
|
-
name: "getDegenNFT",
|
|
19
|
-
inputs: [],
|
|
20
|
-
outputs: [{ name: "", type: "address", internalType: "address" }],
|
|
21
|
-
stateMutability: "view"
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
type: "function",
|
|
25
|
-
name: "getInvestor",
|
|
26
|
-
inputs: [
|
|
27
|
-
{ name: "creditAccount", type: "address", internalType: "address" }
|
|
28
|
-
],
|
|
29
|
-
outputs: [{ name: "", type: "address", internalType: "address" }],
|
|
30
|
-
stateMutability: "view"
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
type: "function",
|
|
34
|
-
name: "getTokens",
|
|
35
|
-
inputs: [],
|
|
36
|
-
outputs: [{ name: "", type: "address[]", internalType: "address[]" }],
|
|
37
|
-
stateMutability: "view"
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
type: "function",
|
|
41
|
-
name: "getWallet",
|
|
42
|
-
inputs: [
|
|
43
|
-
{ name: "creditAccount", type: "address", internalType: "address" }
|
|
44
|
-
],
|
|
45
|
-
outputs: [{ name: "", type: "address", internalType: "address" }],
|
|
46
|
-
stateMutability: "view"
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
type: "function",
|
|
50
|
-
name: "isCreditAccount",
|
|
51
|
-
inputs: [
|
|
52
|
-
{ name: "creditAccount", type: "address", internalType: "address" }
|
|
53
|
-
],
|
|
54
|
-
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
55
|
-
stateMutability: "view"
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
type: "function",
|
|
59
|
-
name: "isFrozen",
|
|
60
|
-
inputs: [
|
|
61
|
-
{ name: "creditAccount", type: "address", internalType: "address" }
|
|
62
|
-
],
|
|
63
|
-
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
64
|
-
stateMutability: "view"
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
type: "function",
|
|
68
|
-
name: "multicall",
|
|
69
|
-
inputs: [
|
|
70
|
-
{ name: "creditAccount", type: "address", internalType: "address" },
|
|
71
|
-
{
|
|
72
|
-
name: "calls",
|
|
73
|
-
type: "tuple[]",
|
|
74
|
-
internalType: "struct MultiCall[]",
|
|
75
|
-
components: [
|
|
76
|
-
{ name: "target", type: "address", internalType: "address" },
|
|
77
|
-
{ name: "callData", type: "bytes", internalType: "bytes" }
|
|
78
|
-
]
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
name: "tokensToRegister",
|
|
82
|
-
type: "address[]",
|
|
83
|
-
internalType: "address[]"
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
name: "signaturesToCache",
|
|
87
|
-
type: "tuple[]",
|
|
88
|
-
internalType: "struct ISecuritizeDegenNFT.RegisterMessage[]",
|
|
89
|
-
components: [
|
|
90
|
-
{ name: "token", type: "address", internalType: "address" },
|
|
91
|
-
{
|
|
92
|
-
name: "signature",
|
|
93
|
-
type: "tuple",
|
|
94
|
-
internalType: "struct ISecuritizeDegenNFT.Signature",
|
|
95
|
-
components: [
|
|
96
|
-
{ name: "deadline", type: "uint256", internalType: "uint256" },
|
|
97
|
-
{ name: "signature", type: "bytes", internalType: "bytes" }
|
|
98
|
-
]
|
|
99
|
-
}
|
|
100
|
-
]
|
|
101
|
-
}
|
|
102
|
-
],
|
|
103
|
-
outputs: [],
|
|
104
|
-
stateMutability: "nonpayable"
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
type: "function",
|
|
108
|
-
name: "openCreditAccount",
|
|
109
|
-
inputs: [
|
|
110
|
-
{ name: "creditManager", type: "address", internalType: "address" },
|
|
111
|
-
{
|
|
112
|
-
name: "calls",
|
|
113
|
-
type: "tuple[]",
|
|
114
|
-
internalType: "struct MultiCall[]",
|
|
115
|
-
components: [
|
|
116
|
-
{ name: "target", type: "address", internalType: "address" },
|
|
117
|
-
{ name: "callData", type: "bytes", internalType: "bytes" }
|
|
118
|
-
]
|
|
119
|
-
},
|
|
120
|
-
{
|
|
121
|
-
name: "tokensToRegister",
|
|
122
|
-
type: "address[]",
|
|
123
|
-
internalType: "address[]"
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
name: "signaturesToCache",
|
|
127
|
-
type: "tuple[]",
|
|
128
|
-
internalType: "struct ISecuritizeDegenNFT.RegisterMessage[]",
|
|
129
|
-
components: [
|
|
130
|
-
{ name: "token", type: "address", internalType: "address" },
|
|
131
|
-
{
|
|
132
|
-
name: "signature",
|
|
133
|
-
type: "tuple",
|
|
134
|
-
internalType: "struct ISecuritizeDegenNFT.Signature",
|
|
135
|
-
components: [
|
|
136
|
-
{ name: "deadline", type: "uint256", internalType: "uint256" },
|
|
137
|
-
{ name: "signature", type: "bytes", internalType: "bytes" }
|
|
138
|
-
]
|
|
139
|
-
}
|
|
140
|
-
]
|
|
141
|
-
}
|
|
142
|
-
],
|
|
143
|
-
outputs: [
|
|
144
|
-
{ name: "creditAccount", type: "address", internalType: "address" },
|
|
145
|
-
{ name: "wallet", type: "address", internalType: "address" }
|
|
146
|
-
],
|
|
147
|
-
stateMutability: "nonpayable"
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
type: "function",
|
|
151
|
-
name: "precomputeWalletAddress",
|
|
152
|
-
inputs: [
|
|
153
|
-
{ name: "creditManager", type: "address", internalType: "address" },
|
|
154
|
-
{ name: "investor", type: "address", internalType: "address" }
|
|
155
|
-
],
|
|
156
|
-
outputs: [{ name: "", type: "address", internalType: "address" }],
|
|
157
|
-
stateMutability: "view"
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
type: "function",
|
|
161
|
-
name: "serialize",
|
|
162
|
-
inputs: [],
|
|
163
|
-
outputs: [{ name: "serializedData", type: "bytes", internalType: "bytes" }],
|
|
164
|
-
stateMutability: "view"
|
|
165
|
-
},
|
|
166
|
-
{
|
|
167
|
-
type: "function",
|
|
168
|
-
name: "setFrozenStatus",
|
|
169
|
-
inputs: [
|
|
170
|
-
{ name: "creditAccount", type: "address", internalType: "address" },
|
|
171
|
-
{ name: "frozen", type: "bool", internalType: "bool" }
|
|
172
|
-
],
|
|
173
|
-
outputs: [],
|
|
174
|
-
stateMutability: "nonpayable"
|
|
175
|
-
},
|
|
176
|
-
{
|
|
177
|
-
type: "function",
|
|
178
|
-
name: "setInvestor",
|
|
179
|
-
inputs: [
|
|
180
|
-
{ name: "creditAccount", type: "address", internalType: "address" },
|
|
181
|
-
{ name: "investor", type: "address", internalType: "address" }
|
|
182
|
-
],
|
|
183
|
-
outputs: [],
|
|
184
|
-
stateMutability: "nonpayable"
|
|
185
|
-
},
|
|
186
|
-
{
|
|
187
|
-
type: "function",
|
|
188
|
-
name: "version",
|
|
189
|
-
inputs: [],
|
|
190
|
-
outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
|
|
191
|
-
stateMutability: "view"
|
|
192
|
-
},
|
|
193
|
-
{
|
|
194
|
-
type: "event",
|
|
195
|
-
name: "CreateWallet",
|
|
196
|
-
inputs: [
|
|
197
|
-
{
|
|
198
|
-
name: "creditAccount",
|
|
199
|
-
type: "address",
|
|
200
|
-
indexed: true,
|
|
201
|
-
internalType: "address"
|
|
202
|
-
},
|
|
203
|
-
{
|
|
204
|
-
name: "wallet",
|
|
205
|
-
type: "address",
|
|
206
|
-
indexed: true,
|
|
207
|
-
internalType: "address"
|
|
208
|
-
},
|
|
209
|
-
{
|
|
210
|
-
name: "investor",
|
|
211
|
-
type: "address",
|
|
212
|
-
indexed: true,
|
|
213
|
-
internalType: "address"
|
|
214
|
-
}
|
|
215
|
-
],
|
|
216
|
-
anonymous: false
|
|
217
|
-
},
|
|
218
|
-
{
|
|
219
|
-
type: "event",
|
|
220
|
-
name: "SetFrozenStatus",
|
|
221
|
-
inputs: [
|
|
222
|
-
{
|
|
223
|
-
name: "creditAccount",
|
|
224
|
-
type: "address",
|
|
225
|
-
indexed: true,
|
|
226
|
-
internalType: "address"
|
|
227
|
-
},
|
|
228
|
-
{ name: "frozen", type: "bool", indexed: false, internalType: "bool" }
|
|
229
|
-
],
|
|
230
|
-
anonymous: false
|
|
231
|
-
},
|
|
232
|
-
{
|
|
233
|
-
type: "event",
|
|
234
|
-
name: "SetInvestor",
|
|
235
|
-
inputs: [
|
|
236
|
-
{
|
|
237
|
-
name: "creditAccount",
|
|
238
|
-
type: "address",
|
|
239
|
-
indexed: true,
|
|
240
|
-
internalType: "address"
|
|
241
|
-
},
|
|
242
|
-
{
|
|
243
|
-
name: "oldInvestor",
|
|
244
|
-
type: "address",
|
|
245
|
-
indexed: true,
|
|
246
|
-
internalType: "address"
|
|
247
|
-
},
|
|
248
|
-
{
|
|
249
|
-
name: "newInvestor",
|
|
250
|
-
type: "address",
|
|
251
|
-
indexed: true,
|
|
252
|
-
internalType: "address"
|
|
253
|
-
}
|
|
254
|
-
],
|
|
255
|
-
anonymous: false
|
|
256
|
-
},
|
|
257
|
-
{
|
|
258
|
-
type: "error",
|
|
259
|
-
name: "CallerIsNotInvestorException",
|
|
260
|
-
inputs: [
|
|
261
|
-
{ name: "caller", type: "address", internalType: "address" },
|
|
262
|
-
{ name: "creditAccount", type: "address", internalType: "address" }
|
|
263
|
-
]
|
|
264
|
-
},
|
|
265
|
-
{
|
|
266
|
-
type: "error",
|
|
267
|
-
name: "FrozenCreditAccountException",
|
|
268
|
-
inputs: [
|
|
269
|
-
{ name: "creditAccount", type: "address", internalType: "address" }
|
|
270
|
-
]
|
|
271
|
-
},
|
|
272
|
-
{
|
|
273
|
-
type: "error",
|
|
274
|
-
name: "InvalidCreditManagerException",
|
|
275
|
-
inputs: [
|
|
276
|
-
{ name: "creditManager", type: "address", internalType: "address" }
|
|
277
|
-
]
|
|
278
|
-
},
|
|
279
|
-
{
|
|
280
|
-
type: "error",
|
|
281
|
-
name: "InvalidUnderlyingTokenException",
|
|
282
|
-
inputs: [{ name: "underlying", type: "address", internalType: "address" }]
|
|
283
|
-
},
|
|
284
|
-
{
|
|
285
|
-
type: "error",
|
|
286
|
-
name: "UnknownCreditAccountException",
|
|
287
|
-
inputs: [
|
|
288
|
-
{ name: "creditAccount", type: "address", internalType: "address" }
|
|
289
|
-
]
|
|
290
|
-
},
|
|
291
|
-
{ type: "error", name: "ZeroAddressException", inputs: [] }
|
|
292
|
-
];
|
|
293
|
-
export {
|
|
294
|
-
iSecuritizeKYCFactoryAbi
|
|
295
|
-
};
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { marketCompressorAbi } from "../../abi/compressors/marketCompressor.js";
|
|
2
|
-
import {
|
|
3
|
-
AddressMap,
|
|
4
|
-
AP_MARKET_COMPRESSOR,
|
|
5
|
-
BasePlugin,
|
|
6
|
-
BLOCKS_PER_WEEK_BY_NETWORK,
|
|
7
|
-
VERSION_RANGE_310
|
|
8
|
-
} from "../../sdk/index.js";
|
|
9
|
-
const MAP_LABEL = "pools7DAgo";
|
|
10
|
-
class Pools7DAgoPlugin extends BasePlugin {
|
|
11
|
-
#pools7DAgo;
|
|
12
|
-
async load(force) {
|
|
13
|
-
if (!force && this.loaded) {
|
|
14
|
-
return this.state;
|
|
15
|
-
}
|
|
16
|
-
const targetBlock = this.sdk.currentBlock - BLOCKS_PER_WEEK_BY_NETWORK[this.sdk.networkType];
|
|
17
|
-
const [marketCompressorAddress] = this.sdk.addressProvider.mustGetLatest(
|
|
18
|
-
AP_MARKET_COMPRESSOR,
|
|
19
|
-
VERSION_RANGE_310
|
|
20
|
-
);
|
|
21
|
-
this.sdk.logger?.debug(
|
|
22
|
-
`loading pools 7d ago with market compressor ${marketCompressorAddress}`
|
|
23
|
-
);
|
|
24
|
-
const markets = this.sdk.marketRegister.markets;
|
|
25
|
-
const resp = await this.client.multicall({
|
|
26
|
-
allowFailure: true,
|
|
27
|
-
contracts: markets.map(
|
|
28
|
-
(m) => ({
|
|
29
|
-
address: marketCompressorAddress,
|
|
30
|
-
abi: marketCompressorAbi,
|
|
31
|
-
functionName: "getPoolState",
|
|
32
|
-
args: [m.pool.pool.address]
|
|
33
|
-
})
|
|
34
|
-
),
|
|
35
|
-
blockNumber: targetBlock > 0n ? targetBlock : void 0,
|
|
36
|
-
batchSize: 0
|
|
37
|
-
});
|
|
38
|
-
this.#pools7DAgo = new AddressMap(void 0, MAP_LABEL);
|
|
39
|
-
resp.forEach((r, index) => {
|
|
40
|
-
const m = markets[index];
|
|
41
|
-
const cfg = m.configurator.address;
|
|
42
|
-
const pool = m.pool.pool.address;
|
|
43
|
-
if (r.status === "success") {
|
|
44
|
-
this.#pools7DAgo?.upsert(m.pool.pool.address, {
|
|
45
|
-
dieselRate: r.result.dieselRate,
|
|
46
|
-
pool
|
|
47
|
-
});
|
|
48
|
-
} else {
|
|
49
|
-
this.sdk.logger?.error(
|
|
50
|
-
`failed to load pools 7d ago for market configurator ${this.labelAddress(cfg)} and pool ${this.labelAddress(pool)}: ${r.error}`
|
|
51
|
-
);
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
return this.state;
|
|
55
|
-
}
|
|
56
|
-
get loaded() {
|
|
57
|
-
return !!this.#pools7DAgo;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Returns a map of pool addresses to minified pool 7d ago state
|
|
61
|
-
* @throws if pool 7d ago plugin is not attached
|
|
62
|
-
*/
|
|
63
|
-
get pools7DAgo() {
|
|
64
|
-
if (!this.#pools7DAgo) {
|
|
65
|
-
throw new Error("pools 7d ago plugin not attached");
|
|
66
|
-
}
|
|
67
|
-
return this.#pools7DAgo;
|
|
68
|
-
}
|
|
69
|
-
stateHuman(_) {
|
|
70
|
-
return this.pools7DAgo.values().flatMap((p) => ({
|
|
71
|
-
address: p.pool,
|
|
72
|
-
version: this.version,
|
|
73
|
-
dieselRate: p.dieselRate
|
|
74
|
-
}));
|
|
75
|
-
}
|
|
76
|
-
get state() {
|
|
77
|
-
return {
|
|
78
|
-
pools7DAgo: this.pools7DAgo.asRecord()
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
hydrate(state) {
|
|
82
|
-
this.#pools7DAgo = new AddressMap(
|
|
83
|
-
Object.entries(state.pools7DAgo),
|
|
84
|
-
MAP_LABEL
|
|
85
|
-
);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
export {
|
|
89
|
-
Pools7DAgoPlugin
|
|
90
|
-
};
|
|
@@ -1,253 +0,0 @@
|
|
|
1
|
-
import { decodeAbiParameters } from "viem";
|
|
2
|
-
import { iKYCCompressorAbi } from "../../../abi/kyc/iKYCCompressor.js";
|
|
3
|
-
import {
|
|
4
|
-
KYC_ON_DEMAND_LP_MONOPOLIZED,
|
|
5
|
-
KYC_UNDERLYING_DEFAULT,
|
|
6
|
-
KYC_UNDERLYING_ON_DEMAND,
|
|
7
|
-
SDKConstruct
|
|
8
|
-
} from "../../base/index.js";
|
|
9
|
-
import { AP_KYC_COMPRESSOR, VERSION_RANGE_310 } from "../../constants/index.js";
|
|
10
|
-
import { AddressMap, bytes32ToString } from "../../utils/index.js";
|
|
11
|
-
import {
|
|
12
|
-
KYC_FACTORY_SECURITIZE,
|
|
13
|
-
SecuritizeKYCFactory
|
|
14
|
-
} from "./securitize/index.js";
|
|
15
|
-
class KYCRegistry extends SDKConstruct {
|
|
16
|
-
#state;
|
|
17
|
-
#factories = new AddressMap();
|
|
18
|
-
/**
|
|
19
|
-
* @internal
|
|
20
|
-
*
|
|
21
|
-
* Returns delegated multicalls for loading all KYC underlying tokens from the on-chain KYC compressor.
|
|
22
|
-
* Used by the SDK to compose batched RPC calls.
|
|
23
|
-
*
|
|
24
|
-
* @param configurators - Market configurators to query.
|
|
25
|
-
* @param kycFactories - KYC factory contracts to query.
|
|
26
|
-
*/
|
|
27
|
-
getLoadMulticalls(configurators, kycFactories = []) {
|
|
28
|
-
if (!kycFactories.length) return [];
|
|
29
|
-
const [kycCompressorAddress] = this.sdk.addressProvider.mustGetLatest(
|
|
30
|
-
AP_KYC_COMPRESSOR,
|
|
31
|
-
VERSION_RANGE_310
|
|
32
|
-
);
|
|
33
|
-
return [
|
|
34
|
-
{
|
|
35
|
-
call: {
|
|
36
|
-
abi: iKYCCompressorAbi,
|
|
37
|
-
address: kycCompressorAddress,
|
|
38
|
-
functionName: "getKYCMarketsData",
|
|
39
|
-
args: [configurators, kycFactories]
|
|
40
|
-
},
|
|
41
|
-
onResult: (resp) => this.setState(resp)
|
|
42
|
-
}
|
|
43
|
-
];
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Fetches decoded investor data from the on-chain KYC compressor.
|
|
47
|
-
*
|
|
48
|
-
* Each factory produces its own investor data (e.g. registered tokens,
|
|
49
|
-
* cached signatures, EIP-712 messages to sign).
|
|
50
|
-
*
|
|
51
|
-
* @param investor - Investor EOA address.
|
|
52
|
-
* @param factories_ - Optional subset of factory addresses to query.
|
|
53
|
-
* When omitted, all loaded factories are used.
|
|
54
|
-
*/
|
|
55
|
-
async getInvestorData(investor, factories_) {
|
|
56
|
-
const [kycCompressorAddress] = this.sdk.addressProvider.mustGetLatest(
|
|
57
|
-
AP_KYC_COMPRESSOR,
|
|
58
|
-
VERSION_RANGE_310
|
|
59
|
-
);
|
|
60
|
-
let factories = this.#factories.values();
|
|
61
|
-
if (factories_?.length) {
|
|
62
|
-
factories = factories_.map((f) => this.#factories.mustGet(f));
|
|
63
|
-
}
|
|
64
|
-
const resp = await this.client.readContract({
|
|
65
|
-
abi: iKYCCompressorAbi,
|
|
66
|
-
address: kycCompressorAddress,
|
|
67
|
-
functionName: "getKYCInvestorData",
|
|
68
|
-
args: [investor, factories.map((f) => f.address)]
|
|
69
|
-
});
|
|
70
|
-
const result = [];
|
|
71
|
-
for (let i = 0; i < factories.length; i++) {
|
|
72
|
-
const factory = factories[i];
|
|
73
|
-
const factoryData = resp[i];
|
|
74
|
-
const investorData = factory.decodeInvestorData(factoryData);
|
|
75
|
-
result.push(investorData);
|
|
76
|
-
}
|
|
77
|
-
return result;
|
|
78
|
-
}
|
|
79
|
-
/** All loaded KYC factory instances. */
|
|
80
|
-
get factories() {
|
|
81
|
-
return this.#factories.values();
|
|
82
|
-
}
|
|
83
|
-
/** Raw KYC compressor response, or `undefined` before attach/hydrate. */
|
|
84
|
-
get state() {
|
|
85
|
-
return this.#state;
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Returns a human-readable snapshot of the KYC state.
|
|
89
|
-
*/
|
|
90
|
-
stateHuman(raw) {
|
|
91
|
-
return {
|
|
92
|
-
factories: this.factories.map((f) => f.stateHuman(raw))
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* @internal
|
|
97
|
-
*
|
|
98
|
-
* Replaces the internal state with a new KYC compressor response.
|
|
99
|
-
* Rebuilds token metadata for KYC underlyings and re-instantiates factory
|
|
100
|
-
* wrappers.
|
|
101
|
-
*/
|
|
102
|
-
setState(resp) {
|
|
103
|
-
this.#state = resp;
|
|
104
|
-
for (const u of resp?.[0] ?? []) {
|
|
105
|
-
this.#loadUnderlyingTokenData(u);
|
|
106
|
-
}
|
|
107
|
-
this.#factories.clear();
|
|
108
|
-
for (const f of resp?.[1] ?? []) {
|
|
109
|
-
this.#loadKYCFactoryData(f);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
#loadUnderlyingTokenData(u) {
|
|
113
|
-
const contractType = bytes32ToString(u.baseParams.contractType);
|
|
114
|
-
const meta = this.tokensMeta.get(u.baseParams.addr);
|
|
115
|
-
if (!meta) {
|
|
116
|
-
throw new Error(
|
|
117
|
-
`KYC underlying token ${contractType} (${u.baseParams.addr}) not found in tokensMeta`
|
|
118
|
-
);
|
|
119
|
-
}
|
|
120
|
-
switch (contractType) {
|
|
121
|
-
case KYC_UNDERLYING_DEFAULT:
|
|
122
|
-
this.#loadKYCUnderlyingDefault(meta, u);
|
|
123
|
-
break;
|
|
124
|
-
case KYC_UNDERLYING_ON_DEMAND:
|
|
125
|
-
this.#loadKYCUnderlyingOnDemand(meta, u);
|
|
126
|
-
break;
|
|
127
|
-
default:
|
|
128
|
-
if (this.sdk.strictContractTypes) {
|
|
129
|
-
throw new Error(`Unknown KYC underlying type: ${contractType}`);
|
|
130
|
-
}
|
|
131
|
-
this.logger?.warn(`unknown KYC underlying type: ${contractType}`);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
#loadKYCUnderlyingDefault(meta, data) {
|
|
135
|
-
const decoded = decodeAbiParameters(
|
|
136
|
-
[
|
|
137
|
-
{ name: "factory", type: "address" },
|
|
138
|
-
{ name: "asset", type: "address" }
|
|
139
|
-
],
|
|
140
|
-
data.baseParams.serializedParams
|
|
141
|
-
);
|
|
142
|
-
this.tokensMeta.upsert(data.baseParams.addr, {
|
|
143
|
-
...meta,
|
|
144
|
-
contractType: KYC_UNDERLYING_DEFAULT,
|
|
145
|
-
kycFactory: decoded[0],
|
|
146
|
-
asset: decoded[1]
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
#loadKYCUnderlyingOnDemand(meta, data) {
|
|
150
|
-
const decoded = decodeAbiParameters(
|
|
151
|
-
[
|
|
152
|
-
{ name: "factory", type: "address" },
|
|
153
|
-
{ name: "asset", type: "address" },
|
|
154
|
-
{ name: "pool", type: "address" },
|
|
155
|
-
{ name: "liquidityProvider", type: "address" },
|
|
156
|
-
{ name: "marketConfigurator", type: "address" },
|
|
157
|
-
{ name: "allowedDepositors", type: "address[]" }
|
|
158
|
-
],
|
|
159
|
-
data.baseParams.serializedParams
|
|
160
|
-
);
|
|
161
|
-
const lpMeta = this.#getOnDemandLPMeta(data.extraDetails);
|
|
162
|
-
if (decoded[3] !== lpMeta.addr) {
|
|
163
|
-
throw new Error(
|
|
164
|
-
`Liquidity provider mismatch: ${decoded[3]} !== ${lpMeta.addr} for on-demand underlying ${data.baseParams.addr}`
|
|
165
|
-
);
|
|
166
|
-
}
|
|
167
|
-
this.tokensMeta.upsert(data.baseParams.addr, {
|
|
168
|
-
...meta,
|
|
169
|
-
contractType: KYC_UNDERLYING_ON_DEMAND,
|
|
170
|
-
kycFactory: decoded[0],
|
|
171
|
-
asset: decoded[1],
|
|
172
|
-
pool: decoded[2],
|
|
173
|
-
marketConfigurator: decoded[4],
|
|
174
|
-
allowedDepositors: decoded[5],
|
|
175
|
-
// liquidityProvider: decoded[3],
|
|
176
|
-
liquidityProvider: lpMeta
|
|
177
|
-
});
|
|
178
|
-
}
|
|
179
|
-
#getOnDemandLPMeta(extraDetails) {
|
|
180
|
-
const [decoded] = decodeAbiParameters(
|
|
181
|
-
[
|
|
182
|
-
{
|
|
183
|
-
name: "baseParams",
|
|
184
|
-
type: "tuple",
|
|
185
|
-
components: [
|
|
186
|
-
{ name: "addr", type: "address" },
|
|
187
|
-
{ name: "version", type: "uint256" },
|
|
188
|
-
{ name: "contractType", type: "bytes32" },
|
|
189
|
-
{ name: "serializedParams", type: "bytes" }
|
|
190
|
-
]
|
|
191
|
-
}
|
|
192
|
-
],
|
|
193
|
-
extraDetails
|
|
194
|
-
);
|
|
195
|
-
const contractType = bytes32ToString(decoded.contractType);
|
|
196
|
-
switch (contractType) {
|
|
197
|
-
case KYC_ON_DEMAND_LP_MONOPOLIZED:
|
|
198
|
-
return this.#getOnDemandLPMonopolizedMeta(
|
|
199
|
-
decoded.addr,
|
|
200
|
-
decoded.version,
|
|
201
|
-
decoded.serializedParams
|
|
202
|
-
);
|
|
203
|
-
default:
|
|
204
|
-
throw new Error(`Unknown on-demand LP contract type: ${contractType}`);
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
#getOnDemandLPMonopolizedMeta(addr, version, serializedParams) {
|
|
208
|
-
const [marketConfigurator, depositor, pools] = decodeAbiParameters(
|
|
209
|
-
[
|
|
210
|
-
{ name: "marketConfigurator", type: "address" },
|
|
211
|
-
{ name: "depositor", type: "address" },
|
|
212
|
-
{
|
|
213
|
-
name: "pools",
|
|
214
|
-
type: "tuple[]",
|
|
215
|
-
components: [
|
|
216
|
-
{ name: "pool", type: "address" },
|
|
217
|
-
{ name: "wrappedUnderlying", type: "address" },
|
|
218
|
-
{ name: "unwrappedUnderlying", type: "address" },
|
|
219
|
-
{ name: "depositAllowance", type: "uint256" },
|
|
220
|
-
{ name: "claimableAmount", type: "uint256" }
|
|
221
|
-
]
|
|
222
|
-
}
|
|
223
|
-
],
|
|
224
|
-
serializedParams
|
|
225
|
-
);
|
|
226
|
-
return {
|
|
227
|
-
addr,
|
|
228
|
-
version,
|
|
229
|
-
contractType: KYC_ON_DEMAND_LP_MONOPOLIZED,
|
|
230
|
-
marketConfigurator,
|
|
231
|
-
depositor,
|
|
232
|
-
pools: [...pools]
|
|
233
|
-
};
|
|
234
|
-
}
|
|
235
|
-
#loadKYCFactoryData(data) {
|
|
236
|
-
const contractType = bytes32ToString(data.baseParams.contractType);
|
|
237
|
-
switch (contractType) {
|
|
238
|
-
case KYC_FACTORY_SECURITIZE:
|
|
239
|
-
this.#factories.upsert(
|
|
240
|
-
data.baseParams.addr,
|
|
241
|
-
new SecuritizeKYCFactory(this.sdk, data)
|
|
242
|
-
);
|
|
243
|
-
break;
|
|
244
|
-
default:
|
|
245
|
-
throw new Error(
|
|
246
|
-
`Unknown KYC factory type: ${contractType} for ${data.baseParams.addr}`
|
|
247
|
-
);
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
export {
|
|
252
|
-
KYCRegistry
|
|
253
|
-
};
|