Skip to content

Commit a481b61

Browse files
allow passing transaction overrides to custom write calls
1 parent ee27afe commit a481b61

File tree

3 files changed

+275
-18
lines changed

3 files changed

+275
-18
lines changed

Assets/Thirdweb/Demo/ThirdwebDemoScene.unity

Lines changed: 228 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ RectTransform:
160160
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
161161
m_AnchorMin: {x: 0.5, y: 0.5}
162162
m_AnchorMax: {x: 0.5, y: 0.5}
163-
m_AnchoredPosition: {x: -216, y: 43}
163+
m_AnchoredPosition: {x: -200, y: 43}
164164
m_SizeDelta: {x: 303.9389, y: 65.3882}
165165
m_Pivot: {x: 0.5, y: 0.5}
166166
--- !u!114 &40919616
@@ -454,7 +454,7 @@ RectTransform:
454454
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
455455
m_AnchorMin: {x: 0.5, y: 0.5}
456456
m_AnchorMax: {x: 0.5, y: 0.5}
457-
m_AnchoredPosition: {x: 619.8321, y: -65.980354}
457+
m_AnchoredPosition: {x: 600, y: -65.980354}
458458
m_SizeDelta: {x: 303.9389, y: 65.3882}
459459
m_Pivot: {x: 0.5, y: 0.5}
460460
--- !u!114 &148812779
@@ -588,7 +588,7 @@ RectTransform:
588588
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
589589
m_AnchorMin: {x: 0.5, y: 0.5}
590590
m_AnchorMax: {x: 0.5, y: 0.5}
591-
m_AnchoredPosition: {x: 467.86255, y: 195.57227}
591+
m_AnchoredPosition: {x: 200, y: 195.57227}
592592
m_SizeDelta: {x: 303.9389, y: 65.3882}
593593
m_Pivot: {x: 0.5, y: 0.5}
594594
--- !u!114 &165585585
@@ -790,6 +790,7 @@ RectTransform:
790790
- {fileID: 1192826528}
791791
- {fileID: 165585584}
792792
- {fileID: 545609469}
793+
- {fileID: 1145998090}
793794
m_Father: {fileID: 0}
794795
m_RootOrder: 3
795796
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -915,7 +916,7 @@ RectTransform:
915916
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
916917
m_AnchorMin: {x: 0.5, y: 0.5}
917918
m_AnchorMax: {x: 0.5, y: 0.5}
918-
m_AnchoredPosition: {x: 239.90845, y: 42.9999}
919+
m_AnchoredPosition: {x: 200, y: 42.9999}
919920
m_SizeDelta: {x: 303.9389, y: 65.3882}
920921
m_Pivot: {x: 0.5, y: 0.5}
921922
--- !u!114 &288032604
@@ -1499,7 +1500,7 @@ RectTransform:
14991500
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
15001501
m_AnchorMin: {x: 0.5, y: 0.5}
15011502
m_AnchorMax: {x: 0.5, y: 0.5}
1502-
m_AnchoredPosition: {x: 11.954337, y: 195.57227}
1503+
m_AnchoredPosition: {x: -200, y: 195.57227}
15031504
m_SizeDelta: {x: 303.9389, y: 65.3882}
15041505
m_Pivot: {x: 0.5, y: 0.5}
15051506
--- !u!114 &1043492924
@@ -1633,7 +1634,7 @@ RectTransform:
16331634
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
16341635
m_AnchorMin: {x: 0.5, y: 0.5}
16351636
m_AnchorMax: {x: 0.5, y: 0.5}
1636-
m_AnchoredPosition: {x: -595.9237, y: -65.980354}
1637+
m_AnchoredPosition: {x: -600, y: -65.980354}
16371638
m_SizeDelta: {x: 303.9389, y: 65.3882}
16381639
m_Pivot: {x: 0.5, y: 0.5}
16391640
--- !u!114 &1051834923
@@ -1981,7 +1982,7 @@ RectTransform:
19811982
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
19821983
m_AnchorMin: {x: 0.5, y: 0.5}
19831984
m_AnchorMax: {x: 0.5, y: 0.5}
1984-
m_AnchoredPosition: {x: 619.8321, y: 42.999874}
1985+
m_AnchoredPosition: {x: 600, y: 42.999874}
19851986
m_SizeDelta: {x: 303.9389, y: 65.3882}
19861987
m_Pivot: {x: 0.5, y: 0.5}
19871988
--- !u!114 &1134950142
@@ -2078,6 +2079,140 @@ CanvasRenderer:
20782079
m_PrefabAsset: {fileID: 0}
20792080
m_GameObject: {fileID: 1134950140}
20802081
m_CullTransparentMesh: 1
2082+
--- !u!1 &1145998089
2083+
GameObject:
2084+
m_ObjectHideFlags: 0
2085+
m_CorrespondingSourceObject: {fileID: 0}
2086+
m_PrefabInstance: {fileID: 0}
2087+
m_PrefabAsset: {fileID: 0}
2088+
serializedVersion: 6
2089+
m_Component:
2090+
- component: {fileID: 1145998090}
2091+
- component: {fileID: 1145998093}
2092+
- component: {fileID: 1145998092}
2093+
- component: {fileID: 1145998091}
2094+
m_Layer: 5
2095+
m_Name: Custom
2096+
m_TagString: Untagged
2097+
m_Icon: {fileID: 0}
2098+
m_NavMeshLayer: 0
2099+
m_StaticEditorFlags: 0
2100+
m_IsActive: 1
2101+
--- !u!224 &1145998090
2102+
RectTransform:
2103+
m_ObjectHideFlags: 0
2104+
m_CorrespondingSourceObject: {fileID: 0}
2105+
m_PrefabInstance: {fileID: 0}
2106+
m_PrefabAsset: {fileID: 0}
2107+
m_GameObject: {fileID: 1145998089}
2108+
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
2109+
m_LocalPosition: {x: 0, y: 0, z: 0}
2110+
m_LocalScale: {x: 1, y: 1, z: 1}
2111+
m_ConstrainProportionsScale: 0
2112+
m_Children:
2113+
- {fileID: 1669363168}
2114+
m_Father: {fileID: 223974230}
2115+
m_RootOrder: 13
2116+
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
2117+
m_AnchorMin: {x: 0.5, y: 0.5}
2118+
m_AnchorMax: {x: 0.5, y: 0.5}
2119+
m_AnchoredPosition: {x: 600, y: 195.57227}
2120+
m_SizeDelta: {x: 303.9389, y: 65.3882}
2121+
m_Pivot: {x: 0.5, y: 0.5}
2122+
--- !u!114 &1145998091
2123+
MonoBehaviour:
2124+
m_ObjectHideFlags: 0
2125+
m_CorrespondingSourceObject: {fileID: 0}
2126+
m_PrefabInstance: {fileID: 0}
2127+
m_PrefabAsset: {fileID: 0}
2128+
m_GameObject: {fileID: 1145998089}
2129+
m_Enabled: 1
2130+
m_EditorHideFlags: 0
2131+
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
2132+
m_Name:
2133+
m_EditorClassIdentifier:
2134+
m_Navigation:
2135+
m_Mode: 3
2136+
m_WrapAround: 0
2137+
m_SelectOnUp: {fileID: 0}
2138+
m_SelectOnDown: {fileID: 0}
2139+
m_SelectOnLeft: {fileID: 0}
2140+
m_SelectOnRight: {fileID: 0}
2141+
m_Transition: 1
2142+
m_Colors:
2143+
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
2144+
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
2145+
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
2146+
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
2147+
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
2148+
m_ColorMultiplier: 1
2149+
m_FadeDuration: 0.1
2150+
m_SpriteState:
2151+
m_HighlightedSprite: {fileID: 0}
2152+
m_PressedSprite: {fileID: 0}
2153+
m_SelectedSprite: {fileID: 0}
2154+
m_DisabledSprite: {fileID: 0}
2155+
m_AnimationTriggers:
2156+
m_NormalTrigger: Normal
2157+
m_HighlightedTrigger: Highlighted
2158+
m_PressedTrigger: Pressed
2159+
m_SelectedTrigger: Selected
2160+
m_DisabledTrigger: Disabled
2161+
m_Interactable: 1
2162+
m_TargetGraphic: {fileID: 1145998092}
2163+
m_OnClick:
2164+
m_PersistentCalls:
2165+
m_Calls:
2166+
- m_Target: {fileID: 354401067}
2167+
m_TargetAssemblyTypeName: ThirdwebSDKDemos, Assembly-CSharp
2168+
m_MethodName: CustomContract
2169+
m_Mode: 1
2170+
m_Arguments:
2171+
m_ObjectArgument: {fileID: 0}
2172+
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
2173+
m_IntArgument: 0
2174+
m_FloatArgument: 0
2175+
m_StringArgument:
2176+
m_BoolArgument: 0
2177+
m_CallState: 2
2178+
--- !u!114 &1145998092
2179+
MonoBehaviour:
2180+
m_ObjectHideFlags: 0
2181+
m_CorrespondingSourceObject: {fileID: 0}
2182+
m_PrefabInstance: {fileID: 0}
2183+
m_PrefabAsset: {fileID: 0}
2184+
m_GameObject: {fileID: 1145998089}
2185+
m_Enabled: 1
2186+
m_EditorHideFlags: 0
2187+
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
2188+
m_Name:
2189+
m_EditorClassIdentifier:
2190+
m_Material: {fileID: 0}
2191+
m_Color: {r: 1, g: 1, b: 1, a: 1}
2192+
m_RaycastTarget: 1
2193+
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
2194+
m_Maskable: 1
2195+
m_OnCullStateChanged:
2196+
m_PersistentCalls:
2197+
m_Calls: []
2198+
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
2199+
m_Type: 1
2200+
m_PreserveAspect: 0
2201+
m_FillCenter: 1
2202+
m_FillMethod: 4
2203+
m_FillAmount: 1
2204+
m_FillClockwise: 1
2205+
m_FillOrigin: 0
2206+
m_UseSpriteMesh: 0
2207+
m_PixelsPerUnitMultiplier: 1
2208+
--- !u!222 &1145998093
2209+
CanvasRenderer:
2210+
m_ObjectHideFlags: 0
2211+
m_CorrespondingSourceObject: {fileID: 0}
2212+
m_PrefabInstance: {fileID: 0}
2213+
m_PrefabAsset: {fileID: 0}
2214+
m_GameObject: {fileID: 1145998089}
2215+
m_CullTransparentMesh: 1
20812216
--- !u!1 &1188451810
20822217
GameObject:
20832218
m_ObjectHideFlags: 0
@@ -2195,7 +2330,7 @@ RectTransform:
21952330
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
21962331
m_AnchorMin: {x: 0.5, y: 0.5}
21972332
m_AnchorMax: {x: 0.5, y: 0.5}
2198-
m_AnchoredPosition: {x: -443.95422, y: 195.57227}
2333+
m_AnchoredPosition: {x: -600, y: 195.57227}
21992334
m_SizeDelta: {x: 303.9389, y: 65.3882}
22002335
m_Pivot: {x: 0.5, y: 0.5}
22012336
--- !u!114 &1192826529
@@ -2329,7 +2464,7 @@ RectTransform:
23292464
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
23302465
m_AnchorMin: {x: 0.5, y: 0.5}
23312466
m_AnchorMax: {x: 0.5, y: 0.5}
2332-
m_AnchoredPosition: {x: -595.9237, y: 42.999874}
2467+
m_AnchoredPosition: {x: -600, y: 42.999874}
23332468
m_SizeDelta: {x: 303.9389, y: 65.3882}
23342469
m_Pivot: {x: 0.5, y: 0.5}
23352470
--- !u!114 &1290721652
@@ -2543,7 +2678,7 @@ RectTransform:
25432678
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
25442679
m_AnchorMin: {x: 0.5, y: 0.5}
25452680
m_AnchorMax: {x: 0.5, y: 0.5}
2546-
m_AnchoredPosition: {x: -215.99998, y: -65.980415}
2681+
m_AnchoredPosition: {x: -200, y: -65.980415}
25472682
m_SizeDelta: {x: 303.9389, y: 65.3882}
25482683
m_Pivot: {x: 0.5, y: 0.5}
25492684
--- !u!114 &1577749885
@@ -2720,6 +2855,86 @@ MonoBehaviour:
27202855
m_VerticalOverflow: 0
27212856
m_LineSpacing: 1
27222857
m_Text: Mint ERC721
2858+
--- !u!1 &1669363167
2859+
GameObject:
2860+
m_ObjectHideFlags: 0
2861+
m_CorrespondingSourceObject: {fileID: 0}
2862+
m_PrefabInstance: {fileID: 0}
2863+
m_PrefabAsset: {fileID: 0}
2864+
serializedVersion: 6
2865+
m_Component:
2866+
- component: {fileID: 1669363168}
2867+
- component: {fileID: 1669363170}
2868+
- component: {fileID: 1669363169}
2869+
m_Layer: 5
2870+
m_Name: Custom
2871+
m_TagString: Untagged
2872+
m_Icon: {fileID: 0}
2873+
m_NavMeshLayer: 0
2874+
m_StaticEditorFlags: 0
2875+
m_IsActive: 1
2876+
--- !u!224 &1669363168
2877+
RectTransform:
2878+
m_ObjectHideFlags: 0
2879+
m_CorrespondingSourceObject: {fileID: 0}
2880+
m_PrefabInstance: {fileID: 0}
2881+
m_PrefabAsset: {fileID: 0}
2882+
m_GameObject: {fileID: 1669363167}
2883+
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
2884+
m_LocalPosition: {x: 0, y: 0, z: 0}
2885+
m_LocalScale: {x: 1, y: 1, z: 1}
2886+
m_ConstrainProportionsScale: 0
2887+
m_Children: []
2888+
m_Father: {fileID: 1145998090}
2889+
m_RootOrder: 0
2890+
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
2891+
m_AnchorMin: {x: 0, y: 0}
2892+
m_AnchorMax: {x: 1, y: 1}
2893+
m_AnchoredPosition: {x: 0, y: -2.5}
2894+
m_SizeDelta: {x: -4, y: -5}
2895+
m_Pivot: {x: 0.5, y: 0.5}
2896+
--- !u!114 &1669363169
2897+
MonoBehaviour:
2898+
m_ObjectHideFlags: 0
2899+
m_CorrespondingSourceObject: {fileID: 0}
2900+
m_PrefabInstance: {fileID: 0}
2901+
m_PrefabAsset: {fileID: 0}
2902+
m_GameObject: {fileID: 1669363167}
2903+
m_Enabled: 1
2904+
m_EditorHideFlags: 0
2905+
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
2906+
m_Name:
2907+
m_EditorClassIdentifier:
2908+
m_Material: {fileID: 0}
2909+
m_Color: {r: 0, g: 0, b: 0, a: 1}
2910+
m_RaycastTarget: 1
2911+
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
2912+
m_Maskable: 1
2913+
m_OnCullStateChanged:
2914+
m_PersistentCalls:
2915+
m_Calls: []
2916+
m_FontData:
2917+
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
2918+
m_FontSize: 14
2919+
m_FontStyle: 0
2920+
m_BestFit: 1
2921+
m_MinSize: 10
2922+
m_MaxSize: 40
2923+
m_Alignment: 4
2924+
m_AlignByGeometry: 0
2925+
m_RichText: 1
2926+
m_HorizontalOverflow: 0
2927+
m_VerticalOverflow: 0
2928+
m_LineSpacing: 1
2929+
m_Text: Custom
2930+
--- !u!222 &1669363170
2931+
CanvasRenderer:
2932+
m_ObjectHideFlags: 0
2933+
m_CorrespondingSourceObject: {fileID: 0}
2934+
m_PrefabInstance: {fileID: 0}
2935+
m_PrefabAsset: {fileID: 0}
2936+
m_GameObject: {fileID: 1669363167}
2937+
m_CullTransparentMesh: 1
27232938
--- !u!1 &1811026077
27242939
GameObject:
27252940
m_ObjectHideFlags: 0
@@ -2917,7 +3132,7 @@ RectTransform:
29173132
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
29183133
m_AnchorMin: {x: 0.5, y: 0.5}
29193134
m_AnchorMax: {x: 0.5, y: 0.5}
2920-
m_AnchoredPosition: {x: 239.90845, y: -65.98031}
3135+
m_AnchoredPosition: {x: 200, y: -65.98031}
29213136
m_SizeDelta: {x: 303.9389, y: 65.3882}
29223137
m_Pivot: {x: 0.5, y: 0.5}
29233138
--- !u!114 &1891838642
@@ -3129,8 +3344,8 @@ RectTransform:
31293344
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
31303345
m_AnchorMin: {x: 0, y: 0}
31313346
m_AnchorMax: {x: 1, y: 1}
3132-
m_AnchoredPosition: {x: 0, y: -1.5}
3133-
m_SizeDelta: {x: -4, y: -7}
3347+
m_AnchoredPosition: {x: 0, y: -2.5}
3348+
m_SizeDelta: {x: -4, y: -5}
31343349
m_Pivot: {x: 0.5, y: 0.5}
31353350
--- !u!222 &2089110261
31363351
CanvasRenderer:

