@reown/appkit-solana-react-native 0.0.0-feat-multi-social-20250715153550 → 0.0.0-feat-coinbase-20250722173213
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 +120 -1
- package/lib/commonjs/adapter.js.map +1 -1
- package/lib/commonjs/connectors/PhantomConnector.js +5 -7
- package/lib/commonjs/connectors/PhantomConnector.js.map +1 -1
- package/lib/commonjs/index.js +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/providers/PhantomProvider.js +2 -0
- package/lib/commonjs/providers/PhantomProvider.js.map +1 -1
- package/lib/commonjs/utils/createSendTransaction.js +44 -0
- package/lib/commonjs/utils/createSendTransaction.js.map +1 -0
- package/lib/module/adapter.js +119 -1
- package/lib/module/adapter.js.map +1 -1
- package/lib/module/connectors/PhantomConnector.js +5 -7
- package/lib/module/connectors/PhantomConnector.js.map +1 -1
- package/lib/module/index.js +4 -4
- package/lib/module/index.js.map +1 -1
- package/lib/module/providers/PhantomProvider.js +2 -0
- package/lib/module/providers/PhantomProvider.js.map +1 -1
- package/lib/module/utils/createSendTransaction.js +39 -0
- package/lib/module/utils/createSendTransaction.js.map +1 -0
- package/lib/typescript/adapter.d.ts +10 -0
- package/lib/typescript/adapter.d.ts.map +1 -1
- package/lib/typescript/connectors/PhantomConnector.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +2 -2
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/providers/PhantomProvider.d.ts.map +1 -1
- package/lib/typescript/utils/createSendTransaction.d.ts +10 -0
- package/lib/typescript/utils/createSendTransaction.d.ts.map +1 -0
- package/package.json +3 -2
- package/src/adapter.ts +151 -1
- package/src/connectors/PhantomConnector.ts +5 -7
- package/src/index.ts +4 -4
- package/src/providers/PhantomProvider.ts +2 -0
- package/src/utils/createSendTransaction.ts +57 -0
package/lib/commonjs/adapter.js
CHANGED
|
@@ -6,12 +6,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.SolanaAdapter = void 0;
|
|
7
7
|
var _appkitCommonReactNative = require("@reown/appkit-common-react-native");
|
|
8
8
|
var _helpers = require("./helpers");
|
|
9
|
+
var _web = require("@solana/web3.js");
|
|
10
|
+
var _bs = _interopRequireDefault(require("bs58"));
|
|
11
|
+
var _createSendTransaction = require("./utils/createSendTransaction");
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
13
|
class SolanaAdapter extends _appkitCommonReactNative.SolanaBaseAdapter {
|
|
10
14
|
static supportedNamespace = 'solana';
|
|
11
15
|
constructor(configParams) {
|
|
12
16
|
super({
|
|
13
17
|
projectId: configParams.projectId,
|
|
14
|
-
supportedNamespace: SolanaAdapter.supportedNamespace
|
|
18
|
+
supportedNamespace: SolanaAdapter.supportedNamespace,
|
|
19
|
+
adapterType: 'solana'
|
|
15
20
|
});
|
|
16
21
|
}
|
|
17
22
|
async getBalance(params) {
|
|
@@ -64,6 +69,120 @@ class SolanaAdapter extends _appkitCommonReactNative.SolanaBaseAdapter {
|
|
|
64
69
|
};
|
|
65
70
|
}
|
|
66
71
|
}
|
|
72
|
+
async signTransaction(transaction, network) {
|
|
73
|
+
if (!this.connector) {
|
|
74
|
+
throw new Error('SolanaAdapter:signTransaction - no active connector');
|
|
75
|
+
}
|
|
76
|
+
if (!network) {
|
|
77
|
+
throw new Error('SolanaAdapter:signTransaction - network is undefined');
|
|
78
|
+
}
|
|
79
|
+
const provider = this.connector.getProvider();
|
|
80
|
+
if (!provider) {
|
|
81
|
+
throw new Error('SolanaAdapter:signTransaction - provider is undefined');
|
|
82
|
+
}
|
|
83
|
+
try {
|
|
84
|
+
// Serialize transaction to base64 (following WalletConnect standard)
|
|
85
|
+
const serializedTransaction = Buffer.from(new Uint8Array(transaction.serialize({
|
|
86
|
+
verifySignatures: false
|
|
87
|
+
}))).toString('base64');
|
|
88
|
+
const result = await provider.request({
|
|
89
|
+
method: 'solana_signTransaction',
|
|
90
|
+
params: {
|
|
91
|
+
transaction: serializedTransaction,
|
|
92
|
+
pubkey: this.getAccounts()?.[0]?.split(':')[2] || ''
|
|
93
|
+
}
|
|
94
|
+
}, network.caipNetworkId);
|
|
95
|
+
|
|
96
|
+
// Handle different response formats
|
|
97
|
+
if ('signature' in result && result.signature) {
|
|
98
|
+
// Old RPC response format - add signature to transaction
|
|
99
|
+
const decoded = _bs.default.decode(result.signature);
|
|
100
|
+
if (transaction instanceof _web.Transaction && transaction.feePayer) {
|
|
101
|
+
transaction.addSignature(transaction.feePayer, Buffer.from(decoded));
|
|
102
|
+
}
|
|
103
|
+
return transaction;
|
|
104
|
+
}
|
|
105
|
+
if ('transaction' in result && result.transaction) {
|
|
106
|
+
// New response format - deserialize the signed transaction
|
|
107
|
+
const decodedTransaction = Buffer.from(result.transaction, 'base64');
|
|
108
|
+
if (transaction instanceof _web.VersionedTransaction) {
|
|
109
|
+
return _web.VersionedTransaction.deserialize(new Uint8Array(decodedTransaction));
|
|
110
|
+
}
|
|
111
|
+
return _web.Transaction.from(decodedTransaction);
|
|
112
|
+
}
|
|
113
|
+
throw new Error('SolanaAdapter:signTransaction - invalid response format');
|
|
114
|
+
} catch (error) {
|
|
115
|
+
if (error instanceof Error) {
|
|
116
|
+
throw new Error(`SolanaAdapter:signTransaction - ${error.message}`);
|
|
117
|
+
}
|
|
118
|
+
throw new Error('SolanaAdapter:signTransaction - unknown error occurred');
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
async sendTransaction(data) {
|
|
122
|
+
const {
|
|
123
|
+
fromAddress,
|
|
124
|
+
toAddress,
|
|
125
|
+
amount,
|
|
126
|
+
network,
|
|
127
|
+
rpcUrl
|
|
128
|
+
} = data;
|
|
129
|
+
if (!this.connector) {
|
|
130
|
+
throw new Error('SolanaAdapter:sendTransaction - no active connector');
|
|
131
|
+
}
|
|
132
|
+
const provider = this.connector.getProvider();
|
|
133
|
+
if (!provider) {
|
|
134
|
+
throw new Error('SolanaAdapter:sendTransaction - provider is undefined');
|
|
135
|
+
}
|
|
136
|
+
if (!network) {
|
|
137
|
+
throw new Error('SolanaAdapter:sendTransaction - network is undefined');
|
|
138
|
+
}
|
|
139
|
+
if (!fromAddress) {
|
|
140
|
+
throw new Error('SolanaAdapter:sendTransaction - fromAddress is undefined');
|
|
141
|
+
}
|
|
142
|
+
if (!toAddress) {
|
|
143
|
+
throw new Error('SolanaAdapter:sendTransaction - toAddress is undefined');
|
|
144
|
+
}
|
|
145
|
+
if (!amount || amount <= 0) {
|
|
146
|
+
throw new Error('SolanaAdapter:sendTransaction - amount must be greater than 0');
|
|
147
|
+
}
|
|
148
|
+
try {
|
|
149
|
+
// Determine RPC URL
|
|
150
|
+
let connectionRpcUrl = rpcUrl;
|
|
151
|
+
if (!connectionRpcUrl && network) {
|
|
152
|
+
connectionRpcUrl = network.rpcUrls?.default?.http?.[0];
|
|
153
|
+
}
|
|
154
|
+
if (!connectionRpcUrl) {
|
|
155
|
+
throw new Error('SolanaAdapter:sendTransaction - no RPC URL available');
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
// Create connection
|
|
159
|
+
const connection = new _web.Connection(connectionRpcUrl, 'confirmed');
|
|
160
|
+
const transaction = await (0, _createSendTransaction.createSendTransaction)({
|
|
161
|
+
connection,
|
|
162
|
+
fromAddress,
|
|
163
|
+
toAddress,
|
|
164
|
+
value: amount
|
|
165
|
+
});
|
|
166
|
+
|
|
167
|
+
// Sign the transaction
|
|
168
|
+
const signedTransaction = await this.signTransaction(transaction, network);
|
|
169
|
+
|
|
170
|
+
// Send the signed transaction
|
|
171
|
+
const signature = await connection.sendRawTransaction(signedTransaction.serialize(), {
|
|
172
|
+
skipPreflight: false,
|
|
173
|
+
preflightCommitment: 'confirmed'
|
|
174
|
+
});
|
|
175
|
+
if (!signature) {
|
|
176
|
+
throw new Error('SolanaAdapter:sendTransaction - no signature returned');
|
|
177
|
+
}
|
|
178
|
+
return signature;
|
|
179
|
+
} catch (error) {
|
|
180
|
+
if (error instanceof Error) {
|
|
181
|
+
throw new Error(`SolanaAdapter:sendTransaction - ${error.message}`);
|
|
182
|
+
}
|
|
183
|
+
throw new Error('SolanaAdapter:sendTransaction - unknown error occurred');
|
|
184
|
+
}
|
|
185
|
+
}
|
|
67
186
|
async switchNetwork(network) {
|
|
68
187
|
if (!this.connector) throw new Error('No active connector');
|
|
69
188
|
const provider = this.connector.getProvider();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_appkitCommonReactNative","require","_helpers","SolanaAdapter","SolanaBaseAdapter","supportedNamespace","constructor","configParams","projectId","getBalance","params","network","address","tokens","connector","Error","balanceAddress","getAccounts","find","account","includes","id","toString","amount","symbol","rpcUrl","rpcUrls","
|
|
1
|
+
{"version":3,"names":["_appkitCommonReactNative","require","_helpers","_web","_bs","_interopRequireDefault","_createSendTransaction","e","__esModule","default","SolanaAdapter","SolanaBaseAdapter","supportedNamespace","constructor","configParams","projectId","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","serializedTransaction","Buffer","from","Uint8Array","serialize","verifySignatures","result","request","method","pubkey","signature","decoded","base58","decode","Transaction","feePayer","addSignature","decodedTransaction","VersionedTransaction","deserialize","message","sendTransaction","data","fromAddress","toAddress","connectionRpcUrl","connection","Connection","createSendTransaction","value","signedTransaction","sendRawTransaction","skipPreflight","preflightCommitment","switchNetwork","switchError","namespaces","getNamespaces","getSupportedNamespace","accounts","disconnect","exports"],"sourceRoot":"../../src","sources":["adapter.ts"],"mappings":"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"}
|
|
@@ -102,11 +102,10 @@ class PhantomConnector extends _appkitCommonReactNative.WalletConnector {
|
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
async disconnect() {
|
|
105
|
-
if (!this.isConnected()) {
|
|
106
|
-
return Promise.resolve();
|
|
107
|
-
}
|
|
108
105
|
try {
|
|
109
|
-
|
|
106
|
+
if (this.isConnected()) {
|
|
107
|
+
await super.disconnect();
|
|
108
|
+
}
|
|
110
109
|
} catch (error) {
|
|
111
110
|
// console.warn(`PhantomConnector: Error during provider disconnect: ${error.message}. Proceeding with local clear.`);
|
|
112
111
|
}
|
|
@@ -165,9 +164,7 @@ class PhantomConnector extends _appkitCommonReactNative.WalletConnector {
|
|
|
165
164
|
return Promise.resolve();
|
|
166
165
|
}
|
|
167
166
|
|
|
168
|
-
//
|
|
169
|
-
// We can try to disconnect the current session and then initiate a new connection.
|
|
170
|
-
// console.log(`Attempting to switch network to: ${targetClusterName}`);
|
|
167
|
+
// Phantom doesn't provide a way to switch network, so we need to disconnect and reconnect.
|
|
171
168
|
await this.disconnect(); // Clear current session
|
|
172
169
|
|
|
173
170
|
// Create a temporary options object to guide the new connection
|
|
@@ -178,6 +175,7 @@ class PhantomConnector extends _appkitCommonReactNative.WalletConnector {
|
|
|
178
175
|
// Attempt to connect to the new cluster
|
|
179
176
|
// The connect method will use the defaultChain from opts to determine the cluster.
|
|
180
177
|
await this.connect(tempConnectOpts);
|
|
178
|
+
this.getProvider().emit('chainChanged', network.id);
|
|
181
179
|
|
|
182
180
|
// Verify if the connection was successful and to the correct new network
|
|
183
181
|
if (!this.isConnected() || this.getChainId(PhantomConnector.SUPPORTED_NAMESPACE) !== tempConnectOpts.defaultChain) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_appkitCommonReactNative","require","_tweetnacl","_interopRequireDefault","_bs","_PhantomProvider","e","__esModule","default","SOLANA_CLUSTER_TO_CHAIN_ID_PART","solana","id","solanaTestnet","solanaDevnet","PHANTOM_CONNECTOR_STORAGE_KEY","DAPP_KEYPAIR_STORAGE_KEY","PhantomConnector","WalletConnector","currentCaipNetworkId","SUPPORTED_NAMESPACE","constructor","config","type","cluster","init","ops","storage","initializeKeyPair","appScheme","metadata","redirect","universal","Error","providerConfig","dappUrl","url","dappEncryptionKeyPair","provider","PhantomProvider","restoreSession","secretKeyB58","getStorage","getItem","secretKey","bs58","decode","nacl","box","keyPair","fromSecretKey","newKeyPair","setItem","encode","error","disconnect","connect","opts","isConnected","namespaces","defaultChain","split","chains","requestedCluster","Object","keys","find","key","connectResult","getProvider","solanaChainIdPart","wallet","name","userPublicKey","getUserPublicKey","caipAddress","accounts","methods","values","SOLANA_SIGNING_METHODS","events","saveSession","clearSession","
|
|
1
|
+
{"version":3,"names":["_appkitCommonReactNative","require","_tweetnacl","_interopRequireDefault","_bs","_PhantomProvider","e","__esModule","default","SOLANA_CLUSTER_TO_CHAIN_ID_PART","solana","id","solanaTestnet","solanaDevnet","PHANTOM_CONNECTOR_STORAGE_KEY","DAPP_KEYPAIR_STORAGE_KEY","PhantomConnector","WalletConnector","currentCaipNetworkId","SUPPORTED_NAMESPACE","constructor","config","type","cluster","init","ops","storage","initializeKeyPair","appScheme","metadata","redirect","universal","Error","providerConfig","dappUrl","url","dappEncryptionKeyPair","provider","PhantomProvider","restoreSession","secretKeyB58","getStorage","getItem","secretKey","bs58","decode","nacl","box","keyPair","fromSecretKey","newKeyPair","setItem","encode","error","disconnect","connect","opts","isConnected","namespaces","defaultChain","split","chains","requestedCluster","Object","keys","find","key","connectResult","getProvider","solanaChainIdPart","wallet","name","userPublicKey","getUserPublicKey","caipAddress","accounts","methods","values","SOLANA_SIGNING_METHODS","events","saveSession","clearSession","undefined","clearSessionStorage","getNamespaces","getChainId","namespace","getProperties","properties","getWalletInfo","switchNetwork","network","targetClusterName","currentClusterName","Promise","resolve","tempConnectOpts","emit","providerSession","connectorData","removeItem","exports"],"sourceRoot":"../../../src","sources":["connectors/PhantomConnector.ts"],"mappings":";;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AAgBA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,GAAA,GAAAD,sBAAA,CAAAF,OAAA;AAEA,IAAAI,gBAAA,GAAAJ,OAAA;AAAuF,SAAAE,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAQvF,MAAMG,+BAA+D,GAAG;EACtE,cAAc,EAAEC,+BAAM,CAACC,EAAY;EACnC,SAAS,EAAEC,sCAAa,CAACD,EAAY;EACrC,QAAQ,EAAEE,qCAAY,CAACF;AACzB,CAAC;AAED,MAAMG,6BAA6B,GAAG,gCAAgC;AACtE,MAAMC,wBAAwB,GAAG,iCAAiC;AAE3D,MAAMC,gBAAgB,SAASC,wCAAe,CAAC;EAG5CC,oBAAoB,GAAyB,IAAI;EAGzD,OAAwBC,mBAAmB,GAAmB,QAAQ;EAEtEC,WAAWA,CAACC,MAA+B,EAAE;IAC3C,KAAK,CAAC;MAAEC,IAAI,EAAE;IAAU,CAAC,CAAC;IAC1B,IAAI,CAACD,MAAM,GAAGA,MAAM,IAAI;MAAEE,OAAO,EAAE;IAAe,CAAC;EACrD;EAEA,MAAeC,IAAIA,CAACC,GAAyB,EAAE;IAC7C,KAAK,CAACD,IAAI,CAACC,GAAG,CAAC;IACf,IAAI,CAACC,OAAO,GAAGD,GAAG,CAACC,OAAO;IAC1B,MAAM,IAAI,CAACC,iBAAiB,CAAC,CAAC;IAE9B,MAAMC,SAAS,GAAGH,GAAG,CAACI,QAAQ,CAACC,QAAQ,EAAEC,SAAS;IAClD,IAAI,CAACH,SAAS,EAAE;MACd,MAAM,IAAII,KAAK,CACb,wGACF,CAAC;IACH;IAEA,MAAMC,cAAqC,GAAG;MAC5CL,SAAS;MACTM,OAAO,EAAET,GAAG,CAACI,QAAQ,CAACM,GAAG;MACzBT,OAAO,EAAED,GAAG,CAACC,OAAO;MACpBU,qBAAqB,EAAE,IAAI,CAACA;IAC9B,CAAC;IAED,IAAI,CAACC,QAAQ,GAAG,IAAIC,gCAAe,CAACL,cAAc,CAAC;IACnD,MAAM,IAAI,CAACM,cAAc,CAAC,CAAC;EAC7B;EAEA,MAAcZ,iBAAiBA,CAAA,EAAkB;IAC/C,IAAI;MACF,MAAMa,YAAY,GAAG,MAAM,IAAI,CAACC,UAAU,CAAC,CAAC,CAACC,OAAO,CAAC3B,wBAAwB,CAAC;MAC9E,IAAIyB,YAAY,EAAE;QAChB,MAAMG,SAAS,GAAGC,WAAI,CAACC,MAAM,CAACL,YAAY,CAAC;QAC3C,IAAI,CAACJ,qBAAqB,GAAGU,kBAAI,CAACC,GAAG,CAACC,OAAO,CAACC,aAAa,CAACN,SAAS,CAAC;MACxE,CAAC,MAAM;QACL,MAAMO,UAAU,GAAGJ,kBAAI,CAACC,GAAG,CAACC,OAAO,CAAC,CAAC;QACrC,IAAI,CAACZ,qBAAqB,GAAGc,UAAU;QACvC,MAAM,IAAI,CAACT,UAAU,CAAC,CAAC,CAACU,OAAO,CAC7BpC,wBAAwB,EACxB6B,WAAI,CAACQ,MAAM,CAACF,UAAU,CAACP,SAAS,CAClC,CAAC;MACH;IACF,CAAC,CAAC,OAAOU,KAAK,EAAE;MACd;MACA,MAAM,IAAI,CAACC,UAAU,CAAC,CAAC;MACvB,MAAMD,KAAK;IACb;EACF;EAEA,MAAeE,OAAOA,CAACC,IAAqB,EAAmC;IAC7E,IAAI,IAAI,CAACC,WAAW,CAAC,CAAC,EAAE;MACtB,OAAO,IAAI,CAACC,UAAU;IACxB;IAEA,MAAMC,YAAY,GAChBH,IAAI,EAAEG,YAAY,EAAEC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,GAC5CJ,IAAI,EAAEG,YAAY,EAAEC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GACjCJ,IAAI,EAAEE,UAAU,GAAG,QAAQ,CAAC,EAAEG,MAAM,GAAG,CAAC,CAAC,EAAED,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAE9D,MAAME,gBAAgB,GACpB,IAAI,CAACzC,MAAM,CAACE,OAAO,IAClBwC,MAAM,CAACC,IAAI,CAACvD,+BAA+B,CAAC,CAACwD,IAAI,CAChDC,GAAG,IACDzD,+BAA+B,CAACyD,GAAG,CAAiD,KACpFP,YACJ,CAAgC;IAElC,IAAI;MACF,MAAMQ,aAAa,GAAG,MAAM,IAAI,CAACC,WAAW,CAAC,CAAC,CAACb,OAAO,CAAC;QAAEhC,OAAO,EAAEuC;MAAiB,CAAC,CAAC;MAErF,MAAMO,iBAAiB,GAAG5D,+BAA+B,CAAC0D,aAAa,CAAC5C,OAAO,CAAC;MAChF,IAAI,CAAC8C,iBAAiB,EAAE;QACtB,MAAM,IAAIrC,KAAK,CACZ,2DAA0DmC,aAAa,CAAC5C,OAAQ,EACnF,CAAC;MACH;MACA,IAAI,CAACL,oBAAoB,GAAI,UAASmD,iBAAkB,EAAkB;MAE1E,IAAI,CAACC,MAAM,GAAG;QACZC,IAAI,EAAE,gBAAgB;QACtB5D,EAAE,EAAE;MACN,CAAC;MAED,MAAM6D,aAAa,GAAG,IAAI,CAACJ,WAAW,CAAC,CAAC,CAACK,gBAAgB,CAAC,CAAC;MAC3D,IAAI,CAACD,aAAa,EAAE;QAClB,MAAM,IAAIxC,KAAK,CAAC,+DAA+D,CAAC;MAClF;MAEA,MAAM0C,WAAW,GAAI,GAAE,IAAI,CAACxD,oBAAqB,IAAGsD,aAAc,EAAgB;MAClF,IAAI,CAACd,UAAU,GAAG;QAChB,CAAC1C,gBAAgB,CAACG,mBAAmB,GAAG;UACtCwD,QAAQ,EAAE,CAACD,WAAW,CAAC;UACvBE,OAAO,EAAEb,MAAM,CAACc,MAAM,CAACC,uCAAsB,CAAC;UAC9CC,MAAM,EAAE,EAAE;UACVlB,MAAM,EAAE,CAAC,IAAI,CAAC3C,oBAAoB;QACpC;MACF,CAAC;MAED,MAAM,IAAI,CAAC8D,WAAW,CAAC,CAAC,CAAC,CAAC;;MAE1B,OAAO,IAAI,CAACtB,UAAU;IACxB,CAAC,CAAC,OAAOL,KAAU,EAAE;MACnB,IAAI,CAAC4B,YAAY,CAAC,CAAC;MACnB,MAAM5B,KAAK;IACb;EACF;EAEA,MAAeC,UAAUA,CAAA,EAAkB;IACzC,IAAI;MACF,IAAI,IAAI,CAACG,WAAW,CAAC,CAAC,EAAE;QACtB,MAAM,KAAK,CAACH,UAAU,CAAC,CAAC;MAC1B;IACF,CAAC,CAAC,OAAOD,KAAU,EAAE;MACnB;IAAA;IAEF,MAAM,IAAI,CAAC4B,YAAY,CAAC,CAAC;EAC3B;EAEA,MAAcA,YAAYA,CAAA,EAAkB;IAC1C,IAAI,CAACvB,UAAU,GAAGwB,SAAS;IAC3B,IAAI,CAACZ,MAAM,GAAGY,SAAS;IACvB,IAAI,CAAChE,oBAAoB,GAAG,IAAI;IAChC,MAAM,IAAI,CAACiE,mBAAmB,CAAC,CAAC;EAClC;EAESf,WAAWA,CAAA,EAAoB;IACtC,IAAI,CAAC,IAAI,CAAC/B,QAAQ,EAAE;MAClB,MAAM,IAAIL,KAAK,CAAC,iEAAiE,CAAC;IACpF;IAEA,OAAO,IAAI,CAACK,QAAQ;EACtB;EAEQI,UAAUA,CAAA,EAAY;IAC5B,IAAI,CAAC,IAAI,CAACf,OAAO,EAAE;MACjB,MAAM,IAAIM,KAAK,CAAC,gEAAgE,CAAC;IACnF;IAEA,OAAO,IAAI,CAACN,OAAO;EACrB;EAES0D,aAAaA,CAAA,EAAe;IACnC,IAAI,CAAC,IAAI,CAAC1B,UAAU,EAAE;MACpB,MAAM,IAAI1B,KAAK,CAAC,yDAAyD,CAAC;IAC5E;IAEA,OAAO,IAAI,CAAC0B,UAAU;EACxB;EAES2B,UAAUA,CAACC,SAAyB,EAA6B;IACxE,IAAIA,SAAS,KAAKtE,gBAAgB,CAACG,mBAAmB,EAAE;MACtD,OAAO,IAAI,CAACD,oBAAoB,IAAIgE,SAAS;IAC/C;IAEA,OAAOA,SAAS;EAClB;EAESK,aAAaA,CAAA,EAAqC;IACzD,OAAO,IAAI,CAACC,UAAU;EACxB;EAESC,aAAaA,CAAA,EAA2B;IAC/C,IAAI,CAAC,IAAI,CAAChC,WAAW,CAAC,CAAC,EAAE;MACvB,OAAOyB,SAAS;IAClB;IAEA,OAAO,IAAI,CAACZ,MAAM;EACpB;EAEAb,WAAWA,CAAA,EAAY;IACrB;IACA,OAAO,IAAI,CAACW,WAAW,CAAC,CAAC,CAACX,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAACW,WAAW,CAAC,CAAC,CAACK,gBAAgB,CAAC,CAAC;EACpF;EAEA,MAAeiB,aAAaA,CAACC,OAAsB,EAAiB;IAClE,MAAMC,iBAAiB,GAAG7B,MAAM,CAACC,IAAI,CAACvD,+BAA+B,CAAC,CAACwD,IAAI,CACzEC,GAAG,IACDzD,+BAA+B,CAACyD,GAAG,CAAiD,KACpFyB,OAAO,CAAChF,EACZ,CAA+B;IAE/B,IAAI,CAACiF,iBAAiB,EAAE;MACtB,MAAM,IAAI5D,KAAK,CAAE,4CAA2C2D,OAAO,CAAChF,EAAG,EAAC,CAAC;IAC3E;IAEA,MAAMkF,kBAAkB,GAAG9B,MAAM,CAACC,IAAI,CAACvD,+BAA+B,CAAC,CAACwD,IAAI,CAC1EC,GAAG,IACA,UACCzD,+BAA+B,CAACyD,GAAG,CACpC,EAAC,KAAK,IAAI,CAAChD,oBAChB,CAA+B;IAE/B,IAAI0E,iBAAiB,KAAKC,kBAAkB,IAAI,IAAI,CAACpC,WAAW,CAAC,CAAC,EAAE;MAClE,OAAOqC,OAAO,CAACC,OAAO,CAAC,CAAC;IAC1B;;IAEA;IACA,MAAM,IAAI,CAACzC,UAAU,CAAC,CAAC,CAAC,CAAC;;IAEzB;IACA,MAAM0C,eAA+B,GAAG;MACtCrC,YAAY,EAAG,UAASlD,+BAA+B,CAACmF,iBAAiB,CAAE;IAC7E,CAAC;;IAED;IACA;IACA,MAAM,IAAI,CAACrC,OAAO,CAACyC,eAAe,CAAC;IACnC,IAAI,CAAC5B,WAAW,CAAC,CAAC,CAAC6B,IAAI,CAAC,cAAc,EAAEN,OAAO,CAAChF,EAAE,CAAC;;IAEnD;IACA,IACE,CAAC,IAAI,CAAC8C,WAAW,CAAC,CAAC,IACnB,IAAI,CAAC4B,UAAU,CAACrE,gBAAgB,CAACG,mBAAmB,CAAC,KAAK6E,eAAe,CAACrC,YAAY,EACtF;MACA,MAAM,IAAI3B,KAAK,CACZ,+BAA8B4D,iBAAkB,mCACnD,CAAC;IACH;EACF;;EAEA;EACA,MAAerD,cAAcA,CAAA,EAAqB;IAChD,IAAI;MACF,MAAM2D,eAAe,GAAG,MAAM,IAAI,CAAC9B,WAAW,CAAC,CAAC,CAAC7B,cAAc,CAAC,CAAC;MACjE,IAAI,CAAC2D,eAAe,EAAE;QACpB,OAAO,KAAK;MACd;;MAEA;MACA,MAAMC,aAAa,GAAG,MAAM,IAAI,CAAC1D,UAAU,CAAC,CAAC,CAACC,OAAO,CACnD5B,6BACF,CAAC;MACD,IAAI,CAACqF,aAAa,EAAE;QAClB,OAAO,KAAK,CAAC,CAAC;MAChB;;MAEA,IAAI,CAACzC,UAAU,GAAGyC,aAAa,CAACzC,UAAU;MAC1C,IAAI,CAACY,MAAM,GAAG6B,aAAa,CAAC7B,MAAM;MAClC,IAAI,CAACpD,oBAAoB,GAAGiF,aAAa,CAACjF,oBAAoB;;MAE9D;;MAEA;MACA,IAAI,IAAI,CAACuC,WAAW,CAAC,CAAC,EAAE;QACtB,OAAO,IAAI;MACb;;MAEA;MACA,MAAM,IAAI,CAACH,UAAU,CAAC,CAAC;MAEvB,OAAO,KAAK;IACd,CAAC,CAAC,OAAOD,KAAK,EAAE;MACd;MACA,MAAM,IAAI,CAACC,UAAU,CAAC,CAAC;MAEvB,OAAO,KAAK;IACd;EACF;;EAEA;EACA,MAAc0B,WAAWA,CAAA,EAAkB;IACzC,IAAI,CAAC,IAAI,CAACtB,UAAU,IAAI,CAAC,IAAI,CAACY,MAAM,IAAI,CAAC,IAAI,CAACpD,oBAAoB,EAAE;MAClE;IACF;IAEA,MAAMiF,aAA0C,GAAG;MACjDzC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BY,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBpD,oBAAoB,EAAE,IAAI,CAACA;IAC7B,CAAC;IAED,IAAI;MACF,MAAM,IAAI,CAACuB,UAAU,CAAC,CAAC,CAACU,OAAO,CAACrC,6BAA6B,EAAEqF,aAAa,CAAC;IAC/E,CAAC,CAAC,OAAO9C,KAAK,EAAE;MACd;IAAA;EAEJ;;EAEA;EACA,MAAc8B,mBAAmBA,CAAA,EAAkB;IACjD,IAAI;MACF,MAAM,IAAI,CAAC1C,UAAU,CAAC,CAAC,CAAC2D,UAAU,CAACtF,6BAA6B,CAAC;IACnE,CAAC,CAAC,OAAOuC,KAAK,EAAE;MACd;IAAA;EAEJ;AACF;AAACgD,OAAA,CAAArF,gBAAA,GAAAA,gBAAA"}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -15,6 +15,6 @@ Object.defineProperty(exports, "SolanaAdapter", {
|
|
|
15
15
|
return _adapter.SolanaAdapter;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
|
-
var _PhantomConnector = require("./connectors/PhantomConnector");
|
|
19
18
|
var _adapter = require("./adapter");
|
|
19
|
+
var _PhantomConnector = require("./connectors/PhantomConnector");
|
|
20
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_adapter","require","_PhantomConnector"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAMA,IAAAC,iBAAA,GAAAD,OAAA"}
|
|
@@ -191,6 +191,7 @@ class PhantomProvider extends _events.default {
|
|
|
191
191
|
async disconnect() {
|
|
192
192
|
if (!this.sessionToken || !this.phantomEncryptionPublicKeyBs58) {
|
|
193
193
|
await this.clearSession();
|
|
194
|
+
this.emit('disconnect');
|
|
194
195
|
return Promise.resolve();
|
|
195
196
|
}
|
|
196
197
|
const payloadToEncrypt = {
|
|
@@ -200,6 +201,7 @@ class PhantomProvider extends _events.default {
|
|
|
200
201
|
if (!encryptedDisconnectPayload) {
|
|
201
202
|
// console.warn('PhantomProvider: Failed to encrypt disconnect payload. Clearing session locally.');
|
|
202
203
|
await this.clearSession();
|
|
204
|
+
this.emit('disconnect');
|
|
203
205
|
return Promise.resolve(); // Or reject, depending on desired strictness
|
|
204
206
|
}
|
|
205
207
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_tweetnacl","_interopRequireDefault","_bs","_buffer","_events","e","__esModule","default","PHANTOM_BASE_URL","PHANTOM_PROVIDER_STORAGE_KEY","SOLANA_SIGNING_METHODS","exports","SOLANA_SIGN_TRANSACTION","SOLANA_SIGN_MESSAGE","SOLANA_SIGN_AND_SEND_TRANSACTION","SOLANA_SIGN_ALL_TRANSACTIONS","isValidSolanaSigningMethod","method","Object","values","includes","PhantomProvider","EventEmitter","currentCluster","sessionToken","userPublicKey","phantomEncryptionPublicKeyBs58","constructor","config","dappEncryptionKeyPair","storage","getUserPublicKey","isConnected","buildUrl","rpcMethod","params","query","URLSearchParams","toString","getRpcMethodName","Error","encryptPayload","payload","phantomPublicKeyBs58ToEncryptFor","phantomPublicKeyBytes","bs58","decode","nonce","nacl","randomBytes","box","nonceLength","payloadBytes","Buffer","from","JSON","stringify","encryptedPayload","secretKey","encode","error","decryptPayload","encryptedDataBs58","nonceBs58","phantomSenderPublicKeyBs58","encryptedDataBytes","nonceBytes","phantomSenderPublicKeyBytes","decryptedPayloadBytes","open","parse","restoreSession","session","getItem","setSession","clearSessionStorage","saveSession","cluster","setItem","removeItem","connect","connectDeeplinkParams","app_url","dappUrl","dapp_encryption_public_key","publicKey","redirect_link","appScheme","url","Promise","resolve","reject","subscription","handleDeepLink","event","remove","fullUrl","startsWith","responseUrlParams","substring","indexOf","errorCode","get","errorMessage","responsePayload","phantom_encryption_public_key","data","decryptedData","public_key","Linking","addEventListener","openURL","catch","err","message","disconnect","clearSession","payloadToEncrypt","encryptedDisconnectPayload","disconnectDeeplinkParams","request","args","_chainId","signingMethod","requestParams","rpcMethodName","deeplinkUrl","typedParams","transaction","dataToEncrypt","encryptedData","signTxDeeplinkParams","messageBs58","Uint8Array","display","encryptedPayloadData","signMsgDeeplinkQueryPayload","Array","isArray","transactions","every","t","signAllTxDeeplinkParams","responseNonce","responseData","decryptedResult"],"sourceRoot":"../../../src","sources":["providers/PhantomProvider.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_tweetnacl","_interopRequireDefault","_bs","_buffer","_events","e","__esModule","default","PHANTOM_BASE_URL","PHANTOM_PROVIDER_STORAGE_KEY","SOLANA_SIGNING_METHODS","exports","SOLANA_SIGN_TRANSACTION","SOLANA_SIGN_MESSAGE","SOLANA_SIGN_AND_SEND_TRANSACTION","SOLANA_SIGN_ALL_TRANSACTIONS","isValidSolanaSigningMethod","method","Object","values","includes","PhantomProvider","EventEmitter","currentCluster","sessionToken","userPublicKey","phantomEncryptionPublicKeyBs58","constructor","config","dappEncryptionKeyPair","storage","getUserPublicKey","isConnected","buildUrl","rpcMethod","params","query","URLSearchParams","toString","getRpcMethodName","Error","encryptPayload","payload","phantomPublicKeyBs58ToEncryptFor","phantomPublicKeyBytes","bs58","decode","nonce","nacl","randomBytes","box","nonceLength","payloadBytes","Buffer","from","JSON","stringify","encryptedPayload","secretKey","encode","error","decryptPayload","encryptedDataBs58","nonceBs58","phantomSenderPublicKeyBs58","encryptedDataBytes","nonceBytes","phantomSenderPublicKeyBytes","decryptedPayloadBytes","open","parse","restoreSession","session","getItem","setSession","clearSessionStorage","saveSession","cluster","setItem","removeItem","connect","connectDeeplinkParams","app_url","dappUrl","dapp_encryption_public_key","publicKey","redirect_link","appScheme","url","Promise","resolve","reject","subscription","handleDeepLink","event","remove","fullUrl","startsWith","responseUrlParams","substring","indexOf","errorCode","get","errorMessage","responsePayload","phantom_encryption_public_key","data","decryptedData","public_key","Linking","addEventListener","openURL","catch","err","message","disconnect","clearSession","emit","payloadToEncrypt","encryptedDisconnectPayload","disconnectDeeplinkParams","request","args","_chainId","signingMethod","requestParams","rpcMethodName","deeplinkUrl","typedParams","transaction","dataToEncrypt","encryptedData","signTxDeeplinkParams","messageBs58","Uint8Array","display","encryptedPayloadData","signMsgDeeplinkQueryPayload","Array","isArray","transactions","every","t","signAllTxDeeplinkParams","responseNonce","responseData","decryptedResult"],"sourceRoot":"../../../src","sources":["providers/PhantomProvider.ts"],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createSendTransaction = createSendTransaction;
|
|
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
|
+
async function createSendTransaction({
|
|
19
|
+
fromAddress,
|
|
20
|
+
toAddress,
|
|
21
|
+
value,
|
|
22
|
+
connection
|
|
23
|
+
}) {
|
|
24
|
+
const fromPubkey = new _web.PublicKey(fromAddress);
|
|
25
|
+
const toPubkey = new _web.PublicKey(toAddress);
|
|
26
|
+
const lamports = Math.floor(value * _web.LAMPORTS_PER_SOL);
|
|
27
|
+
const {
|
|
28
|
+
blockhash
|
|
29
|
+
} = await connection.getLatestBlockhash();
|
|
30
|
+
const instructions = [_web.ComputeBudgetProgram.setComputeUnitPrice({
|
|
31
|
+
microLamports: COMPUTE_BUDGET_CONSTANTS.UNIT_PRICE_MICRO_LAMPORTS
|
|
32
|
+
}), _web.ComputeBudgetProgram.setComputeUnitLimit({
|
|
33
|
+
units: COMPUTE_BUDGET_CONSTANTS.UNIT_LIMIT
|
|
34
|
+
}), _web.SystemProgram.transfer({
|
|
35
|
+
fromPubkey,
|
|
36
|
+
toPubkey,
|
|
37
|
+
lamports
|
|
38
|
+
})];
|
|
39
|
+
const transaction = new _web.Transaction().add(...instructions);
|
|
40
|
+
transaction.feePayer = fromPubkey;
|
|
41
|
+
transaction.recentBlockhash = blockhash;
|
|
42
|
+
return transaction;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=createSendTransaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_web","require","COMPUTE_BUDGET_CONSTANTS","UNIT_PRICE_MICRO_LAMPORTS","UNIT_LIMIT","createSendTransaction","fromAddress","toAddress","value","connection","fromPubkey","PublicKey","toPubkey","lamports","Math","floor","LAMPORTS_PER_SOL","blockhash","getLatestBlockhash","instructions","ComputeBudgetProgram","setComputeUnitPrice","microLamports","setComputeUnitLimit","units","SystemProgram","transfer","transaction","Transaction","add","feePayer","recentBlockhash"],"sourceRoot":"../../../src","sources":["utils/createSendTransaction.ts"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AASA;;AASA;AACA;AACA;AACA;AACA,MAAMC,wBAAwB,GAAG;EAC/BC,yBAAyB,EAAE,QAAQ;EACnCC,UAAU,EAAE;AACd,CAAC;AAEM,eAAeC,qBAAqBA,CAAC;EAC1CC,WAAW;EACXC,SAAS;EACTC,KAAK;EACLC;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,KAAK,GAAGQ,qBAAgB,CAAC;EAErD,MAAM;IAAEC;EAAU,CAAC,GAAG,MAAMR,UAAU,CAACS,kBAAkB,CAAC,CAAC;EAE3D,MAAMC,YAAY,GAAG,CACnBC,yBAAoB,CAACC,mBAAmB,CAAC;IACvCC,aAAa,EAAEpB,wBAAwB,CAACC;EAC1C,CAAC,CAAC,EACFiB,yBAAoB,CAACG,mBAAmB,CAAC;IAAEC,KAAK,EAAEtB,wBAAwB,CAACE;EAAW,CAAC,CAAC,EACxFqB,kBAAa,CAACC,QAAQ,CAAC;IACrBhB,UAAU;IACVE,QAAQ;IACRC;EACF,CAAC,CAAC,CACH;EAED,MAAMc,WAAW,GAAG,IAAIC,gBAAW,CAAC,CAAC,CAACC,GAAG,CAAC,GAAGV,YAAY,CAAC;EAC1DQ,WAAW,CAACG,QAAQ,GAAGpB,UAAU;EACjCiB,WAAW,CAACI,eAAe,GAAGd,SAAS;EAEvC,OAAOU,WAAW;AACpB"}
|
package/lib/module/adapter.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { SolanaBaseAdapter } from '@reown/appkit-common-react-native';
|
|
2
2
|
import { getSolanaNativeBalance, getSolanaTokenBalance } from './helpers';
|
|
3
|
+
import { Connection, Transaction, VersionedTransaction } from '@solana/web3.js';
|
|
4
|
+
import base58 from 'bs58';
|
|
5
|
+
import { createSendTransaction } from './utils/createSendTransaction';
|
|
3
6
|
export class SolanaAdapter extends SolanaBaseAdapter {
|
|
4
7
|
static supportedNamespace = 'solana';
|
|
5
8
|
constructor(configParams) {
|
|
6
9
|
super({
|
|
7
10
|
projectId: configParams.projectId,
|
|
8
|
-
supportedNamespace: SolanaAdapter.supportedNamespace
|
|
11
|
+
supportedNamespace: SolanaAdapter.supportedNamespace,
|
|
12
|
+
adapterType: 'solana'
|
|
9
13
|
});
|
|
10
14
|
}
|
|
11
15
|
async getBalance(params) {
|
|
@@ -58,6 +62,120 @@ export class SolanaAdapter extends SolanaBaseAdapter {
|
|
|
58
62
|
};
|
|
59
63
|
}
|
|
60
64
|
}
|
|
65
|
+
async signTransaction(transaction, network) {
|
|
66
|
+
if (!this.connector) {
|
|
67
|
+
throw new Error('SolanaAdapter:signTransaction - no active connector');
|
|
68
|
+
}
|
|
69
|
+
if (!network) {
|
|
70
|
+
throw new Error('SolanaAdapter:signTransaction - network is undefined');
|
|
71
|
+
}
|
|
72
|
+
const provider = this.connector.getProvider();
|
|
73
|
+
if (!provider) {
|
|
74
|
+
throw new Error('SolanaAdapter:signTransaction - provider is undefined');
|
|
75
|
+
}
|
|
76
|
+
try {
|
|
77
|
+
// Serialize transaction to base64 (following WalletConnect standard)
|
|
78
|
+
const serializedTransaction = Buffer.from(new Uint8Array(transaction.serialize({
|
|
79
|
+
verifySignatures: false
|
|
80
|
+
}))).toString('base64');
|
|
81
|
+
const result = await provider.request({
|
|
82
|
+
method: 'solana_signTransaction',
|
|
83
|
+
params: {
|
|
84
|
+
transaction: serializedTransaction,
|
|
85
|
+
pubkey: this.getAccounts()?.[0]?.split(':')[2] || ''
|
|
86
|
+
}
|
|
87
|
+
}, network.caipNetworkId);
|
|
88
|
+
|
|
89
|
+
// Handle different response formats
|
|
90
|
+
if ('signature' in result && result.signature) {
|
|
91
|
+
// Old RPC response format - add signature to transaction
|
|
92
|
+
const decoded = base58.decode(result.signature);
|
|
93
|
+
if (transaction instanceof Transaction && transaction.feePayer) {
|
|
94
|
+
transaction.addSignature(transaction.feePayer, Buffer.from(decoded));
|
|
95
|
+
}
|
|
96
|
+
return transaction;
|
|
97
|
+
}
|
|
98
|
+
if ('transaction' in result && result.transaction) {
|
|
99
|
+
// New response format - deserialize the signed transaction
|
|
100
|
+
const decodedTransaction = Buffer.from(result.transaction, 'base64');
|
|
101
|
+
if (transaction instanceof VersionedTransaction) {
|
|
102
|
+
return VersionedTransaction.deserialize(new Uint8Array(decodedTransaction));
|
|
103
|
+
}
|
|
104
|
+
return Transaction.from(decodedTransaction);
|
|
105
|
+
}
|
|
106
|
+
throw new Error('SolanaAdapter:signTransaction - invalid response format');
|
|
107
|
+
} catch (error) {
|
|
108
|
+
if (error instanceof Error) {
|
|
109
|
+
throw new Error(`SolanaAdapter:signTransaction - ${error.message}`);
|
|
110
|
+
}
|
|
111
|
+
throw new Error('SolanaAdapter:signTransaction - unknown error occurred');
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
async sendTransaction(data) {
|
|
115
|
+
const {
|
|
116
|
+
fromAddress,
|
|
117
|
+
toAddress,
|
|
118
|
+
amount,
|
|
119
|
+
network,
|
|
120
|
+
rpcUrl
|
|
121
|
+
} = data;
|
|
122
|
+
if (!this.connector) {
|
|
123
|
+
throw new Error('SolanaAdapter:sendTransaction - no active connector');
|
|
124
|
+
}
|
|
125
|
+
const provider = this.connector.getProvider();
|
|
126
|
+
if (!provider) {
|
|
127
|
+
throw new Error('SolanaAdapter:sendTransaction - provider is undefined');
|
|
128
|
+
}
|
|
129
|
+
if (!network) {
|
|
130
|
+
throw new Error('SolanaAdapter:sendTransaction - network is undefined');
|
|
131
|
+
}
|
|
132
|
+
if (!fromAddress) {
|
|
133
|
+
throw new Error('SolanaAdapter:sendTransaction - fromAddress is undefined');
|
|
134
|
+
}
|
|
135
|
+
if (!toAddress) {
|
|
136
|
+
throw new Error('SolanaAdapter:sendTransaction - toAddress is undefined');
|
|
137
|
+
}
|
|
138
|
+
if (!amount || amount <= 0) {
|
|
139
|
+
throw new Error('SolanaAdapter:sendTransaction - amount must be greater than 0');
|
|
140
|
+
}
|
|
141
|
+
try {
|
|
142
|
+
// Determine RPC URL
|
|
143
|
+
let connectionRpcUrl = rpcUrl;
|
|
144
|
+
if (!connectionRpcUrl && network) {
|
|
145
|
+
connectionRpcUrl = network.rpcUrls?.default?.http?.[0];
|
|
146
|
+
}
|
|
147
|
+
if (!connectionRpcUrl) {
|
|
148
|
+
throw new Error('SolanaAdapter:sendTransaction - no RPC URL available');
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
// Create connection
|
|
152
|
+
const connection = new Connection(connectionRpcUrl, 'confirmed');
|
|
153
|
+
const transaction = await createSendTransaction({
|
|
154
|
+
connection,
|
|
155
|
+
fromAddress,
|
|
156
|
+
toAddress,
|
|
157
|
+
value: amount
|
|
158
|
+
});
|
|
159
|
+
|
|
160
|
+
// Sign the transaction
|
|
161
|
+
const signedTransaction = await this.signTransaction(transaction, network);
|
|
162
|
+
|
|
163
|
+
// Send the signed transaction
|
|
164
|
+
const signature = await connection.sendRawTransaction(signedTransaction.serialize(), {
|
|
165
|
+
skipPreflight: false,
|
|
166
|
+
preflightCommitment: 'confirmed'
|
|
167
|
+
});
|
|
168
|
+
if (!signature) {
|
|
169
|
+
throw new Error('SolanaAdapter:sendTransaction - no signature returned');
|
|
170
|
+
}
|
|
171
|
+
return signature;
|
|
172
|
+
} catch (error) {
|
|
173
|
+
if (error instanceof Error) {
|
|
174
|
+
throw new Error(`SolanaAdapter:sendTransaction - ${error.message}`);
|
|
175
|
+
}
|
|
176
|
+
throw new Error('SolanaAdapter:sendTransaction - unknown error occurred');
|
|
177
|
+
}
|
|
178
|
+
}
|
|
61
179
|
async switchNetwork(network) {
|
|
62
180
|
if (!this.connector) throw new Error('No active connector');
|
|
63
181
|
const provider = this.connector.getProvider();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SolanaBaseAdapter","getSolanaNativeBalance","getSolanaTokenBalance","SolanaAdapter","supportedNamespace","constructor","configParams","projectId","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","
|
|
1
|
+
{"version":3,"names":["SolanaBaseAdapter","getSolanaNativeBalance","getSolanaTokenBalance","Connection","Transaction","VersionedTransaction","base58","createSendTransaction","SolanaAdapter","supportedNamespace","constructor","configParams","projectId","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","serializedTransaction","Buffer","from","Uint8Array","serialize","verifySignatures","result","request","method","pubkey","signature","decoded","decode","feePayer","addSignature","decodedTransaction","deserialize","message","sendTransaction","data","fromAddress","toAddress","connectionRpcUrl","connection","value","signedTransaction","sendRawTransaction","skipPreflight","preflightCommitment","switchNetwork","switchError","namespaces","getNamespaces","getSupportedNamespace","accounts","disconnect"],"sourceRoot":"../../src","sources":["adapter.ts"],"mappings":"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"}
|
|
@@ -95,11 +95,10 @@ export class PhantomConnector extends WalletConnector {
|
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
97
|
async disconnect() {
|
|
98
|
-
if (!this.isConnected()) {
|
|
99
|
-
return Promise.resolve();
|
|
100
|
-
}
|
|
101
98
|
try {
|
|
102
|
-
|
|
99
|
+
if (this.isConnected()) {
|
|
100
|
+
await super.disconnect();
|
|
101
|
+
}
|
|
103
102
|
} catch (error) {
|
|
104
103
|
// console.warn(`PhantomConnector: Error during provider disconnect: ${error.message}. Proceeding with local clear.`);
|
|
105
104
|
}
|
|
@@ -158,9 +157,7 @@ export class PhantomConnector extends WalletConnector {
|
|
|
158
157
|
return Promise.resolve();
|
|
159
158
|
}
|
|
160
159
|
|
|
161
|
-
//
|
|
162
|
-
// We can try to disconnect the current session and then initiate a new connection.
|
|
163
|
-
// console.log(`Attempting to switch network to: ${targetClusterName}`);
|
|
160
|
+
// Phantom doesn't provide a way to switch network, so we need to disconnect and reconnect.
|
|
164
161
|
await this.disconnect(); // Clear current session
|
|
165
162
|
|
|
166
163
|
// Create a temporary options object to guide the new connection
|
|
@@ -171,6 +168,7 @@ export class PhantomConnector extends WalletConnector {
|
|
|
171
168
|
// Attempt to connect to the new cluster
|
|
172
169
|
// The connect method will use the defaultChain from opts to determine the cluster.
|
|
173
170
|
await this.connect(tempConnectOpts);
|
|
171
|
+
this.getProvider().emit('chainChanged', network.id);
|
|
174
172
|
|
|
175
173
|
// Verify if the connection was successful and to the correct new network
|
|
176
174
|
if (!this.isConnected() || this.getChainId(PhantomConnector.SUPPORTED_NAMESPACE) !== tempConnectOpts.defaultChain) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["WalletConnector","solana","solanaDevnet","solanaTestnet","nacl","bs58","PhantomProvider","SOLANA_SIGNING_METHODS","SOLANA_CLUSTER_TO_CHAIN_ID_PART","id","PHANTOM_CONNECTOR_STORAGE_KEY","DAPP_KEYPAIR_STORAGE_KEY","PhantomConnector","currentCaipNetworkId","SUPPORTED_NAMESPACE","constructor","config","type","cluster","init","ops","storage","initializeKeyPair","appScheme","metadata","redirect","universal","Error","providerConfig","dappUrl","url","dappEncryptionKeyPair","provider","restoreSession","secretKeyB58","getStorage","getItem","secretKey","decode","box","keyPair","fromSecretKey","newKeyPair","setItem","encode","error","disconnect","connect","opts","isConnected","namespaces","defaultChain","split","chains","requestedCluster","Object","keys","find","key","connectResult","getProvider","solanaChainIdPart","wallet","name","userPublicKey","getUserPublicKey","caipAddress","accounts","methods","values","events","saveSession","clearSession","
|
|
1
|
+
{"version":3,"names":["WalletConnector","solana","solanaDevnet","solanaTestnet","nacl","bs58","PhantomProvider","SOLANA_SIGNING_METHODS","SOLANA_CLUSTER_TO_CHAIN_ID_PART","id","PHANTOM_CONNECTOR_STORAGE_KEY","DAPP_KEYPAIR_STORAGE_KEY","PhantomConnector","currentCaipNetworkId","SUPPORTED_NAMESPACE","constructor","config","type","cluster","init","ops","storage","initializeKeyPair","appScheme","metadata","redirect","universal","Error","providerConfig","dappUrl","url","dappEncryptionKeyPair","provider","restoreSession","secretKeyB58","getStorage","getItem","secretKey","decode","box","keyPair","fromSecretKey","newKeyPair","setItem","encode","error","disconnect","connect","opts","isConnected","namespaces","defaultChain","split","chains","requestedCluster","Object","keys","find","key","connectResult","getProvider","solanaChainIdPart","wallet","name","userPublicKey","getUserPublicKey","caipAddress","accounts","methods","values","events","saveSession","clearSession","undefined","clearSessionStorage","getNamespaces","getChainId","namespace","getProperties","properties","getWalletInfo","switchNetwork","network","targetClusterName","currentClusterName","Promise","resolve","tempConnectOpts","emit","providerSession","connectorData","removeItem"],"sourceRoot":"../../../src","sources":["connectors/PhantomConnector.ts"],"mappings":"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"}
|
package/lib/module/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
//
|
|
2
|
-
export {
|
|
1
|
+
// Adapter
|
|
2
|
+
export { SolanaAdapter } from './adapter';
|
|
3
3
|
|
|
4
4
|
// Types
|
|
5
5
|
|
|
6
|
-
//
|
|
7
|
-
export {
|
|
6
|
+
// Connectors
|
|
7
|
+
export { PhantomConnector } from './connectors/PhantomConnector';
|
|
8
8
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["SolanaAdapter","PhantomConnector"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA;AACA,SAASA,aAAa,QAAQ,WAAW;;AAEzC;;AAGA;AACA,SAASC,gBAAgB,QAAQ,+BAA+B"}
|
|
@@ -184,6 +184,7 @@ export class PhantomProvider extends EventEmitter {
|
|
|
184
184
|
async disconnect() {
|
|
185
185
|
if (!this.sessionToken || !this.phantomEncryptionPublicKeyBs58) {
|
|
186
186
|
await this.clearSession();
|
|
187
|
+
this.emit('disconnect');
|
|
187
188
|
return Promise.resolve();
|
|
188
189
|
}
|
|
189
190
|
const payloadToEncrypt = {
|
|
@@ -193,6 +194,7 @@ export class PhantomProvider extends EventEmitter {
|
|
|
193
194
|
if (!encryptedDisconnectPayload) {
|
|
194
195
|
// console.warn('PhantomProvider: Failed to encrypt disconnect payload. Clearing session locally.');
|
|
195
196
|
await this.clearSession();
|
|
197
|
+
this.emit('disconnect');
|
|
196
198
|
return Promise.resolve(); // Or reject, depending on desired strictness
|
|
197
199
|
}
|
|
198
200
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Linking","nacl","bs58","Buffer","EventEmitter","PHANTOM_BASE_URL","PHANTOM_PROVIDER_STORAGE_KEY","SOLANA_SIGNING_METHODS","SOLANA_SIGN_TRANSACTION","SOLANA_SIGN_MESSAGE","SOLANA_SIGN_AND_SEND_TRANSACTION","SOLANA_SIGN_ALL_TRANSACTIONS","isValidSolanaSigningMethod","method","Object","values","includes","PhantomProvider","currentCluster","sessionToken","userPublicKey","phantomEncryptionPublicKeyBs58","constructor","config","dappEncryptionKeyPair","storage","getUserPublicKey","isConnected","buildUrl","rpcMethod","params","query","URLSearchParams","toString","getRpcMethodName","Error","encryptPayload","payload","phantomPublicKeyBs58ToEncryptFor","phantomPublicKeyBytes","decode","nonce","randomBytes","box","nonceLength","payloadBytes","from","JSON","stringify","encryptedPayload","secretKey","encode","error","decryptPayload","encryptedDataBs58","nonceBs58","phantomSenderPublicKeyBs58","encryptedDataBytes","nonceBytes","phantomSenderPublicKeyBytes","decryptedPayloadBytes","open","parse","restoreSession","session","getItem","setSession","clearSessionStorage","saveSession","cluster","setItem","removeItem","connect","connectDeeplinkParams","app_url","dappUrl","dapp_encryption_public_key","publicKey","redirect_link","appScheme","url","Promise","resolve","reject","subscription","handleDeepLink","event","remove","fullUrl","startsWith","responseUrlParams","substring","indexOf","errorCode","get","errorMessage","responsePayload","phantom_encryption_public_key","data","decryptedData","public_key","addEventListener","openURL","catch","err","message","disconnect","clearSession","payloadToEncrypt","encryptedDisconnectPayload","disconnectDeeplinkParams","request","args","_chainId","signingMethod","requestParams","rpcMethodName","deeplinkUrl","typedParams","transaction","dataToEncrypt","encryptedData","signTxDeeplinkParams","messageBs58","Uint8Array","e","display","encryptedPayloadData","signMsgDeeplinkQueryPayload","Array","isArray","transactions","every","t","signAllTxDeeplinkParams","responseNonce","responseData","decryptedResult"],"sourceRoot":"../../../src","sources":["providers/PhantomProvider.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["Linking","nacl","bs58","Buffer","EventEmitter","PHANTOM_BASE_URL","PHANTOM_PROVIDER_STORAGE_KEY","SOLANA_SIGNING_METHODS","SOLANA_SIGN_TRANSACTION","SOLANA_SIGN_MESSAGE","SOLANA_SIGN_AND_SEND_TRANSACTION","SOLANA_SIGN_ALL_TRANSACTIONS","isValidSolanaSigningMethod","method","Object","values","includes","PhantomProvider","currentCluster","sessionToken","userPublicKey","phantomEncryptionPublicKeyBs58","constructor","config","dappEncryptionKeyPair","storage","getUserPublicKey","isConnected","buildUrl","rpcMethod","params","query","URLSearchParams","toString","getRpcMethodName","Error","encryptPayload","payload","phantomPublicKeyBs58ToEncryptFor","phantomPublicKeyBytes","decode","nonce","randomBytes","box","nonceLength","payloadBytes","from","JSON","stringify","encryptedPayload","secretKey","encode","error","decryptPayload","encryptedDataBs58","nonceBs58","phantomSenderPublicKeyBs58","encryptedDataBytes","nonceBytes","phantomSenderPublicKeyBytes","decryptedPayloadBytes","open","parse","restoreSession","session","getItem","setSession","clearSessionStorage","saveSession","cluster","setItem","removeItem","connect","connectDeeplinkParams","app_url","dappUrl","dapp_encryption_public_key","publicKey","redirect_link","appScheme","url","Promise","resolve","reject","subscription","handleDeepLink","event","remove","fullUrl","startsWith","responseUrlParams","substring","indexOf","errorCode","get","errorMessage","responsePayload","phantom_encryption_public_key","data","decryptedData","public_key","addEventListener","openURL","catch","err","message","disconnect","clearSession","emit","payloadToEncrypt","encryptedDisconnectPayload","disconnectDeeplinkParams","request","args","_chainId","signingMethod","requestParams","rpcMethodName","deeplinkUrl","typedParams","transaction","dataToEncrypt","encryptedData","signTxDeeplinkParams","messageBs58","Uint8Array","e","display","encryptedPayloadData","signMsgDeeplinkQueryPayload","Array","isArray","transactions","every","t","signAllTxDeeplinkParams","responseNonce","responseData","decryptedResult"],"sourceRoot":"../../../src","sources":["providers/PhantomProvider.ts"],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ComputeBudgetProgram, LAMPORTS_PER_SOL, PublicKey, SystemProgram, Transaction } from '@solana/web3.js';
|
|
2
|
+
|
|
3
|
+
// import type { Provider } from '@reown/appkit-utils/solana'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* These constants defines the cost of running the program, allowing to calculate the maximum
|
|
7
|
+
* amount of SOL that can be sent in case of cleaning the account and remove the rent exemption error.
|
|
8
|
+
*/
|
|
9
|
+
const COMPUTE_BUDGET_CONSTANTS = {
|
|
10
|
+
UNIT_PRICE_MICRO_LAMPORTS: 20000000,
|
|
11
|
+
UNIT_LIMIT: 500
|
|
12
|
+
};
|
|
13
|
+
export async function createSendTransaction({
|
|
14
|
+
fromAddress,
|
|
15
|
+
toAddress,
|
|
16
|
+
value,
|
|
17
|
+
connection
|
|
18
|
+
}) {
|
|
19
|
+
const fromPubkey = new PublicKey(fromAddress);
|
|
20
|
+
const toPubkey = new PublicKey(toAddress);
|
|
21
|
+
const lamports = Math.floor(value * LAMPORTS_PER_SOL);
|
|
22
|
+
const {
|
|
23
|
+
blockhash
|
|
24
|
+
} = await connection.getLatestBlockhash();
|
|
25
|
+
const instructions = [ComputeBudgetProgram.setComputeUnitPrice({
|
|
26
|
+
microLamports: COMPUTE_BUDGET_CONSTANTS.UNIT_PRICE_MICRO_LAMPORTS
|
|
27
|
+
}), ComputeBudgetProgram.setComputeUnitLimit({
|
|
28
|
+
units: COMPUTE_BUDGET_CONSTANTS.UNIT_LIMIT
|
|
29
|
+
}), SystemProgram.transfer({
|
|
30
|
+
fromPubkey,
|
|
31
|
+
toPubkey,
|
|
32
|
+
lamports
|
|
33
|
+
})];
|
|
34
|
+
const transaction = new Transaction().add(...instructions);
|
|
35
|
+
transaction.feePayer = fromPubkey;
|
|
36
|
+
transaction.recentBlockhash = blockhash;
|
|
37
|
+
return transaction;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=createSendTransaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ComputeBudgetProgram","LAMPORTS_PER_SOL","PublicKey","SystemProgram","Transaction","COMPUTE_BUDGET_CONSTANTS","UNIT_PRICE_MICRO_LAMPORTS","UNIT_LIMIT","createSendTransaction","fromAddress","toAddress","value","connection","fromPubkey","toPubkey","lamports","Math","floor","blockhash","getLatestBlockhash","instructions","setComputeUnitPrice","microLamports","setComputeUnitLimit","units","transfer","transaction","add","feePayer","recentBlockhash"],"sourceRoot":"../../../src","sources":["utils/createSendTransaction.ts"],"mappings":"AAAA,SACEA,oBAAoB,EAEpBC,gBAAgB,EAChBC,SAAS,EACTC,aAAa,EACbC,WAAW,QACN,iBAAiB;;AAExB;;AASA;AACA;AACA;AACA;AACA,MAAMC,wBAAwB,GAAG;EAC/BC,yBAAyB,EAAE,QAAQ;EACnCC,UAAU,EAAE;AACd,CAAC;AAED,OAAO,eAAeC,qBAAqBA,CAAC;EAC1CC,WAAW;EACXC,SAAS;EACTC,KAAK;EACLC;AACmB,CAAC,EAAwB;EAC5C,MAAMC,UAAU,GAAG,IAAIX,SAAS,CAACO,WAAW,CAAC;EAC7C,MAAMK,QAAQ,GAAG,IAAIZ,SAAS,CAACQ,SAAS,CAAC;EACzC,MAAMK,QAAQ,GAAGC,IAAI,CAACC,KAAK,CAACN,KAAK,GAAGV,gBAAgB,CAAC;EAErD,MAAM;IAAEiB;EAAU,CAAC,GAAG,MAAMN,UAAU,CAACO,kBAAkB,CAAC,CAAC;EAE3D,MAAMC,YAAY,GAAG,CACnBpB,oBAAoB,CAACqB,mBAAmB,CAAC;IACvCC,aAAa,EAAEjB,wBAAwB,CAACC;EAC1C,CAAC,CAAC,EACFN,oBAAoB,CAACuB,mBAAmB,CAAC;IAAEC,KAAK,EAAEnB,wBAAwB,CAACE;EAAW,CAAC,CAAC,EACxFJ,aAAa,CAACsB,QAAQ,CAAC;IACrBZ,UAAU;IACVC,QAAQ;IACRC;EACF,CAAC,CAAC,CACH;EAED,MAAMW,WAAW,GAAG,IAAItB,WAAW,CAAC,CAAC,CAACuB,GAAG,CAAC,GAAGP,YAAY,CAAC;EAC1DM,WAAW,CAACE,QAAQ,GAAGf,UAAU;EACjCa,WAAW,CAACG,eAAe,GAAGX,SAAS;EAEvC,OAAOQ,WAAW;AACpB"}
|
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
import { SolanaBaseAdapter, type AppKitNetwork, type CaipAddress, type ChainNamespace, type GetBalanceParams, type GetBalanceResponse } from '@reown/appkit-common-react-native';
|
|
2
|
+
import { Transaction, VersionedTransaction } from '@solana/web3.js';
|
|
3
|
+
export interface SolanaTransactionData {
|
|
4
|
+
fromAddress: string;
|
|
5
|
+
toAddress: string;
|
|
6
|
+
amount: number;
|
|
7
|
+
network?: AppKitNetwork;
|
|
8
|
+
rpcUrl?: string;
|
|
9
|
+
}
|
|
2
10
|
export declare class SolanaAdapter extends SolanaBaseAdapter {
|
|
3
11
|
private static supportedNamespace;
|
|
4
12
|
constructor(configParams: {
|
|
5
13
|
projectId: string;
|
|
6
14
|
});
|
|
7
15
|
getBalance(params: GetBalanceParams): Promise<GetBalanceResponse>;
|
|
16
|
+
signTransaction<T extends Transaction | VersionedTransaction>(transaction: T, network?: AppKitNetwork): Promise<T>;
|
|
17
|
+
sendTransaction(data: SolanaTransactionData): Promise<string | null>;
|
|
8
18
|
switchNetwork(network: AppKitNetwork): Promise<void>;
|
|
9
19
|
getAccounts(): CaipAddress[] | undefined;
|
|
10
20
|
disconnect(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACxB,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACxB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAc,WAAW,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAIhF,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,aAAc,SAAQ,iBAAiB;IAClD,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAA4B;gBAEjD,YAAY,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE;IAQzC,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA8CjE,eAAe,CAAC,CAAC,SAAS,WAAW,GAAG,oBAAoB,EAChE,WAAW,EAAE,CAAC,EACd,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,CAAC,CAAC;IAiEP,eAAe,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAsEpE,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAe1D,WAAW,IAAI,WAAW,EAAE,GAAG,SAAS;IAOxC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,qBAAqB,IAAI,cAAc;CAGxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhantomConnector.d.ts","sourceRoot":"","sources":["../../../src/connectors/PhantomConnector.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,UAAU,EAEf,KAAK,oBAAoB,EAKzB,KAAK,oBAAoB,EAC1B,MAAM,mCAAmC,CAAC;AAI3C,OAAO,EAAE,eAAe,EAA0B,MAAM,8BAA8B,CAAC;AACvF,OAAO,KAAK,EAEV,sBAAsB,EAGvB,MAAM,UAAU,CAAC;AAWlB,qBAAa,gBAAiB,SAAQ,eAAe;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;IAEhD,OAAO,CAAC,oBAAoB,CAA8B;IAC1D,OAAO,CAAC,qBAAqB,CAAC,CAAkB;IAEhD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAA4B;gBAE3D,MAAM,CAAC,EAAE,sBAAsB;IAK5B,IAAI,CAAC,GAAG,EAAE,oBAAoB;YAuB/B,iBAAiB;IAqBhB,OAAO,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IA0D/D,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"PhantomConnector.d.ts","sourceRoot":"","sources":["../../../src/connectors/PhantomConnector.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,UAAU,EAEf,KAAK,oBAAoB,EAKzB,KAAK,oBAAoB,EAC1B,MAAM,mCAAmC,CAAC;AAI3C,OAAO,EAAE,eAAe,EAA0B,MAAM,8BAA8B,CAAC;AACvF,OAAO,KAAK,EAEV,sBAAsB,EAGvB,MAAM,UAAU,CAAC;AAWlB,qBAAa,gBAAiB,SAAQ,eAAe;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;IAEhD,OAAO,CAAC,oBAAoB,CAA8B;IAC1D,OAAO,CAAC,qBAAqB,CAAC,CAAkB;IAEhD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAA4B;gBAE3D,MAAM,CAAC,EAAE,sBAAsB;IAK5B,IAAI,CAAC,GAAG,EAAE,oBAAoB;YAuB/B,iBAAiB;IAqBhB,OAAO,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IA0D/D,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAW5B,YAAY;IAOjB,WAAW,IAAI,eAAe;IAQvC,OAAO,CAAC,UAAU;IAQT,aAAa,IAAI,UAAU;IAQ3B,UAAU,CAAC,SAAS,EAAE,cAAc,GAAG,aAAa,GAAG,SAAS;IAQhE,aAAa,IAAI,oBAAoB,GAAG,SAAS;IAIjD,aAAa,IAAI,UAAU,GAAG,SAAS;IAQhD,WAAW,IAAI,OAAO;IAKP,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA+CpD,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;YAuCnC,WAAW;YAmBX,mBAAmB;CAOlC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { PhantomConnector } from './connectors/PhantomConnector';
|
|
2
|
-
export type { PhantomConnectorConfig } from './types';
|
|
3
1
|
export { SolanaAdapter } from './adapter';
|
|
2
|
+
export type { PhantomConnectorConfig } from './types';
|
|
3
|
+
export { PhantomConnector } from './connectors/PhantomConnector';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG1C,YAAY,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAGtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhantomProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/PhantomProvider.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EACV,QAAQ,EACR,gBAAgB,EAChB,aAAa,EAEd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EAYd,cAAc,EACf,MAAM,UAAU,CAAC;AAClB,OAAO,YAAY,MAAM,QAAQ,CAAC;AAKlC,eAAO,MAAM,sBAAsB;;;;;CAKzB,CAAC;AAQX,qBAAa,eAAgB,SAAQ,YAAa,YAAW,QAAQ;IACnE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,qBAAqB,CAAkB;IAC/C,OAAO,CAAC,cAAc,CAAkC;IAExD,OAAO,CAAC,OAAO,CAAU;IAEzB,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,8BAA8B,CAAuB;gBAEjD,MAAM,EAAE,qBAAqB;IAOzC,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAIjC,WAAW,IAAI,OAAO;IAItB,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,cAAc;IA2BtB,OAAO,CAAC,cAAc;IAyBT,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;YAkBjC,WAAW;YAiBX,mBAAmB;IAQpB,OAAO,CAAC,CAAC,GAAG,oBAAoB,EAAE,MAAM,CAAC,EAAE;QACtD,OAAO,CAAC,EAAE,cAAc,CAAC;KAC1B,GAAG,OAAO,CAAC,CAAC,CAAC;IAgFD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"PhantomProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/PhantomProvider.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EACV,QAAQ,EACR,gBAAgB,EAChB,aAAa,EAEd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EAYd,cAAc,EACf,MAAM,UAAU,CAAC;AAClB,OAAO,YAAY,MAAM,QAAQ,CAAC;AAKlC,eAAO,MAAM,sBAAsB;;;;;CAKzB,CAAC;AAQX,qBAAa,eAAgB,SAAQ,YAAa,YAAW,QAAQ;IACnE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,qBAAqB,CAAkB;IAC/C,OAAO,CAAC,cAAc,CAAkC;IAExD,OAAO,CAAC,OAAO,CAAU;IAEzB,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,8BAA8B,CAAuB;gBAEjD,MAAM,EAAE,qBAAqB;IAOzC,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAIjC,WAAW,IAAI,OAAO;IAItB,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,cAAc;IA2BtB,OAAO,CAAC,cAAc;IAyBT,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;YAkBjC,WAAW;YAiBX,mBAAmB;IAQpB,OAAO,CAAC,CAAC,GAAG,oBAAoB,EAAE,MAAM,CAAC,EAAE;QACtD,OAAO,CAAC,EAAE,cAAc,CAAC;KAC1B,GAAG,OAAO,CAAC,CAAC,CAAC;IAgFD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAuD3B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAOnC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAOnC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC;CA8LtF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type Connection, Transaction } from '@solana/web3.js';
|
|
2
|
+
type SendTransactionArgs = {
|
|
3
|
+
connection: Connection;
|
|
4
|
+
fromAddress: string;
|
|
5
|
+
toAddress: string;
|
|
6
|
+
value: number;
|
|
7
|
+
};
|
|
8
|
+
export declare function createSendTransaction({ fromAddress, toAddress, value, connection }: SendTransactionArgs): Promise<Transaction>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=createSendTransaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSendTransaction.d.ts","sourceRoot":"","sources":["../../../src/utils/createSendTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,UAAU,EAIf,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAIzB,KAAK,mBAAmB,GAAG;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAWF,wBAAsB,qBAAqB,CAAC,EAC1C,WAAW,EACX,SAAS,EACT,KAAK,EACL,UAAU,EACX,EAAE,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,CAwB5C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reown/appkit-solana-react-native",
|
|
3
|
-
"version": "0.0.0-feat-
|
|
3
|
+
"version": "0.0.0-feat-coinbase-20250722173213",
|
|
4
4
|
"main": "lib/commonjs/index.js",
|
|
5
5
|
"types": "lib/typescript/index.d.ts",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
@@ -39,7 +39,8 @@
|
|
|
39
39
|
"access": "public"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@reown/appkit-common-react-native": "0.0.0-feat-
|
|
42
|
+
"@reown/appkit-common-react-native": "0.0.0-feat-coinbase-20250722173213",
|
|
43
|
+
"@solana/web3.js": "1.98.2",
|
|
43
44
|
"bs58": "6.0.0",
|
|
44
45
|
"tweetnacl": "1.0.3"
|
|
45
46
|
}
|
package/src/adapter.ts
CHANGED
|
@@ -7,6 +7,17 @@ import {
|
|
|
7
7
|
type GetBalanceResponse
|
|
8
8
|
} from '@reown/appkit-common-react-native';
|
|
9
9
|
import { getSolanaNativeBalance, getSolanaTokenBalance } from './helpers';
|
|
10
|
+
import { Connection, Transaction, VersionedTransaction } from '@solana/web3.js';
|
|
11
|
+
import base58 from 'bs58';
|
|
12
|
+
import { createSendTransaction } from './utils/createSendTransaction';
|
|
13
|
+
|
|
14
|
+
export interface SolanaTransactionData {
|
|
15
|
+
fromAddress: string;
|
|
16
|
+
toAddress: string;
|
|
17
|
+
amount: number;
|
|
18
|
+
network?: AppKitNetwork;
|
|
19
|
+
rpcUrl?: string;
|
|
20
|
+
}
|
|
10
21
|
|
|
11
22
|
export class SolanaAdapter extends SolanaBaseAdapter {
|
|
12
23
|
private static supportedNamespace: ChainNamespace = 'solana';
|
|
@@ -14,7 +25,8 @@ export class SolanaAdapter extends SolanaBaseAdapter {
|
|
|
14
25
|
constructor(configParams: { projectId: string }) {
|
|
15
26
|
super({
|
|
16
27
|
projectId: configParams.projectId,
|
|
17
|
-
supportedNamespace: SolanaAdapter.supportedNamespace
|
|
28
|
+
supportedNamespace: SolanaAdapter.supportedNamespace,
|
|
29
|
+
adapterType: 'solana'
|
|
18
30
|
});
|
|
19
31
|
}
|
|
20
32
|
|
|
@@ -64,6 +76,144 @@ export class SolanaAdapter extends SolanaBaseAdapter {
|
|
|
64
76
|
}
|
|
65
77
|
}
|
|
66
78
|
|
|
79
|
+
async signTransaction<T extends Transaction | VersionedTransaction>(
|
|
80
|
+
transaction: T,
|
|
81
|
+
network?: AppKitNetwork
|
|
82
|
+
): Promise<T> {
|
|
83
|
+
if (!this.connector) {
|
|
84
|
+
throw new Error('SolanaAdapter:signTransaction - no active connector');
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (!network) {
|
|
88
|
+
throw new Error('SolanaAdapter:signTransaction - network is undefined');
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
const provider = this.connector.getProvider();
|
|
92
|
+
if (!provider) {
|
|
93
|
+
throw new Error('SolanaAdapter:signTransaction - provider is undefined');
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
try {
|
|
97
|
+
// Serialize transaction to base64 (following WalletConnect standard)
|
|
98
|
+
const serializedTransaction = Buffer.from(
|
|
99
|
+
new Uint8Array(transaction.serialize({ verifySignatures: false }))
|
|
100
|
+
).toString('base64');
|
|
101
|
+
|
|
102
|
+
const result = (await provider.request(
|
|
103
|
+
{
|
|
104
|
+
method: 'solana_signTransaction',
|
|
105
|
+
params: {
|
|
106
|
+
transaction: serializedTransaction,
|
|
107
|
+
pubkey: this.getAccounts()?.[0]?.split(':')[2] || ''
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
network.caipNetworkId
|
|
111
|
+
)) as { signature?: string; transaction?: string };
|
|
112
|
+
|
|
113
|
+
// Handle different response formats
|
|
114
|
+
if ('signature' in result && result.signature) {
|
|
115
|
+
// Old RPC response format - add signature to transaction
|
|
116
|
+
const decoded = base58.decode(result.signature);
|
|
117
|
+
if (transaction instanceof Transaction && transaction.feePayer) {
|
|
118
|
+
transaction.addSignature(
|
|
119
|
+
transaction.feePayer,
|
|
120
|
+
Buffer.from(decoded) as Buffer & Uint8Array
|
|
121
|
+
);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
return transaction;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
if ('transaction' in result && result.transaction) {
|
|
128
|
+
// New response format - deserialize the signed transaction
|
|
129
|
+
const decodedTransaction = Buffer.from(result.transaction, 'base64');
|
|
130
|
+
|
|
131
|
+
if (transaction instanceof VersionedTransaction) {
|
|
132
|
+
return VersionedTransaction.deserialize(new Uint8Array(decodedTransaction)) as T;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
return Transaction.from(decodedTransaction) as T;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
throw new Error('SolanaAdapter:signTransaction - invalid response format');
|
|
139
|
+
} catch (error) {
|
|
140
|
+
if (error instanceof Error) {
|
|
141
|
+
throw new Error(`SolanaAdapter:signTransaction - ${error.message}`);
|
|
142
|
+
}
|
|
143
|
+
throw new Error('SolanaAdapter:signTransaction - unknown error occurred');
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
async sendTransaction(data: SolanaTransactionData): Promise<string | null> {
|
|
148
|
+
const { fromAddress, toAddress, amount, network, rpcUrl } = data;
|
|
149
|
+
|
|
150
|
+
if (!this.connector) {
|
|
151
|
+
throw new Error('SolanaAdapter:sendTransaction - no active connector');
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
const provider = this.connector.getProvider();
|
|
155
|
+
if (!provider) {
|
|
156
|
+
throw new Error('SolanaAdapter:sendTransaction - provider is undefined');
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
if (!network) {
|
|
160
|
+
throw new Error('SolanaAdapter:sendTransaction - network is undefined');
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
if (!fromAddress) {
|
|
164
|
+
throw new Error('SolanaAdapter:sendTransaction - fromAddress is undefined');
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
if (!toAddress) {
|
|
168
|
+
throw new Error('SolanaAdapter:sendTransaction - toAddress is undefined');
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
if (!amount || amount <= 0) {
|
|
172
|
+
throw new Error('SolanaAdapter:sendTransaction - amount must be greater than 0');
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
try {
|
|
176
|
+
// Determine RPC URL
|
|
177
|
+
let connectionRpcUrl = rpcUrl;
|
|
178
|
+
if (!connectionRpcUrl && network) {
|
|
179
|
+
connectionRpcUrl = network.rpcUrls?.default?.http?.[0];
|
|
180
|
+
}
|
|
181
|
+
if (!connectionRpcUrl) {
|
|
182
|
+
throw new Error('SolanaAdapter:sendTransaction - no RPC URL available');
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
// Create connection
|
|
186
|
+
const connection = new Connection(connectionRpcUrl, 'confirmed');
|
|
187
|
+
|
|
188
|
+
const transaction = await createSendTransaction({
|
|
189
|
+
connection,
|
|
190
|
+
fromAddress,
|
|
191
|
+
toAddress,
|
|
192
|
+
value: amount
|
|
193
|
+
});
|
|
194
|
+
|
|
195
|
+
// Sign the transaction
|
|
196
|
+
const signedTransaction = await this.signTransaction(transaction, network);
|
|
197
|
+
|
|
198
|
+
// Send the signed transaction
|
|
199
|
+
const signature = await connection.sendRawTransaction(signedTransaction.serialize(), {
|
|
200
|
+
skipPreflight: false,
|
|
201
|
+
preflightCommitment: 'confirmed'
|
|
202
|
+
});
|
|
203
|
+
|
|
204
|
+
if (!signature) {
|
|
205
|
+
throw new Error('SolanaAdapter:sendTransaction - no signature returned');
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
return signature;
|
|
209
|
+
} catch (error) {
|
|
210
|
+
if (error instanceof Error) {
|
|
211
|
+
throw new Error(`SolanaAdapter:sendTransaction - ${error.message}`);
|
|
212
|
+
}
|
|
213
|
+
throw new Error('SolanaAdapter:sendTransaction - unknown error occurred');
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
|
|
67
217
|
async switchNetwork(network: AppKitNetwork): Promise<void> {
|
|
68
218
|
if (!this.connector) throw new Error('No active connector');
|
|
69
219
|
|
|
@@ -150,11 +150,10 @@ export class PhantomConnector extends WalletConnector {
|
|
|
150
150
|
}
|
|
151
151
|
|
|
152
152
|
override async disconnect(): Promise<void> {
|
|
153
|
-
if (!this.isConnected()) {
|
|
154
|
-
return Promise.resolve();
|
|
155
|
-
}
|
|
156
153
|
try {
|
|
157
|
-
|
|
154
|
+
if (this.isConnected()) {
|
|
155
|
+
await super.disconnect();
|
|
156
|
+
}
|
|
158
157
|
} catch (error: any) {
|
|
159
158
|
// console.warn(`PhantomConnector: Error during provider disconnect: ${error.message}. Proceeding with local clear.`);
|
|
160
159
|
}
|
|
@@ -239,9 +238,7 @@ export class PhantomConnector extends WalletConnector {
|
|
|
239
238
|
return Promise.resolve();
|
|
240
239
|
}
|
|
241
240
|
|
|
242
|
-
//
|
|
243
|
-
// We can try to disconnect the current session and then initiate a new connection.
|
|
244
|
-
// console.log(`Attempting to switch network to: ${targetClusterName}`);
|
|
241
|
+
// Phantom doesn't provide a way to switch network, so we need to disconnect and reconnect.
|
|
245
242
|
await this.disconnect(); // Clear current session
|
|
246
243
|
|
|
247
244
|
// Create a temporary options object to guide the new connection
|
|
@@ -252,6 +249,7 @@ export class PhantomConnector extends WalletConnector {
|
|
|
252
249
|
// Attempt to connect to the new cluster
|
|
253
250
|
// The connect method will use the defaultChain from opts to determine the cluster.
|
|
254
251
|
await this.connect(tempConnectOpts);
|
|
252
|
+
this.getProvider().emit('chainChanged', network.id);
|
|
255
253
|
|
|
256
254
|
// Verify if the connection was successful and to the correct new network
|
|
257
255
|
if (
|
package/src/index.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
//
|
|
2
|
-
export {
|
|
1
|
+
// Adapter
|
|
2
|
+
export { SolanaAdapter } from './adapter';
|
|
3
3
|
|
|
4
4
|
// Types
|
|
5
5
|
export type { PhantomConnectorConfig } from './types';
|
|
6
6
|
|
|
7
|
-
//
|
|
8
|
-
export {
|
|
7
|
+
// Connectors
|
|
8
|
+
export { PhantomConnector } from './connectors/PhantomConnector';
|
|
@@ -271,6 +271,7 @@ export class PhantomProvider extends EventEmitter implements Provider {
|
|
|
271
271
|
public async disconnect(): Promise<void> {
|
|
272
272
|
if (!this.sessionToken || !this.phantomEncryptionPublicKeyBs58) {
|
|
273
273
|
await this.clearSession();
|
|
274
|
+
this.emit('disconnect');
|
|
274
275
|
|
|
275
276
|
return Promise.resolve();
|
|
276
277
|
}
|
|
@@ -284,6 +285,7 @@ export class PhantomProvider extends EventEmitter implements Provider {
|
|
|
284
285
|
if (!encryptedDisconnectPayload) {
|
|
285
286
|
// console.warn('PhantomProvider: Failed to encrypt disconnect payload. Clearing session locally.');
|
|
286
287
|
await this.clearSession();
|
|
288
|
+
this.emit('disconnect');
|
|
287
289
|
|
|
288
290
|
return Promise.resolve(); // Or reject, depending on desired strictness
|
|
289
291
|
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ComputeBudgetProgram,
|
|
3
|
+
type Connection,
|
|
4
|
+
LAMPORTS_PER_SOL,
|
|
5
|
+
PublicKey,
|
|
6
|
+
SystemProgram,
|
|
7
|
+
Transaction
|
|
8
|
+
} from '@solana/web3.js';
|
|
9
|
+
|
|
10
|
+
// import type { Provider } from '@reown/appkit-utils/solana'
|
|
11
|
+
|
|
12
|
+
type SendTransactionArgs = {
|
|
13
|
+
connection: Connection;
|
|
14
|
+
fromAddress: string;
|
|
15
|
+
toAddress: string;
|
|
16
|
+
value: number;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* These constants defines the cost of running the program, allowing to calculate the maximum
|
|
21
|
+
* amount of SOL that can be sent in case of cleaning the account and remove the rent exemption error.
|
|
22
|
+
*/
|
|
23
|
+
const COMPUTE_BUDGET_CONSTANTS = {
|
|
24
|
+
UNIT_PRICE_MICRO_LAMPORTS: 20000000,
|
|
25
|
+
UNIT_LIMIT: 500
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export async function createSendTransaction({
|
|
29
|
+
fromAddress,
|
|
30
|
+
toAddress,
|
|
31
|
+
value,
|
|
32
|
+
connection
|
|
33
|
+
}: SendTransactionArgs): Promise<Transaction> {
|
|
34
|
+
const fromPubkey = new PublicKey(fromAddress);
|
|
35
|
+
const toPubkey = new PublicKey(toAddress);
|
|
36
|
+
const lamports = Math.floor(value * LAMPORTS_PER_SOL);
|
|
37
|
+
|
|
38
|
+
const { blockhash } = await connection.getLatestBlockhash();
|
|
39
|
+
|
|
40
|
+
const instructions = [
|
|
41
|
+
ComputeBudgetProgram.setComputeUnitPrice({
|
|
42
|
+
microLamports: COMPUTE_BUDGET_CONSTANTS.UNIT_PRICE_MICRO_LAMPORTS
|
|
43
|
+
}),
|
|
44
|
+
ComputeBudgetProgram.setComputeUnitLimit({ units: COMPUTE_BUDGET_CONSTANTS.UNIT_LIMIT }),
|
|
45
|
+
SystemProgram.transfer({
|
|
46
|
+
fromPubkey,
|
|
47
|
+
toPubkey,
|
|
48
|
+
lamports
|
|
49
|
+
})
|
|
50
|
+
];
|
|
51
|
+
|
|
52
|
+
const transaction = new Transaction().add(...instructions);
|
|
53
|
+
transaction.feePayer = fromPubkey;
|
|
54
|
+
transaction.recentBlockhash = blockhash;
|
|
55
|
+
|
|
56
|
+
return transaction;
|
|
57
|
+
}
|