@sentio/sdk 1.37.0-rc.1 → 1.37.0-rc.3
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/lib/builtin/index.d.ts +0 -2
- package/lib/builtin/index.js +1 -3
- package/lib/builtin/index.js.map +1 -1
- package/lib/core/eth-plugin.js +12 -15
- package/lib/core/eth-plugin.js.map +1 -1
- package/lib/core/index.d.ts +0 -4
- package/lib/core/index.js +1 -9
- package/lib/core/index.js.map +1 -1
- package/lib/core/numberish.d.ts +1 -1
- package/lib/core/numberish.js +5 -13
- package/lib/core/numberish.js.map +1 -1
- package/lib/core/sui-plugin.js +1 -1
- package/lib/core/sui-plugin.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +3 -14
- package/lib/index.js.map +1 -1
- package/lib/service.d.ts +0 -4
- package/lib/service.js +40 -71
- package/lib/service.js.map +1 -1
- package/package.json +5 -15
- package/src/builtin/index.ts +1 -4
- package/src/core/eth-plugin.ts +5 -8
- package/src/core/index.ts +0 -5
- package/src/core/numberish.ts +8 -15
- package/src/core/sui-plugin.ts +2 -2
- package/src/index.ts +3 -1
- package/src/service.ts +13 -71
- package/lib/aptos/api.d.ts +0 -2
- package/lib/aptos/api.js +0 -14
- package/lib/aptos/api.js.map +0 -1
- package/lib/aptos/aptos-plugin.d.ts +0 -14
- package/lib/aptos/aptos-plugin.js +0 -185
- package/lib/aptos/aptos-plugin.js.map +0 -1
- package/lib/aptos/aptos-processor.d.ts +0 -75
- package/lib/aptos/aptos-processor.js +0 -193
- package/lib/aptos/aptos-processor.js.map +0 -1
- package/lib/aptos/context.d.ts +0 -22
- package/lib/aptos/context.js +0 -65
- package/lib/aptos/context.js.map +0 -1
- package/lib/aptos/index.d.ts +0 -9
- package/lib/aptos/index.js +0 -34
- package/lib/aptos/index.js.map +0 -1
- package/lib/aptos/models.d.ts +0 -23
- package/lib/aptos/models.js +0 -3
- package/lib/aptos/models.js.map +0 -1
- package/lib/aptos/network.d.ts +0 -14
- package/lib/aptos/network.js +0 -46
- package/lib/aptos/network.js.map +0 -1
- package/lib/aptos/runtime.d.ts +0 -2
- package/lib/aptos/runtime.js +0 -16
- package/lib/aptos/runtime.js.map +0 -1
- package/lib/aptos/type-registry.d.ts +0 -21
- package/lib/aptos/type-registry.js +0 -156
- package/lib/aptos/type-registry.js.map +0 -1
- package/lib/aptos/types.d.ts +0 -9
- package/lib/aptos/types.js +0 -135
- package/lib/aptos/types.js.map +0 -1
- package/lib/aptos/types.test.d.ts +0 -1
- package/lib/aptos/types.test.js.map +0 -1
- package/lib/aptos/utils.d.ts +0 -7
- package/lib/aptos/utils.js +0 -27
- package/lib/aptos/utils.js.map +0 -1
- package/lib/aptos-codegen/codegen.d.ts +0 -23
- package/lib/aptos-codegen/codegen.js +0 -364
- package/lib/aptos-codegen/codegen.js.map +0 -1
- package/lib/aptos-codegen/typegen.d.ts +0 -17
- package/lib/aptos-codegen/typegen.js +0 -142
- package/lib/aptos-codegen/typegen.js.map +0 -1
- package/lib/builtin/aptos/0x1.d.ts +0 -1913
- package/lib/builtin/aptos/0x1.js +0 -2748
- package/lib/builtin/aptos/0x1.js.map +0 -1
- package/lib/builtin/aptos/0x3.d.ts +0 -482
- package/lib/builtin/aptos/0x3.js +0 -526
- package/lib/builtin/aptos/0x3.js.map +0 -1
- package/lib/builtin/aptos/index.d.ts +0 -2
- package/lib/builtin/aptos/index.js +0 -29
- package/lib/builtin/aptos/index.js.map +0 -1
- package/lib/builtin/solana/index.d.ts +0 -2
- package/lib/builtin/solana/index.js +0 -19
- package/lib/builtin/solana/index.js.map +0 -1
- package/lib/builtin/solana/spl-token-processor.d.ts +0 -39
- package/lib/builtin/solana/spl-token-processor.js +0 -258
- package/lib/builtin/solana/spl-token-processor.js.map +0 -1
- package/lib/builtin/solana/types.d.ts +0 -427
- package/lib/builtin/solana/types.js +0 -203
- package/lib/builtin/solana/types.js.map +0 -1
- package/lib/builtin/solana/wormhole-processor.d.ts +0 -16
- package/lib/builtin/solana/wormhole-processor.js +0 -195
- package/lib/builtin/solana/wormhole-processor.js.map +0 -1
- package/lib/core/solana-context.d.ts +0 -11
- package/lib/core/solana-context.js +0 -34
- package/lib/core/solana-context.js.map +0 -1
- package/lib/core/solana-options.d.ts +0 -8
- package/lib/core/solana-options.js +0 -13
- package/lib/core/solana-options.js.map +0 -1
- package/lib/core/solana-plugin.d.ts +0 -9
- package/lib/core/solana-plugin.js +0 -79
- package/lib/core/solana-plugin.js.map +0 -1
- package/lib/core/solana-processor.d.ts +0 -40
- package/lib/core/solana-processor.js +0 -80
- package/lib/core/solana-processor.js.map +0 -1
- package/lib/solana-codegen/codegen.d.ts +0 -1
- package/lib/solana-codegen/codegen.js +0 -113
- package/lib/solana-codegen/codegen.js.map +0 -1
- package/lib/test-abi-code-gen.d.ts +0 -2
- package/lib/test-abi-code-gen.js +0 -20
- package/lib/test-abi-code-gen.js.map +0 -1
- package/src/abis/aptos/0x1.json +0 -9205
- package/src/abis/aptos/0x3.json +0 -1515
- package/src/aptos/api.ts +0 -11
- package/src/aptos/aptos-plugin.ts +0 -216
- package/src/aptos/aptos-processor.ts +0 -305
- package/src/aptos/context.ts +0 -74
- package/src/aptos/index.ts +0 -10
- package/src/aptos/models.ts +0 -34
- package/src/aptos/network.ts +0 -42
- package/src/aptos/runtime.ts +0 -13
- package/src/aptos/type-registry.ts +0 -187
- package/src/aptos/types.ts +0 -149
- package/src/aptos/utils.ts +0 -26
- package/src/aptos-codegen/codegen.ts +0 -428
- package/src/aptos-codegen/tsconfig.json +0 -9
- package/src/aptos-codegen/typegen.ts +0 -153
- package/src/builtin/aptos/0x1.ts +0 -4210
- package/src/builtin/aptos/0x3.ts +0 -888
- package/src/builtin/aptos/index.ts +0 -2
- package/src/builtin/solana/index.ts +0 -2
- package/src/builtin/solana/spl-token-processor.ts +0 -298
- package/src/builtin/solana/types.ts +0 -279
- package/src/builtin/solana/wormhole-processor.ts +0 -178
- package/src/core/solana-context.ts +0 -34
- package/src/core/solana-options.ts +0 -8
- package/src/core/solana-plugin.ts +0 -97
- package/src/core/solana-processor.ts +0 -102
- package/src/solana-codegen/codegen.ts +0 -116
- package/src/test-abi-code-gen.ts +0 -16
|
@@ -1,298 +0,0 @@
|
|
|
1
|
-
import { SolanaBaseProcessor, SolanaContext, SolanaBindOptions } from '@sentio/sdk'
|
|
2
|
-
import { Instruction } from '@project-serum/anchor'
|
|
3
|
-
import { AmountToUiAmount, Approve, ApproveChecked, Burn, BurnChecked, CloseAccount, CreateNativeMint, DefaultAccountStateExtension, FreezeAccount, GetAccountDataSize, InitializeAccount, InitializeAccount2, InitializeAccount3, InitializeImmutableOwner, InitializeMint, InitializeMintCloseAuthority, InitializeMultisig, MemoTransferExtension, MintTo, MintToChecked, Reallocate, Revoke, SyncNative, ThawAccount, Transfer, TransferChecked, TransferFeeExtension, UiAmountToAmount } from './types';
|
|
4
|
-
|
|
5
|
-
export class SPLTokenProcessor extends SolanaBaseProcessor {
|
|
6
|
-
static bind(options: SolanaBindOptions): SPLTokenProcessor {
|
|
7
|
-
if (options && !options.name) {
|
|
8
|
-
options.name = 'SPL Token Program'
|
|
9
|
-
}
|
|
10
|
-
return new SPLTokenProcessor(options)
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
fromParsedInstruction: (instruction: { type: string, info: any }) => Instruction | null = (instruction: { type: string, info: any }) => {
|
|
14
|
-
const instructionType = instruction.type
|
|
15
|
-
if (!instructionType) {
|
|
16
|
-
return null
|
|
17
|
-
}
|
|
18
|
-
return {
|
|
19
|
-
name: instruction.type,
|
|
20
|
-
data: {
|
|
21
|
-
...instruction.info,
|
|
22
|
-
},
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
public onInitializeMint(
|
|
27
|
-
handler: (data: InitializeMint, ctx: SolanaContext) => void
|
|
28
|
-
): SPLTokenProcessor {
|
|
29
|
-
this.onInstruction('initializeMint', (ins: Instruction, ctx) => {
|
|
30
|
-
if (ins) {
|
|
31
|
-
handler(ins.data as InitializeMint, ctx)
|
|
32
|
-
}
|
|
33
|
-
})
|
|
34
|
-
return this
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
public onInitializeAccount(
|
|
38
|
-
hanlder: (data: InitializeAccount, ctx: SolanaContext) => void
|
|
39
|
-
): SPLTokenProcessor {
|
|
40
|
-
this.onInstruction('initializeAccount', (ins: Instruction, ctx) => {
|
|
41
|
-
if (ins) {
|
|
42
|
-
hanlder(ins.data as InitializeAccount, ctx)
|
|
43
|
-
}
|
|
44
|
-
})
|
|
45
|
-
return this
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
public onInitializeAccount2(
|
|
49
|
-
hanlder: (data: InitializeAccount2, ctx: SolanaContext) => void
|
|
50
|
-
): SPLTokenProcessor {
|
|
51
|
-
this.onInstruction('initializeAccount2', (ins: Instruction, ctx) => {
|
|
52
|
-
if (ins) {
|
|
53
|
-
hanlder(ins.data as InitializeAccount2, ctx)
|
|
54
|
-
}
|
|
55
|
-
})
|
|
56
|
-
return this
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
public onInitializeAccount3(
|
|
60
|
-
hanlder: (data: InitializeAccount3, ctx: SolanaContext) => void
|
|
61
|
-
): SPLTokenProcessor {
|
|
62
|
-
this.onInstruction('initializeAccount3', (ins: Instruction, ctx) => {
|
|
63
|
-
if (ins) {
|
|
64
|
-
hanlder(ins.data as InitializeAccount3, ctx)
|
|
65
|
-
}
|
|
66
|
-
})
|
|
67
|
-
return this
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
public onInitializeMultisig(
|
|
71
|
-
handler: (data: InitializeMultisig, ctx: SolanaContext) => void
|
|
72
|
-
): SPLTokenProcessor {
|
|
73
|
-
this.onInstruction('initializeMultisig', (ins: Instruction, ctx) => {
|
|
74
|
-
if (ins) {
|
|
75
|
-
handler(ins.data as InitializeMultisig, ctx)
|
|
76
|
-
}
|
|
77
|
-
})
|
|
78
|
-
return this
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
public onTransfer(handler: (data: Transfer, ctx: SolanaContext) => void): SPLTokenProcessor {
|
|
82
|
-
this.onInstruction('transfer', (ins: Instruction, ctx) => {
|
|
83
|
-
if (ins) {
|
|
84
|
-
handler(ins.data as Transfer, ctx)
|
|
85
|
-
}
|
|
86
|
-
})
|
|
87
|
-
return this
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
public onApprovend(handler: (data: Approve, ctx: SolanaContext) => void): SPLTokenProcessor {
|
|
91
|
-
this.onInstruction('approve', (ins: Instruction, ctx) => {
|
|
92
|
-
if (ins) {
|
|
93
|
-
handler(ins.data as Approve, ctx)
|
|
94
|
-
}
|
|
95
|
-
})
|
|
96
|
-
return this
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
public onRevoke(handler: (data: Revoke, ctx: SolanaContext) => void): SPLTokenProcessor {
|
|
100
|
-
this.onInstruction('revoke', (ins: Instruction, ctx) => {
|
|
101
|
-
if (ins) {
|
|
102
|
-
handler(ins.data as Revoke, ctx)
|
|
103
|
-
}
|
|
104
|
-
})
|
|
105
|
-
return this
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
public onSetAuthority(handler: (data: any, ctx: SolanaContext) => void): SPLTokenProcessor {
|
|
109
|
-
this.onInstruction('setAuthority', (ins: Instruction, ctx) => {
|
|
110
|
-
if (ins) {
|
|
111
|
-
handler(ins.data as any, ctx)
|
|
112
|
-
}
|
|
113
|
-
})
|
|
114
|
-
return this
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
public onMintTo(handler: (data: MintTo, ctx: SolanaContext) => void): SPLTokenProcessor {
|
|
118
|
-
this.onInstruction('mintTo', (ins: Instruction, ctx) => {
|
|
119
|
-
if (ins) {
|
|
120
|
-
handler(ins.data as MintTo, ctx)
|
|
121
|
-
}
|
|
122
|
-
})
|
|
123
|
-
return this
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
public onBurn(handler: (data: Burn, ctx: SolanaContext) => void): SPLTokenProcessor {
|
|
127
|
-
this.onInstruction('burn', (ins: Instruction, ctx) => {
|
|
128
|
-
if (ins) {
|
|
129
|
-
handler(ins.data as Burn, ctx)
|
|
130
|
-
}
|
|
131
|
-
})
|
|
132
|
-
return this
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
public onCloseAccount(handler: (data: CloseAccount, ctx: SolanaContext) => void): SPLTokenProcessor {
|
|
136
|
-
this.onInstruction('closeAccount', (ins: Instruction, ctx) => {
|
|
137
|
-
if (ins) {
|
|
138
|
-
handler(ins.data as CloseAccount, ctx)
|
|
139
|
-
}
|
|
140
|
-
})
|
|
141
|
-
return this
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
public onFreezeAccount(handler: (data: FreezeAccount, ctx: SolanaContext) => void): SPLTokenProcessor {
|
|
145
|
-
this.onInstruction('freezeAccount', (ins: Instruction, ctx) => {
|
|
146
|
-
if (ins) {
|
|
147
|
-
handler(ins.data as FreezeAccount, ctx)
|
|
148
|
-
}
|
|
149
|
-
})
|
|
150
|
-
return this
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
public onThawAccount(handler: (data: ThawAccount, ctx: SolanaContext) => void): SPLTokenProcessor {
|
|
154
|
-
this.onInstruction('thawAccount', (ins: Instruction, ctx) => {
|
|
155
|
-
if (ins) {
|
|
156
|
-
handler(ins.data as ThawAccount, ctx)
|
|
157
|
-
}
|
|
158
|
-
})
|
|
159
|
-
return this
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
public onTransferChecked(handler: (data: TransferChecked, ctx: SolanaContext) => void): SPLTokenProcessor {
|
|
163
|
-
this.onInstruction('transferChecked', (ins: Instruction, ctx) => {
|
|
164
|
-
if (ins) {
|
|
165
|
-
handler(ins.data as TransferChecked, ctx)
|
|
166
|
-
}
|
|
167
|
-
})
|
|
168
|
-
return this
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
public onApproveChecked(handler: (data: ApproveChecked, ctx: SolanaContext) => void): SPLTokenProcessor {
|
|
172
|
-
this.onInstruction('approveChecked', (ins: Instruction, ctx) => {
|
|
173
|
-
if (ins) {
|
|
174
|
-
handler(ins.data as ApproveChecked, ctx)
|
|
175
|
-
}
|
|
176
|
-
})
|
|
177
|
-
return this
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
public onMintToChecked(handler: (data: MintToChecked, ctx: SolanaContext) => void): SPLTokenProcessor {
|
|
181
|
-
this.onInstruction('mintToChecked', (ins: Instruction, ctx) => {
|
|
182
|
-
if (ins) {
|
|
183
|
-
handler(ins.data as MintToChecked, ctx)
|
|
184
|
-
}
|
|
185
|
-
})
|
|
186
|
-
return this
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
public onBurnChecked(handler: (data: BurnChecked, ctx: SolanaContext) => void): SPLTokenProcessor {
|
|
190
|
-
this.onInstruction('burnChecked', (ins: Instruction, ctx) => {
|
|
191
|
-
if (ins) {
|
|
192
|
-
handler(ins.data as BurnChecked, ctx)
|
|
193
|
-
}
|
|
194
|
-
})
|
|
195
|
-
return this
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
public onSyncNative(handler: (data: SyncNative, ctx: SolanaContext) => void): SPLTokenProcessor {
|
|
199
|
-
this.onInstruction('syncNative', (ins: Instruction, ctx) => {
|
|
200
|
-
if (ins) {
|
|
201
|
-
handler(ins.data as SyncNative, ctx)
|
|
202
|
-
}
|
|
203
|
-
})
|
|
204
|
-
return this
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
public onGetAccountDataSize(handler: (data: GetAccountDataSize, ctx: SolanaContext) => void): SPLTokenProcessor {
|
|
208
|
-
this.onInstruction('getAccountDataSize', (ins: Instruction, ctx) => {
|
|
209
|
-
if (ins) {
|
|
210
|
-
handler(ins.data as GetAccountDataSize, ctx)
|
|
211
|
-
}
|
|
212
|
-
})
|
|
213
|
-
return this
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
public onInitializeImmutableOwner(handler: (data: InitializeImmutableOwner, ctx: SolanaContext) => void): SPLTokenProcessor {
|
|
217
|
-
this.onInstruction('initializeImmutableOwner', (ins: Instruction, ctx) => {
|
|
218
|
-
if (ins) {
|
|
219
|
-
handler(ins.data as InitializeImmutableOwner, ctx)
|
|
220
|
-
}
|
|
221
|
-
})
|
|
222
|
-
return this
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
public onAmountToUiAmount(handler: (data: AmountToUiAmount, ctx: SolanaContext) => void): SPLTokenProcessor {
|
|
226
|
-
this.onInstruction('amountToUiAmount', (ins: Instruction, ctx) => {
|
|
227
|
-
if (ins) {
|
|
228
|
-
handler(ins.data as AmountToUiAmount, ctx)
|
|
229
|
-
}
|
|
230
|
-
})
|
|
231
|
-
return this
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
public onUiAmountToAmount(handler: (data: UiAmountToAmount, ctx: SolanaContext) => void): SPLTokenProcessor {
|
|
235
|
-
this.onInstruction('uiAmountToAmount', (ins: Instruction, ctx) => {
|
|
236
|
-
if (ins) {
|
|
237
|
-
handler(ins.data as UiAmountToAmount, ctx)
|
|
238
|
-
}
|
|
239
|
-
})
|
|
240
|
-
return this
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
public onInitializeMintCloseAuthority(handler: (data: InitializeMintCloseAuthority, ctx: SolanaContext) => void): SPLTokenProcessor {
|
|
244
|
-
this.onInstruction('initializeMintCloseAuthority', (ins: Instruction, ctx) => {
|
|
245
|
-
if (ins) {
|
|
246
|
-
handler(ins.data as InitializeMintCloseAuthority, ctx)
|
|
247
|
-
}
|
|
248
|
-
})
|
|
249
|
-
return this
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
public onTransferFeeExtension(handler: (data: TransferFeeExtension, ctx: SolanaContext) => void): SPLTokenProcessor {
|
|
253
|
-
this.onInstruction('transferFeeExtension', (ins: Instruction, ctx) => {
|
|
254
|
-
if (ins) {
|
|
255
|
-
handler(ins.data as TransferFeeExtension, ctx)
|
|
256
|
-
}
|
|
257
|
-
})
|
|
258
|
-
return this
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
public onDefaultAccountStateExtension(handler: (data: DefaultAccountStateExtension, ctx: SolanaContext) => void): SPLTokenProcessor {
|
|
262
|
-
this.onInstruction('defaultAccountStateExtension', (ins: Instruction, ctx) => {
|
|
263
|
-
if (ins) {
|
|
264
|
-
handler(ins.data as DefaultAccountStateExtension, ctx)
|
|
265
|
-
}
|
|
266
|
-
})
|
|
267
|
-
return this
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
public onReallocate(handler: (data: Reallocate, ctx: SolanaContext) => void): SPLTokenProcessor {
|
|
271
|
-
this.onInstruction('reallocate', (ins: Instruction, ctx) => {
|
|
272
|
-
if (ins) {
|
|
273
|
-
handler(ins.data as Reallocate, ctx)
|
|
274
|
-
}
|
|
275
|
-
})
|
|
276
|
-
return this
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
public onMemoTransferExtension(handler: (data: MemoTransferExtension, ctx: SolanaContext) => void): SPLTokenProcessor {
|
|
280
|
-
this.onInstruction('memoTransferExtension', (ins: Instruction, ctx) => {
|
|
281
|
-
if (ins) {
|
|
282
|
-
handler(ins.data as MemoTransferExtension, ctx)
|
|
283
|
-
}
|
|
284
|
-
})
|
|
285
|
-
return this
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
public onCreateNativeMint(handler: (data: CreateNativeMint, ctx: SolanaContext) => void): SPLTokenProcessor {
|
|
289
|
-
this.onInstruction('createNativeMint', (ins: Instruction, ctx) => {
|
|
290
|
-
if (ins) {
|
|
291
|
-
handler(ins.data as CreateNativeMint, ctx)
|
|
292
|
-
}
|
|
293
|
-
})
|
|
294
|
-
return this
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
// Todo(pcxu): auto gen this file
|
|
298
|
-
}
|
|
@@ -1,279 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-redeclare */
|
|
2
|
-
// copy from https://github.com/solana-labs/solana/blob/master/explorer/src/components/instruction/token/types.ts
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
enums,
|
|
6
|
-
type,
|
|
7
|
-
Infer,
|
|
8
|
-
number,
|
|
9
|
-
string,
|
|
10
|
-
optional,
|
|
11
|
-
array,
|
|
12
|
-
nullable,
|
|
13
|
-
union,
|
|
14
|
-
coerce,
|
|
15
|
-
instance,
|
|
16
|
-
} from "superstruct";
|
|
17
|
-
|
|
18
|
-
// Replace with string
|
|
19
|
-
export const PublicKeyFromString = coerce(
|
|
20
|
-
instance(String),
|
|
21
|
-
string(),
|
|
22
|
-
(value) => (value)
|
|
23
|
-
);
|
|
24
|
-
|
|
25
|
-
export type TokenAmountUi = Infer<typeof TokenAmountUi>;
|
|
26
|
-
export type MintTo = Infer<typeof MintTo>;
|
|
27
|
-
export type Burn = Infer<typeof Burn>;
|
|
28
|
-
export type InitializeMint = Infer<typeof InitializeMint>;
|
|
29
|
-
export type InitializeAccount = Infer<typeof InitializeAccount>;
|
|
30
|
-
export type InitializeAccount2 = Infer<typeof InitializeAccount2>;
|
|
31
|
-
export type InitializeAccount3 = Infer<typeof InitializeAccount3>;
|
|
32
|
-
export type InitializeMultisig = Infer<typeof InitializeMultisig>;
|
|
33
|
-
|
|
34
|
-
export const TokenAmountUi = type({
|
|
35
|
-
amount: string(),
|
|
36
|
-
decimals: number(),
|
|
37
|
-
uiAmountString: string(),
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
const InitializeMint = type({
|
|
41
|
-
mint: PublicKeyFromString,
|
|
42
|
-
decimals: number(),
|
|
43
|
-
mintAuthority: PublicKeyFromString,
|
|
44
|
-
rentSysvar: PublicKeyFromString,
|
|
45
|
-
freezeAuthority: optional(PublicKeyFromString),
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
const InitializeAccount = type({
|
|
49
|
-
account: PublicKeyFromString,
|
|
50
|
-
mint: PublicKeyFromString,
|
|
51
|
-
owner: PublicKeyFromString,
|
|
52
|
-
rentSysvar: PublicKeyFromString,
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
const InitializeAccount2 = type({
|
|
56
|
-
account: PublicKeyFromString,
|
|
57
|
-
mint: PublicKeyFromString,
|
|
58
|
-
rentSysvar: PublicKeyFromString,
|
|
59
|
-
owner: PublicKeyFromString,
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
const InitializeAccount3 = type({
|
|
63
|
-
account: PublicKeyFromString,
|
|
64
|
-
mint: PublicKeyFromString,
|
|
65
|
-
owner: PublicKeyFromString,
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
const InitializeMultisig = type({
|
|
69
|
-
multisig: PublicKeyFromString,
|
|
70
|
-
rentSysvar: PublicKeyFromString,
|
|
71
|
-
signers: array(PublicKeyFromString),
|
|
72
|
-
m: number(),
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
export type Transfer = Infer<typeof Transfer>;
|
|
76
|
-
export const Transfer = type({
|
|
77
|
-
source: PublicKeyFromString,
|
|
78
|
-
destination: PublicKeyFromString,
|
|
79
|
-
amount: union([string(), number()]),
|
|
80
|
-
authority: optional(PublicKeyFromString),
|
|
81
|
-
multisigAuthority: optional(PublicKeyFromString),
|
|
82
|
-
signers: optional(array(PublicKeyFromString)),
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
export type Approve = Infer<typeof Approve>;
|
|
86
|
-
const Approve = type({
|
|
87
|
-
source: PublicKeyFromString,
|
|
88
|
-
delegate: PublicKeyFromString,
|
|
89
|
-
amount: union([string(), number()]),
|
|
90
|
-
owner: optional(PublicKeyFromString),
|
|
91
|
-
multisigOwner: optional(PublicKeyFromString),
|
|
92
|
-
signers: optional(array(PublicKeyFromString)),
|
|
93
|
-
});
|
|
94
|
-
|
|
95
|
-
export type Revoke = Infer<typeof Revoke>;
|
|
96
|
-
const Revoke = type({
|
|
97
|
-
source: PublicKeyFromString,
|
|
98
|
-
owner: optional(PublicKeyFromString),
|
|
99
|
-
multisigOwner: optional(PublicKeyFromString),
|
|
100
|
-
signers: optional(array(PublicKeyFromString)),
|
|
101
|
-
});
|
|
102
|
-
|
|
103
|
-
const AuthorityType = enums([
|
|
104
|
-
"mintTokens",
|
|
105
|
-
"freezeAccount",
|
|
106
|
-
"accountOwner",
|
|
107
|
-
"closeAccount",
|
|
108
|
-
]);
|
|
109
|
-
|
|
110
|
-
export type SetAuthority = Infer<typeof SetAuthority>;
|
|
111
|
-
const SetAuthority = type({
|
|
112
|
-
mint: optional(PublicKeyFromString),
|
|
113
|
-
account: optional(PublicKeyFromString),
|
|
114
|
-
authorityType: AuthorityType,
|
|
115
|
-
newAuthority: nullable(PublicKeyFromString),
|
|
116
|
-
authority: optional(PublicKeyFromString),
|
|
117
|
-
multisigAuthority: optional(PublicKeyFromString),
|
|
118
|
-
signers: optional(array(PublicKeyFromString)),
|
|
119
|
-
});
|
|
120
|
-
|
|
121
|
-
const MintTo = type({
|
|
122
|
-
mint: PublicKeyFromString,
|
|
123
|
-
account: PublicKeyFromString,
|
|
124
|
-
amount: union([string(), number()]),
|
|
125
|
-
mintAuthority: optional(PublicKeyFromString),
|
|
126
|
-
multisigMintAuthority: optional(PublicKeyFromString),
|
|
127
|
-
signers: optional(array(PublicKeyFromString)),
|
|
128
|
-
});
|
|
129
|
-
|
|
130
|
-
const Burn = type({
|
|
131
|
-
account: PublicKeyFromString,
|
|
132
|
-
mint: PublicKeyFromString,
|
|
133
|
-
amount: union([string(), number()]),
|
|
134
|
-
authority: optional(PublicKeyFromString),
|
|
135
|
-
multisigAuthority: optional(PublicKeyFromString),
|
|
136
|
-
signers: optional(array(PublicKeyFromString)),
|
|
137
|
-
});
|
|
138
|
-
|
|
139
|
-
const CloseAccount = type({
|
|
140
|
-
account: PublicKeyFromString,
|
|
141
|
-
destination: PublicKeyFromString,
|
|
142
|
-
owner: optional(PublicKeyFromString),
|
|
143
|
-
multisigOwner: optional(PublicKeyFromString),
|
|
144
|
-
signers: optional(array(PublicKeyFromString)),
|
|
145
|
-
});
|
|
146
|
-
export type CloseAccount = Infer<typeof CloseAccount>;
|
|
147
|
-
|
|
148
|
-
export type FreezeAccount = Infer<typeof FreezeAccount>;
|
|
149
|
-
const FreezeAccount = type({
|
|
150
|
-
account: PublicKeyFromString,
|
|
151
|
-
mint: PublicKeyFromString,
|
|
152
|
-
freezeAuthority: optional(PublicKeyFromString),
|
|
153
|
-
multisigFreezeAuthority: optional(PublicKeyFromString),
|
|
154
|
-
signers: optional(array(PublicKeyFromString)),
|
|
155
|
-
});
|
|
156
|
-
|
|
157
|
-
export type ThawAccount = Infer<typeof ThawAccount>;
|
|
158
|
-
const ThawAccount = type({
|
|
159
|
-
account: PublicKeyFromString,
|
|
160
|
-
mint: PublicKeyFromString,
|
|
161
|
-
freezeAuthority: optional(PublicKeyFromString),
|
|
162
|
-
multisigFreezeAuthority: optional(PublicKeyFromString),
|
|
163
|
-
signers: optional(array(PublicKeyFromString)),
|
|
164
|
-
});
|
|
165
|
-
|
|
166
|
-
export type TransferChecked = Infer<typeof TransferChecked>;
|
|
167
|
-
export const TransferChecked = type({
|
|
168
|
-
source: PublicKeyFromString,
|
|
169
|
-
mint: PublicKeyFromString,
|
|
170
|
-
destination: PublicKeyFromString,
|
|
171
|
-
authority: optional(PublicKeyFromString),
|
|
172
|
-
multisigAuthority: optional(PublicKeyFromString),
|
|
173
|
-
signers: optional(array(PublicKeyFromString)),
|
|
174
|
-
tokenAmount: TokenAmountUi,
|
|
175
|
-
});
|
|
176
|
-
|
|
177
|
-
export type ApproveChecked = Infer<typeof ApproveChecked>;
|
|
178
|
-
const ApproveChecked = type({
|
|
179
|
-
source: PublicKeyFromString,
|
|
180
|
-
mint: PublicKeyFromString,
|
|
181
|
-
delegate: PublicKeyFromString,
|
|
182
|
-
owner: optional(PublicKeyFromString),
|
|
183
|
-
multisigOwner: optional(PublicKeyFromString),
|
|
184
|
-
signers: optional(array(PublicKeyFromString)),
|
|
185
|
-
tokenAmount: TokenAmountUi,
|
|
186
|
-
});
|
|
187
|
-
|
|
188
|
-
export type MintToChecked = Infer<typeof MintToChecked>;
|
|
189
|
-
const MintToChecked = type({
|
|
190
|
-
account: PublicKeyFromString,
|
|
191
|
-
mint: PublicKeyFromString,
|
|
192
|
-
mintAuthority: optional(PublicKeyFromString),
|
|
193
|
-
multisigMintAuthority: optional(PublicKeyFromString),
|
|
194
|
-
signers: optional(array(PublicKeyFromString)),
|
|
195
|
-
tokenAmount: TokenAmountUi,
|
|
196
|
-
});
|
|
197
|
-
|
|
198
|
-
export type BurnChecked = Infer<typeof BurnChecked>;
|
|
199
|
-
const BurnChecked = type({
|
|
200
|
-
account: PublicKeyFromString,
|
|
201
|
-
mint: PublicKeyFromString,
|
|
202
|
-
authority: optional(PublicKeyFromString),
|
|
203
|
-
multisigAuthority: optional(PublicKeyFromString),
|
|
204
|
-
signers: optional(array(PublicKeyFromString)),
|
|
205
|
-
tokenAmount: TokenAmountUi,
|
|
206
|
-
});
|
|
207
|
-
|
|
208
|
-
export type SyncNative = Infer<typeof BurnChecked>;
|
|
209
|
-
const SyncNative = type({
|
|
210
|
-
account: PublicKeyFromString,
|
|
211
|
-
});
|
|
212
|
-
|
|
213
|
-
export type GetAccountDataSize = Infer<typeof GetAccountDataSize>;
|
|
214
|
-
const GetAccountDataSize = type({
|
|
215
|
-
mint: PublicKeyFromString,
|
|
216
|
-
extensionTypes: optional(array(string())),
|
|
217
|
-
});
|
|
218
|
-
|
|
219
|
-
export type InitializeImmutableOwner = Infer<typeof InitializeImmutableOwner>;
|
|
220
|
-
const InitializeImmutableOwner = type({
|
|
221
|
-
account: PublicKeyFromString,
|
|
222
|
-
});
|
|
223
|
-
|
|
224
|
-
export type AmountToUiAmount = Infer<typeof AmountToUiAmount>;
|
|
225
|
-
const AmountToUiAmount = type({
|
|
226
|
-
mint: PublicKeyFromString,
|
|
227
|
-
amount: union([string(), number()]),
|
|
228
|
-
});
|
|
229
|
-
|
|
230
|
-
export type UiAmountToAmount = Infer<typeof UiAmountToAmount>;
|
|
231
|
-
const UiAmountToAmount = type({
|
|
232
|
-
mint: PublicKeyFromString,
|
|
233
|
-
uiAmount: string(),
|
|
234
|
-
});
|
|
235
|
-
|
|
236
|
-
export type InitializeMintCloseAuthority = Infer<typeof InitializeMintCloseAuthority>;
|
|
237
|
-
const InitializeMintCloseAuthority = type({
|
|
238
|
-
mint: PublicKeyFromString,
|
|
239
|
-
newAuthority: PublicKeyFromString,
|
|
240
|
-
});
|
|
241
|
-
|
|
242
|
-
export type TransferFeeExtension = Infer<typeof TransferFeeExtension>;
|
|
243
|
-
const TransferFeeExtension = type({
|
|
244
|
-
mint: PublicKeyFromString,
|
|
245
|
-
transferFeeConfigAuthority: PublicKeyFromString,
|
|
246
|
-
withdrawWitheldAuthority: PublicKeyFromString,
|
|
247
|
-
transferFeeBasisPoints: number(),
|
|
248
|
-
maximumFee: number(),
|
|
249
|
-
});
|
|
250
|
-
|
|
251
|
-
export type DefaultAccountStateExtension = Infer<typeof DefaultAccountStateExtension>;
|
|
252
|
-
const DefaultAccountStateExtension = type({
|
|
253
|
-
mint: PublicKeyFromString,
|
|
254
|
-
accountState: string(),
|
|
255
|
-
freezeAuthority: optional(PublicKeyFromString),
|
|
256
|
-
});
|
|
257
|
-
|
|
258
|
-
export type Reallocate = Infer<typeof Reallocate>;
|
|
259
|
-
const Reallocate = type({
|
|
260
|
-
account: PublicKeyFromString,
|
|
261
|
-
payer: PublicKeyFromString,
|
|
262
|
-
systemProgram: PublicKeyFromString,
|
|
263
|
-
extensionTypes: array(string()),
|
|
264
|
-
});
|
|
265
|
-
|
|
266
|
-
export type MemoTransferExtension = Infer<typeof MemoTransferExtension>;
|
|
267
|
-
const MemoTransferExtension = type({
|
|
268
|
-
account: PublicKeyFromString,
|
|
269
|
-
owner: optional(PublicKeyFromString),
|
|
270
|
-
multisigOwner: optional(PublicKeyFromString),
|
|
271
|
-
signers: optional(array(PublicKeyFromString)),
|
|
272
|
-
});
|
|
273
|
-
|
|
274
|
-
export type CreateNativeMint = Infer<typeof CreateNativeMint>;
|
|
275
|
-
const CreateNativeMint = type({
|
|
276
|
-
payer: PublicKeyFromString,
|
|
277
|
-
nativeMint: PublicKeyFromString,
|
|
278
|
-
systemProgram: PublicKeyFromString,
|
|
279
|
-
});
|