@reown/appkit-solana-react-native 0.0.0-fix-ui-changes-20250829201240 → 0.0.0-fix-singleton-appkit-20251001153745
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/commonjs/adapter.js +69 -8
- package/lib/commonjs/adapter.js.map +1 -1
- package/lib/commonjs/connectors/PhantomConnector.js +4 -1
- package/lib/commonjs/connectors/PhantomConnector.js.map +1 -1
- package/lib/commonjs/connectors/SolflareConnector.js +4 -1
- package/lib/commonjs/connectors/SolflareConnector.js.map +1 -1
- package/lib/commonjs/utils/createSPLTokenTransaction.js +96 -0
- package/lib/commonjs/utils/createSPLTokenTransaction.js.map +1 -0
- package/lib/commonjs/utils/createSendTransaction.js +3 -17
- package/lib/commonjs/utils/createSendTransaction.js.map +1 -1
- package/lib/module/adapter.js +69 -8
- package/lib/module/adapter.js.map +1 -1
- package/lib/module/connectors/PhantomConnector.js +4 -1
- package/lib/module/connectors/PhantomConnector.js.map +1 -1
- package/lib/module/connectors/SolflareConnector.js +4 -1
- package/lib/module/connectors/SolflareConnector.js.map +1 -1
- package/lib/module/utils/createSPLTokenTransaction.js +92 -0
- package/lib/module/utils/createSPLTokenTransaction.js.map +1 -0
- package/lib/module/utils/createSendTransaction.js +4 -19
- package/lib/module/utils/createSendTransaction.js.map +1 -1
- package/lib/typescript/adapter.d.ts +2 -0
- package/lib/typescript/adapter.d.ts.map +1 -1
- package/lib/typescript/connectors/PhantomConnector.d.ts.map +1 -1
- package/lib/typescript/connectors/SolflareConnector.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +8 -0
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/utils/createSPLTokenTransaction.d.ts +4 -0
- package/lib/typescript/utils/createSPLTokenTransaction.d.ts.map +1 -0
- package/lib/typescript/utils/createSendTransaction.d.ts +2 -2
- package/lib/typescript/utils/createSendTransaction.d.ts.map +1 -1
- package/package.json +6 -4
- package/src/adapter.ts +80 -12
- package/src/connectors/PhantomConnector.ts +4 -1
- package/src/connectors/SolflareConnector.ts +4 -1
- package/src/types.ts +9 -0
- package/src/utils/createSPLTokenTransaction.ts +152 -0
- package/src/utils/createSendTransaction.ts +3 -19
package/lib/commonjs/adapter.js
CHANGED
|
@@ -9,6 +9,7 @@ var _helpers = require("./helpers");
|
|
|
9
9
|
var _web = require("@solana/web3.js");
|
|
10
10
|
var _bs = _interopRequireDefault(require("bs58"));
|
|
11
11
|
var _createSendTransaction = require("./utils/createSendTransaction");
|
|
12
|
+
var _createSPLTokenTransaction = require("./utils/createSPLTokenTransaction");
|
|
12
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
14
|
class SolanaAdapter extends _appkitCommonReactNative.SolanaBaseAdapter {
|
|
14
15
|
static supportedNamespace = 'solana';
|
|
@@ -80,10 +81,23 @@ class SolanaAdapter extends _appkitCommonReactNative.SolanaBaseAdapter {
|
|
|
80
81
|
throw new Error('SolanaAdapter:signTransaction - provider is undefined');
|
|
81
82
|
}
|
|
82
83
|
try {
|
|
83
|
-
//
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
|
|
84
|
+
// Check if this is a deeplink provider (Phantom/Solflare)
|
|
85
|
+
const isDeeplinkProvider = this.connector.type === 'phantom' || this.connector.type === 'solflare';
|
|
86
|
+
|
|
87
|
+
// Serialize transaction based on provider type
|
|
88
|
+
let serializedTransaction;
|
|
89
|
+
if (isDeeplinkProvider) {
|
|
90
|
+
// Deeplink providers (Phantom/Solflare) expect base58
|
|
91
|
+
const transactionBytes = new Uint8Array(transaction.serialize({
|
|
92
|
+
verifySignatures: false
|
|
93
|
+
}));
|
|
94
|
+
serializedTransaction = _bs.default.encode(transactionBytes);
|
|
95
|
+
} else {
|
|
96
|
+
// WalletConnect providers expect base64 (following WalletConnect standard)
|
|
97
|
+
serializedTransaction = Buffer.from(new Uint8Array(transaction.serialize({
|
|
98
|
+
verifySignatures: false
|
|
99
|
+
}))).toString('base64');
|
|
100
|
+
}
|
|
87
101
|
const result = await provider.request({
|
|
88
102
|
method: 'solana_signTransaction',
|
|
89
103
|
params: {
|
|
@@ -103,7 +117,19 @@ class SolanaAdapter extends _appkitCommonReactNative.SolanaBaseAdapter {
|
|
|
103
117
|
}
|
|
104
118
|
if ('transaction' in result && result.transaction) {
|
|
105
119
|
// New response format - deserialize the signed transaction
|
|
106
|
-
|
|
120
|
+
let decodedTransaction;
|
|
121
|
+
if (isDeeplinkProvider) {
|
|
122
|
+
// Deeplink providers return base58 encoded transactions
|
|
123
|
+
try {
|
|
124
|
+
const decodedBytes = _bs.default.decode(result.transaction);
|
|
125
|
+
decodedTransaction = Buffer.from(decodedBytes);
|
|
126
|
+
} catch (error) {
|
|
127
|
+
throw new Error('Failed to decode base58 transaction from deeplink provider');
|
|
128
|
+
}
|
|
129
|
+
} else {
|
|
130
|
+
// WalletConnect providers return base64 encoded transactions
|
|
131
|
+
decodedTransaction = Buffer.from(result.transaction, 'base64');
|
|
132
|
+
}
|
|
107
133
|
if (transaction instanceof _web.VersionedTransaction) {
|
|
108
134
|
return _web.VersionedTransaction.deserialize(new Uint8Array(decodedTransaction));
|
|
109
135
|
}
|
|
@@ -123,7 +149,8 @@ class SolanaAdapter extends _appkitCommonReactNative.SolanaBaseAdapter {
|
|
|
123
149
|
toAddress,
|
|
124
150
|
amount,
|
|
125
151
|
network,
|
|
126
|
-
rpcUrl
|
|
152
|
+
rpcUrl,
|
|
153
|
+
tokenMint
|
|
127
154
|
} = data;
|
|
128
155
|
if (!this.connector) {
|
|
129
156
|
throw new Error('SolanaAdapter:sendTransaction - no active connector');
|
|
@@ -156,11 +183,17 @@ class SolanaAdapter extends _appkitCommonReactNative.SolanaBaseAdapter {
|
|
|
156
183
|
|
|
157
184
|
// Create connection
|
|
158
185
|
const connection = new _web.Connection(connectionRpcUrl, 'confirmed');
|
|
159
|
-
const transaction = await (0,
|
|
186
|
+
const transaction = tokenMint ? await (0, _createSPLTokenTransaction.createSPLTokenTransaction)({
|
|
160
187
|
connection,
|
|
161
188
|
fromAddress,
|
|
162
189
|
toAddress,
|
|
163
|
-
|
|
190
|
+
amount,
|
|
191
|
+
tokenMint
|
|
192
|
+
}) : await (0, _createSendTransaction.createSendTransaction)({
|
|
193
|
+
connection,
|
|
194
|
+
fromAddress,
|
|
195
|
+
toAddress,
|
|
196
|
+
amount
|
|
164
197
|
});
|
|
165
198
|
|
|
166
199
|
// Sign the transaction
|
|
@@ -182,6 +215,34 @@ class SolanaAdapter extends _appkitCommonReactNative.SolanaBaseAdapter {
|
|
|
182
215
|
throw new Error('SolanaAdapter:sendTransaction - unknown error occurred');
|
|
183
216
|
}
|
|
184
217
|
}
|
|
218
|
+
async signMessage(address, message, chainId) {
|
|
219
|
+
try {
|
|
220
|
+
if (!this.connector) {
|
|
221
|
+
throw new Error('SolanaAdapter:signMessage - no active connector');
|
|
222
|
+
}
|
|
223
|
+
const provider = this.connector.getProvider('solana');
|
|
224
|
+
if (!provider) {
|
|
225
|
+
throw new Error('SolanaAdapter:signMessage - provider is undefined');
|
|
226
|
+
}
|
|
227
|
+
const chain = chainId ? `${this.getSupportedNamespace()}:${chainId}` : undefined;
|
|
228
|
+
const encodedMessage = new TextEncoder().encode(message);
|
|
229
|
+
const params = {
|
|
230
|
+
message: _bs.default.encode(encodedMessage),
|
|
231
|
+
pubkey: address
|
|
232
|
+
// For Phantom, pubkey is not part of signMessage params directly with session
|
|
233
|
+
// For other wallets, it might be needed if they don't infer from session
|
|
234
|
+
};
|
|
235
|
+
const {
|
|
236
|
+
signature
|
|
237
|
+
} = await provider.request({
|
|
238
|
+
method: 'solana_signMessage',
|
|
239
|
+
params
|
|
240
|
+
}, chain);
|
|
241
|
+
return signature;
|
|
242
|
+
} catch (error) {
|
|
243
|
+
throw error;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
185
246
|
async switchNetwork(network) {
|
|
186
247
|
if (!this.connector) throw new Error('No active connector');
|
|
187
248
|
const provider = this.connector.getProvider('solana');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_appkitCommonReactNative","require","_helpers","_web","_bs","_interopRequireDefault","_createSendTransaction","e","__esModule","default","SolanaAdapter","SolanaBaseAdapter","supportedNamespace","constructor","adapterType","getBalance","params","network","address","tokens","connector","Error","balanceAddress","getAccounts","find","account","includes","id","toString","amount","symbol","rpcUrl","rpcUrls","http","base58Address","split","token","caipNetworkId","balance","getSolanaTokenBalance","getSolanaNativeBalance","emit","error","signTransaction","transaction","provider","getProvider","
|
|
1
|
+
{"version":3,"names":["_appkitCommonReactNative","require","_helpers","_web","_bs","_interopRequireDefault","_createSendTransaction","_createSPLTokenTransaction","e","__esModule","default","SolanaAdapter","SolanaBaseAdapter","supportedNamespace","constructor","adapterType","getBalance","params","network","address","tokens","connector","Error","balanceAddress","getAccounts","find","account","includes","id","toString","amount","symbol","rpcUrl","rpcUrls","http","base58Address","split","token","caipNetworkId","balance","getSolanaTokenBalance","getSolanaNativeBalance","emit","error","signTransaction","transaction","provider","getProvider","isDeeplinkProvider","type","serializedTransaction","transactionBytes","Uint8Array","serialize","verifySignatures","base58","encode","Buffer","from","result","request","method","pubkey","signature","decoded","decode","Transaction","feePayer","addSignature","decodedTransaction","decodedBytes","VersionedTransaction","deserialize","message","sendTransaction","data","fromAddress","toAddress","tokenMint","connectionRpcUrl","connection","Connection","createSPLTokenTransaction","createSendTransaction","signedTransaction","sendRawTransaction","skipPreflight","preflightCommitment","signMessage","chainId","chain","getSupportedNamespace","undefined","encodedMessage","TextEncoder","switchNetwork","switchError","namespaces","getNamespaces","accounts","disconnect","exports"],"sourceRoot":"../../src","sources":["adapter.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -17,7 +17,10 @@ class PhantomConnector extends _DeeplinkConnector.DeeplinkConnector {
|
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
19
|
getWalletInfo() {
|
|
20
|
-
return
|
|
20
|
+
return {
|
|
21
|
+
name: _appkitCommonReactNative.ConstantsUtil.PHANTOM_CUSTOM_WALLET.name,
|
|
22
|
+
type: 'external'
|
|
23
|
+
};
|
|
21
24
|
}
|
|
22
25
|
getBaseUrl() {
|
|
23
26
|
return PHANTOM_BASE_URL;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_appkitCommonReactNative","require","_DeeplinkConnector","PHANTOM_BASE_URL","PHANTOM_CONNECTOR_STORAGE_KEY","PHANTOM_DAPP_KEYPAIR_STORAGE_KEY","PhantomConnector","DeeplinkConnector","constructor","config","type","cluster","getWalletInfo","ConstantsUtil","PHANTOM_CUSTOM_WALLET","getBaseUrl","getStorageKey","getDappKeypairStorageKey","getEncryptionKeyFieldName","exports"],"sourceRoot":"../../../src","sources":["connectors/PhantomConnector.ts"],"mappings":";;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AAGA,MAAME,gBAAgB,GAAG,2BAA2B;AACpD,MAAMC,6BAA6B,GAAG,gCAAgC;AACtE,MAAMC,gCAAgC,GAAG,iCAAiC;AAEnE,MAAMC,gBAAgB,SAASC,oCAAiB,CAAC;EACtDC,WAAWA,CAACC,MAA+B,EAAE;IAC3C,KAAK,CAAC;MAAEC,IAAI,EAAE,SAAS;MAAEC,OAAO,EAAEF,MAAM,EAAEE;IAAQ,CAAC,CAAC;EACtD;EAESC,aAAaA,CAAA,EAAe;IACnC,
|
|
1
|
+
{"version":3,"names":["_appkitCommonReactNative","require","_DeeplinkConnector","PHANTOM_BASE_URL","PHANTOM_CONNECTOR_STORAGE_KEY","PHANTOM_DAPP_KEYPAIR_STORAGE_KEY","PhantomConnector","DeeplinkConnector","constructor","config","type","cluster","getWalletInfo","name","ConstantsUtil","PHANTOM_CUSTOM_WALLET","getBaseUrl","getStorageKey","getDappKeypairStorageKey","getEncryptionKeyFieldName","exports"],"sourceRoot":"../../../src","sources":["connectors/PhantomConnector.ts"],"mappings":";;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AAGA,MAAME,gBAAgB,GAAG,2BAA2B;AACpD,MAAMC,6BAA6B,GAAG,gCAAgC;AACtE,MAAMC,gCAAgC,GAAG,iCAAiC;AAEnE,MAAMC,gBAAgB,SAASC,oCAAiB,CAAC;EACtDC,WAAWA,CAACC,MAA+B,EAAE;IAC3C,KAAK,CAAC;MAAEC,IAAI,EAAE,SAAS;MAAEC,OAAO,EAAEF,MAAM,EAAEE;IAAQ,CAAC,CAAC;EACtD;EAESC,aAAaA,CAAA,EAAe;IACnC,OAAO;MACLC,IAAI,EAAEC,sCAAa,CAACC,qBAAqB,CAACF,IAAI;MAC9CH,IAAI,EAAE;IACR,CAAC;EACH;EAEUM,UAAUA,CAAA,EAAW;IAC7B,OAAOb,gBAAgB;EACzB;EAEUc,aAAaA,CAAA,EAAW;IAChC,OAAOb,6BAA6B;EACtC;EAEUc,wBAAwBA,CAAA,EAAW;IAC3C,OAAOb,gCAAgC;EACzC;EAEUc,yBAAyBA,CAAA,EAAW;IAC5C,OAAO,+BAA+B;EACxC;AACF;AAACC,OAAA,CAAAd,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
@@ -17,7 +17,10 @@ class SolflareConnector extends _DeeplinkConnector.DeeplinkConnector {
|
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
19
|
getWalletInfo() {
|
|
20
|
-
return
|
|
20
|
+
return {
|
|
21
|
+
name: _appkitCommonReactNative.ConstantsUtil.SOLFLARE_CUSTOM_WALLET.name,
|
|
22
|
+
type: 'external'
|
|
23
|
+
};
|
|
21
24
|
}
|
|
22
25
|
getBaseUrl() {
|
|
23
26
|
return SOLFLARE_BASE_URL;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_appkitCommonReactNative","require","_DeeplinkConnector","SOLFLARE_BASE_URL","SOLFLARE_CONNECTOR_STORAGE_KEY","SOLFLARE_DAPP_KEYPAIR_STORAGE_KEY","SolflareConnector","DeeplinkConnector","constructor","config","type","cluster","getWalletInfo","ConstantsUtil","SOLFLARE_CUSTOM_WALLET","getBaseUrl","getStorageKey","getDappKeypairStorageKey","getEncryptionKeyFieldName","exports"],"sourceRoot":"../../../src","sources":["connectors/SolflareConnector.ts"],"mappings":";;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AAGA,MAAME,iBAAiB,GAAG,4BAA4B;AACtD,MAAMC,8BAA8B,GAAG,iCAAiC;AACxE,MAAMC,iCAAiC,GAAG,kCAAkC;AAErE,MAAMC,iBAAiB,SAASC,oCAAiB,CAAC;EACvDC,WAAWA,CAACC,MAAgC,EAAE;IAC5C,KAAK,CAAC;MAAEC,IAAI,EAAE,UAAU;MAAEC,OAAO,EAAEF,MAAM,EAAEE;IAAQ,CAAC,CAAC;EACvD;EAESC,aAAaA,CAAA,EAAe;IACnC,
|
|
1
|
+
{"version":3,"names":["_appkitCommonReactNative","require","_DeeplinkConnector","SOLFLARE_BASE_URL","SOLFLARE_CONNECTOR_STORAGE_KEY","SOLFLARE_DAPP_KEYPAIR_STORAGE_KEY","SolflareConnector","DeeplinkConnector","constructor","config","type","cluster","getWalletInfo","name","ConstantsUtil","SOLFLARE_CUSTOM_WALLET","getBaseUrl","getStorageKey","getDappKeypairStorageKey","getEncryptionKeyFieldName","exports"],"sourceRoot":"../../../src","sources":["connectors/SolflareConnector.ts"],"mappings":";;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AAGA,MAAME,iBAAiB,GAAG,4BAA4B;AACtD,MAAMC,8BAA8B,GAAG,iCAAiC;AACxE,MAAMC,iCAAiC,GAAG,kCAAkC;AAErE,MAAMC,iBAAiB,SAASC,oCAAiB,CAAC;EACvDC,WAAWA,CAACC,MAAgC,EAAE;IAC5C,KAAK,CAAC;MAAEC,IAAI,EAAE,UAAU;MAAEC,OAAO,EAAEF,MAAM,EAAEE;IAAQ,CAAC,CAAC;EACvD;EAESC,aAAaA,CAAA,EAAe;IACnC,OAAO;MACLC,IAAI,EAAEC,sCAAa,CAACC,sBAAsB,CAACF,IAAI;MAC/CH,IAAI,EAAE;IACR,CAAC;EACH;EAEUM,UAAUA,CAAA,EAAW;IAC7B,OAAOb,iBAAiB;EAC1B;EAEUc,aAAaA,CAAA,EAAW;IAChC,OAAOb,8BAA8B;EACvC;EAEUc,wBAAwBA,CAAA,EAAW;IAC3C,OAAOb,iCAAiC;EAC1C;EAEUc,yBAAyBA,CAAA,EAAW;IAC5C,OAAO,gCAAgC;EACzC;AACF;AAACC,OAAA,CAAAd,iBAAA,GAAAA,iBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createSPLTokenTransaction = createSPLTokenTransaction;
|
|
7
|
+
var _splToken = require("@solana/spl-token");
|
|
8
|
+
var _web = require("@solana/web3.js");
|
|
9
|
+
const SPL_COMPUTE_BUDGET_CONSTANTS = {
|
|
10
|
+
UNIT_PRICE_MICRO_LAMPORTS: 1000000,
|
|
11
|
+
UNIT_LIMIT_WITH_ATA_CREATION: 400000
|
|
12
|
+
};
|
|
13
|
+
async function getMintOwnerProgramId(connection, mint) {
|
|
14
|
+
const info = await connection.getAccountInfo(mint);
|
|
15
|
+
if (!info) {
|
|
16
|
+
throw new Error('Mint account not found');
|
|
17
|
+
}
|
|
18
|
+
if (info.owner.equals(_splToken.TOKEN_PROGRAM_ID)) {
|
|
19
|
+
return _splToken.TOKEN_PROGRAM_ID;
|
|
20
|
+
}
|
|
21
|
+
if (info.owner.equals(_splToken.TOKEN_2022_PROGRAM_ID)) {
|
|
22
|
+
return _splToken.TOKEN_2022_PROGRAM_ID;
|
|
23
|
+
}
|
|
24
|
+
throw new Error('Unknown mint owner program');
|
|
25
|
+
}
|
|
26
|
+
async function createSPLTokenTransaction({
|
|
27
|
+
fromAddress,
|
|
28
|
+
toAddress,
|
|
29
|
+
amount,
|
|
30
|
+
tokenMint,
|
|
31
|
+
connection
|
|
32
|
+
}) {
|
|
33
|
+
if (!fromAddress) {
|
|
34
|
+
throw new Error('No public key found');
|
|
35
|
+
}
|
|
36
|
+
if (amount <= 0) {
|
|
37
|
+
throw new Error('Amount must be greater than 0');
|
|
38
|
+
}
|
|
39
|
+
try {
|
|
40
|
+
const fromPubkey = new _web.PublicKey(fromAddress);
|
|
41
|
+
const toPubkey = new _web.PublicKey(toAddress);
|
|
42
|
+
const mintPubkey = new _web.PublicKey(tokenMint);
|
|
43
|
+
const programId = await getMintOwnerProgramId(connection, mintPubkey);
|
|
44
|
+
const mintInfo = await (0, _splToken.getMint)(connection, mintPubkey, undefined, programId);
|
|
45
|
+
const decimals = mintInfo.decimals;
|
|
46
|
+
if (decimals < 0) {
|
|
47
|
+
throw new Error('Invalid token decimals');
|
|
48
|
+
}
|
|
49
|
+
const tokenAmount = Math.floor(amount * 10 ** decimals);
|
|
50
|
+
const fromTokenAccount = (0, _splToken.getAssociatedTokenAddressSync)(mintPubkey, fromPubkey, false, programId);
|
|
51
|
+
const toTokenAccount = (0, _splToken.getAssociatedTokenAddressSync)(mintPubkey, toPubkey, false, programId);
|
|
52
|
+
try {
|
|
53
|
+
const fromAccount = await (0, _splToken.getAccount)(connection, fromTokenAccount, undefined, programId);
|
|
54
|
+
if (fromAccount.amount < BigInt(tokenAmount)) {
|
|
55
|
+
throw new Error('Insufficient token balance');
|
|
56
|
+
}
|
|
57
|
+
} catch (error) {
|
|
58
|
+
if (error instanceof _splToken.TokenAccountNotFoundError) {
|
|
59
|
+
throw new Error('Sender does not have a token account for this mint');
|
|
60
|
+
}
|
|
61
|
+
throw error;
|
|
62
|
+
}
|
|
63
|
+
let shouldCreateATA = false;
|
|
64
|
+
try {
|
|
65
|
+
await (0, _splToken.getAccount)(connection, toTokenAccount, undefined, programId);
|
|
66
|
+
} catch (error) {
|
|
67
|
+
if (error instanceof _splToken.TokenAccountNotFoundError) {
|
|
68
|
+
shouldCreateATA = true;
|
|
69
|
+
} else {
|
|
70
|
+
throw error;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
const instructions = [];
|
|
74
|
+
if (shouldCreateATA) {
|
|
75
|
+
instructions.push(_web.ComputeBudgetProgram.setComputeUnitPrice({
|
|
76
|
+
microLamports: SPL_COMPUTE_BUDGET_CONSTANTS.UNIT_PRICE_MICRO_LAMPORTS
|
|
77
|
+
}), _web.ComputeBudgetProgram.setComputeUnitLimit({
|
|
78
|
+
units: SPL_COMPUTE_BUDGET_CONSTANTS.UNIT_LIMIT_WITH_ATA_CREATION
|
|
79
|
+
}));
|
|
80
|
+
instructions.push((0, _splToken.createAssociatedTokenAccountInstruction)(fromPubkey, toTokenAccount, toPubkey, mintPubkey, programId));
|
|
81
|
+
}
|
|
82
|
+
instructions.push((0, _splToken.createTransferCheckedInstruction)(fromTokenAccount, mintPubkey, toTokenAccount, fromPubkey, tokenAmount, decimals, [], programId));
|
|
83
|
+
const {
|
|
84
|
+
blockhash,
|
|
85
|
+
lastValidBlockHeight
|
|
86
|
+
} = await connection.getLatestBlockhash();
|
|
87
|
+
return new _web.Transaction({
|
|
88
|
+
feePayer: fromPubkey,
|
|
89
|
+
blockhash,
|
|
90
|
+
lastValidBlockHeight
|
|
91
|
+
}).add(...instructions);
|
|
92
|
+
} catch (error) {
|
|
93
|
+
throw new Error(`Failed to create SPL token transaction: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=createSPLTokenTransaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_splToken","require","_web","SPL_COMPUTE_BUDGET_CONSTANTS","UNIT_PRICE_MICRO_LAMPORTS","UNIT_LIMIT_WITH_ATA_CREATION","getMintOwnerProgramId","connection","mint","info","getAccountInfo","Error","owner","equals","TOKEN_PROGRAM_ID","TOKEN_2022_PROGRAM_ID","createSPLTokenTransaction","fromAddress","toAddress","amount","tokenMint","fromPubkey","PublicKey","toPubkey","mintPubkey","programId","mintInfo","getMint","undefined","decimals","tokenAmount","Math","floor","fromTokenAccount","getAssociatedTokenAddressSync","toTokenAccount","fromAccount","getAccount","BigInt","error","TokenAccountNotFoundError","shouldCreateATA","instructions","push","ComputeBudgetProgram","setComputeUnitPrice","microLamports","setComputeUnitLimit","units","createAssociatedTokenAccountInstruction","createTransferCheckedInstruction","blockhash","lastValidBlockHeight","getLatestBlockhash","Transaction","feePayer","add","message"],"sourceRoot":"../../../src","sources":["utils/createSPLTokenTransaction.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,33 +5,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.createSendTransaction = createSendTransaction;
|
|
7
7
|
var _web = require("@solana/web3.js");
|
|
8
|
-
// import type { Provider } from '@reown/appkit-utils/solana'
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* These constants defines the cost of running the program, allowing to calculate the maximum
|
|
12
|
-
* amount of SOL that can be sent in case of cleaning the account and remove the rent exemption error.
|
|
13
|
-
*/
|
|
14
|
-
const COMPUTE_BUDGET_CONSTANTS = {
|
|
15
|
-
UNIT_PRICE_MICRO_LAMPORTS: 20000000,
|
|
16
|
-
UNIT_LIMIT: 500
|
|
17
|
-
};
|
|
18
8
|
async function createSendTransaction({
|
|
19
9
|
fromAddress,
|
|
20
10
|
toAddress,
|
|
21
|
-
|
|
11
|
+
amount,
|
|
22
12
|
connection
|
|
23
13
|
}) {
|
|
24
14
|
const fromPubkey = new _web.PublicKey(fromAddress);
|
|
25
15
|
const toPubkey = new _web.PublicKey(toAddress);
|
|
26
|
-
const lamports = Math.floor(
|
|
16
|
+
const lamports = Math.floor(amount * _web.LAMPORTS_PER_SOL);
|
|
27
17
|
const {
|
|
28
18
|
blockhash
|
|
29
19
|
} = await connection.getLatestBlockhash();
|
|
30
|
-
const instructions = [_web.
|
|
31
|
-
microLamports: COMPUTE_BUDGET_CONSTANTS.UNIT_PRICE_MICRO_LAMPORTS
|
|
32
|
-
}), _web.ComputeBudgetProgram.setComputeUnitLimit({
|
|
33
|
-
units: COMPUTE_BUDGET_CONSTANTS.UNIT_LIMIT
|
|
34
|
-
}), _web.SystemProgram.transfer({
|
|
20
|
+
const instructions = [_web.SystemProgram.transfer({
|
|
35
21
|
fromPubkey,
|
|
36
22
|
toPubkey,
|
|
37
23
|
lamports
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_web","require","
|
|
1
|
+
{"version":3,"names":["_web","require","createSendTransaction","fromAddress","toAddress","amount","connection","fromPubkey","PublicKey","toPubkey","lamports","Math","floor","LAMPORTS_PER_SOL","blockhash","getLatestBlockhash","instructions","SystemProgram","transfer","transaction","Transaction","add","feePayer","recentBlockhash"],"sourceRoot":"../../../src","sources":["utils/createSendTransaction.ts"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAeO,eAAeC,qBAAqBA,CAAC;EAC1CC,WAAW;EACXC,SAAS;EACTC,MAAM;EACNC;AACmB,CAAC,EAAwB;EAC5C,MAAMC,UAAU,GAAG,IAAIC,cAAS,CAACL,WAAW,CAAC;EAC7C,MAAMM,QAAQ,GAAG,IAAID,cAAS,CAACJ,SAAS,CAAC;EACzC,MAAMM,QAAQ,GAAGC,IAAI,CAACC,KAAK,CAACP,MAAM,GAAGQ,qBAAgB,CAAC;EAEtD,MAAM;IAAEC;EAAU,CAAC,GAAG,MAAMR,UAAU,CAACS,kBAAkB,CAAC,CAAC;EAE3D,MAAMC,YAAY,GAAG,CACnBC,kBAAa,CAACC,QAAQ,CAAC;IACrBX,UAAU;IACVE,QAAQ;IACRC;EACF,CAAC,CAAC,CACH;EAED,MAAMS,WAAW,GAAG,IAAIC,gBAAW,CAAC,CAAC,CAACC,GAAG,CAAC,GAAGL,YAAY,CAAC;EAC1DG,WAAW,CAACG,QAAQ,GAAGf,UAAU;EACjCY,WAAW,CAACI,eAAe,GAAGT,SAAS;EAEvC,OAAOK,WAAW;AACpB","ignoreList":[]}
|
package/lib/module/adapter.js
CHANGED
|
@@ -5,6 +5,7 @@ import { getSolanaNativeBalance, getSolanaTokenBalance } from './helpers';
|
|
|
5
5
|
import { Connection, Transaction, VersionedTransaction } from '@solana/web3.js';
|
|
6
6
|
import base58 from 'bs58';
|
|
7
7
|
import { createSendTransaction } from './utils/createSendTransaction';
|
|
8
|
+
import { createSPLTokenTransaction } from './utils/createSPLTokenTransaction';
|
|
8
9
|
export class SolanaAdapter extends SolanaBaseAdapter {
|
|
9
10
|
static supportedNamespace = 'solana';
|
|
10
11
|
constructor() {
|
|
@@ -75,10 +76,23 @@ export class SolanaAdapter extends SolanaBaseAdapter {
|
|
|
75
76
|
throw new Error('SolanaAdapter:signTransaction - provider is undefined');
|
|
76
77
|
}
|
|
77
78
|
try {
|
|
78
|
-
//
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
|
|
79
|
+
// Check if this is a deeplink provider (Phantom/Solflare)
|
|
80
|
+
const isDeeplinkProvider = this.connector.type === 'phantom' || this.connector.type === 'solflare';
|
|
81
|
+
|
|
82
|
+
// Serialize transaction based on provider type
|
|
83
|
+
let serializedTransaction;
|
|
84
|
+
if (isDeeplinkProvider) {
|
|
85
|
+
// Deeplink providers (Phantom/Solflare) expect base58
|
|
86
|
+
const transactionBytes = new Uint8Array(transaction.serialize({
|
|
87
|
+
verifySignatures: false
|
|
88
|
+
}));
|
|
89
|
+
serializedTransaction = base58.encode(transactionBytes);
|
|
90
|
+
} else {
|
|
91
|
+
// WalletConnect providers expect base64 (following WalletConnect standard)
|
|
92
|
+
serializedTransaction = Buffer.from(new Uint8Array(transaction.serialize({
|
|
93
|
+
verifySignatures: false
|
|
94
|
+
}))).toString('base64');
|
|
95
|
+
}
|
|
82
96
|
const result = await provider.request({
|
|
83
97
|
method: 'solana_signTransaction',
|
|
84
98
|
params: {
|
|
@@ -98,7 +112,19 @@ export class SolanaAdapter extends SolanaBaseAdapter {
|
|
|
98
112
|
}
|
|
99
113
|
if ('transaction' in result && result.transaction) {
|
|
100
114
|
// New response format - deserialize the signed transaction
|
|
101
|
-
|
|
115
|
+
let decodedTransaction;
|
|
116
|
+
if (isDeeplinkProvider) {
|
|
117
|
+
// Deeplink providers return base58 encoded transactions
|
|
118
|
+
try {
|
|
119
|
+
const decodedBytes = base58.decode(result.transaction);
|
|
120
|
+
decodedTransaction = Buffer.from(decodedBytes);
|
|
121
|
+
} catch (error) {
|
|
122
|
+
throw new Error('Failed to decode base58 transaction from deeplink provider');
|
|
123
|
+
}
|
|
124
|
+
} else {
|
|
125
|
+
// WalletConnect providers return base64 encoded transactions
|
|
126
|
+
decodedTransaction = Buffer.from(result.transaction, 'base64');
|
|
127
|
+
}
|
|
102
128
|
if (transaction instanceof VersionedTransaction) {
|
|
103
129
|
return VersionedTransaction.deserialize(new Uint8Array(decodedTransaction));
|
|
104
130
|
}
|
|
@@ -118,7 +144,8 @@ export class SolanaAdapter extends SolanaBaseAdapter {
|
|
|
118
144
|
toAddress,
|
|
119
145
|
amount,
|
|
120
146
|
network,
|
|
121
|
-
rpcUrl
|
|
147
|
+
rpcUrl,
|
|
148
|
+
tokenMint
|
|
122
149
|
} = data;
|
|
123
150
|
if (!this.connector) {
|
|
124
151
|
throw new Error('SolanaAdapter:sendTransaction - no active connector');
|
|
@@ -151,11 +178,17 @@ export class SolanaAdapter extends SolanaBaseAdapter {
|
|
|
151
178
|
|
|
152
179
|
// Create connection
|
|
153
180
|
const connection = new Connection(connectionRpcUrl, 'confirmed');
|
|
154
|
-
const transaction = await
|
|
181
|
+
const transaction = tokenMint ? await createSPLTokenTransaction({
|
|
155
182
|
connection,
|
|
156
183
|
fromAddress,
|
|
157
184
|
toAddress,
|
|
158
|
-
|
|
185
|
+
amount,
|
|
186
|
+
tokenMint
|
|
187
|
+
}) : await createSendTransaction({
|
|
188
|
+
connection,
|
|
189
|
+
fromAddress,
|
|
190
|
+
toAddress,
|
|
191
|
+
amount
|
|
159
192
|
});
|
|
160
193
|
|
|
161
194
|
// Sign the transaction
|
|
@@ -177,6 +210,34 @@ export class SolanaAdapter extends SolanaBaseAdapter {
|
|
|
177
210
|
throw new Error('SolanaAdapter:sendTransaction - unknown error occurred');
|
|
178
211
|
}
|
|
179
212
|
}
|
|
213
|
+
async signMessage(address, message, chainId) {
|
|
214
|
+
try {
|
|
215
|
+
if (!this.connector) {
|
|
216
|
+
throw new Error('SolanaAdapter:signMessage - no active connector');
|
|
217
|
+
}
|
|
218
|
+
const provider = this.connector.getProvider('solana');
|
|
219
|
+
if (!provider) {
|
|
220
|
+
throw new Error('SolanaAdapter:signMessage - provider is undefined');
|
|
221
|
+
}
|
|
222
|
+
const chain = chainId ? `${this.getSupportedNamespace()}:${chainId}` : undefined;
|
|
223
|
+
const encodedMessage = new TextEncoder().encode(message);
|
|
224
|
+
const params = {
|
|
225
|
+
message: base58.encode(encodedMessage),
|
|
226
|
+
pubkey: address
|
|
227
|
+
// For Phantom, pubkey is not part of signMessage params directly with session
|
|
228
|
+
// For other wallets, it might be needed if they don't infer from session
|
|
229
|
+
};
|
|
230
|
+
const {
|
|
231
|
+
signature
|
|
232
|
+
} = await provider.request({
|
|
233
|
+
method: 'solana_signMessage',
|
|
234
|
+
params
|
|
235
|
+
}, chain);
|
|
236
|
+
return signature;
|
|
237
|
+
} catch (error) {
|
|
238
|
+
throw error;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
180
241
|
async switchNetwork(network) {
|
|
181
242
|
if (!this.connector) throw new Error('No active connector');
|
|
182
243
|
const provider = this.connector.getProvider('solana');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SolanaBaseAdapter","getSolanaNativeBalance","getSolanaTokenBalance","Connection","Transaction","VersionedTransaction","base58","createSendTransaction","SolanaAdapter","supportedNamespace","constructor","adapterType","getBalance","params","network","address","tokens","connector","Error","balanceAddress","getAccounts","find","account","includes","id","toString","amount","symbol","rpcUrl","rpcUrls","default","http","base58Address","split","token","caipNetworkId","balance","emit","error","signTransaction","transaction","provider","getProvider","
|
|
1
|
+
{"version":3,"names":["SolanaBaseAdapter","getSolanaNativeBalance","getSolanaTokenBalance","Connection","Transaction","VersionedTransaction","base58","createSendTransaction","createSPLTokenTransaction","SolanaAdapter","supportedNamespace","constructor","adapterType","getBalance","params","network","address","tokens","connector","Error","balanceAddress","getAccounts","find","account","includes","id","toString","amount","symbol","rpcUrl","rpcUrls","default","http","base58Address","split","token","caipNetworkId","balance","emit","error","signTransaction","transaction","provider","getProvider","isDeeplinkProvider","type","serializedTransaction","transactionBytes","Uint8Array","serialize","verifySignatures","encode","Buffer","from","result","request","method","pubkey","signature","decoded","decode","feePayer","addSignature","decodedTransaction","decodedBytes","deserialize","message","sendTransaction","data","fromAddress","toAddress","tokenMint","connectionRpcUrl","connection","signedTransaction","sendRawTransaction","skipPreflight","preflightCommitment","signMessage","chainId","chain","getSupportedNamespace","undefined","encodedMessage","TextEncoder","switchNetwork","switchError","namespaces","getNamespaces","accounts","disconnect"],"sourceRoot":"../../src","sources":["adapter.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,7 +13,10 @@ export class PhantomConnector extends DeeplinkConnector {
|
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
15
|
getWalletInfo() {
|
|
16
|
-
return
|
|
16
|
+
return {
|
|
17
|
+
name: ConstantsUtil.PHANTOM_CUSTOM_WALLET.name,
|
|
18
|
+
type: 'external'
|
|
19
|
+
};
|
|
17
20
|
}
|
|
18
21
|
getBaseUrl() {
|
|
19
22
|
return PHANTOM_BASE_URL;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ConstantsUtil","DeeplinkConnector","PHANTOM_BASE_URL","PHANTOM_CONNECTOR_STORAGE_KEY","PHANTOM_DAPP_KEYPAIR_STORAGE_KEY","PhantomConnector","constructor","config","type","cluster","getWalletInfo","PHANTOM_CUSTOM_WALLET","getBaseUrl","getStorageKey","getDappKeypairStorageKey","getEncryptionKeyFieldName"],"sourceRoot":"../../../src","sources":["connectors/PhantomConnector.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAyB,mCAAmC;AAClF,SAASC,iBAAiB,QAAQ,qBAAqB;AAGvD,MAAMC,gBAAgB,GAAG,2BAA2B;AACpD,MAAMC,6BAA6B,GAAG,gCAAgC;AACtE,MAAMC,gCAAgC,GAAG,iCAAiC;AAE1E,OAAO,MAAMC,gBAAgB,SAASJ,iBAAiB,CAAC;EACtDK,WAAWA,CAACC,MAA+B,EAAE;IAC3C,KAAK,CAAC;MAAEC,IAAI,EAAE,SAAS;MAAEC,OAAO,EAAEF,MAAM,EAAEE;IAAQ,CAAC,CAAC;EACtD;EAESC,aAAaA,CAAA,EAAe;IACnC,
|
|
1
|
+
{"version":3,"names":["ConstantsUtil","DeeplinkConnector","PHANTOM_BASE_URL","PHANTOM_CONNECTOR_STORAGE_KEY","PHANTOM_DAPP_KEYPAIR_STORAGE_KEY","PhantomConnector","constructor","config","type","cluster","getWalletInfo","name","PHANTOM_CUSTOM_WALLET","getBaseUrl","getStorageKey","getDappKeypairStorageKey","getEncryptionKeyFieldName"],"sourceRoot":"../../../src","sources":["connectors/PhantomConnector.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAyB,mCAAmC;AAClF,SAASC,iBAAiB,QAAQ,qBAAqB;AAGvD,MAAMC,gBAAgB,GAAG,2BAA2B;AACpD,MAAMC,6BAA6B,GAAG,gCAAgC;AACtE,MAAMC,gCAAgC,GAAG,iCAAiC;AAE1E,OAAO,MAAMC,gBAAgB,SAASJ,iBAAiB,CAAC;EACtDK,WAAWA,CAACC,MAA+B,EAAE;IAC3C,KAAK,CAAC;MAAEC,IAAI,EAAE,SAAS;MAAEC,OAAO,EAAEF,MAAM,EAAEE;IAAQ,CAAC,CAAC;EACtD;EAESC,aAAaA,CAAA,EAAe;IACnC,OAAO;MACLC,IAAI,EAAEX,aAAa,CAACY,qBAAqB,CAACD,IAAI;MAC9CH,IAAI,EAAE;IACR,CAAC;EACH;EAEUK,UAAUA,CAAA,EAAW;IAC7B,OAAOX,gBAAgB;EACzB;EAEUY,aAAaA,CAAA,EAAW;IAChC,OAAOX,6BAA6B;EACtC;EAEUY,wBAAwBA,CAAA,EAAW;IAC3C,OAAOX,gCAAgC;EACzC;EAEUY,yBAAyBA,CAAA,EAAW;IAC5C,OAAO,+BAA+B;EACxC;AACF","ignoreList":[]}
|
|
@@ -13,7 +13,10 @@ export class SolflareConnector extends DeeplinkConnector {
|
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
15
|
getWalletInfo() {
|
|
16
|
-
return
|
|
16
|
+
return {
|
|
17
|
+
name: ConstantsUtil.SOLFLARE_CUSTOM_WALLET.name,
|
|
18
|
+
type: 'external'
|
|
19
|
+
};
|
|
17
20
|
}
|
|
18
21
|
getBaseUrl() {
|
|
19
22
|
return SOLFLARE_BASE_URL;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ConstantsUtil","DeeplinkConnector","SOLFLARE_BASE_URL","SOLFLARE_CONNECTOR_STORAGE_KEY","SOLFLARE_DAPP_KEYPAIR_STORAGE_KEY","SolflareConnector","constructor","config","type","cluster","getWalletInfo","SOLFLARE_CUSTOM_WALLET","getBaseUrl","getStorageKey","getDappKeypairStorageKey","getEncryptionKeyFieldName"],"sourceRoot":"../../../src","sources":["connectors/SolflareConnector.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAyB,mCAAmC;AAClF,SAASC,iBAAiB,QAAQ,qBAAqB;AAGvD,MAAMC,iBAAiB,GAAG,4BAA4B;AACtD,MAAMC,8BAA8B,GAAG,iCAAiC;AACxE,MAAMC,iCAAiC,GAAG,kCAAkC;AAE5E,OAAO,MAAMC,iBAAiB,SAASJ,iBAAiB,CAAC;EACvDK,WAAWA,CAACC,MAAgC,EAAE;IAC5C,KAAK,CAAC;MAAEC,IAAI,EAAE,UAAU;MAAEC,OAAO,EAAEF,MAAM,EAAEE;IAAQ,CAAC,CAAC;EACvD;EAESC,aAAaA,CAAA,EAAe;IACnC,
|
|
1
|
+
{"version":3,"names":["ConstantsUtil","DeeplinkConnector","SOLFLARE_BASE_URL","SOLFLARE_CONNECTOR_STORAGE_KEY","SOLFLARE_DAPP_KEYPAIR_STORAGE_KEY","SolflareConnector","constructor","config","type","cluster","getWalletInfo","name","SOLFLARE_CUSTOM_WALLET","getBaseUrl","getStorageKey","getDappKeypairStorageKey","getEncryptionKeyFieldName"],"sourceRoot":"../../../src","sources":["connectors/SolflareConnector.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAyB,mCAAmC;AAClF,SAASC,iBAAiB,QAAQ,qBAAqB;AAGvD,MAAMC,iBAAiB,GAAG,4BAA4B;AACtD,MAAMC,8BAA8B,GAAG,iCAAiC;AACxE,MAAMC,iCAAiC,GAAG,kCAAkC;AAE5E,OAAO,MAAMC,iBAAiB,SAASJ,iBAAiB,CAAC;EACvDK,WAAWA,CAACC,MAAgC,EAAE;IAC5C,KAAK,CAAC;MAAEC,IAAI,EAAE,UAAU;MAAEC,OAAO,EAAEF,MAAM,EAAEE;IAAQ,CAAC,CAAC;EACvD;EAESC,aAAaA,CAAA,EAAe;IACnC,OAAO;MACLC,IAAI,EAAEX,aAAa,CAACY,sBAAsB,CAACD,IAAI;MAC/CH,IAAI,EAAE;IACR,CAAC;EACH;EAEUK,UAAUA,CAAA,EAAW;IAC7B,OAAOX,iBAAiB;EAC1B;EAEUY,aAAaA,CAAA,EAAW;IAChC,OAAOX,8BAA8B;EACvC;EAEUY,wBAAwBA,CAAA,EAAW;IAC3C,OAAOX,iCAAiC;EAC1C;EAEUY,yBAAyBA,CAAA,EAAW;IAC5C,OAAO,gCAAgC;EACzC;AACF","ignoreList":[]}
|