1- using System . Numerics ;
1+ // using System.Numerics;
22using Thirdweb . AI ;
33
44namespace Thirdweb . Tests . AI ;
55
66public class NebulaTests : BaseTests
77{
8- private const string NEBULA_TEST_CONTRACT = "0xe2cb0eb5147b42095c2FfA6F7ec953bb0bE347D8" ;
9- private const string NEBULA_TEST_USDC_ADDRESS = "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238" ;
10- private const int NEBULA_TEST_CHAIN = 11155111 ;
8+ // private const string NEBULA_TEST_CONTRACT = "0xe2cb0eb5147b42095c2FfA6F7ec953bb0bE347D8";
9+ // private const string NEBULA_TEST_USDC_ADDRESS = "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238";
10+ // private const int NEBULA_TEST_CHAIN = 11155111;
1111
1212 public NebulaTests ( ITestOutputHelper output )
1313 : base ( output ) { }
@@ -33,104 +33,104 @@ public async Task Create_ResumesSession()
3333 Assert . Equal ( sessionId , nebula . SessionId ) ;
3434 }
3535
36- [ Fact ( Timeout = 120000 ) ]
37- public async Task Chat_Single_ReturnsResponse ( )
38- {
39- var nebula = await ThirdwebNebula . Create ( this . Client ) ;
40- var response = await nebula . Chat (
41- message : "What's the symbol of this contract?" ,
42- context : new NebulaContext ( contractAddresses : new List < string > { NEBULA_TEST_CONTRACT } , chainIds : new List < BigInteger > { NEBULA_TEST_CHAIN } )
43- ) ;
44- Assert . NotNull ( response ) ;
45- Assert . NotNull ( response . Message ) ;
46- Assert . Contains ( "CAT" , response . Message ) ;
47- }
36+ // [Fact(Timeout = 120000)]
37+ // public async Task Chat_Single_ReturnsResponse()
38+ // {
39+ // var nebula = await ThirdwebNebula.Create(this.Client);
40+ // var response = await nebula.Chat(
41+ // message: "What's the symbol of this contract?",
42+ // context: new NebulaContext(contractAddresses: new List<string> { NEBULA_TEST_CONTRACT }, chainIds: new List<BigInteger> { NEBULA_TEST_CHAIN })
43+ // );
44+ // Assert.NotNull(response);
45+ // Assert.NotNull(response.Message);
46+ // Assert.Contains("CAT", response.Message);
47+ // }
4848
49- [ Fact ( Timeout = 120000 ) ]
50- public async Task Chat_Single_NoContext_ReturnsResponse ( )
51- {
52- var nebula = await ThirdwebNebula . Create ( this . Client ) ;
53- var response = await nebula . Chat ( message : $ "What's the symbol of this contract: { NEBULA_TEST_CONTRACT } (Sepolia)?") ;
54- Assert . NotNull ( response ) ;
55- Assert . NotNull ( response . Message ) ;
56- Assert . Contains ( "CAT" , response . Message ) ;
57- }
49+ // [Fact(Timeout = 120000)]
50+ // public async Task Chat_Single_NoContext_ReturnsResponse()
51+ // {
52+ // var nebula = await ThirdwebNebula.Create(this.Client);
53+ // var response = await nebula.Chat(message: $"What's the symbol of this contract: {NEBULA_TEST_CONTRACT} (Sepolia)?");
54+ // Assert.NotNull(response);
55+ // Assert.NotNull(response.Message);
56+ // Assert.Contains("CAT", response.Message);
57+ // }
5858
59- [ Fact ( Timeout = 120000 ) ]
60- public async Task Chat_Multiple_ReturnsResponse ( )
61- {
62- var nebula = await ThirdwebNebula . Create ( this . Client ) ;
63- var response = await nebula . Chat (
64- messages : new List < NebulaChatMessage >
65- {
66- new ( "What's the symbol of this contract?" , NebulaChatRole . User ) ,
67- new ( "The symbol is CAT" , NebulaChatRole . Assistant ) ,
68- new ( "What's the name of this contract?" , NebulaChatRole . User ) ,
69- } ,
70- context : new NebulaContext ( contractAddresses : new List < string > { NEBULA_TEST_CONTRACT } , chainIds : new List < BigInteger > { NEBULA_TEST_CHAIN } )
71- ) ;
72- Assert . NotNull ( response ) ;
73- Assert . NotNull ( response . Message ) ;
74- Assert . Contains ( "CatDrop" , response . Message , StringComparison . OrdinalIgnoreCase ) ;
75- }
59+ // [Fact(Timeout = 120000)]
60+ // public async Task Chat_Multiple_ReturnsResponse()
61+ // {
62+ // var nebula = await ThirdwebNebula.Create(this.Client);
63+ // var response = await nebula.Chat(
64+ // messages: new List<NebulaChatMessage>
65+ // {
66+ // new("What's the symbol of this contract?", NebulaChatRole.User),
67+ // new("The symbol is CAT", NebulaChatRole.Assistant),
68+ // new("What's the name of this contract?", NebulaChatRole.User),
69+ // },
70+ // context: new NebulaContext(contractAddresses: new List<string> { NEBULA_TEST_CONTRACT }, chainIds: new List<BigInteger> { NEBULA_TEST_CHAIN })
71+ // );
72+ // Assert.NotNull(response);
73+ // Assert.NotNull(response.Message);
74+ // Assert.Contains("CatDrop", response.Message, StringComparison.OrdinalIgnoreCase);
75+ // }
7676
77- [ Fact ( Timeout = 120000 ) ]
78- public async Task Chat_UnderstandsWalletContext ( )
79- {
80- var wallet = await PrivateKeyWallet . Generate ( this . Client ) ;
81- var expectedAddress = await wallet . GetAddress ( ) ;
82- var nebula = await ThirdwebNebula . Create ( this . Client ) ;
83- var response = await nebula . Chat ( message : "What is my wallet address?" , wallet : wallet ) ;
84- Assert . NotNull ( response ) ;
85- Assert . NotNull ( response . Message ) ;
86- Assert . Contains ( expectedAddress , response . Message ) ;
87- }
77+ // [Fact(Timeout = 120000)]
78+ // public async Task Chat_UnderstandsWalletContext()
79+ // {
80+ // var wallet = await PrivateKeyWallet.Generate(this.Client);
81+ // var expectedAddress = await wallet.GetAddress();
82+ // var nebula = await ThirdwebNebula.Create(this.Client);
83+ // var response = await nebula.Chat(message: "What is my wallet address?", wallet: wallet);
84+ // Assert.NotNull(response);
85+ // Assert.NotNull(response.Message);
86+ // Assert.Contains(expectedAddress, response.Message);
87+ // }
8888
89- [ Fact ( Timeout = 120000 ) ]
90- public async Task Execute_ReturnsMessageAndReceipt ( )
91- {
92- var signer = await PrivateKeyWallet . Generate ( this . Client ) ;
93- var wallet = await SmartWallet . Create ( signer , NEBULA_TEST_CHAIN ) ;
94- var nebula = await ThirdwebNebula . Create ( this . Client ) ;
95- var response = await nebula . Execute (
96- new List < NebulaChatMessage >
97- {
98- new ( "What's the address of vitalik.eth" , NebulaChatRole . User ) ,
99- new ( "The address of vitalik.eth is 0xd8dA6BF26964aF8E437eEa5e3616511D7G3a3298" , NebulaChatRole . Assistant ) ,
100- new ( "Approve 1 USDC to them" , NebulaChatRole . User ) ,
101- } ,
102- wallet : wallet ,
103- context : new NebulaContext ( contractAddresses : new List < string > ( ) { NEBULA_TEST_USDC_ADDRESS } )
104- ) ;
105- Assert . NotNull ( response ) ;
106- Assert . NotNull ( response . Message ) ;
107- Assert . NotNull ( response . TransactionReceipts ) ;
108- Assert . NotEmpty ( response . TransactionReceipts ) ;
109- Assert . NotNull ( response . TransactionReceipts [ 0 ] . TransactionHash ) ;
110- Assert . True ( response . TransactionReceipts [ 0 ] . TransactionHash . Length == 66 ) ;
111- }
89+ // [Fact(Timeout = 120000)]
90+ // public async Task Execute_ReturnsMessageAndReceipt()
91+ // {
92+ // var signer = await PrivateKeyWallet.Generate(this.Client);
93+ // var wallet = await SmartWallet.Create(signer, NEBULA_TEST_CHAIN);
94+ // var nebula = await ThirdwebNebula.Create(this.Client);
95+ // var response = await nebula.Execute(
96+ // new List<NebulaChatMessage>
97+ // {
98+ // new("What's the address of vitalik.eth", NebulaChatRole.User),
99+ // new("The address of vitalik.eth is 0xd8dA6BF26964aF8E437eEa5e3616511D7G3a3298", NebulaChatRole.Assistant),
100+ // new("Approve 1 USDC to them", NebulaChatRole.User),
101+ // },
102+ // wallet: wallet,
103+ // context: new NebulaContext(contractAddresses: new List<string>() { NEBULA_TEST_USDC_ADDRESS })
104+ // );
105+ // Assert.NotNull(response);
106+ // Assert.NotNull(response.Message);
107+ // Assert.NotNull(response.TransactionReceipts);
108+ // Assert.NotEmpty(response.TransactionReceipts);
109+ // Assert.NotNull(response.TransactionReceipts[0].TransactionHash);
110+ // Assert.True(response.TransactionReceipts[0].TransactionHash.Length == 66);
111+ // }
112112
113- [ Fact ( Timeout = 120000 ) ]
114- public async Task Execute_ReturnsMessageAndReceipts ( )
115- {
116- var signer = await PrivateKeyWallet . Generate ( this . Client ) ;
117- var wallet = await SmartWallet . Create ( signer , NEBULA_TEST_CHAIN ) ;
118- var nebula = await ThirdwebNebula . Create ( this . Client ) ;
119- var response = await nebula . Execute (
120- new List < NebulaChatMessage >
121- {
122- new ( "What's the address of vitalik.eth" , NebulaChatRole . User ) ,
123- new ( "The address of vitalik.eth is 0xd8dA6BF26964aF8E437eEa5e3616511D7G3a3298" , NebulaChatRole . Assistant ) ,
124- new ( "Approve 1 USDC to them" , NebulaChatRole . User ) ,
125- } ,
126- wallet : wallet ,
127- context : new NebulaContext ( contractAddresses : new List < string > ( ) { NEBULA_TEST_USDC_ADDRESS } )
128- ) ;
129- Assert . NotNull ( response ) ;
130- Assert . NotNull ( response . Message ) ;
131- Assert . NotNull ( response . TransactionReceipts ) ;
132- Assert . NotEmpty ( response . TransactionReceipts ) ;
133- Assert . NotNull ( response . TransactionReceipts [ 0 ] . TransactionHash ) ;
134- Assert . True ( response . TransactionReceipts [ 0 ] . TransactionHash . Length == 66 ) ;
135- }
113+ // [Fact(Timeout = 120000)]
114+ // public async Task Execute_ReturnsMessageAndReceipts()
115+ // {
116+ // var signer = await PrivateKeyWallet.Generate(this.Client);
117+ // var wallet = await SmartWallet.Create(signer, NEBULA_TEST_CHAIN);
118+ // var nebula = await ThirdwebNebula.Create(this.Client);
119+ // var response = await nebula.Execute(
120+ // new List<NebulaChatMessage>
121+ // {
122+ // new("What's the address of vitalik.eth", NebulaChatRole.User),
123+ // new("The address of vitalik.eth is 0xd8dA6BF26964aF8E437eEa5e3616511D7G3a3298", NebulaChatRole.Assistant),
124+ // new("Approve 1 USDC to them", NebulaChatRole.User),
125+ // },
126+ // wallet: wallet,
127+ // context: new NebulaContext(contractAddresses: new List<string>() { NEBULA_TEST_USDC_ADDRESS })
128+ // );
129+ // Assert.NotNull(response);
130+ // Assert.NotNull(response.Message);
131+ // Assert.NotNull(response.TransactionReceipts);
132+ // Assert.NotEmpty(response.TransactionReceipts);
133+ // Assert.NotNull(response.TransactionReceipts[0].TransactionHash);
134+ // Assert.True(response.TransactionReceipts[0].TransactionHash.Length == 66);
135+ // }
136136}
0 commit comments