Skip to content

Commit

Permalink
docs: Add runtime transactions
Browse files Browse the repository at this point in the history
  • Loading branch information
matevz committed Mar 17, 2022
1 parent 6379b37 commit 24ecdd1
Showing 1 changed file with 161 additions and 0 deletions.
161 changes: 161 additions & 0 deletions docs/runtime/transactions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
# Runtime Transactions

This section describes the format of all supported runtime methods and queries
with references to go, rust and typescript bindings in Oasis SDK.

## Methods

### accounts.Transfer [[go][go-accounts.Transfer]|[rust][rust-accounts.Transfer]|[typescript][ts-accounts.Transfer]]

Parameters: [[rust][rust-params-accounts.Transfer]]

[go-accounts.Transfer]: https://github.com/oasisprotocol/oasis-sdk/blob/656b0a21527149c690c3daf3ce25becea6e9bad3/client-sdk/go/modules/contracts/contracts.go#L112-L118
[rust-accounts.Transfer]: https://github.com/oasisprotocol/oasis-sdk/blob/656b0a21527149c690c3daf3ce25becea6e9bad3/runtime-sdk/modules/contracts/src/lib.rs#L486-L528
[ts-accounts.Transfer]: https://github.com/oasisprotocol/oasis-sdk/blob/656b0a21527149c690c3daf3ce25becea6e9bad3/client-sdk/ts-web/rt/src/contracts.ts#L50-L52
[rust-params-accounts.Transfer]: https://github.com/oasisprotocol/oasis-sdk/blob/656b0a21527149c690c3daf3ce25becea6e9bad3/runtime-sdk/modules/contracts/src/types.rs#L140-L149

### contracts.Call [[go][go-contracts.Call]|[rust][rust-contracts.Call]|[typescript][ts-contracts.Call]]

Parameters: [rust][rust-params-contracts.Call]

- `id: InstanceId`

Instance identifier.

- `data: Vec<u8>`

Call arguments.

- `tokens: Vec<token::BaseUnits>`

Tokens that should be sent to the contract as part of the call.

[go-contracts.Call]: https://github.com/oasisprotocol/oasis-sdk/blob/656b0a21527149c690c3daf3ce25becea6e9bad3/client-sdk/go/modules/contracts/contracts.go#L112-L118
[rust-contracts.Call]: https://github.com/oasisprotocol/oasis-sdk/blob/656b0a21527149c690c3daf3ce25becea6e9bad3/runtime-sdk/modules/contracts/src/lib.rs#L486-L528
[ts-contracts.Call]: https://github.com/oasisprotocol/oasis-sdk/blob/656b0a21527149c690c3daf3ce25becea6e9bad3/client-sdk/ts-web/rt/src/contracts.ts#L50-L52
[rust-params-contracts.Call]: https://github.com/oasisprotocol/oasis-sdk/blob/656b0a21527149c690c3daf3ce25becea6e9bad3/runtime-sdk/modules/contracts/src/types.rs#L140-L149

### contracts.Instantiate [[go][go-contracts.Instantiate]|[rust][rust-contracts.Instantiate]|[typescript][ts-contracts.Instantiate]]

Parameters: [[rust][rust-params-contracts.Instantiate]]

- `code_id: CodeId`

Identifier of code used by the instance.

- `upgrades_policy: Policy`

Who is allowed to upgrade this instance.

- `data: Vec<u8>`

Arguments to contract's instantiation function.

- `tokens: Vec<token::BaseUnits>`

Tokens that should be sent to the contract as part of the instantiate call.

[go-contracts.Instantiate]: https://github.com/oasisprotocol/oasis-sdk/blob/656b0a21527149c690c3daf3ce25becea6e9bad3/client-sdk/go/modules/contracts/contracts.go#L112-L118
[rust-contracts.Instantiate]: https://github.com/oasisprotocol/oasis-sdk/blob/656b0a21527149c690c3daf3ce25becea6e9bad3/runtime-sdk/modules/contracts/src/lib.rs#L424-L483
[ts-contracts.Instantiate]: https://github.com/oasisprotocol/oasis-sdk/blob/656b0a21527149c690c3daf3ce25becea6e9bad3/client-sdk/ts-web/rt/src/contracts.ts#L50-L52
[rust-params-contracts.Instantiate]: https://github.com/oasisprotocol/oasis-sdk/blob/656b0a21527149c690c3daf3ce25becea6e9bad3/runtime-sdk/modules/contracts/src/types.rs#L115-L129

### contracts.Upgrade [[go][go-contracts.Upgrade]|[rust][rust-contracts.Upgrade]|[typescript][ts-contracts.Upgrade]]

Parameters: [[rust][rust-params-contracts.Upgrade]]

- `id: InstanceId`

Instance identifier.