Assets/Thirdweb/Demo/ThirdwebSDKDemos.cs

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,12 +228,36 @@ public async void Deploy()
228228
{
229229
resultText.text = "Deploying...";
230230

231-
// fetch listings
231+
// deploy nft collection contract
232232
var address = await sdk.deployer.DeployNFTCollection(new NFTContractDeployMetadata
233233
{
234234
name = "Unity Collection",
235235
primary_sale_recipient = await sdk.wallet.GetAddress(),
236236
});
237237
resultText.text = "Deployed: " + address;
238238
}
239+
240+
public async void CustomContract()
241+
{
242+
var contract = sdk.GetContract("0x62Cf5485B6C24b707E47C5E0FB2EAe7EbE18EC4c");
243+
try
244+
{
245+
// custom read
246+
resultText.text = "Fetching contract data...";
247+
var result = await contract.Read<string>("uri", 0);
248+
resultText.text = "Read custom token uri: " + result;
249+
// custom write
250+
await contract.Write("claimKitten");
251+
// custom write with transaction overrides
252+
// await contract.Write("claim", new TransactionRequest
253+
// {
254+
// value = "50000000000000000" // 0.05 ETH
255+
// }, "0xE79ee09bD47F4F5381dbbACaCff2040f2FbC5803", 0, 1);
256+
resultText.text = "Custom contraact call successful";
257+
}
258+
catch (System.Exception e)
259+
{
260+
resultText.text = "Error calling contract (see console): " + e.Message;
261+
}
262+
}
239263
}

0 commit comments

Comments
 (0)