I'm trying to broadcast an operation using the following method in pytezos as a backend for a dapp: forge -> receive signature (from thanos) -> reconstruct operation group -> inject
this method works, with beacon (which broadcasts immediatly) and tezbridge. some other methods as magic or taquito might happen by other means. now I'm getting invalid signature ;< but I might not be foreseeing something. there are other methods for such? to append the signature for example to a byte string?
op = pytezos.operation_group(
protocol=payload['op']['protocol'],
branch=payload['op']['branch'],
contents=payload['op']['contents'],
signature=signature
)
forge :
[
'd4b5d8500a915baedd9ceef64ff06cb835522181d0cdc0e45f4064d63686eb656c00096727d05e96b8b4806d1414b5c99a1bee604053efae06a685ba0180bd3fe0d403000196a984821b3bc1ece36dc30bf77ceb9f3034b40e00ffff116f70656e736f757263655f6f726967696e0000000c070700a03e01000000025164',
{'protocol': 'PsCARTHAGazKbHtnKfLzQg3kms52kSRpgnDY982a9oYsSXRLQEb', 'branch': 'BMKxjceCvX2YaRJcdmKhphiZSdvSaBZ5VUiJbGDBnx26VjhTXWP', 'contents': [{'kind': 'transaction', 'source': 'tz1LVkMDYV4AqLEgPDjd2c9zwZ2Wq76dqRYC', 'fee': '104303', 'counter': '3048102', 'gas_limit': '1040000', 'storage_limit': '60000', 'amount': '0', 'destination': 'KT1NKPzq6Rz1Kv5L4MbXdh5hE7rmV2NGbYkH', 'parameters': {'entrypoint': 'opensource_origin', 'value': {'prim': 'Pair', 'args': [{'int': '4000'}, {'string': 'Qd'}]}}}], 'signature': None}
]
operation group with signature:
{'protocol': 'PsCARTHAGazKbHtnKfLzQg3kms52kSRpgnDY982a9oYsSXRLQEb', 'branch': 'BMKxjceCvX2YaRJcdmKhphiZSdvSaBZ5VUiJbGDBnx26VjhTXWP', 'contents': [{'kind': 'transaction', 'source': 'tz1LVkMDYV4AqLEgPDjd2c9zwZ2Wq76dqRYC', 'fee': '104303', 'counter': '3048102', 'gas_limit': '1040000', 'storage_limit': '60000', 'amount': '0', 'destination': 'KT1NKPzq6Rz1Kv5L4MbXdh5hE7rmV2NGbYkH', 'parameters': {'entrypoint': 'opensource_origin', 'value': {'prim': 'Pair', 'args': [{'int': '4000'}, {'string': 'Qm'}]}}}], 'signature': 'sigqaQTU6JaDGog3g2Th3ppRjtDVETzSmTvM1vHMBGEpvwpsR9mP2ZZAhJqBhPTyHgGwQzXqZej7W3R3yfkV2Q58EhiHFK6U'}
error:
rpc.node.RpcError: ({'id': 'proto.006-PsCARTHA.operation.invalid_signature', 'kind': 'permanent'}
any help debugging it is welcome.
I'm also aware that there's the possibility of broadcasting from a smart contract, anyone has references on that?