@turnkey/react-wallet-kit 1.8.1 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/send-transaction/helpers.d.ts.map +1 -1
- package/dist/components/send-transaction/helpers.js +7 -1
- package/dist/components/send-transaction/helpers.js.map +1 -1
- package/dist/components/send-transaction/helpers.mjs +7 -1
- package/dist/components/send-transaction/helpers.mjs.map +1 -1
- package/dist/providers/client/Provider.d.ts.map +1 -1
- package/dist/providers/client/Provider.js +57 -46
- package/dist/providers/client/Provider.js.map +1 -1
- package/dist/providers/client/Provider.mjs +944 -899
- package/dist/providers/client/Provider.mjs.map +1 -1
- package/dist/providers/client/Types.d.ts +20 -21
- package/dist/providers/client/Types.d.ts.map +1 -1
- package/dist/providers/client/Types.js.map +1 -1
- package/dist/providers/client/Types.mjs.map +1 -1
- package/dist/types/method-types.d.ts +2 -2
- package/dist/types/method-types.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/components/send-transaction/helpers.tsx"],"names":[],"mappings":";AAEA,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/components/send-transaction/helpers.tsx"],"names":[],"mappings":";AAEA,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAuBpE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAI3D"}
|
|
@@ -5,6 +5,12 @@ var Svg = require('../design/Svg.js');
|
|
|
5
5
|
|
|
6
6
|
function getExplorerUrl(txHash, caip2) {
|
|
7
7
|
switch (caip2) {
|
|
8
|
+
case "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp":
|
|
9
|
+
return `https://solscan.io/tx/${txHash}`;
|
|
10
|
+
case "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1wcaWoxPkrZBG":
|
|
11
|
+
return `https://solscan.io/tx/${txHash}?cluster=devnet`;
|
|
12
|
+
case "solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3zQawwpjk2NsNY":
|
|
13
|
+
return `https://solscan.io/tx/${txHash}?cluster=testnet`;
|
|
8
14
|
case "eip155:8453":
|
|
9
15
|
return `https://basescan.org/tx/${txHash}`;
|
|
10
16
|
case "eip155:84532":
|
|
@@ -16,7 +22,7 @@ function getExplorerUrl(txHash, caip2) {
|
|
|
16
22
|
case "eip155:137":
|
|
17
23
|
return `https://polygonscan.com/tx/${txHash}`;
|
|
18
24
|
default:
|
|
19
|
-
return `https://etherscan.io/tx/${txHash}`;
|
|
25
|
+
return caip2.startsWith("solana:") ? `https://solscan.io/tx/${txHash}` : `https://etherscan.io/tx/${txHash}`;
|
|
20
26
|
}
|
|
21
27
|
}
|
|
22
28
|
function getChainLogo(caip2) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sources":["../../../src/components/send-transaction/helpers.tsx"],"sourcesContent":[null],"names":["getExplorerUrl","txHash","caip2","
|
|
1
|
+
{"version":3,"file":"helpers.js","sources":["../../../src/components/send-transaction/helpers.tsx"],"sourcesContent":[null],"names":["getExplorerUrl","txHash","caip2","startsWith","getChainLogo","Logo","SolanaLogo","EthereumLogo","_jsx","className"],"mappings":";;;;;AAEM,SAAUA,cAAcA,CAACC,MAAc,EAAEC,KAAa,EAAA;AAC1D,EAAA,QAAQA,KAAK;AACX,IAAA,KAAK,yCAAyC;MAC5C,OAAO,CAAA,sBAAA,EAAyBD,MAAM,CAAA,CAAE;AAC1C,IAAA,KAAK,qDAAqD;MACxD,OAAO,CAAA,sBAAA,EAAyBA,MAAM,CAAA,eAAA,CAAiB;AACzD,IAAA,KAAK,qDAAqD;MACxD,OAAO,CAAA,sBAAA,EAAyBA,MAAM,CAAA,gBAAA,CAAkB;AAC1D,IAAA,KAAK,aAAa;MAChB,OAAO,CAAA,wBAAA,EAA2BA,MAAM,CAAA,CAAE;AAC5C,IAAA,KAAK,cAAc;MACjB,OAAO,CAAA,gCAAA,EAAmCA,MAAM,CAAA,CAAE;AACpD,IAAA,KAAK,UAAU;MACb,OAAO,CAAA,wBAAA,EAA2BA,MAAM,CAAA,CAAE;AAC5C,IAAA,KAAK,iBAAiB;MACpB,OAAO,CAAA,gCAAA,EAAmCA,MAAM,CAAA,CAAE;AACpD,IAAA,KAAK,YAAY;MACf,OAAO,CAAA,2BAAA,EAA8BA,MAAM,CAAA,CAAE;AAC/C,IAAA;AACE,MAAA,OAAOC,KAAK,CAACC,UAAU,CAAC,SAAS,CAAC,GAC9B,CAAA,sBAAA,EAAyBF,MAAM,CAAA,CAAE,GACjC,CAAA,wBAAA,EAA2BA,MAAM,CAAA,CAAE;AAC3C;AACF;AAEM,SAAUG,YAAYA,CAACF,KAAa,EAAA;EACxC,MAAMG,IAAI,GAAGH,KAAK,CAACC,UAAU,CAAC,SAAS,CAAC,GAAGG,cAAU,GAAGC,gBAAY;EAEpE,OAAOC,eAACH,IAAI,EAAA;AAACI,IAAAA,SAAS,EAAC;IAA2B;AACpD;;;;;"}
|
|
@@ -3,6 +3,12 @@ import { SolanaLogo, EthereumLogo } from '../design/Svg.mjs';
|
|
|
3
3
|
|
|
4
4
|
function getExplorerUrl(txHash, caip2) {
|
|
5
5
|
switch (caip2) {
|
|
6
|
+
case "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp":
|
|
7
|
+
return "https://solscan.io/tx/".concat(txHash);
|
|
8
|
+
case "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1wcaWoxPkrZBG":
|
|
9
|
+
return "https://solscan.io/tx/".concat(txHash, "?cluster=devnet");
|
|
10
|
+
case "solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3zQawwpjk2NsNY":
|
|
11
|
+
return "https://solscan.io/tx/".concat(txHash, "?cluster=testnet");
|
|
6
12
|
case "eip155:8453":
|
|
7
13
|
return "https://basescan.org/tx/".concat(txHash);
|
|
8
14
|
case "eip155:84532":
|
|
@@ -14,7 +20,7 @@ function getExplorerUrl(txHash, caip2) {
|
|
|
14
20
|
case "eip155:137":
|
|
15
21
|
return "https://polygonscan.com/tx/".concat(txHash);
|
|
16
22
|
default:
|
|
17
|
-
return "https://etherscan.io/tx/".concat(txHash);
|
|
23
|
+
return caip2.startsWith("solana:") ? "https://solscan.io/tx/".concat(txHash) : "https://etherscan.io/tx/".concat(txHash);
|
|
18
24
|
}
|
|
19
25
|
}
|
|
20
26
|
function getChainLogo(caip2) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.mjs","sources":["../../../src/components/send-transaction/helpers.tsx"],"sourcesContent":[null],"names":["getExplorerUrl","txHash","caip2","concat","
|
|
1
|
+
{"version":3,"file":"helpers.mjs","sources":["../../../src/components/send-transaction/helpers.tsx"],"sourcesContent":[null],"names":["getExplorerUrl","txHash","caip2","concat","startsWith","getChainLogo","Logo","SolanaLogo","EthereumLogo","_jsx","className"],"mappings":";;;AAEM,SAAUA,cAAcA,CAACC,MAAc,EAAEC,KAAa,EAAA;AAC1D,EAAA,QAAQA,KAAK;AACX,IAAA,KAAK,yCAAyC;MAC5C,OAAA,wBAAA,CAAAC,MAAA,CAAgCF,MAAM,CAAA;AACxC,IAAA,KAAK,qDAAqD;MACxD,OAAA,wBAAA,CAAAE,MAAA,CAAgCF,MAAM,EAAA,iBAAA,CAAA;AACxC,IAAA,KAAK,qDAAqD;MACxD,OAAA,wBAAA,CAAAE,MAAA,CAAgCF,MAAM,EAAA,kBAAA,CAAA;AACxC,IAAA,KAAK,aAAa;MAChB,OAAA,0BAAA,CAAAE,MAAA,CAAkCF,MAAM,CAAA;AAC1C,IAAA,KAAK,cAAc;MACjB,OAAA,kCAAA,CAAAE,MAAA,CAA0CF,MAAM,CAAA;AAClD,IAAA,KAAK,UAAU;MACb,OAAA,0BAAA,CAAAE,MAAA,CAAkCF,MAAM,CAAA;AAC1C,IAAA,KAAK,iBAAiB;MACpB,OAAA,kCAAA,CAAAE,MAAA,CAA0CF,MAAM,CAAA;AAClD,IAAA,KAAK,YAAY;MACf,OAAA,6BAAA,CAAAE,MAAA,CAAqCF,MAAM,CAAA;AAC7C,IAAA;AACE,MAAA,OAAOC,KAAK,CAACE,UAAU,CAAC,SAAS,CAAC,GAAA,wBAAA,CAAAD,MAAA,CACLF,MAAM,CAAA,GAAA,0BAAA,CAAAE,MAAA,CACJF,MAAM,CAAE;AAC3C;AACF;AAEM,SAAUI,YAAYA,CAACH,KAAa,EAAA;EACxC,IAAMI,IAAI,GAAGJ,KAAK,CAACE,UAAU,CAAC,SAAS,CAAC,GAAGG,UAAU,GAAGC,YAAY;EAEpE,OAAOC,IAACH,IAAI,EAAA;AAACI,IAAAA,SAAS,EAAC;IAA2B;AACpD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/providers/client/Provider.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/providers/client/Provider.tsx"],"names":[],"mappings":"AAuHA,OAAO,EAAE,SAAS,EAA4C,MAAM,OAAO,CAAC;AAwB5E,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAM3B,MAAM,kBAAkB,CAAC;AAuD1B;;GAEG;AACH,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,SAAS,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;CAC1C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA6iLxD,CAAC"}
|
|
@@ -1484,6 +1484,10 @@ const ClientProvider = ({
|
|
|
1484
1484
|
if (!client) throw new sdkTypes.TurnkeyError("Client is not initialized.", sdkTypes.TurnkeyErrorCodes.CLIENT_NOT_INITIALIZED);
|
|
1485
1485
|
return utils.withTurnkeyErrorHandling(() => client.ethSendTransaction(params), () => logout(), callbacks, "Failed to send eth transaction");
|
|
1486
1486
|
}, [client, callbacks, logout]);
|
|
1487
|
+
const solSendTransaction = react.useCallback(async params => {
|
|
1488
|
+
if (!client) throw new sdkTypes.TurnkeyError("Client is not initialized.", sdkTypes.TurnkeyErrorCodes.CLIENT_NOT_INITIALIZED);
|
|
1489
|
+
return utils.withTurnkeyErrorHandling(() => client.solSendTransaction(params), () => logout(), callbacks, "Failed to send sol transaction");
|
|
1490
|
+
}, [client, callbacks, logout]);
|
|
1487
1491
|
const signAndSendTransaction = react.useCallback(async params => {
|
|
1488
1492
|
if (!client) throw new sdkTypes.TurnkeyError("Client is not initialized.", sdkTypes.TurnkeyErrorCodes.CLIENT_NOT_INITIALIZED);
|
|
1489
1493
|
return utils.withTurnkeyErrorHandling(() => client.signAndSendTransaction(params), () => logout(), callbacks, "Failed to sign and send transaction");
|
|
@@ -3349,63 +3353,69 @@ const ClientProvider = ({
|
|
|
3349
3353
|
successPageDuration = 2000
|
|
3350
3354
|
} = params;
|
|
3351
3355
|
const {
|
|
3352
|
-
|
|
3353
|
-
to,
|
|
3354
|
-
caip2,
|
|
3355
|
-
value,
|
|
3356
|
-
data,
|
|
3357
|
-
nonce,
|
|
3358
|
-
gasLimit,
|
|
3359
|
-
maxFeePerGas,
|
|
3360
|
-
maxPriorityFeePerGas,
|
|
3361
|
-
sponsor
|
|
3356
|
+
caip2
|
|
3362
3357
|
} = transaction;
|
|
3363
|
-
const
|
|
3358
|
+
const isSolanaTransaction = caip2.startsWith("solana:");
|
|
3364
3359
|
return new Promise((resolve, reject) => {
|
|
3365
3360
|
const action = async () => {
|
|
3366
|
-
const
|
|
3367
|
-
from,
|
|
3368
|
-
to,
|
|
3369
|
-
caip2,
|
|
3370
|
-
sponsor: sponsor ?? false,
|
|
3371
|
-
...(value ? {
|
|
3372
|
-
value
|
|
3373
|
-
} : {}),
|
|
3374
|
-
...(cleanedData ? {
|
|
3375
|
-
data: cleanedData
|
|
3376
|
-
} : {}),
|
|
3377
|
-
...(nonce ? {
|
|
3378
|
-
nonce
|
|
3379
|
-
} : {}),
|
|
3380
|
-
...(gasLimit ? {
|
|
3381
|
-
gasLimit
|
|
3382
|
-
} : {}),
|
|
3383
|
-
...(maxFeePerGas ? {
|
|
3384
|
-
maxFeePerGas
|
|
3385
|
-
} : {}),
|
|
3386
|
-
...(maxPriorityFeePerGas ? {
|
|
3387
|
-
maxPriorityFeePerGas
|
|
3388
|
-
} : {})
|
|
3389
|
-
};
|
|
3390
|
-
const sendTransactionStatusId = await ethSendTransaction({
|
|
3361
|
+
const sendTransactionStatusId = isSolanaTransaction ? await solSendTransaction({
|
|
3391
3362
|
organizationId,
|
|
3392
|
-
transaction:
|
|
3363
|
+
transaction: transaction,
|
|
3393
3364
|
stampWith
|
|
3394
|
-
})
|
|
3365
|
+
}) : await (async () => {
|
|
3366
|
+
const {
|
|
3367
|
+
from,
|
|
3368
|
+
to,
|
|
3369
|
+
value,
|
|
3370
|
+
data,
|
|
3371
|
+
nonce,
|
|
3372
|
+
gasLimit,
|
|
3373
|
+
maxFeePerGas,
|
|
3374
|
+
maxPriorityFeePerGas,
|
|
3375
|
+
sponsor
|
|
3376
|
+
} = transaction;
|
|
3377
|
+
const cleanedData = data && data !== "0x" && data !== "" ? data : undefined;
|
|
3378
|
+
const tx = {
|
|
3379
|
+
from,
|
|
3380
|
+
to,
|
|
3381
|
+
caip2,
|
|
3382
|
+
sponsor: sponsor ?? false,
|
|
3383
|
+
...(value ? {
|
|
3384
|
+
value
|
|
3385
|
+
} : {}),
|
|
3386
|
+
...(cleanedData ? {
|
|
3387
|
+
data: cleanedData
|
|
3388
|
+
} : {}),
|
|
3389
|
+
...(nonce ? {
|
|
3390
|
+
nonce
|
|
3391
|
+
} : {}),
|
|
3392
|
+
...(gasLimit ? {
|
|
3393
|
+
gasLimit
|
|
3394
|
+
} : {}),
|
|
3395
|
+
...(maxFeePerGas ? {
|
|
3396
|
+
maxFeePerGas
|
|
3397
|
+
} : {}),
|
|
3398
|
+
...(maxPriorityFeePerGas ? {
|
|
3399
|
+
maxPriorityFeePerGas
|
|
3400
|
+
} : {})
|
|
3401
|
+
};
|
|
3402
|
+
return ethSendTransaction({
|
|
3403
|
+
organizationId,
|
|
3404
|
+
transaction: tx,
|
|
3405
|
+
stampWith
|
|
3406
|
+
});
|
|
3407
|
+
})();
|
|
3395
3408
|
if (!sendTransactionStatusId) {
|
|
3396
|
-
throw new sdkTypes.TurnkeyError("Missing sendTransactionStatusId", sdkTypes.TurnkeyErrorCodes.
|
|
3409
|
+
throw new sdkTypes.TurnkeyError("Missing sendTransactionStatusId", sdkTypes.TurnkeyErrorCodes.BAD_RESPONSE);
|
|
3397
3410
|
}
|
|
3398
3411
|
const pollResult = await pollTransactionStatus({
|
|
3399
3412
|
organizationId,
|
|
3400
3413
|
sendTransactionStatusId
|
|
3401
3414
|
});
|
|
3402
|
-
const txHash = pollResult?.eth?.txHash;
|
|
3403
|
-
|
|
3404
|
-
throw new sdkTypes.TurnkeyError("Missing txHash in transaction result", sdkTypes.TurnkeyErrorCodes.POLL_TRANSACTION_STATUS_ERROR);
|
|
3405
|
-
}
|
|
3406
|
-
return {
|
|
3415
|
+
const txHash = pollResult?.eth?.txHash ?? pollResult?.txHash;
|
|
3416
|
+
return txHash ? {
|
|
3407
3417
|
txHash
|
|
3408
|
-
};
|
|
3418
|
+
} : {};
|
|
3409
3419
|
};
|
|
3410
3420
|
pushPage({
|
|
3411
3421
|
key: "Send Transaction",
|
|
@@ -3422,7 +3432,7 @@ const ClientProvider = ({
|
|
|
3422
3432
|
})
|
|
3423
3433
|
});
|
|
3424
3434
|
});
|
|
3425
|
-
}, [pushPage,
|
|
3435
|
+
}, [ethSendTransaction, getSession, pollTransactionStatus, pushPage, solSendTransaction]);
|
|
3426
3436
|
const handleOnRamp = react.useCallback(async params => {
|
|
3427
3437
|
const {
|
|
3428
3438
|
walletAccount,
|
|
@@ -3777,6 +3787,7 @@ const ClientProvider = ({
|
|
|
3777
3787
|
signMessage,
|
|
3778
3788
|
signTransaction,
|
|
3779
3789
|
ethSendTransaction,
|
|
3790
|
+
solSendTransaction,
|
|
3780
3791
|
signAndSendTransaction,
|
|
3781
3792
|
pollTransactionStatus,
|
|
3782
3793
|
fetchUser,
|