Rosetta's /construction/submit

Can I use rosetta’s /construction/submit interface to submit a CredentialDeploymentTransaction?
example:
{
“network_identifier”: {
“blockchain”:“concordium”,
“network”:“testnet”
},
“signed_transaction”:“{"signature":{"0":{"0":"39CA4EA62131DEFA4EFA2391C7AF42EA1A4E1DC3767696DEE6390FC6ACAEA945B750809E2BB3CCBFABF34E7878F83B04B89F52A76FD02AF3CBB364CE853B0107"}},"payload":"01010000486b0c1a75f8b4dc8b79047936b0567e638dba425ea113f58420867efe86a6e801ac33fd8b63ffcf587a3f070fe223d1141f5837472262b44916c7a6e3d4eb1b83b45dfdfbb404058059b2b34c87de7885000000000200030000000197c74156ebcf03e2864e22a2ad3341d08d70835619cfc39beb2896340ccc2485facaf9c40420f85d40fa7fd6ae2616f18ce8d6b5ec4fc08f6faa9b4fbb0d1bb2d81adaed126ac5c804fe50eea9aeadb97608e66abfedc8515affe4e5f8bc73dd00000002a06ba42ebeae1b3a8ec3968691f4320bf2fffc1e9b875af5d48fa41adf48f78cf917f47081a891e3493723b44eb26f4884135b0903778ba83405b4699010145bf117c4fbdf3e78e7b863599b64624c2bd54045b68e064712c1e1d3e38ec815ef00000003ae599beecbec727a829cea11645bd935c1c011ae1050af0f6f4d792de698c3e0cd8426d7b546103f1efb841f4e0b315cb5bc5c6ef3ccb02708b0a5a0a9914b398745263f1702ae32384f9735525ee5bfdfb97a52e63601bb539d3bd95dfd289b07e90607e806000000000dd1a8280c1918ed6bd01b1f16e33699f864cb57e8b6b268137b204d5ebc9ee97e3164d2aae2a894ea643eab1f9511120a128cd16e658f98a543fc5c20e108caf31ab6d4197337f094a63237a67a352015152f04f274acab7a4a5d9c41afc660520583b1bd1c5e262260e013b2d5c63ffe0f67bbf8a0480c6e21f1e0cbeefee2d6eda33a4966c0306c66b92f0657a8dd12b9a77c40c3478d858cff491fc166bd5290302e3fe4456ab0fe8518f138007768a41c2e5a6df7fc950a377885307c1eabbaacc06172ca0ae35dfc7b9fb1ecb8f2ee53f18e1a805110a7143aed6a0ec5f72b8e4e4d580f582572265387f060f141f6000d00aaebd31d124f7e7a84765c825bca3ac8b4d22cca44ce5138ab7fd41f9a114008970c5f6c53f92ab2894f9da3f91277c801a8183e26c963bc52b0599f9e22b860df52bb069ef2150bcbeb62a4285d9095f53c8d6c8f651141af2d4615a9647d38700280678acb13a4d107cb7e270ba777df1ebbc7a210c48eeebe1c9772730542edc12e882d90027d48734ec3024f7ae9406f039857a43f75966b6af7a9850ceb04d9a08a7fde4b56f5d0f58faf76f6bce87dc5a861e6b867df922244d475464fba2cf804b49e0ba4c23d60c975d13a2ba303b3cee41c12676d79fe9a16b0543affe7986c23132a04dd344f41d9b2c94eda95140105adc9236e06997f350b133f35362567a5ae2c7a78449f8fa010ce24b1f9b9863a3f71823b5694f91027748bbce4f6144b06b39070db72fb630b3f22e5596527112a431a32d38a1362537601b3a245d671cc7f0bf60c6ec5ace23998db1cda9f3e0707a5b6eb78fe5ef8bba85b8450fb0656e11a400b64e2bdda3b28f019c2ce7451c32f7c5e9eda82a957933429cbc6853c4708919a3d6dbeccde3cbef65751718cf1b946130e00464a7be92018332fa6c20df1713da88bc01d94d2b3ca5d89ea181cfd09a9c13cbf4a815a88ee5d53af4c5f7c8acbaa6a446e246c1b382bae1583d08d17fe3bd8ebca6d6fbca541a4c5c77f9eb60a97b23e6370ea55f1587afa3f6b66dfbe212fd28ff0e6ab2151280f97cfee144667e38811cf6d38dc5eae7d5a7c59eff90b9264d6445dd4b30d792b12a2b44037a02c15e4a3ab59f6778074ece17d410cf13dc335a85abd904ee5a09995b244c9450cad9bdfc5402400577986406a9be18cb1c3400d091a9cea4a64c5d90727ddee8ca8959f895a573278248472cb87c4e1070000000000000002b0b7c1df3ea241c764786c59f843860795c573470fd46f1bfe1c2b9b9790e7bb112e7d46fd6a488a26537b3778fbb7598a77b39c5424f40c2e1765787b7a279f0a27c3b135e33a32b827c776b72b298bb77d4363111f637d5a7e292d1f5d03ce067f935719926bfc8a7b48b5751deebcd3dbcafbbe9dc1525f554a924f5f3d5d00000003000000010abcff1af210f7ebe999e6403150b3479e173726959230e1e8b7dfb3fa74ebc4467a5ff193e7d76b91299e01b82fa9ae15cf1aea637d503bbc9f7674049a2a431c7093fce6a9f37e8dd8a5426e2e709d035a0f4d10b1baf3d43f0d2f42fabaec00000002036a32a9621ea63f35d8debdafcb6479ca39d56c9ceb5f341e5fb7c063a04fde13cd82ce560b82ccbbc44b5f546b8186801efe61b1f16ee8f66ee3b1c160af1f17c020c8b5dfc29e9e349d90158edc3e8e5d7974710363862e3103f636e411770000000363d3f1aee054001305854ac0beea172eb502aa91d20c55b7b0bf3a29cc1b0c0a104b64edc978d8d97a0cd6dd52ca0935eb47c80854cf76aaa621ac7e4b1eae8125998d18cd6fd331ad72d137a26b078f9e9c39dc975d4675eabcf54b3e0a00432eb8f72ac83367eaed4285a7ec670195bd3bfc3b34af75a7f8fdea70715cf79800000013619c1ec0f9019032b837d0bcd395beebc2a6768b8299bffc039c43f17402977f718ab089603978af1dd0429a1e0f18cfebcb65a985b572cf0430520d0580199e250fc12ccdc0469add0e076ca8d06280c54aa74b711775e514a0fdc6b10c51a12dd09183d0c2abc47b9ff5693388f11013b08bf27bdb5fbf651863ffb2c41d3c38efb452b0eed76280db7b8660665133d68ca98d444580862a7639db9f72981b44bcd7e245aa0f7caa91c0fa417ddf2f6bfe42fd4d2bf2b323845589313fc52344607b34dd87424fd3c520f1aa6c8ec18eb6aa51ae31c542fdbb84f015a18717179777094658aa23196f9cc39a7a16e2545d17cbf71396524bc700dc7e09ecb23f63a340532026ab3a40681aa3a0f786e433df5619399cbe71955efb9818cf1c0767be69499af8961f75701247f2fa56b9949553006d3caf9e44474645c8f6cc56e146d5e363cc2e75c9699c8aed4f9d4cb0407b05ccaa49d49da379c3339c652814df3e28ee034eb275f72ca9659f462086871fc9dc630ae28ebbec68d8cf152c6ebdb24f15a320b8715414010561494389eeef8b68c5145fdd4ed89208a5181813bb6ed2ebb5d3c5c66902623d5f1704ade5d70324b60e658bdc6f6a661a5a57661d95e3a22c5cefe89ac862100a086ce24dcf06bbcc46bd353b28fd4dbed71d9e40f6ee0097244deb676d7356791cd7b9e9ee4f50dc5512722ed29d26983a002ac62d5a0d2928343770991d477d62dfa4553ec49f1652ba67a452a3fad9b921cd057e21290103bf05da3daa6f90a66ee1e461c69cfe5df9e60e20a9096d4c146b77844b5032cedfccc01a913fc452819fd159a4b6ab6d3abdb31fa140ab03337a846c53a16f2428a9769408aad307d017fa3715b4a495b1e286232d718d4133cf338eca2d35c432fe13cc04cbdef476285b003db0353a8bb9432fcc3e441a2d73d081f8efc4c80ba8fd3006ccefd58260d95e8b88ff93ff4a2d12abcb77c24c1ecd49ccbe2dbe96be046f910879b0e1e8b339bff56198acd1b39947b72538605e9c83863ec80edafc8acf774b938e20b71d91e0ef24ca91eb374c211cf42e2ac5aa827dbcd1015cb79fbd645f01b20cace2e635baf2bf3805b1b20b02ef6e4dc2001cdae9545a590d57de7cc1f22a72a6f5b062d1ed6654c4271205ded43c5a5e49bf8f628d440f5778d3f343f9177cf2d6e0579c8a2ccddbfa2bc3f9bd865ce6b39171821784c097e357feb9740a3b1ac71030ce08c48218c304ecac63ff4618afbe3a2a482b1a5b1b29863cddc831f2b13f6dd09b2edbfbf7f20c4e932559a498ddcac5a84027a5b156796b61fde86ada3d316ed8cd41e405589e437c152aa6f6a1b18a52dfee979b1a7dc45f45dcc21d2f32bbcedc32c5df14785d159b34ed407aa7a220ef7265b36befdd032dd9a654a0b7502cc533bf5ebe36a537884508fcbbc427d20a73df883224715cd687cb2bbc77961ecd09566d50291781c56c85fce90b5edcab9588c923252bcc1ba8ef0882864b95fe565bc6b506262f98168241632d13ba396e1254b6334d6cc4f5100c48f29cf0b0f37ba13e271bedf441d25fdfa1b63cec05fc816494d5f480858586f02710e8697c450d1e47503905375183d823857a98158756d08be1aeb77b1a1618cd326fd2a86be169d37d68a95837998ae0692deaa6d9433aba47d743b8e5df8b5e85233961b57c52fb08a2da718cfffe178b6be2e3fb8b3eb07213ec0760311052ceaadd04bb392c9c4caa523b3a03cebd14e6dd69eb284bc0d13585684394bb27e3efbf121c7c262d16da6c5bbc475c14215d53bd0be166e13d2f08ae1b58b3a05f27b76086bd0ed4c3a1fa49b2b936793c2f401fab19a34b222901bedbf45d0af03dc7211d56d346d2b0810b5f08b6ef6321028e8445b7ad6922271c08f26992b8ec3bb5b54b3a28f1e57c010039ca4ea62131defa4efa2391c7af42ea1a4e1dc3767696dee6390fc6acaea945b750809e2bb3ccbfabf34e7878f83b04b89f52a76fd02af3cbb364ce853b0107a38aff5d0823ace0e304e13d4aeb4ffa33f52e4b3758929b75517d4bdf3de2185fec915aff853338166216c278167e6a94042c5014aa306c47ad2973c867acf472752c036b2f7f32b08770f314f6441a02e75204bef40ca580a5442e0dd3e9e1a837aa0c1b52a4c0572ebe857dcc407eb7b5ceabaa555718a62a27117cbafefb80c39633efd01805bf9fe0c27b97e9b382322ffc2d61cc695130dbe495765f43b649862ccfe17ed670d37277e66c5b06528880b89d3c2e316214eccb9d84406604d0203ae63e088e506929ba85b92ea2ab3841ba33a856e5dd89f3e6d5215c6e6b80c31b3ad1a0056deda4281a4500b2ba4dccda095114a3b8c0e130cce551225d8854ab71de71c0f0c025e3add434c3240d4698c746f739628676a71230bac000000004a91ff23bb426b39f085870942fb065d96e17ce887aa0d380aba5af9b550e5e98c41f98696d15e63c73da8fc8c028d4278f7887f466f3f2622b4e8d16b4c8b98009c8e562a04aa1633f158378204bd01bfab4cbb4cb264d20d054a5514b45bdce8a24131ddcbdd7f151c0621da7fe6227f49670ab3423b95fa4bf5abc46a7bb5dd9f5507fbb4b1b8e2a7d86a51384117b8ed2516016d3edb703da1e683e4654bd718da1914572d0dcbea6f68245e2476470ae58602caaca984960014e1fc79557b5f43253cfb1ea9846efd8f1d460d1e4d463b8cf07ea88f3fd78e942c61a58d8e9e43c6a3e335956c11675e173d25f52a1c48f3628dffc25ecf84ab012944eeb5072aedc379eab10421a7e438fc7d1dfecac205d3f63d1437516670b075a611db99dc170ef59985aa63d9a053873fd6a23e5e5e66d030d88f9ad4e30ce745f80586f51d67587660f47977464fdb5fefdb0e6ff827747427e013167dcbc1019759e77de469f5cb0e7df6d097f1bc0c2f6c3c8d984fd8f130be1567aea975da3d169c3905a71840d0fdebdb8e2ee1c9ed0fd8a56dde84d2e212af03df5138195d461305e2012f29a30720cf810bd4d6a7cd3964374785045cd2bd758a1ae91bd53","header":{"payloadSize":7882,"sender":"38uiGBfukQbEstXMhjS31UGsEXzVysVLMPqoB2SNGJFcA3MHx1","energyAmount":0,"expiry":1719228871,"nonce":0}}”
}
result:
{
“code”: 10000,
“message”: “proxy error: node RPC error”,
“description”: “Some interaction with the node failed with an ‘RPC error’.”,
“retriable”: true,
“details”: {
“message”: “Call failed: status: InvalidArgument, message: "Too low energy", details: , metadata: MetadataMap { headers: {"content-type": "application/grpc", "date": "Mon, 24 Jun 2024 10:34:51 GMT", "content-length": "0", "access-control-allow-credentials": "true", "vary": "origin", "vary": "access-control-request-method", "vary": "access-control-request-headers", "access-control-expose-headers": "grpc-status,grpc-message,grpc-status-details-bin"} }”
}
}