- `code_id: CodeId`

Updated code identifier.

- `data: Vec<u8>`

Arguments to contract's upgrade function.

- `tokens: Vec<token::BaseUnits>`

Tokens that should be sent to the contract as part of the call.

[go-contracts.Upgrade]: https://github.com/oasisprotocol/oasis-sdk/blob/656b0a21527149c690c3daf3ce25becea6e9bad3/client-sdk/go/modules/contracts/contracts.go#L112-L118
[rust-contracts.Upgrade]: https://github.com/oasisprotocol/oasis-sdk/blob/656b0a21527149c690c3daf3ce25becea6e9bad3/runtime-sdk/modules/contracts/src/lib.rs#L531-L597
[ts-contracts.Upgrade]: https://github.com/oasisprotocol/oasis-sdk/blob/656b0a21527149c690c3daf3ce25becea6e9bad3/client-sdk/ts-web/rt/src/contracts.ts#L50-L52
[rust-params-contracts.Upgrade]: https://github.com/oasisprotocol/oasis-sdk/blob/656b0a21527149c690c3daf3ce25becea6e9bad3/runtime-sdk/modules/contracts/src/types.rs#L156-L170

### contracts.Upload [[go][go-contracts.Upload]|[rust][rust-contracts.Upload]|[typescript][ts-contracts.Upload]]

Parameters: [[rust][rust-params-contracts.Upload]]

- `abi: ABI`

ABI

- `instantiate_policy: Policy`

Who is allowed to instantiate this code.

- `code: Vec<u8>`

Compiled contract code.

[go-contracts.Upload]: https://github.com/oasisprotocol/oasis-sdk/blob/656b0a21527149c690c3daf3ce25becea6e9bad3/client-sdk/go/modules/contracts/contracts.go#L112-L118
[rust-contracts.Upload]: https://github.com/oasisprotocol/oasis-sdk/blob/656b0a21527149c690c3daf3ce25becea6e9bad3/runtime-sdk/modules/contracts/src/lib.rs#L332-L421
[ts-contracts.Upload]: https://github.com/oasisprotocol/oasis-sdk/blob/656b0a21527149c690c3daf3ce25becea6e9bad3/client-sdk/ts-web/rt/src/contracts.ts#L50-L52
[rust-params-contracts.Upload]: https://github.com/oasisprotocol/oasis-sdk/blob/656b0a21527149c690c3daf3ce25becea6e9bad3/runtime-sdk/modules/contracts/src/types.rs#L95-L106

### evm.Call [[go]|[rust]|[typescript]]

### evm.Create [[go]|[rust]|[typescript]]

### consensus.Deposit [[go]|[rust]|[typescript]]

### consensus.Withdraw [[go]|[rust]|[typescript]]

## Queries

### accounts.Addresses [[go]|[rust]|[typescript]]

### consensus.Balance [[go]|[rust]|[typescript]]

### accounts.Balances [[go]|[rust]|[typescript]]

### accounts.DenominationInfo [[go]|[rust]|[typescript]]

### accounts.Nonce [[go]|[rust]|[typescript]]

### contracts.Code [[go]|[rust]|[typescript]]

### contracts.Custom [[go]|[rust]|[typescript]]

### contracts.Instance [[go]|[rust]|[typescript]]

### contracts.InstanceStorage [[go]|[rust]|[typescript]]

### contracts.PublicKey [[go]|[rust]|[typescript]]

### consensus.Account [[go]|[rust]|[typescript]]

### core.EstimateGas [[go]|[rust]|[typescript]]

### core.CallDataPublicKey [[go]|[rust]|[typescript]]

### core.CheckInvariants [[go]|[rust]|[typescript]]

### core.MinGasPrice [[go]|[rust]|[typescript]]

### core.RuntimeInfo [[go]|[rust]|[typescript]]

### evm.Balance [[go]|[rust]|[typescript]]

### evm.Code [[go]|[rust]|[typescript]]

### evm.SimulateCall [[go]|[rust]|[typescript]]

### evm.Storage [[go]|[rust]|[typescript]]

[go]: https://github.com/oasisprotocol/oasis-sdk/blob/656b0a21527149c690c3daf3ce25becea6e9bad3/client-sdk/go/modules/contracts/contracts.go#L112-L118
[rust]: https://github.com/oasisprotocol/oasis-sdk/blob/656b0a21527149c690c3daf3ce25becea6e9bad3/runtime-sdk/modules/contracts/src/lib.rs#L600-L605
[typescript]: https://github.com/oasisprotocol/oasis-sdk/blob/656b0a21527149c690c3daf3ce25becea6e9bad3/client-sdk/ts-web/rt/src/contracts.ts#L50-L52

0 comments on commit 24ecdd1

Please sign in to comment.