Skip to content

Commit

Permalink
Add ton support for iOS
Browse files Browse the repository at this point in the history
  • Loading branch information
y3fers0n committed Sep 12, 2024
1 parent d347830 commit a8ae0fd
Show file tree
Hide file tree
Showing 8 changed files with 36 additions and 24 deletions.
26 changes: 13 additions & 13 deletions android/lib/src/main/res/raw/trust_min.js

Large diffs are not rendered by default.

Binary file modified bun.lockb
Binary file not shown.
10 changes: 10 additions & 0 deletions packages/ios-web3-provider/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ import { ICosmosProviderConfig } from '@trustwallet/web3-provider-cosmos/types/C
import { IEthereumProviderConfig } from '@trustwallet/web3-provider-ethereum/types/EthereumProvider';
import { AptosProvider } from '@trustwallet/web3-provider-aptos';
import { IAptosProviderConfig } from '@trustwallet/web3-provider-aptos/types/AptosProvider';
import { ITonProviderConfig } from '@trustwallet/web3-provider-ton/dist/types/types/TonProvider';
import { ITonBridgeConfig } from '@trustwallet/web3-provider-ton/dist/types/types/TonBridge';
import { TonBridge, TonProvider } from '@trustwallet/web3-provider-ton';

const core = (strategy: AdapterStrategyType, handler?: IHandler) =>
new Web3Provider({ strategy, handler });
Expand All @@ -24,10 +27,17 @@ const ethereum = (config: IEthereumProviderConfig) =>

const aptos = (config: IAptosProviderConfig) => new AptosProvider(config);

const ton = (config: ITonProviderConfig) => new TonProvider(config);

const tonBridge = (config: ITonBridgeConfig, provider: TonProvider) =>
new TonBridge(config, provider);

window.trustwallet = {
core,
solana,
cosmos,
ethereum,
aptos,
ton,
tonBridge,
};
3 changes: 2 additions & 1 deletion packages/ios-web3-provider/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@
"@trustwallet/web3-provider-solana": "workspace:*",
"@trustwallet/web3-provider-cosmos": "workspace:*",
"@trustwallet/web3-provider-aptos": "workspace:*",
"@trustwallet/web3-provider-ton": "workspace:*",
"rollup-plugin-polyfill-node": "0.13.0"
},
"devDependencies": { }
"devDependencies": {}
}
1 change: 1 addition & 0 deletions packages/ios-web3-provider/swift/ProviderNetwork.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,5 @@ public enum ProviderNetwork: String, Decodable {
case solana
case cosmos
case aptos
case ton
}
4 changes: 2 additions & 2 deletions packages/ios-web3-provider/swift/trust-min.js
Git LFS file not shown
10 changes: 2 additions & 8 deletions packages/ton/TonBridge.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import {
ConnectItemReply,
ConnectRequest,
DeviceInfo,
ITonBridgeConfig,
TonConnectBridge,
TonConnectCallback,
WalletEvent,
Expand Down Expand Up @@ -39,14 +40,7 @@ export class TonBridge implements TonConnectBridge {
private provider!: TonProvider;
private callbacks: TonConnectCallback[] = [];

constructor(
config: {
isWalletBrowser: boolean;
walletInfo: WalletInfo;
deviceInfo: DeviceInfo;
},
provider: TonProvider,
) {
constructor(config: ITonBridgeConfig, provider: TonProvider) {
if (config) {
if (typeof config.isWalletBrowser !== 'undefined') {
this.isWalletBrowser = config.isWalletBrowser;
Expand Down
6 changes: 6 additions & 0 deletions packages/ton/types/TonBridge.ts
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,12 @@ export interface AppRequest {

export type TonConnectCallback = (event: WalletEvent) => void;

export interface ITonBridgeConfig {
isWalletBrowser: boolean;
walletInfo: WalletInfo;
deviceInfo: DeviceInfo;
}

export interface TonConnectBridge {
deviceInfo: DeviceInfo;
walletInfo?: WalletInfo;
Expand Down

0 comments on commit a8ae0fd

Please sign in to comment.