As in the documentation, you should be able to submit a signed transaction.

  • submit: Fully implemented. If the node rejects the transaction, an error with no details is returned. The server could test for a few possible reasons (validate signatures, check balance, etc.), but the node itself doesn’t provide any explanation for the rejection.

The above payload can be submitted normally using grpc’s sendCredentialDeploymentTransaction method, but it fails when using rosetta’s /construction/submit interface. Can you help me find out which parameter is wrong? I found that grpc’s sendCredentialDeploymentTransaction only requires payload and expiry parameters. Is this the reason?

The header parameter is {“payloadSize”:7882,“sender”:“38uiGBfukQbEstXMhjS31UGsEXzVysVLMPqoB2SNGJFcA3MHx1”,“energyAmount”:0,“expiry”:1719228871,“nonce”:0}

The error message is
“details”: {
“message”: “Call failed: status: InvalidArgument, message: "Too low energy", details: , metadata: MetadataMap { headers: {"content-type": "application/grpc", "date": "Tue, 25 Jun 2024 02:16:51 GMT", "content-length": "0", "access-control-allow-credentials": "true", "vary": "origin", "vary": "access-control-request-method", "vary": "access-control-request-headers", "access-control-expose-headers": "grpc-status,grpc-message,grpc-status-details-bin"} }”
}

The error too low energy means that you don’t supply enough energy (similar to gas on Ethereum) to execute the transaction. A CredentialDeploymentTransaction is computationally expensive.
Can you increase the energyAmount (and sign the transaction again) and see if your error remains.