From bb33dc60c964af9f42127f4daa08246653233c14 Mon Sep 17 00:00:00 2001 From: Jeff Thompson Date: Wed, 16 Jul 2025 13:41:46 +0200 Subject: [PATCH] feat: Add MaxDeposit in MsgCall and MsgRun. See the PR Signed-off-by: Jeff Thompson --- api/gen/csharp/Gnonativetypes.cs | 221 +++++++++++++++++---------- api/gen/es/gnonativetypes_pb.ts | 24 ++- api/gen/go/gnonativetypes.pb.go | 66 +++++--- api/gnonativetypes.proto | 9 +- api/gnonativetypes/gnonativetypes.go | 11 +- expo/src/api/GnoNativeApi.ts | 4 + expo/src/api/types.ts | 2 + gen.sum | 4 +- go.mod | 3 +- go.sum | 6 +- service/api.go | 44 +++--- 11 files changed, 249 insertions(+), 145 deletions(-) diff --git a/api/gen/csharp/Gnonativetypes.cs b/api/gen/csharp/Gnonativetypes.cs index 17b18163..c96f7ba3 100644 --- a/api/gen/csharp/Gnonativetypes.cs +++ b/api/gen/csharp/Gnonativetypes.cs @@ -97,65 +97,68 @@ static GnonativetypesReflection() { "cmVzdWx0GAEgASgJUgZyZXN1bHQiUQoMUUV2YWxSZXF1ZXN0EiEKDHBhY2th", "Z2VfcGF0aBgBIAEoCVILcGFja2FnZVBhdGgSHgoKZXhwcmVzc2lvbhgCIAEo", "CVIKZXhwcmVzc2lvbiInCg1RRXZhbFJlc3BvbnNlEhYKBnJlc3VsdBgBIAEo", - "CVIGcmVzdWx0IoMBCgdNc2dDYWxsEiEKDHBhY2thZ2VfcGF0aBgBIAEoCVIL", + "CVIGcmVzdWx0IsEBCgdNc2dDYWxsEiEKDHBhY2thZ2VfcGF0aBgBIAEoCVIL", "cGFja2FnZVBhdGgSEAoDZm5jGAIgASgJUgNmbmMSEgoEYXJncxgDIAMoCVIE", "YXJncxIvCgRzZW5kGAQgAygLMhsubGFuZC5nbm8uZ25vbmF0aXZlLnYxLkNv", - "aW5SBHNlbmQitAEKC0NhbGxSZXF1ZXN0EhcKB2dhc19mZWUYASABKAlSBmdh", - "c0ZlZRIdCgpnYXNfd2FudGVkGAIgASgSUglnYXNXYW50ZWQSEgoEbWVtbxgD", - "IAEoCVIEbWVtbxIlCg5jYWxsZXJfYWRkcmVzcxgEIAEoDFINY2FsbGVyQWRk", - "cmVzcxIyCgRtc2dzGAUgAygLMh4ubGFuZC5nbm8uZ25vbmF0aXZlLnYxLk1z", - "Z0NhbGxSBE1zZ3MiUgoMQ2FsbFJlc3BvbnNlEhYKBnJlc3VsdBgBIAEoDFIG", - "cmVzdWx0EhIKBGhhc2gYAiABKAxSBGhhc2gSFgoGaGVpZ2h0GAMgASgSUgZo", - "ZWlnaHQiXQoHTXNnU2VuZBIdCgp0b19hZGRyZXNzGAEgASgMUgl0b0FkZHJl", - "c3MSMwoGYW1vdW50GAIgAygLMhsubGFuZC5nbm8uZ25vbmF0aXZlLnYxLkNv", - "aW5SBmFtb3VudCK0AQoLU2VuZFJlcXVlc3QSFwoHZ2FzX2ZlZRgBIAEoCVIG", - "Z2FzRmVlEh0KCmdhc193YW50ZWQYAiABKBJSCWdhc1dhbnRlZBISCgRtZW1v", - "GAMgASgJUgRtZW1vEiUKDmNhbGxlcl9hZGRyZXNzGAQgASgMUg1jYWxsZXJB", - "ZGRyZXNzEjIKBG1zZ3MYBSADKAsyHi5sYW5kLmduby5nbm9uYXRpdmUudjEu", - "TXNnU2VuZFIETXNncyI6CgxTZW5kUmVzcG9uc2USEgoEaGFzaBgBIAEoDFIE", - "aGFzaBIWCgZoZWlnaHQYAiABKBJSBmhlaWdodCI2CgZNc2dSdW4SGAoHcGFj", - "a2FnZRgBIAEoCVIHcGFja2FnZRISCgRzZW5kGAIgASgJUgRzZW5kIrIBCgpS", - "dW5SZXF1ZXN0EhcKB2dhc19mZWUYASABKAlSBmdhc0ZlZRIdCgpnYXNfd2Fu", - "dGVkGAIgASgSUglnYXNXYW50ZWQSEgoEbWVtbxgDIAEoCVIEbWVtbxIlCg5j", - "YWxsZXJfYWRkcmVzcxgEIAEoDFINY2FsbGVyQWRkcmVzcxIxCgRtc2dzGAUg", - "AygLMh0ubGFuZC5nbm8uZ25vbmF0aXZlLnYxLk1zZ1J1blIETXNncyJRCgtS", - "dW5SZXNwb25zZRIWCgZyZXN1bHQYASABKAlSBnJlc3VsdBISCgRoYXNoGAIg", - "ASgMUgRoYXNoEhYKBmhlaWdodBgDIAEoElIGaGVpZ2h0IikKDk1ha2VUeFJl", - "c3BvbnNlEhcKB3R4X2pzb24YASABKAlSBnR4SnNvbiKSAQoNU2lnblR4UmVx", - "dWVzdBIXCgd0eF9qc29uGAEgASgJUgZ0eEpzb24SGAoHYWRkcmVzcxgCIAEo", - "DFIHYWRkcmVzcxIlCg5hY2NvdW50X251bWJlchgDIAEoBFINYWNjb3VudE51", - "bWJlchInCg9zZXF1ZW5jZV9udW1iZXIYBCABKARSDnNlcXVlbmNlTnVtYmVy", - "IjEKDlNpZ25UeFJlc3BvbnNlEh8KDnNpZ25lZF90eF9qc29uGAEgASgJUgd0", - "eF9qc29uIt0BChJFc3RpbWF0ZUdhc1JlcXVlc3QSFwoHdHhfanNvbhgBIAEo", - "CVIGdHhKc29uEhgKB2FkZHJlc3MYAiABKAxSB2FkZHJlc3MSJwoPc2VjdXJp", - "dHlfbWFyZ2luGAMgASgNUg5zZWN1cml0eU1hcmdpbhIbCgl1cGRhdGVfdHgY", - "BCABKAhSCHVwZGF0ZVR4EiUKDmFjY291bnRfbnVtYmVyGAUgASgEUg1hY2Nv", - "dW50TnVtYmVyEicKD3NlcXVlbmNlX251bWJlchgGIAEoBFIOc2VxdWVuY2VO", - "dW1iZXIiTQoTRXN0aW1hdGVHYXNSZXNwb25zZRIXCgd0eF9qc29uGAEgASgJ", - "UgZ0eEpzb24SHQoKZ2FzX3dhbnRlZBgCIAEoElIJZ2FzV2FudGVkIjsKGEJy", - "b2FkY2FzdFR4Q29tbWl0UmVxdWVzdBIfCg5zaWduZWRfdHhfanNvbhgBIAEo", - "CVIHdHhfanNvbiJfChlCcm9hZGNhc3RUeENvbW1pdFJlc3BvbnNlEhYKBnJl", - "c3VsdBgBIAEoDFIGcmVzdWx0EhIKBGhhc2gYAiABKAxSBGhhc2gSFgoGaGVp", - "Z2h0GAMgASgSUgZoZWlnaHQiMgoWQWRkcmVzc1RvQmVjaDMyUmVxdWVzdBIY", - "CgdhZGRyZXNzGAEgASgMUgdhZGRyZXNzIkAKF0FkZHJlc3NUb0JlY2gzMlJl", - "c3BvbnNlEiUKDmJlY2gzMl9hZGRyZXNzGAEgASgJUg1iZWNoMzJBZGRyZXNz", - "IkEKGEFkZHJlc3NGcm9tQmVjaDMyUmVxdWVzdBIlCg5iZWNoMzJfYWRkcmVz", - "cxgBIAEoCVINYmVjaDMyQWRkcmVzcyI1ChlBZGRyZXNzRnJvbUJlY2gzMlJl", - "c3BvbnNlEhgKB2FkZHJlc3MYASABKAxSB2FkZHJlc3MiOAoaQWRkcmVzc0Zy", - "b21NbmVtb25pY1JlcXVlc3QSGgoIbW5lbW9uaWMYASABKAlSCG1uZW1vbmlj", - "IjcKG0FkZHJlc3NGcm9tTW5lbW9uaWNSZXNwb25zZRIYCgdhZGRyZXNzGAEg", - "ASgMUgdhZGRyZXNzIjEKG1ZhbGlkYXRlTW5lbW9uaWNXb3JkUmVxdWVzdBIS", - "CgR3b3JkGAEgASgJUgR3b3JkIjQKHFZhbGlkYXRlTW5lbW9uaWNXb3JkUmVz", - "cG9uc2USFAoFdmFsaWQYASABKAhSBXZhbGlkIjcKHVZhbGlkYXRlTW5lbW9u", - "aWNQaHJhc2VSZXF1ZXN0EhYKBnBocmFzZRgBIAEoCVIGcGhyYXNlIjYKHlZh", - "bGlkYXRlTW5lbW9uaWNQaHJhc2VSZXNwb25zZRIUCgV2YWxpZBgBIAEoCFIF", - "dmFsaWQiIgoMSGVsbG9SZXF1ZXN0EhIKBG5hbWUYASABKAlSBE5hbWUiKwoN", - "SGVsbG9SZXNwb25zZRIaCghncmVldGluZxgBIAEoCVIIR3JlZXRpbmciKAoS", - "SGVsbG9TdHJlYW1SZXF1ZXN0EhIKBG5hbWUYASABKAlSBE5hbWUiMQoTSGVs", - "bG9TdHJlYW1SZXNwb25zZRIaCghncmVldGluZxgBIAEoCVIIR3JlZXRpbmci", - "MAoYR05PTkFUSVZFVFlQRVNfQnl0ZXNMaXN0EhQKBVZhbHVlGAEgAygMUgVW", - "YWx1ZUIsWipnaXRodWIuY29tL2dub2xhbmcvZ25vbmF0aXZlL3Y0L2FwaS9n", - "ZW4vZ29iBnByb3RvMw==")); + "aW5SBHNlbmQSPAoLbWF4X2RlcG9zaXQYBSADKAsyGy5sYW5kLmduby5nbm9u", + "YXRpdmUudjEuQ29pblIKbWF4RGVwb3NpdCK0AQoLQ2FsbFJlcXVlc3QSFwoH", + "Z2FzX2ZlZRgBIAEoCVIGZ2FzRmVlEh0KCmdhc193YW50ZWQYAiABKBJSCWdh", + "c1dhbnRlZBISCgRtZW1vGAMgASgJUgRtZW1vEiUKDmNhbGxlcl9hZGRyZXNz", + "GAQgASgMUg1jYWxsZXJBZGRyZXNzEjIKBG1zZ3MYBSADKAsyHi5sYW5kLmdu", + "by5nbm9uYXRpdmUudjEuTXNnQ2FsbFIETXNncyJSCgxDYWxsUmVzcG9uc2US", + "FgoGcmVzdWx0GAEgASgMUgZyZXN1bHQSEgoEaGFzaBgCIAEoDFIEaGFzaBIW", + "CgZoZWlnaHQYAyABKBJSBmhlaWdodCJdCgdNc2dTZW5kEh0KCnRvX2FkZHJl", + "c3MYASABKAxSCXRvQWRkcmVzcxIzCgZhbW91bnQYAiADKAsyGy5sYW5kLmdu", + "by5nbm9uYXRpdmUudjEuQ29pblIGYW1vdW50IrQBCgtTZW5kUmVxdWVzdBIX", + "CgdnYXNfZmVlGAEgASgJUgZnYXNGZWUSHQoKZ2FzX3dhbnRlZBgCIAEoElIJ", + "Z2FzV2FudGVkEhIKBG1lbW8YAyABKAlSBG1lbW8SJQoOY2FsbGVyX2FkZHJl", + "c3MYBCABKAxSDWNhbGxlckFkZHJlc3MSMgoEbXNncxgFIAMoCzIeLmxhbmQu", + "Z25vLmdub25hdGl2ZS52MS5Nc2dTZW5kUgRNc2dzIjoKDFNlbmRSZXNwb25z", + "ZRISCgRoYXNoGAEgASgMUgRoYXNoEhYKBmhlaWdodBgCIAEoElIGaGVpZ2h0", + "IpEBCgZNc2dSdW4SGAoHcGFja2FnZRgBIAEoCVIHcGFja2FnZRIvCgRzZW5k", + "GAIgAygLMhsubGFuZC5nbm8uZ25vbmF0aXZlLnYxLkNvaW5SBHNlbmQSPAoL", + "bWF4X2RlcG9zaXQYAyADKAsyGy5sYW5kLmduby5nbm9uYXRpdmUudjEuQ29p", + "blIKbWF4RGVwb3NpdCKyAQoKUnVuUmVxdWVzdBIXCgdnYXNfZmVlGAEgASgJ", + "UgZnYXNGZWUSHQoKZ2FzX3dhbnRlZBgCIAEoElIJZ2FzV2FudGVkEhIKBG1l", + "bW8YAyABKAlSBG1lbW8SJQoOY2FsbGVyX2FkZHJlc3MYBCABKAxSDWNhbGxl", + "ckFkZHJlc3MSMQoEbXNncxgFIAMoCzIdLmxhbmQuZ25vLmdub25hdGl2ZS52", + "MS5Nc2dSdW5SBE1zZ3MiUQoLUnVuUmVzcG9uc2USFgoGcmVzdWx0GAEgASgJ", + "UgZyZXN1bHQSEgoEaGFzaBgCIAEoDFIEaGFzaBIWCgZoZWlnaHQYAyABKBJS", + "BmhlaWdodCIpCg5NYWtlVHhSZXNwb25zZRIXCgd0eF9qc29uGAEgASgJUgZ0", + "eEpzb24ikgEKDVNpZ25UeFJlcXVlc3QSFwoHdHhfanNvbhgBIAEoCVIGdHhK", + "c29uEhgKB2FkZHJlc3MYAiABKAxSB2FkZHJlc3MSJQoOYWNjb3VudF9udW1i", + "ZXIYAyABKARSDWFjY291bnROdW1iZXISJwoPc2VxdWVuY2VfbnVtYmVyGAQg", + "ASgEUg5zZXF1ZW5jZU51bWJlciIxCg5TaWduVHhSZXNwb25zZRIfCg5zaWdu", + "ZWRfdHhfanNvbhgBIAEoCVIHdHhfanNvbiLdAQoSRXN0aW1hdGVHYXNSZXF1", + "ZXN0EhcKB3R4X2pzb24YASABKAlSBnR4SnNvbhIYCgdhZGRyZXNzGAIgASgM", + "UgdhZGRyZXNzEicKD3NlY3VyaXR5X21hcmdpbhgDIAEoDVIOc2VjdXJpdHlN", + "YXJnaW4SGwoJdXBkYXRlX3R4GAQgASgIUgh1cGRhdGVUeBIlCg5hY2NvdW50", + "X251bWJlchgFIAEoBFINYWNjb3VudE51bWJlchInCg9zZXF1ZW5jZV9udW1i", + "ZXIYBiABKARSDnNlcXVlbmNlTnVtYmVyIk0KE0VzdGltYXRlR2FzUmVzcG9u", + "c2USFwoHdHhfanNvbhgBIAEoCVIGdHhKc29uEh0KCmdhc193YW50ZWQYAiAB", + "KBJSCWdhc1dhbnRlZCI7ChhCcm9hZGNhc3RUeENvbW1pdFJlcXVlc3QSHwoO", + "c2lnbmVkX3R4X2pzb24YASABKAlSB3R4X2pzb24iXwoZQnJvYWRjYXN0VHhD", + "b21taXRSZXNwb25zZRIWCgZyZXN1bHQYASABKAxSBnJlc3VsdBISCgRoYXNo", + "GAIgASgMUgRoYXNoEhYKBmhlaWdodBgDIAEoElIGaGVpZ2h0IjIKFkFkZHJl", + "c3NUb0JlY2gzMlJlcXVlc3QSGAoHYWRkcmVzcxgBIAEoDFIHYWRkcmVzcyJA", + "ChdBZGRyZXNzVG9CZWNoMzJSZXNwb25zZRIlCg5iZWNoMzJfYWRkcmVzcxgB", + "IAEoCVINYmVjaDMyQWRkcmVzcyJBChhBZGRyZXNzRnJvbUJlY2gzMlJlcXVl", + "c3QSJQoOYmVjaDMyX2FkZHJlc3MYASABKAlSDWJlY2gzMkFkZHJlc3MiNQoZ", + "QWRkcmVzc0Zyb21CZWNoMzJSZXNwb25zZRIYCgdhZGRyZXNzGAEgASgMUgdh", + "ZGRyZXNzIjgKGkFkZHJlc3NGcm9tTW5lbW9uaWNSZXF1ZXN0EhoKCG1uZW1v", + "bmljGAEgASgJUghtbmVtb25pYyI3ChtBZGRyZXNzRnJvbU1uZW1vbmljUmVz", + "cG9uc2USGAoHYWRkcmVzcxgBIAEoDFIHYWRkcmVzcyIxChtWYWxpZGF0ZU1u", + "ZW1vbmljV29yZFJlcXVlc3QSEgoEd29yZBgBIAEoCVIEd29yZCI0ChxWYWxp", + "ZGF0ZU1uZW1vbmljV29yZFJlc3BvbnNlEhQKBXZhbGlkGAEgASgIUgV2YWxp", + "ZCI3Ch1WYWxpZGF0ZU1uZW1vbmljUGhyYXNlUmVxdWVzdBIWCgZwaHJhc2UY", + "ASABKAlSBnBocmFzZSI2Ch5WYWxpZGF0ZU1uZW1vbmljUGhyYXNlUmVzcG9u", + "c2USFAoFdmFsaWQYASABKAhSBXZhbGlkIiIKDEhlbGxvUmVxdWVzdBISCgRu", + "YW1lGAEgASgJUgROYW1lIisKDUhlbGxvUmVzcG9uc2USGgoIZ3JlZXRpbmcY", + "ASABKAlSCEdyZWV0aW5nIigKEkhlbGxvU3RyZWFtUmVxdWVzdBISCgRuYW1l", + "GAEgASgJUgROYW1lIjEKE0hlbGxvU3RyZWFtUmVzcG9uc2USGgoIZ3JlZXRp", + "bmcYASABKAlSCEdyZWV0aW5nIjAKGEdOT05BVElWRVRZUEVTX0J5dGVzTGlz", + "dBIUCgVWYWx1ZRgBIAMoDFIFVmFsdWVCLFoqZ2l0aHViLmNvbS9nbm9sYW5n", + "L2dub25hdGl2ZS92NC9hcGkvZ2VuL2dvYgZwcm90bzM=")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { }, new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { @@ -208,13 +211,13 @@ static GnonativetypesReflection() { new pbr::GeneratedClrTypeInfo(typeof(global::Land.Gno.Gnonative.V1.RenderResponse), global::Land.Gno.Gnonative.V1.RenderResponse.Parser, new[]{ "Result" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Land.Gno.Gnonative.V1.QEvalRequest), global::Land.Gno.Gnonative.V1.QEvalRequest.Parser, new[]{ "PackagePath", "Expression" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Land.Gno.Gnonative.V1.QEvalResponse), global::Land.Gno.Gnonative.V1.QEvalResponse.Parser, new[]{ "Result" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Land.Gno.Gnonative.V1.MsgCall), global::Land.Gno.Gnonative.V1.MsgCall.Parser, new[]{ "PackagePath", "Fnc", "Args", "Send" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::Land.Gno.Gnonative.V1.MsgCall), global::Land.Gno.Gnonative.V1.MsgCall.Parser, new[]{ "PackagePath", "Fnc", "Args", "Send", "MaxDeposit" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Land.Gno.Gnonative.V1.CallRequest), global::Land.Gno.Gnonative.V1.CallRequest.Parser, new[]{ "GasFee", "GasWanted", "Memo", "CallerAddress", "Msgs" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Land.Gno.Gnonative.V1.CallResponse), global::Land.Gno.Gnonative.V1.CallResponse.Parser, new[]{ "Result", "Hash", "Height" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Land.Gno.Gnonative.V1.MsgSend), global::Land.Gno.Gnonative.V1.MsgSend.Parser, new[]{ "ToAddress", "Amount" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Land.Gno.Gnonative.V1.SendRequest), global::Land.Gno.Gnonative.V1.SendRequest.Parser, new[]{ "GasFee", "GasWanted", "Memo", "CallerAddress", "Msgs" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Land.Gno.Gnonative.V1.SendResponse), global::Land.Gno.Gnonative.V1.SendResponse.Parser, new[]{ "Hash", "Height" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Land.Gno.Gnonative.V1.MsgRun), global::Land.Gno.Gnonative.V1.MsgRun.Parser, new[]{ "Package", "Send" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::Land.Gno.Gnonative.V1.MsgRun), global::Land.Gno.Gnonative.V1.MsgRun.Parser, new[]{ "Package", "Send", "MaxDeposit" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Land.Gno.Gnonative.V1.RunRequest), global::Land.Gno.Gnonative.V1.RunRequest.Parser, new[]{ "GasFee", "GasWanted", "Memo", "CallerAddress", "Msgs" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Land.Gno.Gnonative.V1.RunResponse), global::Land.Gno.Gnonative.V1.RunResponse.Parser, new[]{ "Result", "Hash", "Height" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Land.Gno.Gnonative.V1.MakeTxResponse), global::Land.Gno.Gnonative.V1.MakeTxResponse.Parser, new[]{ "TxJson" }, null, null, null, null), @@ -10709,6 +10712,7 @@ public MsgCall(MsgCall other) : this() { fnc_ = other.fnc_; args_ = other.args_.Clone(); send_ = other.send_.Clone(); + maxDeposit_ = other.maxDeposit_.Clone(); _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -10768,12 +10772,29 @@ public string Fnc { private static readonly pb::FieldCodec _repeated_send_codec = pb::FieldCodec.ForMessage(34, global::Land.Gno.Gnonative.V1.Coin.Parser); private readonly pbc::RepeatedField send_ = new pbc::RepeatedField(); + /// + /// Optional. Example: [ {Denom: "ugnot", Amount: 1000} ] + /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public pbc::RepeatedField Send { get { return send_; } } + /// Field number for the "max_deposit" field. + public const int MaxDepositFieldNumber = 5; + private static readonly pb::FieldCodec _repeated_maxDeposit_codec + = pb::FieldCodec.ForMessage(42, global::Land.Gno.Gnonative.V1.Coin.Parser); + private readonly pbc::RepeatedField maxDeposit_ = new pbc::RepeatedField(); + /// + /// Optional max storage deposit. Example: [ {Denom: "ugnot", Amount: 500000} ] + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField MaxDeposit { + get { return maxDeposit_; } + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { @@ -10793,6 +10814,7 @@ public bool Equals(MsgCall other) { if (Fnc != other.Fnc) return false; if(!args_.Equals(other.args_)) return false; if(!send_.Equals(other.send_)) return false; + if(!maxDeposit_.Equals(other.maxDeposit_)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -10804,6 +10826,7 @@ public override int GetHashCode() { if (Fnc.Length != 0) hash ^= Fnc.GetHashCode(); hash ^= args_.GetHashCode(); hash ^= send_.GetHashCode(); + hash ^= maxDeposit_.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -10832,6 +10855,7 @@ public void WriteTo(pb::CodedOutputStream output) { } args_.WriteTo(output, _repeated_args_codec); send_.WriteTo(output, _repeated_send_codec); + maxDeposit_.WriteTo(output, _repeated_maxDeposit_codec); if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -10852,6 +10876,7 @@ public void WriteTo(pb::CodedOutputStream output) { } args_.WriteTo(ref output, _repeated_args_codec); send_.WriteTo(ref output, _repeated_send_codec); + maxDeposit_.WriteTo(ref output, _repeated_maxDeposit_codec); if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -10870,6 +10895,7 @@ public int CalculateSize() { } size += args_.CalculateSize(_repeated_args_codec); size += send_.CalculateSize(_repeated_send_codec); + size += maxDeposit_.CalculateSize(_repeated_maxDeposit_codec); if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -10890,6 +10916,7 @@ public void MergeFrom(MsgCall other) { } args_.Add(other.args_); send_.Add(other.send_); + maxDeposit_.Add(other.maxDeposit_); _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -10925,6 +10952,10 @@ public void MergeFrom(pb::CodedInputStream input) { send_.AddEntriesFrom(input, _repeated_send_codec); break; } + case 42: { + maxDeposit_.AddEntriesFrom(input, _repeated_maxDeposit_codec); + break; + } } } #endif @@ -10960,6 +10991,10 @@ public void MergeFrom(pb::CodedInputStream input) { send_.AddEntriesFrom(ref input, _repeated_send_codec); break; } + case 42: { + maxDeposit_.AddEntriesFrom(ref input, _repeated_maxDeposit_codec); + break; + } } } } @@ -12438,7 +12473,8 @@ public MsgRun() { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public MsgRun(MsgRun other) : this() { package_ = other.package_; - send_ = other.send_; + send_ = other.send_.Clone(); + maxDeposit_ = other.maxDeposit_.Clone(); _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -12466,17 +12502,30 @@ public string Package { /// Field number for the "send" field. public const int SendFieldNumber = 2; - private string send_ = ""; + private static readonly pb::FieldCodec _repeated_send_codec + = pb::FieldCodec.ForMessage(18, global::Land.Gno.Gnonative.V1.Coin.Parser); + private readonly pbc::RepeatedField send_ = new pbc::RepeatedField(); /// - /// Optional. Example: "1000ugnot" + /// Optional. Example: [ {Denom: "ugnot", Amount: 1000} ] /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Send { + public pbc::RepeatedField Send { get { return send_; } - set { - send_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } + } + + /// Field number for the "max_deposit" field. + public const int MaxDepositFieldNumber = 3; + private static readonly pb::FieldCodec _repeated_maxDeposit_codec + = pb::FieldCodec.ForMessage(26, global::Land.Gno.Gnonative.V1.Coin.Parser); + private readonly pbc::RepeatedField maxDeposit_ = new pbc::RepeatedField(); + /// + /// Optional max storage deposit. Example: [ {Denom: "ugnot", Amount: 500000} ] + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField MaxDeposit { + get { return maxDeposit_; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -12495,7 +12544,8 @@ public bool Equals(MsgRun other) { return true; } if (Package != other.Package) return false; - if (Send != other.Send) return false; + if(!send_.Equals(other.send_)) return false; + if(!maxDeposit_.Equals(other.maxDeposit_)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -12504,7 +12554,8 @@ public bool Equals(MsgRun other) { public override int GetHashCode() { int hash = 1; if (Package.Length != 0) hash ^= Package.GetHashCode(); - if (Send.Length != 0) hash ^= Send.GetHashCode(); + hash ^= send_.GetHashCode(); + hash ^= maxDeposit_.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -12527,10 +12578,8 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(10); output.WriteString(Package); } - if (Send.Length != 0) { - output.WriteRawTag(18); - output.WriteString(Send); - } + send_.WriteTo(output, _repeated_send_codec); + maxDeposit_.WriteTo(output, _repeated_maxDeposit_codec); if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -12545,10 +12594,8 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(10); output.WriteString(Package); } - if (Send.Length != 0) { - output.WriteRawTag(18); - output.WriteString(Send); - } + send_.WriteTo(ref output, _repeated_send_codec); + maxDeposit_.WriteTo(ref output, _repeated_maxDeposit_codec); if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -12562,9 +12609,8 @@ public int CalculateSize() { if (Package.Length != 0) { size += 1 + pb::CodedOutputStream.ComputeStringSize(Package); } - if (Send.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Send); - } + size += send_.CalculateSize(_repeated_send_codec); + size += maxDeposit_.CalculateSize(_repeated_maxDeposit_codec); if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -12580,9 +12626,8 @@ public void MergeFrom(MsgRun other) { if (other.Package.Length != 0) { Package = other.Package; } - if (other.Send.Length != 0) { - Send = other.Send; - } + send_.Add(other.send_); + maxDeposit_.Add(other.maxDeposit_); _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -12607,7 +12652,11 @@ public void MergeFrom(pb::CodedInputStream input) { break; } case 18: { - Send = input.ReadString(); + send_.AddEntriesFrom(input, _repeated_send_codec); + break; + } + case 26: { + maxDeposit_.AddEntriesFrom(input, _repeated_maxDeposit_codec); break; } } @@ -12634,7 +12683,11 @@ public void MergeFrom(pb::CodedInputStream input) { break; } case 18: { - Send = input.ReadString(); + send_.AddEntriesFrom(ref input, _repeated_send_codec); + break; + } + case 26: { + maxDeposit_.AddEntriesFrom(ref input, _repeated_maxDeposit_codec); break; } } diff --git a/api/gen/es/gnonativetypes_pb.ts b/api/gen/es/gnonativetypes_pb.ts index 75d71470..f83a19e5 100644 --- a/api/gen/es/gnonativetypes_pb.ts +++ b/api/gen/es/gnonativetypes_pb.ts @@ -10,7 +10,7 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file gnonativetypes.proto. */ export const file_gnonativetypes: GenFile = /*@__PURE__*/ - fileDesc("ChRnbm9uYXRpdmV0eXBlcy5wcm90bxIVbGFuZC5nbm8uZ25vbmF0aXZlLnYxIiIKEFNldFJlbW90ZVJlcXVlc3QSDgoGcmVtb3RlGAEgASgJIhMKEVNldFJlbW90ZVJlc3BvbnNlIhIKEEdldFJlbW90ZVJlcXVlc3QiIwoRR2V0UmVtb3RlUmVzcG9uc2USDgoGcmVtb3RlGAEgASgJIiUKEVNldENoYWluSURSZXF1ZXN0EhAKCGNoYWluX2lkGAEgASgJIhQKElNldENoYWluSURSZXNwb25zZSITChFHZXRDaGFpbklEUmVxdWVzdCImChJHZXRDaGFpbklEUmVzcG9uc2USEAoIY2hhaW5faWQYASABKAkiNwoSU2V0UGFzc3dvcmRSZXF1ZXN0EhAKCHBhc3N3b3JkGAEgASgJEg8KB2FkZHJlc3MYAiABKAwiFQoTU2V0UGFzc3dvcmRSZXNwb25zZSJAChVSb3RhdGVQYXNzd29yZFJlcXVlc3QSFAoMbmV3X3Bhc3N3b3JkGAEgASgJEhEKCWFkZHJlc3NlcxgCIAMoDCIYChZSb3RhdGVQYXNzd29yZFJlc3BvbnNlIh8KHUdlbmVyYXRlUmVjb3ZlcnlQaHJhc2VSZXF1ZXN0IjAKHkdlbmVyYXRlUmVjb3ZlcnlQaHJhc2VSZXNwb25zZRIOCgZwaHJhc2UYASABKAkiRwoHS2V5SW5mbxIMCgR0eXBlGAEgASgNEgwKBG5hbWUYAiABKAkSDwoHcHViX2tleRgDIAEoDBIPCgdhZGRyZXNzGAQgASgMIiUKBENvaW4SDQoFZGVub20YASABKAkSDgoGYW1vdW50GAIgASgSIoUBCgtCYXNlQWNjb3VudBIPCgdhZGRyZXNzGAEgASgMEioKBWNvaW5zGAIgAygLMhsubGFuZC5nbm8uZ25vbmF0aXZlLnYxLkNvaW4SDwoHcHViX2tleRgDIAEoDBIWCg5hY2NvdW50X251bWJlchgEIAEoBBIQCghzZXF1ZW5jZRgFIAEoBCIUChJMaXN0S2V5SW5mb1JlcXVlc3QiTQoTTGlzdEtleUluZm9SZXNwb25zZRI2CgRrZXlzGAEgAygLMh4ubGFuZC5nbm8uZ25vbmF0aXZlLnYxLktleUluZm9SCGtleV9pbmZvIiMKE0hhc0tleUJ5TmFtZVJlcXVlc3QSDAoEbmFtZRgBIAEoCSIjChRIYXNLZXlCeU5hbWVSZXNwb25zZRILCgNoYXMYASABKAgiKQoWSGFzS2V5QnlBZGRyZXNzUmVxdWVzdBIPCgdhZGRyZXNzGAEgASgMIiYKF0hhc0tleUJ5QWRkcmVzc1Jlc3BvbnNlEgsKA2hhcxgBIAEoCCI2ChxIYXNLZXlCeU5hbWVPckFkZHJlc3NSZXF1ZXN0EhYKDm5hbWVfb3JfYmVjaDMyGAEgASgJIiwKHUhhc0tleUJ5TmFtZU9yQWRkcmVzc1Jlc3BvbnNlEgsKA2hhcxgBIAEoCCInChdHZXRLZXlJbmZvQnlOYW1lUmVxdWVzdBIMCgRuYW1lGAEgASgJIlEKGEdldEtleUluZm9CeU5hbWVSZXNwb25zZRI1CgNrZXkYASABKAsyHi5sYW5kLmduby5nbm9uYXRpdmUudjEuS2V5SW5mb1IIa2V5X2luZm8iLQoaR2V0S2V5SW5mb0J5QWRkcmVzc1JlcXVlc3QSDwoHYWRkcmVzcxgBIAEoDCJUChtHZXRLZXlJbmZvQnlBZGRyZXNzUmVzcG9uc2USNQoDa2V5GAEgASgLMh4ubGFuZC5nbm8uZ25vbmF0aXZlLnYxLktleUluZm9SCGtleV9pbmZvIjoKIEdldEtleUluZm9CeU5hbWVPckFkZHJlc3NSZXF1ZXN0EhYKDm5hbWVfb3JfYmVjaDMyGAEgASgJIloKIUdldEtleUluZm9CeU5hbWVPckFkZHJlc3NSZXNwb25zZRI1CgNrZXkYASABKAsyHi5sYW5kLmduby5nbm9uYXRpdmUudjEuS2V5SW5mb1IIa2V5X2luZm8iiAEKFENyZWF0ZUFjY291bnRSZXF1ZXN0EhYKDm5hbWVfb3JfYmVjaDMyGAEgASgJEhAKCG1uZW1vbmljGAIgASgJEhQKDGJpcDM5X3Bhc3N3ZBgDIAEoCRIQCghwYXNzd29yZBgEIAEoCRIPCgdhY2NvdW50GAUgASgNEg0KBWluZGV4GAYgASgNIk4KFUNyZWF0ZUFjY291bnRSZXNwb25zZRI1CgNrZXkYASABKAsyHi5sYW5kLmduby5nbm9uYXRpdmUudjEuS2V5SW5mb1IIa2V5X2luZm8iYwoTQ3JlYXRlTGVkZ2VyUmVxdWVzdBIMCgRuYW1lGAEgASgJEhEKCWFsZ29yaXRobRgCIAEoCRILCgNocnAYAyABKAkSDwoHYWNjb3VudBgEIAEoDRINCgVpbmRleBgFIAEoDSJNChRDcmVhdGVMZWRnZXJSZXNwb25zZRI1CgNrZXkYASABKAsyHi5sYW5kLmduby5nbm9uYXRpdmUudjEuS2V5SW5mb1IIa2V5X2luZm8iMAoWQWN0aXZhdGVBY2NvdW50UmVxdWVzdBIWCg5uYW1lX29yX2JlY2gzMhgBIAEoCSJmChdBY3RpdmF0ZUFjY291bnRSZXNwb25zZRI1CgNrZXkYASABKAsyHi5sYW5kLmduby5nbm9uYXRpdmUudjEuS2V5SW5mb1IIa2V5X2luZm8SFAoMaGFzX3Bhc3N3b3JkGAIgASgIIi0KGkdldEFjdGl2YXRlZEFjY291bnRSZXF1ZXN0Eg8KB2FkZHJlc3MYASABKAwiagobR2V0QWN0aXZhdGVkQWNjb3VudFJlc3BvbnNlEjUKA2tleRgBIAEoCzIeLmxhbmQuZ25vLmdub25hdGl2ZS52MS5LZXlJbmZvUghrZXlfaW5mbxIUCgxoYXNfcGFzc3dvcmQYAiABKAgiJgoTUXVlcnlBY2NvdW50UmVxdWVzdBIPCgdhZGRyZXNzGAEgASgMIlAKFFF1ZXJ5QWNjb3VudFJlc3BvbnNlEjgKDGFjY291bnRfaW5mbxgBIAEoCzIiLmxhbmQuZ25vLmdub25hdGl2ZS52MS5CYXNlQWNjb3VudCJXChREZWxldGVBY2NvdW50UmVxdWVzdBIWCg5uYW1lX29yX2JlY2gzMhgBIAEoCRIQCghwYXNzd29yZBgCIAEoCRIVCg1za2lwX3Bhc3N3b3JkGAMgASgIIhcKFURlbGV0ZUFjY291bnRSZXNwb25zZSIqCgxRdWVyeVJlcXVlc3QSDAoEcGF0aBgBIAEoCRIMCgRkYXRhGAIgASgMIh8KDVF1ZXJ5UmVzcG9uc2USDgoGcmVzdWx0GAEgASgMIjMKDVJlbmRlclJlcXVlc3QSFAoMcGFja2FnZV9wYXRoGAEgASgJEgwKBGFyZ3MYAiABKAkiIAoOUmVuZGVyUmVzcG9uc2USDgoGcmVzdWx0GAEgASgJIjgKDFFFdmFsUmVxdWVzdBIUCgxwYWNrYWdlX3BhdGgYASABKAkSEgoKZXhwcmVzc2lvbhgCIAEoCSIfCg1RRXZhbFJlc3BvbnNlEg4KBnJlc3VsdBgBIAEoCSJlCgdNc2dDYWxsEhQKDHBhY2thZ2VfcGF0aBgBIAEoCRILCgNmbmMYAiABKAkSDAoEYXJncxgDIAMoCRIpCgRzZW5kGAQgAygLMhsubGFuZC5nbm8uZ25vbmF0aXZlLnYxLkNvaW4ijAEKC0NhbGxSZXF1ZXN0Eg8KB2dhc19mZWUYASABKAkSEgoKZ2FzX3dhbnRlZBgCIAEoEhIMCgRtZW1vGAMgASgJEhYKDmNhbGxlcl9hZGRyZXNzGAQgASgMEjIKBG1zZ3MYBSADKAsyHi5sYW5kLmduby5nbm9uYXRpdmUudjEuTXNnQ2FsbFIETXNncyI8CgxDYWxsUmVzcG9uc2USDgoGcmVzdWx0GAEgASgMEgwKBGhhc2gYAiABKAwSDgoGaGVpZ2h0GAMgASgSIkoKB01zZ1NlbmQSEgoKdG9fYWRkcmVzcxgBIAEoDBIrCgZhbW91bnQYAiADKAsyGy5sYW5kLmduby5nbm9uYXRpdmUudjEuQ29pbiKMAQoLU2VuZFJlcXVlc3QSDwoHZ2FzX2ZlZRgBIAEoCRISCgpnYXNfd2FudGVkGAIgASgSEgwKBG1lbW8YAyABKAkSFgoOY2FsbGVyX2FkZHJlc3MYBCABKAwSMgoEbXNncxgFIAMoCzIeLmxhbmQuZ25vLmdub25hdGl2ZS52MS5Nc2dTZW5kUgRNc2dzIiwKDFNlbmRSZXNwb25zZRIMCgRoYXNoGAEgASgMEg4KBmhlaWdodBgCIAEoEiInCgZNc2dSdW4SDwoHcGFja2FnZRgBIAEoCRIMCgRzZW5kGAIgASgJIooBCgpSdW5SZXF1ZXN0Eg8KB2dhc19mZWUYASABKAkSEgoKZ2FzX3dhbnRlZBgCIAEoEhIMCgRtZW1vGAMgASgJEhYKDmNhbGxlcl9hZGRyZXNzGAQgASgMEjEKBG1zZ3MYBSADKAsyHS5sYW5kLmduby5nbm9uYXRpdmUudjEuTXNnUnVuUgRNc2dzIjsKC1J1blJlc3BvbnNlEg4KBnJlc3VsdBgBIAEoCRIMCgRoYXNoGAIgASgMEg4KBmhlaWdodBgDIAEoEiIhCg5NYWtlVHhSZXNwb25zZRIPCgd0eF9qc29uGAEgASgJImIKDVNpZ25UeFJlcXVlc3QSDwoHdHhfanNvbhgBIAEoCRIPCgdhZGRyZXNzGAIgASgMEhYKDmFjY291bnRfbnVtYmVyGAMgASgEEhcKD3NlcXVlbmNlX251bWJlchgEIAEoBCIxCg5TaWduVHhSZXNwb25zZRIfCg5zaWduZWRfdHhfanNvbhgBIAEoCVIHdHhfanNvbiKTAQoSRXN0aW1hdGVHYXNSZXF1ZXN0Eg8KB3R4X2pzb24YASABKAkSDwoHYWRkcmVzcxgCIAEoDBIXCg9zZWN1cml0eV9tYXJnaW4YAyABKA0SEQoJdXBkYXRlX3R4GAQgASgIEhYKDmFjY291bnRfbnVtYmVyGAUgASgEEhcKD3NlcXVlbmNlX251bWJlchgGIAEoBCI6ChNFc3RpbWF0ZUdhc1Jlc3BvbnNlEg8KB3R4X2pzb24YASABKAkSEgoKZ2FzX3dhbnRlZBgCIAEoEiI7ChhCcm9hZGNhc3RUeENvbW1pdFJlcXVlc3QSHwoOc2lnbmVkX3R4X2pzb24YASABKAlSB3R4X2pzb24iSQoZQnJvYWRjYXN0VHhDb21taXRSZXNwb25zZRIOCgZyZXN1bHQYASABKAwSDAoEaGFzaBgCIAEoDBIOCgZoZWlnaHQYAyABKBIiKQoWQWRkcmVzc1RvQmVjaDMyUmVxdWVzdBIPCgdhZGRyZXNzGAEgASgMIjEKF0FkZHJlc3NUb0JlY2gzMlJlc3BvbnNlEhYKDmJlY2gzMl9hZGRyZXNzGAEgASgJIjIKGEFkZHJlc3NGcm9tQmVjaDMyUmVxdWVzdBIWCg5iZWNoMzJfYWRkcmVzcxgBIAEoCSIsChlBZGRyZXNzRnJvbUJlY2gzMlJlc3BvbnNlEg8KB2FkZHJlc3MYASABKAwiLgoaQWRkcmVzc0Zyb21NbmVtb25pY1JlcXVlc3QSEAoIbW5lbW9uaWMYASABKAkiLgobQWRkcmVzc0Zyb21NbmVtb25pY1Jlc3BvbnNlEg8KB2FkZHJlc3MYASABKAwiKwobVmFsaWRhdGVNbmVtb25pY1dvcmRSZXF1ZXN0EgwKBHdvcmQYASABKAkiLQocVmFsaWRhdGVNbmVtb25pY1dvcmRSZXNwb25zZRINCgV2YWxpZBgBIAEoCCIvCh1WYWxpZGF0ZU1uZW1vbmljUGhyYXNlUmVxdWVzdBIOCgZwaHJhc2UYASABKAkiLwoeVmFsaWRhdGVNbmVtb25pY1BocmFzZVJlc3BvbnNlEg0KBXZhbGlkGAEgASgIIiIKDEhlbGxvUmVxdWVzdBISCgRuYW1lGAEgASgJUgROYW1lIisKDUhlbGxvUmVzcG9uc2USGgoIZ3JlZXRpbmcYASABKAlSCEdyZWV0aW5nIigKEkhlbGxvU3RyZWFtUmVxdWVzdBISCgRuYW1lGAEgASgJUgROYW1lIjEKE0hlbGxvU3RyZWFtUmVzcG9uc2USGgoIZ3JlZXRpbmcYASABKAlSCEdyZWV0aW5nIikKGEdOT05BVElWRVRZUEVTX0J5dGVzTGlzdBINCgVWYWx1ZRgBIAMoDEIsWipnaXRodWIuY29tL2dub2xhbmcvZ25vbmF0aXZlL3Y0L2FwaS9nZW4vZ29iBnByb3RvMw"); + fileDesc("ChRnbm9uYXRpdmV0eXBlcy5wcm90bxIVbGFuZC5nbm8uZ25vbmF0aXZlLnYxIiIKEFNldFJlbW90ZVJlcXVlc3QSDgoGcmVtb3RlGAEgASgJIhMKEVNldFJlbW90ZVJlc3BvbnNlIhIKEEdldFJlbW90ZVJlcXVlc3QiIwoRR2V0UmVtb3RlUmVzcG9uc2USDgoGcmVtb3RlGAEgASgJIiUKEVNldENoYWluSURSZXF1ZXN0EhAKCGNoYWluX2lkGAEgASgJIhQKElNldENoYWluSURSZXNwb25zZSITChFHZXRDaGFpbklEUmVxdWVzdCImChJHZXRDaGFpbklEUmVzcG9uc2USEAoIY2hhaW5faWQYASABKAkiNwoSU2V0UGFzc3dvcmRSZXF1ZXN0EhAKCHBhc3N3b3JkGAEgASgJEg8KB2FkZHJlc3MYAiABKAwiFQoTU2V0UGFzc3dvcmRSZXNwb25zZSJAChVSb3RhdGVQYXNzd29yZFJlcXVlc3QSFAoMbmV3X3Bhc3N3b3JkGAEgASgJEhEKCWFkZHJlc3NlcxgCIAMoDCIYChZSb3RhdGVQYXNzd29yZFJlc3BvbnNlIh8KHUdlbmVyYXRlUmVjb3ZlcnlQaHJhc2VSZXF1ZXN0IjAKHkdlbmVyYXRlUmVjb3ZlcnlQaHJhc2VSZXNwb25zZRIOCgZwaHJhc2UYASABKAkiRwoHS2V5SW5mbxIMCgR0eXBlGAEgASgNEgwKBG5hbWUYAiABKAkSDwoHcHViX2tleRgDIAEoDBIPCgdhZGRyZXNzGAQgASgMIiUKBENvaW4SDQoFZGVub20YASABKAkSDgoGYW1vdW50GAIgASgSIoUBCgtCYXNlQWNjb3VudBIPCgdhZGRyZXNzGAEgASgMEioKBWNvaW5zGAIgAygLMhsubGFuZC5nbm8uZ25vbmF0aXZlLnYxLkNvaW4SDwoHcHViX2tleRgDIAEoDBIWCg5hY2NvdW50X251bWJlchgEIAEoBBIQCghzZXF1ZW5jZRgFIAEoBCIUChJMaXN0S2V5SW5mb1JlcXVlc3QiTQoTTGlzdEtleUluZm9SZXNwb25zZRI2CgRrZXlzGAEgAygLMh4ubGFuZC5nbm8uZ25vbmF0aXZlLnYxLktleUluZm9SCGtleV9pbmZvIiMKE0hhc0tleUJ5TmFtZVJlcXVlc3QSDAoEbmFtZRgBIAEoCSIjChRIYXNLZXlCeU5hbWVSZXNwb25zZRILCgNoYXMYASABKAgiKQoWSGFzS2V5QnlBZGRyZXNzUmVxdWVzdBIPCgdhZGRyZXNzGAEgASgMIiYKF0hhc0tleUJ5QWRkcmVzc1Jlc3BvbnNlEgsKA2hhcxgBIAEoCCI2ChxIYXNLZXlCeU5hbWVPckFkZHJlc3NSZXF1ZXN0EhYKDm5hbWVfb3JfYmVjaDMyGAEgASgJIiwKHUhhc0tleUJ5TmFtZU9yQWRkcmVzc1Jlc3BvbnNlEgsKA2hhcxgBIAEoCCInChdHZXRLZXlJbmZvQnlOYW1lUmVxdWVzdBIMCgRuYW1lGAEgASgJIlEKGEdldEtleUluZm9CeU5hbWVSZXNwb25zZRI1CgNrZXkYASABKAsyHi5sYW5kLmduby5nbm9uYXRpdmUudjEuS2V5SW5mb1IIa2V5X2luZm8iLQoaR2V0S2V5SW5mb0J5QWRkcmVzc1JlcXVlc3QSDwoHYWRkcmVzcxgBIAEoDCJUChtHZXRLZXlJbmZvQnlBZGRyZXNzUmVzcG9uc2USNQoDa2V5GAEgASgLMh4ubGFuZC5nbm8uZ25vbmF0aXZlLnYxLktleUluZm9SCGtleV9pbmZvIjoKIEdldEtleUluZm9CeU5hbWVPckFkZHJlc3NSZXF1ZXN0EhYKDm5hbWVfb3JfYmVjaDMyGAEgASgJIloKIUdldEtleUluZm9CeU5hbWVPckFkZHJlc3NSZXNwb25zZRI1CgNrZXkYASABKAsyHi5sYW5kLmduby5nbm9uYXRpdmUudjEuS2V5SW5mb1IIa2V5X2luZm8iiAEKFENyZWF0ZUFjY291bnRSZXF1ZXN0EhYKDm5hbWVfb3JfYmVjaDMyGAEgASgJEhAKCG1uZW1vbmljGAIgASgJEhQKDGJpcDM5X3Bhc3N3ZBgDIAEoCRIQCghwYXNzd29yZBgEIAEoCRIPCgdhY2NvdW50GAUgASgNEg0KBWluZGV4GAYgASgNIk4KFUNyZWF0ZUFjY291bnRSZXNwb25zZRI1CgNrZXkYASABKAsyHi5sYW5kLmduby5nbm9uYXRpdmUudjEuS2V5SW5mb1IIa2V5X2luZm8iYwoTQ3JlYXRlTGVkZ2VyUmVxdWVzdBIMCgRuYW1lGAEgASgJEhEKCWFsZ29yaXRobRgCIAEoCRILCgNocnAYAyABKAkSDwoHYWNjb3VudBgEIAEoDRINCgVpbmRleBgFIAEoDSJNChRDcmVhdGVMZWRnZXJSZXNwb25zZRI1CgNrZXkYASABKAsyHi5sYW5kLmduby5nbm9uYXRpdmUudjEuS2V5SW5mb1IIa2V5X2luZm8iMAoWQWN0aXZhdGVBY2NvdW50UmVxdWVzdBIWCg5uYW1lX29yX2JlY2gzMhgBIAEoCSJmChdBY3RpdmF0ZUFjY291bnRSZXNwb25zZRI1CgNrZXkYASABKAsyHi5sYW5kLmduby5nbm9uYXRpdmUudjEuS2V5SW5mb1IIa2V5X2luZm8SFAoMaGFzX3Bhc3N3b3JkGAIgASgIIi0KGkdldEFjdGl2YXRlZEFjY291bnRSZXF1ZXN0Eg8KB2FkZHJlc3MYASABKAwiagobR2V0QWN0aXZhdGVkQWNjb3VudFJlc3BvbnNlEjUKA2tleRgBIAEoCzIeLmxhbmQuZ25vLmdub25hdGl2ZS52MS5LZXlJbmZvUghrZXlfaW5mbxIUCgxoYXNfcGFzc3dvcmQYAiABKAgiJgoTUXVlcnlBY2NvdW50UmVxdWVzdBIPCgdhZGRyZXNzGAEgASgMIlAKFFF1ZXJ5QWNjb3VudFJlc3BvbnNlEjgKDGFjY291bnRfaW5mbxgBIAEoCzIiLmxhbmQuZ25vLmdub25hdGl2ZS52MS5CYXNlQWNjb3VudCJXChREZWxldGVBY2NvdW50UmVxdWVzdBIWCg5uYW1lX29yX2JlY2gzMhgBIAEoCRIQCghwYXNzd29yZBgCIAEoCRIVCg1za2lwX3Bhc3N3b3JkGAMgASgIIhcKFURlbGV0ZUFjY291bnRSZXNwb25zZSIqCgxRdWVyeVJlcXVlc3QSDAoEcGF0aBgBIAEoCRIMCgRkYXRhGAIgASgMIh8KDVF1ZXJ5UmVzcG9uc2USDgoGcmVzdWx0GAEgASgMIjMKDVJlbmRlclJlcXVlc3QSFAoMcGFja2FnZV9wYXRoGAEgASgJEgwKBGFyZ3MYAiABKAkiIAoOUmVuZGVyUmVzcG9uc2USDgoGcmVzdWx0GAEgASgJIjgKDFFFdmFsUmVxdWVzdBIUCgxwYWNrYWdlX3BhdGgYASABKAkSEgoKZXhwcmVzc2lvbhgCIAEoCSIfCg1RRXZhbFJlc3BvbnNlEg4KBnJlc3VsdBgBIAEoCSKXAQoHTXNnQ2FsbBIUCgxwYWNrYWdlX3BhdGgYASABKAkSCwoDZm5jGAIgASgJEgwKBGFyZ3MYAyADKAkSKQoEc2VuZBgEIAMoCzIbLmxhbmQuZ25vLmdub25hdGl2ZS52MS5Db2luEjAKC21heF9kZXBvc2l0GAUgAygLMhsubGFuZC5nbm8uZ25vbmF0aXZlLnYxLkNvaW4ijAEKC0NhbGxSZXF1ZXN0Eg8KB2dhc19mZWUYASABKAkSEgoKZ2FzX3dhbnRlZBgCIAEoEhIMCgRtZW1vGAMgASgJEhYKDmNhbGxlcl9hZGRyZXNzGAQgASgMEjIKBG1zZ3MYBSADKAsyHi5sYW5kLmduby5nbm9uYXRpdmUudjEuTXNnQ2FsbFIETXNncyI8CgxDYWxsUmVzcG9uc2USDgoGcmVzdWx0GAEgASgMEgwKBGhhc2gYAiABKAwSDgoGaGVpZ2h0GAMgASgSIkoKB01zZ1NlbmQSEgoKdG9fYWRkcmVzcxgBIAEoDBIrCgZhbW91bnQYAiADKAsyGy5sYW5kLmduby5nbm9uYXRpdmUudjEuQ29pbiKMAQoLU2VuZFJlcXVlc3QSDwoHZ2FzX2ZlZRgBIAEoCRISCgpnYXNfd2FudGVkGAIgASgSEgwKBG1lbW8YAyABKAkSFgoOY2FsbGVyX2FkZHJlc3MYBCABKAwSMgoEbXNncxgFIAMoCzIeLmxhbmQuZ25vLmdub25hdGl2ZS52MS5Nc2dTZW5kUgRNc2dzIiwKDFNlbmRSZXNwb25zZRIMCgRoYXNoGAEgASgMEg4KBmhlaWdodBgCIAEoEiJ2CgZNc2dSdW4SDwoHcGFja2FnZRgBIAEoCRIpCgRzZW5kGAIgAygLMhsubGFuZC5nbm8uZ25vbmF0aXZlLnYxLkNvaW4SMAoLbWF4X2RlcG9zaXQYAyADKAsyGy5sYW5kLmduby5nbm9uYXRpdmUudjEuQ29pbiKKAQoKUnVuUmVxdWVzdBIPCgdnYXNfZmVlGAEgASgJEhIKCmdhc193YW50ZWQYAiABKBISDAoEbWVtbxgDIAEoCRIWCg5jYWxsZXJfYWRkcmVzcxgEIAEoDBIxCgRtc2dzGAUgAygLMh0ubGFuZC5nbm8uZ25vbmF0aXZlLnYxLk1zZ1J1blIETXNncyI7CgtSdW5SZXNwb25zZRIOCgZyZXN1bHQYASABKAkSDAoEaGFzaBgCIAEoDBIOCgZoZWlnaHQYAyABKBIiIQoOTWFrZVR4UmVzcG9uc2USDwoHdHhfanNvbhgBIAEoCSJiCg1TaWduVHhSZXF1ZXN0Eg8KB3R4X2pzb24YASABKAkSDwoHYWRkcmVzcxgCIAEoDBIWCg5hY2NvdW50X251bWJlchgDIAEoBBIXCg9zZXF1ZW5jZV9udW1iZXIYBCABKAQiMQoOU2lnblR4UmVzcG9uc2USHwoOc2lnbmVkX3R4X2pzb24YASABKAlSB3R4X2pzb24ikwEKEkVzdGltYXRlR2FzUmVxdWVzdBIPCgd0eF9qc29uGAEgASgJEg8KB2FkZHJlc3MYAiABKAwSFwoPc2VjdXJpdHlfbWFyZ2luGAMgASgNEhEKCXVwZGF0ZV90eBgEIAEoCBIWCg5hY2NvdW50X251bWJlchgFIAEoBBIXCg9zZXF1ZW5jZV9udW1iZXIYBiABKAQiOgoTRXN0aW1hdGVHYXNSZXNwb25zZRIPCgd0eF9qc29uGAEgASgJEhIKCmdhc193YW50ZWQYAiABKBIiOwoYQnJvYWRjYXN0VHhDb21taXRSZXF1ZXN0Eh8KDnNpZ25lZF90eF9qc29uGAEgASgJUgd0eF9qc29uIkkKGUJyb2FkY2FzdFR4Q29tbWl0UmVzcG9uc2USDgoGcmVzdWx0GAEgASgMEgwKBGhhc2gYAiABKAwSDgoGaGVpZ2h0GAMgASgSIikKFkFkZHJlc3NUb0JlY2gzMlJlcXVlc3QSDwoHYWRkcmVzcxgBIAEoDCIxChdBZGRyZXNzVG9CZWNoMzJSZXNwb25zZRIWCg5iZWNoMzJfYWRkcmVzcxgBIAEoCSIyChhBZGRyZXNzRnJvbUJlY2gzMlJlcXVlc3QSFgoOYmVjaDMyX2FkZHJlc3MYASABKAkiLAoZQWRkcmVzc0Zyb21CZWNoMzJSZXNwb25zZRIPCgdhZGRyZXNzGAEgASgMIi4KGkFkZHJlc3NGcm9tTW5lbW9uaWNSZXF1ZXN0EhAKCG1uZW1vbmljGAEgASgJIi4KG0FkZHJlc3NGcm9tTW5lbW9uaWNSZXNwb25zZRIPCgdhZGRyZXNzGAEgASgMIisKG1ZhbGlkYXRlTW5lbW9uaWNXb3JkUmVxdWVzdBIMCgR3b3JkGAEgASgJIi0KHFZhbGlkYXRlTW5lbW9uaWNXb3JkUmVzcG9uc2USDQoFdmFsaWQYASABKAgiLwodVmFsaWRhdGVNbmVtb25pY1BocmFzZVJlcXVlc3QSDgoGcGhyYXNlGAEgASgJIi8KHlZhbGlkYXRlTW5lbW9uaWNQaHJhc2VSZXNwb25zZRINCgV2YWxpZBgBIAEoCCIiCgxIZWxsb1JlcXVlc3QSEgoEbmFtZRgBIAEoCVIETmFtZSIrCg1IZWxsb1Jlc3BvbnNlEhoKCGdyZWV0aW5nGAEgASgJUghHcmVldGluZyIoChJIZWxsb1N0cmVhbVJlcXVlc3QSEgoEbmFtZRgBIAEoCVIETmFtZSIxChNIZWxsb1N0cmVhbVJlc3BvbnNlEhoKCGdyZWV0aW5nGAEgASgJUghHcmVldGluZyIpChhHTk9OQVRJVkVUWVBFU19CeXRlc0xpc3QSDQoFVmFsdWUYASADKAxCLFoqZ2l0aHViLmNvbS9nbm9sYW5nL2dub25hdGl2ZS92NC9hcGkvZ2VuL2dvYgZwcm90bzM"); /** * messages @@ -1003,9 +1003,18 @@ export type MsgCall = Message<"land.gno.gnonative.v1.MsgCall"> & { args: string[]; /** + * Optional. Example: [ {Denom: "ugnot", Amount: 1000} ] + * * @generated from field: repeated land.gno.gnonative.v1.Coin send = 4; */ send: Coin[]; + + /** + * Optional max storage deposit. Example: [ {Denom: "ugnot", Amount: 500000} ] + * + * @generated from field: repeated land.gno.gnonative.v1.Coin max_deposit = 5; + */ + maxDeposit: Coin[]; }; /** @@ -1196,11 +1205,18 @@ export type MsgRun = Message<"land.gno.gnonative.v1.MsgRun"> & { package: string; /** - * Optional. Example: "1000ugnot" + * Optional. Example: [ {Denom: "ugnot", Amount: 1000} ] + * + * @generated from field: repeated land.gno.gnonative.v1.Coin send = 2; + */ + send: Coin[]; + + /** + * Optional max storage deposit. Example: [ {Denom: "ugnot", Amount: 500000} ] * - * @generated from field: string send = 2; + * @generated from field: repeated land.gno.gnonative.v1.Coin max_deposit = 3; */ - send: string; + maxDeposit: Coin[]; }; /** diff --git a/api/gen/go/gnonativetypes.pb.go b/api/gen/go/gnonativetypes.pb.go index 91d40e2b..e4da8a06 100644 --- a/api/gen/go/gnonativetypes.pb.go +++ b/api/gen/go/gnonativetypes.pb.go @@ -2340,8 +2340,11 @@ type MsgCall struct { Fnc string `protobuf:"bytes,2,opt,name=fnc,proto3" json:"fnc,omitempty"` // list of arguments specific to the function // Example: ["1", "1", "2", "my reply"] - Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` - Send []*Coin `protobuf:"bytes,4,rep,name=send,proto3" json:"send,omitempty"` + Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` + // Optional. Example: [ {Denom: "ugnot", Amount: 1000} ] + Send []*Coin `protobuf:"bytes,4,rep,name=send,proto3" json:"send,omitempty"` + // Optional max storage deposit. Example: [ {Denom: "ugnot", Amount: 500000} ] + MaxDeposit []*Coin `protobuf:"bytes,5,rep,name=max_deposit,json=maxDeposit,proto3" json:"max_deposit,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -2404,6 +2407,13 @@ func (x *MsgCall) GetSend() []*Coin { return nil } +func (x *MsgCall) GetMaxDeposit() []*Coin { + if x != nil { + return x.MaxDeposit + } + return nil +} + type CallRequest struct { state protoimpl.MessageState `protogen:"open.v1"` GasFee string `protobuf:"bytes,1,opt,name=gas_fee,json=gasFee,proto3" json:"gas_fee,omitempty"` @@ -2737,8 +2747,10 @@ type MsgRun struct { // The code for the script package. Must have main(). // Example: "package main\nfunc main() {\n println(\"Hello\")\n}" Package string `protobuf:"bytes,1,opt,name=package,proto3" json:"package,omitempty"` - // Optional. Example: "1000ugnot" - Send string `protobuf:"bytes,2,opt,name=send,proto3" json:"send,omitempty"` + // Optional. Example: [ {Denom: "ugnot", Amount: 1000} ] + Send []*Coin `protobuf:"bytes,2,rep,name=send,proto3" json:"send,omitempty"` + // Optional max storage deposit. Example: [ {Denom: "ugnot", Amount: 500000} ] + MaxDeposit []*Coin `protobuf:"bytes,3,rep,name=max_deposit,json=maxDeposit,proto3" json:"max_deposit,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -2780,11 +2792,18 @@ func (x *MsgRun) GetPackage() string { return "" } -func (x *MsgRun) GetSend() string { +func (x *MsgRun) GetSend() []*Coin { if x != nil { return x.Send } - return "" + return nil +} + +func (x *MsgRun) GetMaxDeposit() []*Coin { + if x != nil { + return x.MaxDeposit + } + return nil } type RunRequest struct { @@ -4125,12 +4144,14 @@ const file_gnonativetypes_proto_rawDesc = "" + "expression\x18\x02 \x01(\tR\n" + "expression\"'\n" + "\rQEvalResponse\x12\x16\n" + - "\x06result\x18\x01 \x01(\tR\x06result\"\x83\x01\n" + + "\x06result\x18\x01 \x01(\tR\x06result\"\xc1\x01\n" + "\aMsgCall\x12!\n" + "\fpackage_path\x18\x01 \x01(\tR\vpackagePath\x12\x10\n" + "\x03fnc\x18\x02 \x01(\tR\x03fnc\x12\x12\n" + "\x04args\x18\x03 \x03(\tR\x04args\x12/\n" + - "\x04send\x18\x04 \x03(\v2\x1b.land.gno.gnonative.v1.CoinR\x04send\"\xb4\x01\n" + + "\x04send\x18\x04 \x03(\v2\x1b.land.gno.gnonative.v1.CoinR\x04send\x12<\n" + + "\vmax_deposit\x18\x05 \x03(\v2\x1b.land.gno.gnonative.v1.CoinR\n" + + "maxDeposit\"\xb4\x01\n" + "\vCallRequest\x12\x17\n" + "\agas_fee\x18\x01 \x01(\tR\x06gasFee\x12\x1d\n" + "\n" + @@ -4155,10 +4176,12 @@ const file_gnonativetypes_proto_rawDesc = "" + "\x04msgs\x18\x05 \x03(\v2\x1e.land.gno.gnonative.v1.MsgSendR\x04Msgs\":\n" + "\fSendResponse\x12\x12\n" + "\x04hash\x18\x01 \x01(\fR\x04hash\x12\x16\n" + - "\x06height\x18\x02 \x01(\x12R\x06height\"6\n" + + "\x06height\x18\x02 \x01(\x12R\x06height\"\x91\x01\n" + "\x06MsgRun\x12\x18\n" + - "\apackage\x18\x01 \x01(\tR\apackage\x12\x12\n" + - "\x04send\x18\x02 \x01(\tR\x04send\"\xb2\x01\n" + + "\apackage\x18\x01 \x01(\tR\apackage\x12/\n" + + "\x04send\x18\x02 \x03(\v2\x1b.land.gno.gnonative.v1.CoinR\x04send\x12<\n" + + "\vmax_deposit\x18\x03 \x03(\v2\x1b.land.gno.gnonative.v1.CoinR\n" + + "maxDeposit\"\xb2\x01\n" + "\n" + "RunRequest\x12\x17\n" + "\agas_fee\x18\x01 \x01(\tR\x06gasFee\x12\x1d\n" + @@ -4335,15 +4358,18 @@ var file_gnonativetypes_proto_depIdxs = []int32{ 14, // 8: land.gno.gnonative.v1.GetActivatedAccountResponse.key:type_name -> land.gno.gnonative.v1.KeyInfo 16, // 9: land.gno.gnonative.v1.QueryAccountResponse.account_info:type_name -> land.gno.gnonative.v1.BaseAccount 15, // 10: land.gno.gnonative.v1.MsgCall.send:type_name -> land.gno.gnonative.v1.Coin - 49, // 11: land.gno.gnonative.v1.CallRequest.msgs:type_name -> land.gno.gnonative.v1.MsgCall - 15, // 12: land.gno.gnonative.v1.MsgSend.amount:type_name -> land.gno.gnonative.v1.Coin - 52, // 13: land.gno.gnonative.v1.SendRequest.msgs:type_name -> land.gno.gnonative.v1.MsgSend - 55, // 14: land.gno.gnonative.v1.RunRequest.msgs:type_name -> land.gno.gnonative.v1.MsgRun - 15, // [15:15] is the sub-list for method output_type - 15, // [15:15] is the sub-list for method input_type - 15, // [15:15] is the sub-list for extension type_name - 15, // [15:15] is the sub-list for extension extendee - 0, // [0:15] is the sub-list for field type_name + 15, // 11: land.gno.gnonative.v1.MsgCall.max_deposit:type_name -> land.gno.gnonative.v1.Coin + 49, // 12: land.gno.gnonative.v1.CallRequest.msgs:type_name -> land.gno.gnonative.v1.MsgCall + 15, // 13: land.gno.gnonative.v1.MsgSend.amount:type_name -> land.gno.gnonative.v1.Coin + 52, // 14: land.gno.gnonative.v1.SendRequest.msgs:type_name -> land.gno.gnonative.v1.MsgSend + 15, // 15: land.gno.gnonative.v1.MsgRun.send:type_name -> land.gno.gnonative.v1.Coin + 15, // 16: land.gno.gnonative.v1.MsgRun.max_deposit:type_name -> land.gno.gnonative.v1.Coin + 55, // 17: land.gno.gnonative.v1.RunRequest.msgs:type_name -> land.gno.gnonative.v1.MsgRun + 18, // [18:18] is the sub-list for method output_type + 18, // [18:18] is the sub-list for method input_type + 18, // [18:18] is the sub-list for extension type_name + 18, // [18:18] is the sub-list for extension extendee + 0, // [0:18] is the sub-list for field type_name } func init() { file_gnonativetypes_proto_init() } diff --git a/api/gnonativetypes.proto b/api/gnonativetypes.proto index b6b43499..c1a63010 100644 --- a/api/gnonativetypes.proto +++ b/api/gnonativetypes.proto @@ -243,7 +243,10 @@ message MsgCall { // list of arguments specific to the function // Example: ["1", "1", "2", "my reply"] repeated string args = 3; + // Optional. Example: [ {Denom: "ugnot", Amount: 1000} ] repeated Coin send = 4; + // Optional max storage deposit. Example: [ {Denom: "ugnot", Amount: 500000} ] + repeated Coin max_deposit = 5; } message CallRequest { @@ -294,8 +297,10 @@ message MsgRun { // The code for the script package. Must have main(). // Example: "package main\nfunc main() {\n println(\"Hello\")\n}" string package = 1; - // Optional. Example: "1000ugnot" - string send = 2; + // Optional. Example: [ {Denom: "ugnot", Amount: 1000} ] + repeated Coin send = 2; + // Optional max storage deposit. Example: [ {Denom: "ugnot", Amount: 500000} ] + repeated Coin max_deposit = 3; } message RunRequest { diff --git a/api/gnonativetypes/gnonativetypes.go b/api/gnonativetypes/gnonativetypes.go index 245b1d5d..83596c3b 100644 --- a/api/gnonativetypes/gnonativetypes.go +++ b/api/gnonativetypes/gnonativetypes.go @@ -230,7 +230,10 @@ type MsgCall struct { // list of arguments specific to the function // Example: ["1", "1", "2", "my reply"] Args []string `json:"args" yaml:"args"` - Send []Coin `json:"send" yaml:"send"` + // Optional. Example: [ {Denom: "ugnot", Amount: 1000} ] + Send []Coin `json:"send" yaml:"send"` + // Optional max storage deposit. Example: [ {Denom: "ugnot", Amount: 500000} ] + MaxDeposit []Coin `json:"max_deposit" yaml:"max_deposit"` } type CallRequest struct { @@ -281,8 +284,10 @@ type MsgRun struct { // The code for the script package. Must have main(). // Example: "package main\nfunc main() {\n println(\"Hello\")\n}" Package string `json:"package" yaml:"package"` - // Optional. Example: "1000ugnot" - Send string `json:"send" yaml:"send"` + // Optional. Example: [ {Denom: "ugnot", Amount: 1000} ] + Send []Coin `json:"send" yaml:"send"` + // Optional max storage deposit. Example: [ {Denom: "ugnot", Amount: 500000} ] + MaxDeposit []Coin `json:"max_deposit" yaml:"max_deposit"` } type RunRequest struct { diff --git a/expo/src/api/GnoNativeApi.ts b/expo/src/api/GnoNativeApi.ts index 8f002be7..01b1c47d 100644 --- a/expo/src/api/GnoNativeApi.ts +++ b/expo/src/api/GnoNativeApi.ts @@ -205,6 +205,7 @@ export class GnoNativeApi implements GnoKeyApi, GoBridgeInterface { gasWanted: bigint, callerAddress: Uint8Array, send?: Coin[], + maxDeposit?: Coin[], memo?: string, ): Promise { const client = this.#getClient(); @@ -219,6 +220,7 @@ export class GnoNativeApi implements GnoKeyApi, GoBridgeInterface { fnc, args, send, + maxDeposit, }, ], }); @@ -329,6 +331,7 @@ export class GnoNativeApi implements GnoKeyApi, GoBridgeInterface { gasWanted: bigint, callerAddress: Uint8Array, send?: Coin[], + maxDeposit?: Coin[], memo?: string, ): Promise> { const client = this.#getClient(); @@ -343,6 +346,7 @@ export class GnoNativeApi implements GnoKeyApi, GoBridgeInterface { fnc, args, send, + maxDeposit, }, ], }); diff --git a/expo/src/api/types.ts b/expo/src/api/types.ts index 267fd14f..24b2871a 100644 --- a/expo/src/api/types.ts +++ b/expo/src/api/types.ts @@ -69,6 +69,7 @@ export interface GnoKeyApi { gasWanted: bigint, callerAddress: Uint8Array, send?: Coin[], + maxDeposit?: Coin[], memo?: string, ) => Promise>; send: ( @@ -106,6 +107,7 @@ export interface GnoKeyApi { gasWanted: bigint, callerAddress: Uint8Array, send?: Coin[], + maxDeposit?: Coin[], memo?: string, ): Promise; makeSendTx( diff --git a/gen.sum b/gen.sum index 9ef04fb7..00d2a93a 100644 --- a/gen.sum +++ b/gen.sum @@ -1,5 +1,5 @@ -ddd754397681c71e7a5fc232b1ff95f7cdd24b7c api/gnonativetypes.proto -175a4d0c5e746f9d83fba771ed65e62bd2c697bd api/gnonativetypes/gnonativetypes.go +32ea05c96db232590e226d2a995546566137526b api/gnonativetypes.proto +4606ed9c6426464cc8c4d11ec15abbd6f32cdb8f api/gnonativetypes/gnonativetypes.go 5c1423cfce48514cbb29ce4a76e3a7017c055ba0 api/gnonativetypes/package.go 5e9ce9eb1815d8d2771fe948fb20223df36ff182 api/rpc.proto 6444ae88d6497a551ba1d5d611e1f81b1ce6a21c buf.gen.yaml diff --git a/go.mod b/go.mod index 4d88bc6f..d8d32cd4 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ require ( connectrpc.com/connect v1.16.2 connectrpc.com/grpchealth v1.3.0 connectrpc.com/grpcreflect v1.2.0 - github.com/gnolang/gno v0.0.0-20250618161110-09134a77d7ab + github.com/gnolang/gno v0.0.0-20250716085632-95d5f5e743c9 github.com/oklog/run v1.1.0 github.com/peterbourgon/ff/v3 v3.4.0 github.com/peterbourgon/unixtransport v0.0.3 @@ -58,7 +58,6 @@ require ( go.opentelemetry.io/otel/trace v1.34.0 // indirect go.opentelemetry.io/proto/otlp v1.5.0 // indirect golang.org/x/crypto v0.37.0 // indirect - golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 // indirect golang.org/x/mod v0.24.0 // indirect golang.org/x/sync v0.13.0 // indirect golang.org/x/sys v0.32.0 // indirect diff --git a/go.sum b/go.sum index 4b363b55..0cb59ee2 100644 --- a/go.sum +++ b/go.sum @@ -59,8 +59,8 @@ github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHqu github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/gnolang/gno v0.0.0-20250618161110-09134a77d7ab h1:Uzl0IiZqnLywp+b7IfOTf6x3XOJe7bRa4Cbo5we7PrY= -github.com/gnolang/gno v0.0.0-20250618161110-09134a77d7ab/go.mod h1:3o67d3mZsjcP1ZVsTp7vBoJ5LOQyROClr88L4VHy/aE= +github.com/gnolang/gno v0.0.0-20250716085632-95d5f5e743c9 h1:l7ZQlINkpbXUQmsJHpkpgXzZDcDgGFinYyMotJtyAoE= +github.com/gnolang/gno v0.0.0-20250716085632-95d5f5e743c9/go.mod h1:oN4YCrDStwh0ujnzTRygplKJOonnWDbyleYT+1Za+aU= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= @@ -202,8 +202,6 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE= golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc= -golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 h1:yixxcjnhBmY0nkL253HFVIm0JsFHwrHdT3Yh6szTnfY= -golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= diff --git a/service/api.go b/service/api.go index 34cc84ca..a721edfe 100644 --- a/service/api.go +++ b/service/api.go @@ -467,17 +467,13 @@ func (s *gnoNativeService) convertCallRequest(req *api_gen.CallRequest) (*gnocli msgs := make([]vm.MsgCall, 0) for _, msg := range req.Msgs { - send := make([]std.Coin, 0) - for _, coin := range msg.Send { - send = append(send, std.NewCoin(coin.Denom, coin.Amount)) - } - msgs = append(msgs, vm.MsgCall{ - Caller: crypto.AddressFromBytes(req.CallerAddress), - PkgPath: msg.PackagePath, - Func: msg.Fnc, - Args: msg.Args, - Send: send, + Caller: crypto.AddressFromBytes(req.CallerAddress), + PkgPath: msg.PackagePath, + Func: msg.Fnc, + Args: msg.Args, + Send: convertCoins(msg.Send), + MaxDeposit: convertCoins(msg.MaxDeposit), }) } @@ -532,15 +528,10 @@ func (s *gnoNativeService) convertSendRequest(req *api_gen.SendRequest) (*gnocli msgs := make([]bank.MsgSend, 0) for _, msg := range req.Msgs { - amount := make([]std.Coin, 0) - for _, coin := range msg.Amount { - amount = append(amount, std.NewCoin(coin.Denom, coin.Amount)) - } - msgs = append(msgs, bank.MsgSend{ FromAddress: crypto.AddressFromBytes(req.CallerAddress), ToAddress: crypto.AddressFromBytes(msg.ToAddress), - Amount: amount, + Amount: convertCoins(msg.Amount), }) } @@ -589,11 +580,6 @@ func (s *gnoNativeService) convertRunRequest(req *api_gen.RunRequest) (*gnoclien msgs := make([]vm.MsgRun, 0) for _, msg := range req.Msgs { - send, err := std.ParseCoins(msg.Send) - if err != nil { - return nil, nil, getGrpcError(err) - } - memPkg := &std.MemPackage{ Name: "main", // Path will be automatically set by handler. @@ -605,15 +591,25 @@ func (s *gnoNativeService) convertRunRequest(req *api_gen.RunRequest) (*gnoclien }, } msgs = append(msgs, vm.MsgRun{ - Caller: crypto.AddressFromBytes(req.CallerAddress), - Package: memPkg, - Send: send, + Caller: crypto.AddressFromBytes(req.CallerAddress), + Package: memPkg, + Send: convertCoins(msg.Send), + MaxDeposit: convertCoins(msg.MaxDeposit), }) } return cfg, msgs, nil } +// convertCoins converts an array of api_gen.Coin to an array of std.Coin +func convertCoins(apiGenCoins []*api_gen.Coin) []std.Coin { + coins := make([]std.Coin, 0) + for _, coin := range apiGenCoins { + coins = append(coins, std.NewCoin(coin.Denom, coin.Amount)) + } + return coins +} + func (s *gnoNativeService) MakeCallTx(ctx context.Context, req *connect.Request[api_gen.CallRequest]) (*connect.Response[api_gen.MakeTxResponse], error) { for _, msg := range req.Msg.Msgs { s.logger.Debug("MakeCallTx", zap.String("package", msg.PackagePath), zap.String("function", msg.Fnc), zap.Any("args", msg.Args))