Frog.signature Response
The response returned from the .signature
handler.
import { Frog, parseEther } from 'frog'
export const app = new Frog({ title: 'Frog Frame' })
app.signature('/sign', (c) => {
return c.signTypedData({
chainId: 'eip155:84532',
types: {
Swamp: [{ name: 'frog', type: 'string' }],
},
primaryType: 'Swamp',
message: {
frog: 'Robert',
},
})
})
Sign Typed Data (c.signTypedData
)
chainId
- Type:
"eip155:${number}"
A CAIP-2 Chain ID to identify the signature network.
import { Frog, parseEther } from 'frog'
export const app = new Frog({ title: 'Frog Frame' })
app.signature('/sign', (c) => {
return c.send({
chainId: 'eip155:10',
types: {
Swamp: [{ name: 'frog', type: 'string' }],
},
primaryType: 'Swamp',
message: {
frog: 'Robert',
},
})
})
domain (optional)
- Type:
TypedDataDomain
The typed data domain.
import { Frog, parseEther } from 'frog'
export const app = new Frog({ title: 'Frog Frame' })
app.signature('/sign', (c) => {
return c.signTypedData({
chainId: 'eip155:84532',
domain: {
name: 'Frog Swamp',
version: '1',
chainId: 1,
verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',
},
types: {
Swamp: [{ name: 'frog', type: 'string' }],
},
primaryType: 'Swamp',
message: {
frog: 'Robert',
},
})
})
types
The type definitions for the typed data.
import { Frog, parseEther } from 'frog'
export const app = new Frog({ title: 'Frog Frame' })
app.signature('/sign', (c) => {
return c.signTypedData({
chainId: 'eip155:84532',
domain: {
name: 'Frog Swamp',
version: '1',
chainId: 1,
verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',
},
types: {
Swamp: [{ name: 'frog', type: 'string' }],
},
primaryType: 'Swamp',
message: {
frog: 'Robert',
},
})
})
primaryType
- Type: Inferred
string
.
The primary type to extract from types
and use in value
.
import { Frog, parseEther } from 'frog'
export const app = new Frog({ title: 'Frog Frame' })
app.signature('/sign', (c) => {
return c.signTypedData({
chainId: 'eip155:84532',
domain: {
name: 'Frog Swamp',
version: '1',
chainId: 1,
verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',
},
types: {
Swamp: [{ name: 'frog', type: 'string' }],
},
primaryType: 'Swamp',
message: {
frog: 'Robert',
},
})
})
message
- Type: Inferred from
types
&primaryType
.
import { Frog, parseEther } from 'frog'
export const app = new Frog({ title: 'Frog Frame' })
app.signature('/sign', (c) => {
return c.signTypedData({
chainId: 'eip155:84532',
domain: {
name: 'Frog Swamp',
version: '1',
chainId: 1,
verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',
},
types: {
Swamp: [{ name: 'frog', type: 'string' }],
},
primaryType: 'Swamp',
message: {
frog: 'Robert',
},
})
})