@weblock-wallet/sdk 0.1.74 → 0.1.76
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/index.cjs +148 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +148 -7
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -106949,12 +106949,128 @@ var UserModule = class {
|
|
|
106949
106949
|
}
|
|
106950
106950
|
};
|
|
106951
106951
|
|
|
106952
|
+
// src/core/config/weblockFujiDeployment.ts
|
|
106953
|
+
var WEBLOCK_FUJI_DEPLOYMENT = {
|
|
106954
|
+
chainId: 43113,
|
|
106955
|
+
network: "fuji",
|
|
106956
|
+
rpcUrl: "https://api.avax-test.network/ext/bc/C/rpc",
|
|
106957
|
+
explorerBaseUrl: "https://testnet.snowtrace.io",
|
|
106958
|
+
treasury: "0x67394081091BDE902b38774076a332240Aa14b27",
|
|
106959
|
+
tokens: {
|
|
106960
|
+
USDR: {
|
|
106961
|
+
address: "0xbc3A31c1788624E5bFf69cdC3a1E7405A01C6De2",
|
|
106962
|
+
decimals: 18,
|
|
106963
|
+
symbol: "USDR"
|
|
106964
|
+
},
|
|
106965
|
+
USDT: {
|
|
106966
|
+
address: "0x4CcEF90D730AB83366a3936FA301536649E105Ed",
|
|
106967
|
+
decimals: 6,
|
|
106968
|
+
symbol: "USDT"
|
|
106969
|
+
},
|
|
106970
|
+
WFT: {
|
|
106971
|
+
address: "0x64529efA2bF566794d051f7531B53EE9413E7794",
|
|
106972
|
+
decimals: 18,
|
|
106973
|
+
symbol: "WFT"
|
|
106974
|
+
}
|
|
106975
|
+
},
|
|
106976
|
+
contracts: {
|
|
106977
|
+
rbtFactory: "0x6bF159f474094915805c9768c533c6c24737F8a3",
|
|
106978
|
+
investRouter: "0x41c1EeD232D29FCc19c09b0e26A70e4B8c9b34e6",
|
|
106979
|
+
product1: {
|
|
106980
|
+
offeringId: 1n,
|
|
106981
|
+
seriesId: 1n,
|
|
106982
|
+
rbtAsset: "0x6173a35cBB99B82c51c6A0e0265C06B7955Eb017",
|
|
106983
|
+
unitPriceWei: 1000000000000000000n,
|
|
106984
|
+
// 1 USDR
|
|
106985
|
+
paymentToken: "0xbc3A31c1788624E5bFf69cdC3a1E7405A01C6De2"
|
|
106986
|
+
// USDR
|
|
106987
|
+
}
|
|
106988
|
+
}
|
|
106989
|
+
};
|
|
106990
|
+
|
|
106952
106991
|
// src/modules/wallet.ts
|
|
106992
|
+
var FUJI_CHAIN_ID = WEBLOCK_FUJI_DEPLOYMENT.chainId;
|
|
106993
|
+
var FUJI_USDR_ADDRESS = WEBLOCK_FUJI_DEPLOYMENT.tokens.USDR.address.toLowerCase();
|
|
106994
|
+
var FUJI_RBT_ADDRESS = WEBLOCK_FUJI_DEPLOYMENT.contracts.product1.rbtAsset.toLowerCase();
|
|
106995
|
+
var FUJI_RBT_SERIES_ID = Number(
|
|
106996
|
+
WEBLOCK_FUJI_DEPLOYMENT.contracts.product1.seriesId
|
|
106997
|
+
);
|
|
106953
106998
|
var WalletModule = class {
|
|
106954
106999
|
constructor(options, core) {
|
|
106955
107000
|
this.options = options;
|
|
106956
107001
|
this.core = core;
|
|
106957
107002
|
}
|
|
107003
|
+
pickDefaultNetwork(availableNetworks) {
|
|
107004
|
+
if (!availableNetworks.length) return null;
|
|
107005
|
+
const fuji = availableNetworks.find(
|
|
107006
|
+
(network) => network.chainId === FUJI_CHAIN_ID && (network.isTestnet || (network.name || "").toLowerCase().includes("fuji") || (network.rpcUrl || "").toLowerCase().includes("avax-test"))
|
|
107007
|
+
) ?? null;
|
|
107008
|
+
if (fuji) return fuji;
|
|
107009
|
+
return availableNetworks.find((network) => !network.isTestnet) ?? availableNetworks[0];
|
|
107010
|
+
}
|
|
107011
|
+
withDefaultRegisteredCoins(network, registered) {
|
|
107012
|
+
if (!network) return registered;
|
|
107013
|
+
const map = /* @__PURE__ */ new Map();
|
|
107014
|
+
for (const coin of registered) {
|
|
107015
|
+
if (!coin?.contractAddress) continue;
|
|
107016
|
+
map.set(coin.contractAddress.toLowerCase(), {
|
|
107017
|
+
...coin,
|
|
107018
|
+
contractAddress: coin.contractAddress.toLowerCase()
|
|
107019
|
+
});
|
|
107020
|
+
}
|
|
107021
|
+
if (network.chainId === FUJI_CHAIN_ID && !map.has(FUJI_USDR_ADDRESS)) {
|
|
107022
|
+
map.set(FUJI_USDR_ADDRESS, {
|
|
107023
|
+
id: "default-fuji-usdr",
|
|
107024
|
+
blockchainId: network.id,
|
|
107025
|
+
name: "WeBlock USD Settlement Token",
|
|
107026
|
+
symbol: "USDR",
|
|
107027
|
+
contractAddress: FUJI_USDR_ADDRESS,
|
|
107028
|
+
decimals: 18
|
|
107029
|
+
});
|
|
107030
|
+
}
|
|
107031
|
+
return Array.from(map.values());
|
|
107032
|
+
}
|
|
107033
|
+
decodeHexBalanceToDecimal(value) {
|
|
107034
|
+
if (!value) return "0";
|
|
107035
|
+
try {
|
|
107036
|
+
return BigInt(value).toString();
|
|
107037
|
+
} catch {
|
|
107038
|
+
return "0";
|
|
107039
|
+
}
|
|
107040
|
+
}
|
|
107041
|
+
async getFujiRbtTokenInfo(networkId, walletAddress) {
|
|
107042
|
+
try {
|
|
107043
|
+
const rawHex = await this.core.asset.getERC1155Balance({
|
|
107044
|
+
networkId,
|
|
107045
|
+
tokenAddress: FUJI_RBT_ADDRESS,
|
|
107046
|
+
walletAddress,
|
|
107047
|
+
tokenId: FUJI_RBT_SERIES_ID
|
|
107048
|
+
});
|
|
107049
|
+
const raw = this.decodeHexBalanceToDecimal(rawHex);
|
|
107050
|
+
const balance = {
|
|
107051
|
+
raw,
|
|
107052
|
+
formatted: TokenAmount.fromWei(raw, 0),
|
|
107053
|
+
decimals: 0,
|
|
107054
|
+
symbol: "RBT"
|
|
107055
|
+
};
|
|
107056
|
+
return {
|
|
107057
|
+
address: FUJI_RBT_ADDRESS,
|
|
107058
|
+
name: "RBT Property Token",
|
|
107059
|
+
symbol: "RBT",
|
|
107060
|
+
decimals: 0,
|
|
107061
|
+
balance,
|
|
107062
|
+
totalSupply: {
|
|
107063
|
+
raw: "0",
|
|
107064
|
+
formatted: "0",
|
|
107065
|
+
decimals: 0,
|
|
107066
|
+
symbol: "RBT"
|
|
107067
|
+
}
|
|
107068
|
+
};
|
|
107069
|
+
} catch (error) {
|
|
107070
|
+
console.warn("Failed to load default RBT balance:", error);
|
|
107071
|
+
return null;
|
|
107072
|
+
}
|
|
107073
|
+
}
|
|
106958
107074
|
async getInfo() {
|
|
106959
107075
|
try {
|
|
106960
107076
|
console.log("1. \uB85C\uADF8\uC778 \uC0C1\uD0DC \uD655\uC778 \uC2DC\uC791");
|
|
@@ -106980,7 +107096,13 @@ var WalletModule = class {
|
|
|
106980
107096
|
console.log("\uD604\uC7AC \uB124\uD2B8\uC6CC\uD06C:", currentNetwork);
|
|
106981
107097
|
console.log("\uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uB124\uD2B8\uC6CC\uD06C:", availableNetworks);
|
|
106982
107098
|
if (!currentNetwork) {
|
|
106983
|
-
const defaultNetwork =
|
|
107099
|
+
const defaultNetwork = this.pickDefaultNetwork(availableNetworks);
|
|
107100
|
+
if (!defaultNetwork) {
|
|
107101
|
+
throw new SDKError(
|
|
107102
|
+
"\uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uB124\uD2B8\uC6CC\uD06C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4",
|
|
107103
|
+
"NETWORK_ERROR" /* NETWORK_ERROR */
|
|
107104
|
+
);
|
|
107105
|
+
}
|
|
106984
107106
|
await this.core.network.switchNetwork(defaultNetwork.id);
|
|
106985
107107
|
console.log("\uAE30\uBCF8 \uB124\uD2B8\uC6CC\uD06C\uB85C \uC124\uC815:", defaultNetwork.name);
|
|
106986
107108
|
}
|
|
@@ -107006,12 +107128,14 @@ var WalletModule = class {
|
|
|
107006
107128
|
let tokens = [];
|
|
107007
107129
|
try {
|
|
107008
107130
|
const registered = await this.core.asset.getRegisteredCoins(network.id);
|
|
107009
|
-
|
|
107010
|
-
|
|
107011
|
-
|
|
107012
|
-
|
|
107013
|
-
|
|
107014
|
-
|
|
107131
|
+
const targetCoins = this.withDefaultRegisteredCoins(
|
|
107132
|
+
network,
|
|
107133
|
+
registered ?? []
|
|
107134
|
+
);
|
|
107135
|
+
const tokenMap = /* @__PURE__ */ new Map();
|
|
107136
|
+
if (targetCoins.length) {
|
|
107137
|
+
const results = await Promise.allSettled(
|
|
107138
|
+
targetCoins.map(async (coin) => {
|
|
107015
107139
|
const full = await this.core.asset.getTokenFullInfo({
|
|
107016
107140
|
networkId: network.id,
|
|
107017
107141
|
tokenAddress: coin.contractAddress,
|
|
@@ -107026,7 +107150,24 @@ var WalletModule = class {
|
|
|
107026
107150
|
};
|
|
107027
107151
|
})
|
|
107028
107152
|
);
|
|
107153
|
+
results.forEach((result) => {
|
|
107154
|
+
if (result.status === "fulfilled") {
|
|
107155
|
+
tokenMap.set(
|
|
107156
|
+
result.value.address.toLowerCase(),
|
|
107157
|
+
result.value
|
|
107158
|
+
);
|
|
107159
|
+
return;
|
|
107160
|
+
}
|
|
107161
|
+
console.warn("Registered token load failed:", result.reason);
|
|
107162
|
+
});
|
|
107163
|
+
}
|
|
107164
|
+
if (network.chainId === FUJI_CHAIN_ID) {
|
|
107165
|
+
const rbtToken = await this.getFujiRbtTokenInfo(network.id, address);
|
|
107166
|
+
if (rbtToken) {
|
|
107167
|
+
tokenMap.set(rbtToken.address.toLowerCase(), rbtToken);
|
|
107168
|
+
}
|
|
107029
107169
|
}
|
|
107170
|
+
tokens = Array.from(tokenMap.values());
|
|
107030
107171
|
} catch (e7) {
|
|
107031
107172
|
console.warn("Registered token load failed:", e7);
|
|
107032
107173
|
tokens = [];
|